How to unwrap grid-topology mesh without stretches? In a forum somebody stated that good UVs should be stretch free.
I have therefore tried to make my UVs as stretch-free as possible:

Could somebody tell me if it is actually true that good UVs should not stretch?
And if yes, could somebody tell me if my UV is actually (more or less) stretch-free or if I have misunderstood it what he meant by "stretch free"?

Thank you very much for the help!

Edit: Or is the second one better?

Edit2: Or this third one?

Since unwrapping is mapping a 3d surface onto a 2d plane, there are a limited number of ways to avoid stretching.

In general the more you avoid stretching, the more seams you will get.
Note that stretching is not necessarily so bad as to attempt to avoid it entirely, while good to avoid extreme cases - baking, texture painting - etc, will compensate for subtle stretching so that its not such a problem. Unless you're painting onto the 2D image directly.

In the example of a 'vase' like object, (lathed 2d shape), you're likely be better off accepting some so pixels are aligned with the UV's (the third one, in your question). ... and not diagonally shared across faces which may look odd at low resolution/mipmaps).

UV unwrapping for games/realtime-engines is typically a trade-off between:

number of seams
distortion
maximum texture usage
avoid bleeding with low mipmaps
... and the time it takes you to create.

Whats good or not depends on your project.

Some ways to avoid stretching include:

Use Blenders Unwrap tool (and do some manual pinning of UV's).
Create a mesh out of flat surfaces and project each surface separately,see: Smart Project which automates this.
For quad-dominant meshes a grid can unwrap neatly to UV space.See Blender's Grid Unwrap tool (called Follow Active Quads in Blender).The amount of stretching depends on how regular the surface is.
Unfold the mesh into UV-space (think of unfolding a paper-model), See the addon referenced here.Note that unfolding may only be of limited use for UV-mapping since it tends to create a lot of seams and overlapping regions.Its best suited to low-poly meshes.


Action actuator: how to get the "frame property" go back to 1 when the animation ends I have an action actuator that plays an animation (in "play" mode) and stores the "frame property" in a property called "frame".
When the animation ends, I believe the "frame property" should go back to 1 (I've seen this behavior in some tutorials), but this does not happen. Why is that so?

Similar to R00ts suggestion, the following workaround achieves what you are aiming for. Once an animation is finished, it plays it again, but with the end frame set to zero, effectively resetting the animation to its start.


Is it possible to make the 3D view in the UV Editing context 'opaque'? When I set 'viewport shading' to solid in the 3D view panel in the UV Editing context, occluded geometry is still visible in edit mode:

A similar view in the Default context:

Is there any way  to get the Default behaviour to occur in the UV Editing context?

Enable limit selection to visible in the header of the 3D view:


Triangles when baking normal I usually don't bake normal maps often so I might be doing something completely wrong.

I want to bake the normals from a high poly mesh to low poly but I always get these triangles when I bake using 'selected to active' in the resulting normal map.

I've gone from a high poly mesh and simply made a new low poly by outlining/tracing the high poly with way less polygons. I have also separated the uv-island so no overlapping is done as I heard that could be a problem.

I've tried with diffrent ray distance settings

Is the distance to between the meshes to large?
Do the mesh has to bear more resemblens to the high poly?
Do the low poly mesh have to originate from the high poly in some way?
Does it matter if the low poly is underneath or over the high poly?

Any help would be appreciated

Problem solved.

If anyone has similar problems the problem is very likely due a non-manifold geometry with the Hi-poly mesh which can cause these artifacts.

The geometry of this Hi-poly mesh was non-manifold, contained duplicated vertices and was a topological nightmare on closer inspection.

By fixing the geometry I could bake the normal map without any problems.


Wireframe thickness like sketchup and color without rendering Is there a way to change wireframe color and thicknes on 3d objects without rendering them?
The default wireframe appear is only one pixel, so I would like to increase it and also change color. If possible on only some objects.

Bellow is the desired effect in "object mode" without any object selected, I can use python if necessary.

Currently I have wire checked to do this but I can't choose color by object or wire thickness:

Just for information, I am no expert in 3D modeling. I jut use blender as 3d view with python scripts to import 3d objs dynamically.

In File> User Preferences> Themes> 3D View (or Ctrl+Alt+U) you can change the 'Active Object' colour and 'Outline Width' property:

If you want to change the colour of multiple selected objects' outlines, you will also need to change the 'Object Selected' colour. The 'Active Object' property will only change the colour of the outline for the last selected object.

Increasing 'Outline Width' give this effect:

As far as I can see, you can't change the thickness of the 'Edit mode' wire, only the 'Object mode' wire.


Blender cycles normal map not generated correctly I'm really, really new to Blender and 3D in general, so I apologise in advance if this is a silly question.

I've created a high poly model, and a low poly version.  Then using Cycles, I've baked a normal map onto the low poly model, however, as the picture shows, something isn't right.

I've done some reading, but I can't quite understand what the problem is here.  If anyone could offer some advice or input, I'd greatly appreciate it.

After advice from Bithur, I've added a Ray Distance to the map, from .5 to 1 and it's still not working, it looks better, but still not right.  As this picture shows.

Add some ray distance to your baking, it will use the "inside" of your mesh.


How to unwrap multiple objects? I've built my first 3D model using 2.71.  It consists of several meshes including cylinders a cube and a plane and I've animated one of the parts.  I'm ready to use the UV/Image Editor to export a texture map.

I've expanded the 2nd view panel, switched to UV/Image Editor mode.  Returned to the 3d view panel and tried to select all of the parts using the A key, then typed U and chose Smart UV Project.

Only one part is unwrapping and I'm stuck.  How do I get all of my parts to unwrap?

As of Blender 2.8x there is a new feature called Multi-Object Editing, means that entering edit mode now takes all selected objects into account making operations such as UV unwrapping or recalculating normals possible without manually entering edit mode on each or writing scripts.

Select all mesh objects to unwrap.
Switch into edit mode (Tab) and then unwrap (U).

Release Notes: https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Modeling

In Blender 2.7x only the active object can be edited in edit mode. If you have multiple objects you want to unwrap you can either:

Join them into one object, then unwrap. Select them in object mode and press ⎈ CtrlJ, then unwrap in edit mode (U).

Batch unwrap them as separate objects. In object mode, select the objects you want to project onto the same UV map, then press Space and search for one of the scripted projections (Smart UV project, Lightmap pack).
Note that you wont see the UV maps which are created without going into edit mode, and even then you will only see the UV map for the active object.


UV Unwrap - follow active quads I am currently struggling with the concept of UV unwrapping in Blender. I have recently come across the method "follow active quads" and, while I have used it successfully, I do not fully understand how it works. I am unable to find an explanation for how this unwrap method works online.

Can anyone offer a good way to visualise this?

Follow Active Quads will extend the selected mesh UVs depends on the angle of the edges of active Quad.

Unwraping a mesh that doesn't have a UV map will set the active face mapped to the full size of the UV window and extent the rest of the faces accordingly.


What's causing this misshading, and how can I fix it? There is a bizarre dark shading being applied to portions of my model. This is not intended, and only occurred after retracting the pinkish middle lines(on what was originally a cube) inwards. The shading looks really odd. It starting looking like this when I brought the middle lines inward

There are odd dark shadows appearing right near the middle section of my model.
It starts right before the mid-section, then stops after. I have tried various lighting strategies, and I've played with materials (which shouldn't show in the editor anyways). Nothing seems to change. (Normals are all facing the correct direction.

To clarify: My normals have all been corrected to be facing outwards. (At least as far as I've looked).
The shading is still wrong, and darker nearing the pink lines.

I created a rushed new version to try and compare/find the issue.

As you can see above, the right side of the bottom model has its top left cube significantly darker nearing the pink. This does not match the rest of the shading.
The below is what occurs when I try flipping the normals (to show that I have already flipped the normals, and no more flipping needs to occur)

And even in the editor, the models look different.
Light is reflecting much differently off of the two models, even without going into render-view.
Now seen below, the bottom model seems almost... metal, shinier. Without any in-edit-view materials applied. (And the only materials are basic diffuse colors. Simply a color change.)

The only out-of-place item I see is when attempting to move the middle square of the cube using proportional edit mode. The below happens, and the problems squares seem to be folding in half diagonally, while the others simply rise as expected. This might help give more clues as to the issue.

Smooth shading was turned on, and reacted weirdly with the geometry.
(Some normals were also flipped, and were fixed early.)


How to change the mapping of a texture in cycles? Using blender 2.71, I'm trying to put a texture on an object.

Following this tutorial, at 1:10 you should be able to setup a mapping

https://www.youtube.com/watch?v=6gRUUeFteQg&t=1m10s
screen shot of tutorial with mapping pane

I'm running the same version of blender as the tutorial, yet I don't have the mapping pane in the bottom right corner. How do I enable it?

The tutorial is using the blender internal render, you are using cycles.

To change the mapping type in cycles, click on the field for the Vector of your texture.

Or in the node editor, add either a UV Map node or a Texture Coordinate node.


Is there a way to render overlapping geometry as different passes/layers? I want to be able to take a scene and render the geometry as different layers based on their overlapping depth (from the view); ex: by using an index.

For a sphere, the index 1 would be rendering the front surface and index 2 the back surface. Of course, the goal is to be able to render any kind of scene.

I don't know how this could be done (if it can), EEVEE is probably too limited by the depth buffer workflow; Cycles may have features I'm not aware of which could lead to a solution.

My use case is external deferred compositing of overlapping objects.

I found a way with Cycles for my use case by using the Transparent Depth of the Light Path node.

A transparent shader is mixed with the original shader based on the pass index required. If the transparent depth is equal to the pass index, then it should use the original shader, otherwise it should be transparent.

Node setup:

Sphere 0-1 indexes:

Suzanne 0-3 indexes:


How to use an exported Cycles image as a projected image in Unity? I have this simple test scene with every object having a different color. It's hard to explain, but what I want to do is:

Render this 3D scene (in Cycles) from the camera view, then save the image (pic 1).
Projecting the image onto the 3D scene (pic 2).
Bring the scene with the projected image into a game engine (Unity).

My game does'nt require the camera to be moved around, so you are basically just looking at the scene from one view, so basically 2D. This is why I thought I could cheat and only show the textures that are facing the camera.

Is there any way I can accomplish this?

Please keep in mind that I want to capture the look of the rendered image in Cycles, so that I can make great looking scenes and keep that when bringing it into Unity.

(It's fine, too, if you know any other way to make an entire scene in Blender Cycles and bringing it into Inity, but maintaining that look.)

Render your view to an image Rendered.png
Go to UV Editing
Set the right pane (3D View) to camera view (Num .)
Select Rendered.png on the image viewer on the left
Choose one of your objects
Enter Edit Mode (Tab)
Select All (A)
Press U and choose Project From View
Repeat steps 4-7 for all other visible objects
Go back to Default workspace
Open a node editor
Set up the nodes as shown

I don't know if Window Projection actually exports to Unity but I suppose there is an equivalent setting there. Actually the small cube does not need such a Texture Coordinate, and frankly I don't understand why the outer shell needs it, I was expecting it to work out of the box.


Fatal Python error: GC object already tracked I have a script that updates a text object, using a frame_change_post handler. The scene is imported as a strip in the VSE (for subtitling). It works fine but when I render the animation, it crashes after an inconstant amount of frames.

Append frame 57 Time: 00:00.37 (Saving: 00:00.11)

Append frame 58 Time: 00:00.38 (Saving: 00:00.12)

Append frame 59 Time: 00:00.40 (Saving: 00:00.12)

Fatal Python error: GC object already tracked

Current thread 0x00007f80aeccf800 (most recent call first):
File "/usr/share/blender/2.74/scripts/modules/addon_utils.py", line 200 in <lambda>
File "/usr/share/blender/2.74/scripts/modules/addon_utils.py", line 199 in modules
File "/usr/share/blender/2.74/scripts/startup/bl_ui/__init__.py", line 111 in addon_filter_items
File "/usr/share/blender/2.74/scripts/startup/bl_ui/space_userpref.py", line 1237 in draw
Aborted

Looks like I am doing something wrong... here's the code and, in case it's relevant, the script in action

OK, I solved the crash situation changing the handler from :

frame_change_post

to

frame_change_pre

Which makes sense...


Cycles texture stretching past the edge I am trying to apply a UV image with no tiling in Cycles. I have tried using the Texture Coordinate with a Mapping node as suggest in other examples. I have also tried using the Attribute node (I couldn't get that to work at all).

So far using the Texture Coordinate with Mapping nodes does stop the tiling, but it leaves these strange stretched portion of the image going over the rest of the mesh.

Is there a way that I can stop those extra stripes from appearing?

Example attached

I have attached the node setup below

Thanks

Cylces does have the bad habit of stretching the pixels past the edges of the image.

One quick solution is editing your image and adding a black or transparent border all around. (All you need is one pixel wide ...).

Cycles will then repeat that border...

Or you can create a file that is a black border around a transparent image and use that as a factor on a mix node to create a color frame past your image:

or a different shader:


What does tile size actually affect? Besides the obvious you see is the blocks you see when rendering, I see it changes the size of the samples and from tips and testing it can affect render times, typically higher size (eg 256x256 ) on GPU's is faster when lower (eg 16x16) for CPU is faster.

But what I want to know is:

What does it actually affect in the render besides what I said? Does a higher tile size actually effect image quality, is higher better? Does it help reduce grain in the image at all? Does it help with firefly's? If none of that stuff, then what?

It should not affect the render in any way.

I don't know the inner working of Cycles specifically, but ray tracing, as you might know, works by shooting a bunch of rays from the camera to the light source, having the ray bouncing around the scene, simulating the real behaviour of a ray of light (only in reverse).

The thing is every single ray is independent of each other. No ray knows about what another ray is doing, or where is going, or what color it is or what it hit. This means that the ray tracing alghoritms can be parallelized to an great amount without having to worry about race conditions and dependecies between two rays (I'm trying not to get too technical here, this is just the gist of it).

The reason why using tiles is a good technique is a bit techincal, suffice to say that because of the way CPUs and GPUs are designed, they get better perfomances with either small tiles (CPUs) or big tiles (GPUs). Changing the tile size used while rendering just takes advantage of the difference in architecture between the two kinds of processors.

That said, does the tile size alter the quality of the final render? No, it should not, not in a perceptible manner anyway. Why? Because each individual pixel in the is treated the same way, and will get the same amount of samples computed over it.

If you use, say, 200 samples per pixel, then using either 32x32 pixel tiles or 512x512 pixel tiles doesn't make a difference, the final image will have the same number of total samples computed for it, therefore the same appreciable quality (the only difference might be the noise pattern). The difference in performance is given by the way GPUs and CPUs handle the data they're given, but it does not cause a loss (or gain) of quality.

Tl;dr: The speed up is given by the way the hardware handles the data it's given, doesn't have anything to do with the quality of the final render.


Select mesh perimeter I would like to select in python the visible perimeter of a mesh. My idea is to get only the external vertices, not all visible.

Any idea or link that can help me?

BMEdge.is_boundary

Can select boundary edges using BMEdge.is_boundary Below is a test script, run in edit mode

import bpy
import bmesh
context = bpy.context

obj = context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)
bm.select_mode |= {'EDGE'}
for e in bm.edges:
    e.select = e.is_boundary
bm.select_flush_mode()
me.update()

Not sure here if you are after the "silhouette" verts. As in your question here


Add operator arguments to console call I have an operator that I need to hand over arguments. I know that one possibility is to add attributes to the scene and use this but in draw-methods of operators I can modify the arguments passed to the operator directly. So I thought I should be able to do this from the console.

So far I have this operator (as an example):

from bpy.types import Operator
from bpy.props import StringProperty

class ExampleOP(Operator):
    bl_idname = "object.test"
    bl_label = "Is just an example"
    bl_options = {'REGISTER'}

    foo = StringProperty()
    result = StringProperty()

    def invoke(self, context, event):
        return context.window_manager.invoke_props_dialog(self)

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

        col.prop_search(self, 'result', context.object.data, 'uv_textures', text="UV Layer")

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

What I want to do is bpy.ops.object.test('INVOKE_DEFAULT', foo="something").

EDIT: It seems to me that the answer only works for *Property()-objects not any object. This gives me a

  TpyeError: Convering py args to operator properties: keyword "ev" unrecognized

Note: Please do not post any answers telling me off, to do this in another way. NO, this is exactly what I need, I cannot handle the "print-statement" outwards of the operator and yes, and foo may not always be a StringProperty.

You already added Operator Properties to your operator, which is perfectly fine.

The missing link is how to access the operator property values, which is rather simple (remember it's a python class after all):

print(self.foo)

self refers to the operator instance, which stores the property values.

import bpy
from bpy.types import Operator
from bpy.props import StringProperty

class ExampleOP(Operator):
    bl_idname = "object.test"
    bl_label = "Is just an example"
    bl_options = {'REGISTER'}

    foo = StringProperty()
    result = StringProperty()

    def invoke(self, context, event):
        return context.window_manager.invoke_props_dialog(self)

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

        col.prop_search(self, 'result', context.object.data, 'uv_textures', text="UV Layer")

    def execute(self, context):
        print("foo =", self.foo)
        return {'FINISHED'}

def register():
    bpy.utils.register_module(__name__)

def unregister():
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

    bpy.ops.object.test('INVOKE_DEFAULT', foo="bar")


CollectionProperty initialization i need to initialize a CollectionProperty with a fixed number of items. This property is
used to store slot data, kind of like texture slots (There is 18 slots avaibles, but even if they are empty, they exist in the slot collection). Not sure if i am very clear so here is a bit of code

class MyPanel(bpy.types.Panel):
    bl_space_type = "PROPERTIES"
    bl_region_type = "WINDOW"
    bl_context = "world"
    bl_label = "my panel"
    bl_options = {'DEFAULT_CLOSED'}

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

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

        ob = context.active_object

        # tried to initialize the collection here but i get the error "Writing to ID classes in this context is not allowed"
        """if(len(ob.test.myslots) < 4):
            for i in range(len(ob.test.myslots), 4):
                ob.test.myslots.add()"""
    # MyUIList inherit from bpy.types.UIList
        layout.template_list("MyUIList", "", ob.test, "myslots", ob.test, "myslots_active", rows=4, maxrows=4)

    @classmethod
    def poll(cls, context):
        return (context.active_object is not None and context.active_object.data is not None and isinstance(context.active_object.data, bpy.types.Mesh))

class MySlot(bpy.types.PropertyGroup):
    slotName = bpy.props.StringProperty()

class MyProperty(bpy.types.PropertyGroup):
    myslots = bpy.props.CollectionProperty(type=MySlot)
    myslots_active = bpy.props.IntProperty()

bpy.types.Object.test = bpy.props.PointerProperty(type=MyProperty)

How do I inititalize this list so...?

You can't, you need to have an explicit operation to initialize the list. (a button for example), or when the script executes.

At least you can't do while drawing.


How do I change between different images based on the rotation of the camera This is the 3D setup in blender with the plane always facing the camera. The method I used here was animating the texuture. I want to know If there is a method for the image to automatically change based on the camera's rotation.

You'll need to use a node setup that gives you the object / world space normals of the face, then get you the horizontal direction of the face using atan2(x,y) and use that as a mix factor between various images.

For us to determine which texture we want to use, we need to know the direction in which a face is pointing. It just so happens that in computer graphics there is the concept of a normal vector, which is just what we need: a set of numbers that describe the direction in which a face is pointing.

To get said normal vector we use the Normal output of the Geometry node. There is a problem though, the normal output of the geometry node in the BGE gives you screen space normals. This means that the direction of the face is defined relative to the camera, and not relative to the world, which is what we actually need. Nowadays it is very simple to convert between spaces, we use the vector transform node.

Now we have a vector that tells us the direction of the face, but what even is a vector? Well, a vector is a set of three numbers, with each one representing a distance moved along each Cartesian axis. But that is not very intuitive when it comes to figure out the actual angle that a face is pointing in.

Luckily there is an function that takes two components of a vector and tells you that angle that they are rotated around the third axis; this function is called atan2() in computer science and arctangent-with-two-arguments in maths.

ATan2 is a somewhat complex function so I will not go in depth with it, here is the wikipedia page about it: https://en.wikipedia.org/wiki/Atan2

The cool thing about atan2 is that you can plug the x and y components of your world space normal vector into it and get the angle around the z axis in which that face is pointing. By the way, you will have to recreate and normalize (in this case, normalize means mapping the standard range of values that atan2 gives you, which is from -pi to pi to the range from -1 to 1) atan2 using nodes because it is not a function that Blender has by default; or just take the one I made from the .blend that included in this post.

After that all that is needed is some more simple math to show the right texture when it's needed. In my example file I use a spritesheet with various textures and shift the texture along when it's needed. You can also use multiple images, but keep in mind the (small yet significant) increase in memory usage and texture fetches when using multiple textures.

I actually have an example .blend of exactly that laying around, I started experimenting with it when I saw an Uncharted 4 tech demo video a while back.

https://drive.google.com/open?id=0B1cD1S7QjpHCMUdCaGUxczBPaFE

If you want to see it working in the example file just hit P on your keyboard while hovering over the 3D View.

Some mild modifications should make this work in Cycles or BI, it is currently set up to work with the Blender Game Engine.

I hope this helps!


Python BMESH: For loop breaking trying to split mesh via UV Islands Perhaps I am not using bmesh properly. I'm trying to create a script that splits a mesh by it's UV islands.

The script attempts to iterate through each face of mesh and...

select a face.
select linked faces via uv island
Toggle Scene.tool_settings.use_uv_select_sync #so can split
split selected faces.

Here is the code (it's part of a larger script)

import bpy
import bmesh

bpy.ops.object.mode_set(mode = 'EDIT')
ob = bpy.context.object
bm = bmesh.from_edit_mesh(ob.data)

for face in bm.faces:
    bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='FACE')
    bpy.context.scene.tool_settings.use_uv_select_sync = True
    face.select = True
    bpy.ops.uv.select_linked_pick(extend=False)
    bpy.context.scene.tool_settings.use_uv_select_sync = False
    bpy.ops.mesh.split()
    bpy.ops.mesh.select_all(action='DESELECT')

ob.data.update()
bpy.ops.object.mode_set(mode = 'OBJECT')
#return {'FINISHED'}

The code seems to work for the first UV island, then it just stops. I'm not sure how to troubleshoot. Any help be greatly appreciated.

EDITED:

@batFINGER wrote a more robust solution to this issue, as can be seen in this answer.

ORIGINAL ANSWER:

Solved this by splitting the process into two parts: the first finds faces in each UV island, and the 2nd performs the actual split.
Also, you used the wrong operator (bpy.ops.uv.select_linked_pick) which was part of the original problem (should have used bpy.ops.uv.select_linked).

import bpy, bmesh
context = bpy.context

ob = context.object
me = ob.data
scene = context.scene

bpy.ops.object.mode_set(mode = 'EDIT')
bm = bmesh.from_edit_mesh(me)
bm.select_mode = {'FACE'}
faceGroups = []
#bm.faces.ensure_lookup_table()

bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='FACE')
save_sync = scene.tool_settings.use_uv_select_sync
scene.tool_settings.use_uv_select_sync = True
faces = set(bm.faces[:])
while faces:
    bpy.ops.mesh.select_all(action='DESELECT')
    face = faces.pop()
    face.select = True
    bpy.ops.uv.select_linked()
    selected_faces = {f for f in faces if f.select}
    selected_faces.add(face) # this or bm.faces above?
    faceGroups.append(selected_faces)
    faces -= selected_faces

scene.tool_settings.use_uv_select_sync = save_sync

for g in faceGroups:
    bpy.ops.mesh.select_all(action='DESELECT')
    for f in g:
        f.select = True
    bpy.ops.mesh.split()

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


How do I stick an object to another objects vertex? I just created a plane and added a wave modifier to it, to simply make it look like something fluid. Now, I have an Object that I want to place on the surface of this fluid plane. But how do I do that?

I thought of adding a driver to my Objects location, but I have no clue how to get the location of a certain vertex in runtime.

You want to use Vertex Parent to parent the object to vertices in the wave mesh.

To do this, select the Wave mesh and switch to Edit mode. Select the vertex you want.

  Note: I've actually found it better to select 3 vertices in a small triangle
  shape, because it will transfer lateral/tipping movement instead of
  pure vertical motion that you would get with a single vertex).

Then tab out of edit mode. Select the float object and then shift-select the wave object. CTRL+P and select Vertex or Vertex (Triangle) from the menu.

If you're trying to create a boat simulation and want the float object to react slower to the wave movement you can parent an empty to the wave and then use constraints to copy the empty's location and rotations to the float object. Doing it that way will allow you to reduce the Influence value on the constraints which will give you a more realistic motion for the float object.


Cabinet door won't bevel (Archimesh addon) I have a cabinet created with the Archimesh addon. I want to apply a bevel on the left door but it won't have an effect on it, even if I raise the value. I extruded the door to create a visual effect as you can see, looks like it has to do with that because you can see the bevel works perfectly fine on the right door that has not been touched.

P.S: I am following a tutorial where this step is supposed to work just fine.

Thanks a lot, see you!

I think problem is that bevel modifier has a special setting "Clamp overlap", that limits bevel width by size of the smallest edge in model. You can do one of 2 things:

1) Unclick "Clamp overlap", in cost of quality of model, because it will cause  overlapping faces.

2) Limit faces with beveling, for example, by weight.

Then select edges what you want to bevel, and press Ctrl+E -> Edge bevel  weight


How do I define a command for each of the options? I created a dropdown using dynamic property. How can I set it so that, for example, I can apply that modifier to the name of one of the modifiers selected in the list, but unfortunately I can not get information about the selected dropdown option.
This is my code, thank you
 bl_info = {
    "name": "Test Add ons",
    "blender": (2,91,2),
    "category":"Object",
}

import bpy

class ApplyAll_OT_ModB(bpy.types.Operator):
    bl_idname = "applyallmodifiers.func_2"
    bl_label = "ApplyAllModifiers"

    def execute(self,context):
        def ShowMessageBox(message = "", title = "Message Box", icon = 'INFO'):

            def draw(self, context):
                self.layout.label(text=message)

            bpy.context.window_manager.popup_menu(draw, title = title, icon = icon)

        try:
            for item in bpy.context.object.modifiers.items():
                print("type: ",type(item[0]),"name: ",item[0])
                bpy.ops.object.modifier_apply(modifier=item[0])
        except RuntimeError as ex:
            ShowMessageBox("Please be sure of the modifiers setting", "Error", 'ERROR')

        return {'FINISHED'}

class LayoutPanel(bpy.types.Panel):
    bl_label = "Apply Modifiers"
    bl_idname = "SCENE_PT_layout"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "modifier"

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

        row = layout.row()
        layout.label(text="Choose your modifier to apply")
        row.operator_menu_enum("object.select_object", "select_Modifiers", text=WriteSelectObject.bl_label)
        layout.operator(ApplyAll_OT_ModB.bl_idname)

class WriteSelectObject(bpy.types.Operator):
    bl_idname = "object.select_object"
    bl_label = "Select object"
    #items = [(str(i),x.name,x.name) for i,x in enumerate(bpy.data.objects)]
    #print(items)
    Ml = []

    def MoLi(self,context):
        Ml = [item[0] for item in bpy.context.object.modifiers.items()]
        itemsL = [('OP'+str(i),x,x) for i,x in enumerate(Ml)]
        #print(itemsL)
        return itemsL
    select_Modifiers : bpy.props.EnumProperty(items = MoLi)

def register():

    bpy.utils.register_class(LayoutPanel)
    bpy.utils.register_class(WriteSelectObject)
    bpy.utils.register_class(ApplyAll_OT_ModB)

def unregister():

    bpy.utils.unregister_class(LayoutPanel)
    bpy.utils.unregister_class(WriteSelectObject)
    bpy.utils.unregister_class(ApplyAll_OT_ModB)

if __name__ == "__main__":
    register()

One operator.
Rather than communicate enums between two operators, can add logic to use one.

If I understand the question properly, either wish to apply (try) all modifiers or one of all using the enum.
For this example have expanded the enum, and added the ALL option to the enum, tested for it.
In hindsight prob should have named the enum modifier
Other options to consider would be to have an operator boolean property to apply all.  Operator properties can be passed via layout with
op = layout.operator("foo.bar")
op.apply_all = True

to have a button to call same operator but do something different.
Test script.
bl_info = {
    "name": "Test Add ons",
    "blender": (2,91,2),
    "category":"Object",
}

import bpy

class ModifiersBase:
    @classmethod
    def poll(cls, context):
        ob = context.object
        return ob and ob.modifiers

class ApplyModifiersOperator(ModifiersBase, bpy.types.Operator):
    bl_idname = "object.apply_all_modifiers"
    bl_label = "Apply All Modifiers"

    def modifier_items(self, context):
        ob = context.object
        items = []
        for m in ob.modifiers:
            items.append((m.name, m.name, m.type))
        items.append(None)
        items.append(("ALL", "ALL", "Apply All Modifiers"))
        return items

    modifiers : bpy.props.EnumProperty(
            items=modifier_items,
            )

    def execute(self,context):
        ob = context.object
        wm = context.window_manager
        def ShowMessageBox(message = "", title = "Message Box", icon = 'INFO'):

            def draw(self, context):
                self.layout.label(text=message)

            wm.popup_menu(draw, title = title, icon = icon)
        try:
            if self.modifiers == 'ALL':
                for m in ob.modifiers:
                     bpy.ops.object.modifier_apply(modifier=m.name)
            else:
                bpy.ops.object.modifier_apply(modifier=self.modifiers)

        except RuntimeError as ex:
            ShowMessageBox("Please be sure of the modifiers setting", "Error", 'ERROR')

        return {'FINISHED'}

class ModifierPanel(ModifiersBase, bpy.types.Panel):
    bl_label = "Apply Modifiers"
    bl_idname = "OBJECT_PT_apply_modifiers"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "modifier"

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

        row = layout.row()
        row.operator_enum("object.apply_all_modifiers", "modifiers")

classes = (
        ModifierPanel,
        ApplyModifiersOperator,
)
def register():
    for cls in classes:
        bpy.utils.register_class(cls)

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

if __name__ == "__main__":
    register()


How to add modifiers using python script and set parameters? I've found some code that could add a modifier but none can set parameters like Octree.

You can add a new modifier to an object with ObjectModifiers.new(). If you store the result of calling ObjectModifiers.new() in a variable (in the example below I call it modifier) you then have access to all the properties of the new modifier:

import bpy

object = bpy.data.objects['Cube']

modifier = object.modifiers.new(name="Remesh", type='REMESH')
modifier.octree_depth = 5

You can see the type of modifier by hovering the mouse over the modifier in the Add modifier menu and you can see the name of the properties by hovering over the properties on the modifier.


Cannot manipulate UVs in the UV editor viewport I am unable to select or move UVs through the UV editor. Pressing any of the selection tools (B for box C for Circle and Ctrl-RMB for Lasso Select) does nothing and does not appear in the viewport.  I can manipulate the UVs outside of the UV editor and by using the circle selection option, under the Select tab but I am unable to do anything further. This issue occurred after I was UV editing my object and happened for seemingly no reason. I have tried to undo the affair by unselecting the options on the toolbar to no avail.
I am using Blender v2.79.

You have UV Sculpt enabled (hotkey is Q, maybe it's not terribly hard to hit it by accident)in the UV Editor's "t" panel. Hit t to show the panel, navigate to options tab and disable it or just hit Q while in UV Editor to get out of UV Sculpt mode:


How to create a flat base to a photogrammetry model in Blender? I am trying to create something like this in Blender, but I don't know how exactly.

I captured a model of a WWI bunker with photogrammetry and processed it with Agisoft Metashape but I like to add an “earth base” for a nicer presentation. I imported the OBJ file into Blender but I'm having trouble making it work (I'm kind of new to Blender).
Extruding the model downwards gave bad results, so I tried duplicating the model, making it flat, selecting the edges of both the model and the base with Edge Loops and then Bridging the Edge loops but that gave really funky results (I think not all edges were correctly selected, resulting in an uneven amount of edges between top and bottom).

Could anyone propose a workflow to achieve this in Blender?

What I do usually is profit from the new vertex group options for generated geometry in the solidify modifier from version 2.83+.
First let's say we have an ocean modifier on an object.

Create a new vertex group.

Add a solidify modifier, set the Shell Vertex Group to your new group, and the Thickness to 0. This will effectively duplicate your geometry in place.

Now add a plane at the altitude at which you want the bottom of your foundation to be. Scale it so it is larger than your terrain.

Add a shrinkwrap, set the target to your plane, vertex group to your new vertex group, set the mode to project on the Negative Z axis. Hide your plane.

Now add a new material for the dirt/soil, assuming the first one is your photogrammetry raster info.

Get back to the solidify modifier and set the material offset to 1. Result :

With "proper" shaders:

Note : The geometry will be ugly if viewed from upside-down but what you can do is check "Only rim" in the solifidy modifier to only keep the rim of the object.


Boolean operation destroying topology-deleting faces I am modeling a chair, and I am trying to achieve the rectangular holes in the chair by using a specially modeled boolean object for them. The holes are supposed to look somewhat like this:
Here is what my chair looks like before a boolean:
This is after applying a difference boolean to the chair for one of the cubes, and deleting the cube:
As you can see, the boolean operation deletes faces around the hole it creates. I made the first hole by doing the same thing, but manually creating faces by pressing 'P'. I've tried CTRL+T in edit mode to triangulate the faces, but in vain. Is there any reason for this? .blend here:
I tried deleting those faces, but the result still was destroyed topology.

So, First, you have overlapping vertices.
Select all your vertices with  A  in edit mode and vertex select mode, and Press  ALT  +  M  > by distance in order to eliminate double-vertices.

The real problem is you have 3 inside faces which mess up your boolean operation. Notice how in wireframe view, some faces have a clearer shade of grey. That means there are faces which shouldn't be there. Also note that there are some issues in the leg of the chair, but you will be able to fix them with the same technique :

In edit mode, select faces around the 3 culprits and press  H  to hide them. Then go in face select mode by pressing  3  , and select them. You have to select next to its little dot which may or may not be easily visible. Press  X  to delete, then select "only faces".

When all the culprit faces are deleted, while still in edit mode, press  ALT  +  H to unhide your geometry. Result :


i'm worked on augment app when i augmented the texture getting disordered I'm working on an augmentation app.

I created an object, uv mapped and applied material (lambert). After that the baking process,saved the images that I baked and applied textured in gimp.

Applied textured image to the object and when i rendered in blender the textured topology is good, but in app when i'm rendering texture is getting distorted.

I don't understand where I made mistakes please suggest to me correct procedure. i exported my object to .obj format.

Try Ctrl+A
 "Apply rotation and scale" before exporting, if it doesn't work try reimporting the .obj in Blender and analize what happened. If you still can't figure out, upload your file.


Blender Cycles Slow Rendering Interior Scene I have create a very basic blender scene with Suzanne and a modified cube with no UVs and only basic materials. The scene contains about 3 emissive lights.

Using the cycles rendering engine, when rendering the exterior scene (3 lights, Suzanne and cube), blender takes 55 seconds.

However when rendering inside of the cube which contains only 1 emissive light, it takes 3 minutes and is relatively slower. Why is it so?

Even the empty inside of Suzanne which contains nothing takes longer time. Why so? Am I doing something wrong or is it natural?

Note: All the scenes are rendered with exactly the same settings and 6 samples

In outdoor scenes most rays don't bounce much and just fly off into the sky.

In indoor scenes almost all the rays will end up reflecting around up to the maximum number of bounces. Not only does this often mean more noise, but also slower rendering (more ray intersection calculations etc.)

You can speed this up a little by reducing the number of bounces. You can also try and reduce noise by using MIS and non-mesh lamps where appropriate.

Related:

Spherical emitter does not illuminate very well?
When should MIS be used and when should it be disabled?
Managing/Reducing noise in a night scene

Note that in 2.75 cycles will have Light Portals, which can be used to guide rays through openings. This is useful for indoor scenes lit by an outside source.

To set up a light portal, add an area lamp which covers an opening (e.g. a window), then enable Portal in the lamp settings:

The direction matters, the lamp should be pointing into the interior.

Portals will actually make sampling slower, but converge the scene with far fewer samples. So much so that if you reduce the sample count, you can get less noise with fewer samples and a shorter render time than if you didn't use portals:


How to remove "Add Object" menu entry from Add (Shift A) Mesh, after running script "Addon Add Object"? I am very new to Blender. Exploring it i have found a scripting template called "Addon Add Object". When i open and run it i see as much menu entries in the Add>Mesh menu as i ran the script.

Steps to reproduce my problem:

open the Scripting view
Click on Templates>Python>Addon Add Object
Click on button "Run Script"
in 3d View open the Add>Mesh menu and see a new entry named "Add Object"
repeat step 3.
in 3d View open the Add>Mesh menu and see another entry named "Add Object" AND the previous one is not removed.

As far as I understood the script, in line 88 the menu entry should be removed, but it is not.

Is that an error?

Did i miss something?

How can i remove the obsolete menu entry then?

I tried to find an answer myself, but the problem is so specific, that i did not know what to search for in Google.

If you run from the main thread,  via the text editor the "addon" is only registered (the if __name__ == "__main__"  bit).  Doing this is for testing purposes, and is not meant to be  a way to run addons.
To remove, go to python console and type in the following:
bpy.ops.script.reload()

Or via the menu Blender > System > Reload Scripts
the shortcut for which prior to 2.8 is F8
When an addon is enabled, it is imported as a module and the register method is called. When addon is disabled the module's unregister method is called.
Addons are designed to be enabled and registered via the addons in user prefs, or by putting in scripts folder, or by making it a registered script in the text editor.
Related: unregistering a class
Using the py console.
For single file scripts like above can also emulate them being a module (as if they were imported like an addon) from the python console.
For example if the text block has name "add_object.py" then can "import" it as a module via
>>> add_object = D.texts['add_object.py'].as_module()

call its register method
>>> add_object.register()

and its unregister method, which will remove the draw method from the menu.
>>> add_object.unregister()
>>>


How do I texture a Seperated Mesh as its own texture? I selected part of an existing object, duplicated it, and pressed P to separate this new mesh, by selection. But now I am not able to texture this new object separately -- whichever of the two gets textured, the other one changes to that same texture. Obviously, these are not SEPARATE objects. What do I need to do to ACTUALLY separate this new object, so it can be also TEXTURED separately?

Apparently, there were TWO of the second object. Removing doubles didn't correct this, so I was stuck. I simply deleted one in Object Mode. Now both objects have separate materials. Weird!


Rendering Error with OpenCL so I just started with Blender and wanted my adjust my render so it will use the GPU. At first it didnt work so I updated my drivers and everything was fine.
So now i just tried to render a full image and suddenly i get this kind of error message and in no scene i am now able to render with GPU.

OpenCL error: CL_MEM_OBJECT_ALLOCATION_FAILURE in clEnqueueWriteBuffer(cqCommandQueue, CL_MEM_PTR(mem.device_pointer), CL_TRUE, 0, size, (void*)mem.data_pointer, 0, NULL, NULL)

Between the time when it worked and it somehow gave me the error i didnt change anything important in my opinion. I just made the render use 100% of my resolution and more samples per pixel and now i always get this error.

I use:
Windows 10
AMD Radeon R9 280  ( driver 17.2.1 )
Blender 2.78

something else you need to know?

Thanks for the help.

I just made the render use 100% of my resolution [...].

This is an important change, since a higher rendering resolution requires more memory. The error you are getting tells you that Blender could not get enough memory from your graphics card.

If you do not want to use a lower resolution, simplify your scene by using lower resolution textures for far-away objects, using lower subdivition levels, fewer particles or in general less geometry when you can afford it.

Also have a look at the simplify tab in the scene settings:

Another possibility might be to render your image in parts, like shown here or in the answer to this question.


Animate dog character with soft body physics "jello" legs? I have a model of a dog character (unrigged) that i want to animate with legs that procedurally react to the keyframed animation of the torso. Essentially behaving like a marionette, with the main body being rigid, while the legs attached have soft body physics, only translating and rotating from the joint where the body and legs meet.
I have tried separating the mesh into the torso and the legs, doing some parenting and assigning soft body physics (i also tried rigid body) to the legs.
The issues I ran into:

The legs being "ripped" from the main body. (see picture) I want the legs mesh to deform and stretch while still being attached to the vertexes of the main body.
The legs not rotating from the starting point of the leg, rather just "floating" relative to the main body.

To be clear, I want the leg movement to be completely procedural. I only want to puppeteer the torso, which will pull the legs with it.
My goal is to make it look intentionally fake, as if an invisible hand was dragging the puppy model with jelly legs.

My crude attempt at demonstrating the desired effect:

If I want to combine soft body physics with an armature, I usually do it via a dynamic mesh deform:

Suzanne has an armature modifier followed by a dynamically-bound mesh deform modifier.  The target of the mesh deform modifier is bone parented to an appropriate bone-- here, to Suzanne's ear bone-- and has soft body physics, with a goal group and the default goal strength set to 1.0.  There is plenty you can do to further tweak the physics.  The quality of the mesh deform can be increased by using a vertex group to limit it, or by creating an outer shell with full goal, to smoothly interpolate from physics-based deformation to no deformation.
An alternative here is to track the positions of soft-body vertices (or rigid body origins) with your armature.  For example:

Here, I've marked vertices in the soft body with vertex groups that the armature uses for damped track and locked track constraints, so that the bone automatically follows what the physics does (to a certain extent).  The soft body in this case is not bone parented to the ear bone, but to the ear bone's parent.  This can be done with rigid body physics as easily as with soft body physics, by tracking the origins of rigid body objects instead of marked vertex groups.


Transparent material is black So I've got this eye texture that is supposed to be transparent, and it was when I was working on a different project, but I decided to restart.

So I reloaded everything like the models materials and armature, but the eye texture remained black. I can't figure out how to fix it.

The cycles diffuse node does not support transparency on its own. In the material nodes you need to add a transparency node and mix it with the textures alpha channel with a mix node. If you had it transparent from the start it might've been using the blender internal rendering engine which you can change from the top bar where it says cycles render and switching it to blender render.

If you plan on atlasing the textures, using cycles does not support transparency when baking textures.


User Persp implementation Is the User Persp implemented as an invisible camera ?
When I rotate the User Persp with middle mouse button, does the entire world rotate or just this camera ?

As far as I understand it, a virtual camera is implemented in Blender. Blender users a GL library which implements it in some other way underneath though.

Could you tell what you are trying to achieve with this?

Edit:

(This is what I have gleaned by reading some of the source. If someone more versed into it can correct me, he or she should feel free to.)

If you dig into blender/editors/space_view3d/, you can find the actual implementation. In summary RegionView3D objects hold the reference to the area's perspective (and by extension what you refer to as a virtual camera) in the persp member variable. The reference to the physical camera object is held by View3D objects. These may or may not be the same. (Or rather the persp derived from View3D.camera may or may not be the same as RegionView3D.persp.)

Here is the view3d_setobjectascamera_exec function's code. It manipulates both cameras. I am on a phone right now, and I can only post a screenshot. It is from the 2.6 branch found on launchpad.


Can't find the Modifier section in Strip properties to use curves I am using Blender to do video editing, for most part it has been great.

I have been using these tutorials :

As you can see from the video there seems to be Modifier section in properties of the strip modifier.
http://youtu.be/9hR2zNBxh68?t=50s
And this one

http://www.blendtuts.com/video_editing   (if you jump to 20 mins)

But on mine there is no section like that, I am using Blender 2.62 on Ubuntu 12.04

Is there a way to enable this modifiers section.

thanks

The reason why is simple, this feature is not in Blender 2.62. I wasn't able to find the exact version it was added but looking at the videos. I would say any version 2.68 or higher will have strip modifiers.


I'd like to add an edge loop around not connected faces So, I'd like to add something like edge loop around these faces to manipulate them (e.g. change size in the middle of each. I'm making a broom, by the way.
).

Use the knife tool (K to enable, Z to cut through, C to cut perpendicularly or 45°, E to keep activated):


Why is weight painting appearing on areas of my mesh I haven't painted? I am having trouble with weight painting. I am not sure how to explain the issue very well.

Essentially, I need only the frame lock of a revolver to be painted -- but no matter what I do, only on this side of the model -- a little streak is getting painted too.

Could someone look at the .blend file and advise me on how to do this?
https://a.pomf.cat/jqyxqf.blend This is the .blend file.

Thanks.

The problem is due to the fact the frame lock is not a separated part of the mesh. The vertices involved in your issue link the frame lock to the other part of your mesh. So this is a model problem not a weight paint problem.

You need to rip these vertices.

Doing that is a bit messy with this model as many tris are involved. But here is the principles :

Go to edit mode
In the modifier panel click on 'Display modifier in edit mode' and on 'adjust edit cage to modifier result' (in order to identify the good vertices easier)

So you can see that in edit mode when you move the frame lock bone :

Now the principle is to select the edge which links the two parts and rip it with V.
Then remove the unwanted vertices from the 'frame lock' group.

I had to repeat these two steps several times as the vertices are very intricated here. And that makes the detailed explanations hard to give here.

But the result :

and the blend file


Rendering an animation in stages Can you render an animation in stages (I am not sure if that is the right word in english .. let's suppose we have an animation of 300 frames and I want to render the first 100 frames to PNG output at Day 1, the second 100 frames to PNG output at Day 2 and the third 100 frames to PNG output at Day 3) ?

Will this work ? Will I get the same animation when rendering the animation in one run ? And would this also be true when involving physics ? For instance fluid or fire/smoke simulation or particle systems ? Or force fields ?

At moment I use these settings for the smoke cache.

Yes, it will as long as you bake your physics first (I would recommend that it be to an external source - Make sure that you name your cache 1st). Then just be sure to set your render range in either the timeline OR the Render Panel >> Dimensions. Once your bake is done save your file and don't touch it except for rendering, and changing your range the next day.

If you bake your Cache to Disk:

It will save the folder in the same file location as your blend file.
You can copy both the blend file and the cache folder and start rendering on another machine for a different range if you have that at your disposal.


Cutting an Stl mesh for 3d printing I'm a little new to blender so I need help.

I need to cut this mesh/solid stl file for 3d printing, but I don't know how to do it in blender. How would I go about cutting up a mesh into separate solid meshes? I've tried using the bisect tool and I was able to figure out how to cut a slice I wanted in the mesh, but I can't figure out how to make them two separate solid objects. Can someone help me?

Thanks

Either

Select the part you want to separate and press P Separate > Selection
Or press P Separate > By Loose Parts parts to break whole the object into all independent parts

You can quickly select all linked geometry inside the same object by selecting Faces/Edges/Vertex and then pressing Ctrl + L, or by hovering the cursor over some peace of geometry and pressing L


Blender 2.8 Viewport Texture button Hi all i am following a tutorial "Creating Landscapes Blender 2.8" and get to the point where he switches from Rendered view to Texture. My viewport does not show a Texture display Button. Any ideas as can't find and info in preferences or online#

Thanks in advance

I seem to have Loodev and they have Texture

I think you have to do something like this for the texture to show up in viewport.


Why is the blender exchange option missing from the export tab in makehuman? In all the tutorials for makehuman I watched on youtube, on the export tab, there is an option to export as blender exchange. However, in my makehuman, that option doesn't exist. I remember a long time ago, I exported my makehuman models as blender exchange before, but that was an old version. I don't know where that option went. My makehuman version is the newest one (I just redownloaded it). Here are some screenshots:

My makehuman:

Youtube tutorial:

Thank you for your help.

The .mhx export code  wasn't included in MakeHuman because it's quite heavy. You have to download and install it separately. Follow the instructions and you should be fine.

https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange


Set Camera Depth of Field so that the character is not blurry, but the scene behind it is I set a scene in evee and I really like the effect of the Camera Depth of field. In this scene I have a character right in foreground. The effect of the camera blurs it way too much. Is there something I can do to maintain the effect on the scene but not on the character?
Thanks!

Depth of field is the area in which elements are acceptably in focus. Objects closer of further away from that area will be progressively blurry.

Image from https://expertphotography.com/understanding-depth-of-field-photography/
By changing the focus and the $f$ stop (iris) on the camera, you can determine where objects are in focus and when they are not. The wider (lower value) on the $f$ stop, focus will be more critical. As you close (higher value) the iris to a higher $f$ stop more of the scene (in front and behind the object) will be in focus, or less blurry.
Here's an example from wikipedia:

Play with the values for focus and $f$ stop, until you find the point where you get the results you are after.


How to make modifiers not auto-apply or update live while changing parameters? I have a very big piece of mesh that I want to apply modifiers to. Let's use the example of Laplacian Smoothing.

Here's what I'd like to happen:

Import my STL mesh and select it
Load the "Laplacian Smoothing modifier."
Change some parameters, e.g. change "Factor" to 0.5, "Repeat" to 10, and uncheck "Preserve volume."
Hit "apply," wait an hour for it to compute, and see the result

However, here's what actually happens: when I load the modifier, it immediately automatically applies the modifier to the object based on the default parameters. This takes a long time because my mesh is huge, and meanwhile I never even wanted to see what my object looked like with the default smoothing, I wanted to change the parameters first. Then I change the "Factor" parameter, and as soon as I click in the next box to change another parameter, it automatically updates/calculates again - no, please stop, I still need to change another parameter! So I have to wait another hour before changing the next parameter. Basically this results in numerous lengthy, undesired computations, and it seems unnecessary to me.

So is there a way to suppress the calculation of a modifier until I say so? I.e. make it NOT apply in a "live update" sort of way, but instead, let me change the parameters first, without updating the mesh, and then only compute when I hit "Apply"?

I've seen some questions around here regarding using python scripts to apply modifiers. It seems like a python script may be one way of doing what I want. If it's the only way then I'll have to learn me some python scripting.

But to be clear - and this is why I think this is not a repeat question - I'm wondering if there's another way using the GUI to achieve this. Some kind of checkbox or option in Blender that says something like "don't auto-update when using modifiers, only compute when user hits Apply." I looked around and didn't see anything like that in Blender.

Set modifier on a simple object and then transfer it to a more complex one

Use an "host" object to set up your modifier with the wanted
   parameters (e.g. a simple plane/a cube/a vertex..).

Once the modifier is added, switch its 3D vieport visibility off to prevent calculations.

Once satisfied with the settings, select both objects, make the "host" object the active object and then Link the modifier to the other by pressing Ctrl+L and choosing Modifiers from the pop up menu.

The modifier will be transferred with all his settings, even its "non visbility", to the selected objects, so you'll just have to apply it and wait for the end of the calculations.


Accidentally pressed F12, and lost rendered image. Is there way to recover it? Is it only option to re-render whole scene again?

Unless you had saved your image to a file, there is no way to get your rendered image back.

Things you can do to prevent this from happening in the future:

Save the rendered image to a file:

In the UV/Image editor's menu use Image->Save As Image (or F3)

Switch render slots.

There are 8 independent render slots. If you switch to a different one and render again, the images on other render slots will remain unaffected. Note that you'll be increasing memory usage with every render slot, and all of the rendered images will be lost when the file is closed (unless you save them to an external file).


cycles VS evee : seems that some shadows are ignored? I'm testing Eevee and it seems quite nice !
This is a scene with just a sun.
Here's how it looks in Eevee:

And now, with Cycles:

The mugs and the computers on the table almost don't have shadows with Eevee...
I know it is NOT Cycles and that shadows won't render as good as it.
But anyway, this look almost unrealistic.

What should I do to get better shadows ?

Thanks a lot !

I think I found out for this particular problem !

Enable the "contact shadows" in the light panel !


How to find the highest end value of nla strips in a group of objects? I have a group of objects in my scene that have animated materials. I've converted the material animations to NLA strips, and am trying to find the highest value in the list of end frames that the script is supposed to generate.

The goal is to have it so that when I have an object selected, the script searches the material NLA strip end values for all of the objects in the selected objects group, and finds the highest value in all of the strips.

Currently, it seems to print the end values for all of the strips, rather than finding the highest value among them. For example, in the blend I attached below, the highest value for the strips in the group of objects is 112, but it prints all of the values when the script is run.

Does anyone know what the problem could be?

import bpy
from random import choice

scene = bpy.context.scene
o = bpy.context.object
random_group = choice(o.users_group)
obs = random_group.objects[:]
myMaterials = bpy.data.materials

for o in obs:

    myMaterials = o.data.materials

    for material in myMaterials:
        # Get all materials of currently selected object (if any)
        if o.type == 'CURVE' or o.type == 'MESH':

            if o.data.materials:

                nla_strips = []

                if  material.animation_data is not None:

                    track =  material.animation_data.nla_tracks

                    if  material.animation_data and  material.animation_data.nla_tracks:

                        for track in  material.animation_data.nla_tracks:

                            for strip in track.strips:
                                nla_strips.append((strip, strip.mute))

                                myset = set([strip.frame_end])
                                print (max(myset))

The first issue is that with myset = set([strip.frame_end]) you are creating a new set each time the loop runs and only ever adding one value. When you call max() is finds there is one value, which it then picks as the max (as there are no other values in myset to compare it to).

The second issue - the reason why it is printing out all the values instead of just one - is that aside from the previous issue, the print() statement is inside the main loop, which is why it prints each time.

So you need to:

Store myset outside the for loop and add values to it in the loop (instead of overwriting it).
Look for the max value once the loop has finished.

The new code:

import bpy
from random import choice

scene = bpy.context.scene
o = bpy.context.object
random_group = choice(o.users_group)
obs = random_group.objects[:]
myMaterials = bpy.data.materials

myset = []

for o in obs:
    myMaterials = o.data.materials
    for material in myMaterials:
        # Get all materials of currently selected object (if any)
        if o.type == 'CURVE' or o.type == 'MESH':
            if o.data.materials:
                if material.animation_data is not None:
                    track = material.animation_data.nla_tracks
                    if material.animation_data and material.animation_data.nla_tracks:
                        for track in material.animation_data.nla_tracks:
                            for strip in track.strips:
                                #myset = set([strip.frame_end])
                                #print (max(myset))
                                myset.append(strip.frame_end)

print(max(myset))

So, instead of making a set and immediately printing it, I append the strip.frame_end value into a list (as there doesn't seem to be a need for a set, though I have kept the name myset) and print the max of it at the end.


Stop a long running operator with escape? Would it be possible to write an operator that would allow the user to interrupt it with the escape key or even when a value gets changed in the redo pannel? Any pointer about how to do this?

This can be done with modal operator (you can find example here, look for 'Modal Execution'). I'm not sure about redo panel but executing some function on Redo can be done with handlers bpy.app.handlers.redo_pre or bpy.app.handlers.redo_post. Just append your cancelling function to them, like this:

import bpy

def my_func(self, context): # must have 2 arguments (3 if called from class)
    print('Got Redo!')

bpy.app.handlers.redo_pre.append(my_func)

It will be executed on each redo. Use bpy.app.handlers.redo_pre.remove(my_func) to remove redo handler or bpy.app.handlers.redo_pre.clear() to clear all redo handlers


Why the particle does not appear in cycle render mode? I follow the youtube to make towel texure by using particle. However, the texture can work in eevee render but not in cycle render. What is the problem or what steps I miss? Hope you guys can teach me, thanks in advance!
Here is my file link

Your hair is not showing because the strands are tiny. You set them to 0.002cm and a scale of 0.01, so they are virtually invisible.
Don't mix a shader with nothing, unless you are going for a stencil effect.
Use a hair shader if you want to render hair. Normal shaders can work, but there's a reason hair shaders exist.

Hope that helps.


How can I hide source of spot lamp and keep the emission for the visible part I want to make converge the lens of a modeled spotlight with a spot lamp. So as to match the diameter of the lens and the base the spot lamp, I moved the lamp further inside the object but then, I have no emission since the base of the spot lamp is where the source of light is located.
Since there is no way I can change the diameter at the source of the spot lamp, I was wondering if there was a way to mask / crop / hide that part and keep the emission for the visible part.
I tried different ways without satisfying results.
Any help for 2.79 and 2.8 are welcome!

If you're using Cycles, you can disable shadows for the cylinder so the light can pass through it:

However, like this, the entire object won't cast any shadows which may be undesirable, so you could delete the face of the cylinder and add a new circle object in place of it which has its shadow disabled.
In EEVEE, you can disable shadows per material, so you can apply an emissive material for example to the face and have its shadow disabled:

Result with EEVEE:

Result with cycles:


Selecting masked objects I am making animations for a zombie and using mask modifiers on different body parts which are separate models to hide in the renderer, however once a full piece of geometry is hidden i am no longer able to select it anywhere to turn the mask off again.. is there any way to select hidden geometry so i can disable the modifier and allowing it to render again?   hope that makes sense

You can see anything in your scene in the outliner.


Particles do not appear in object mode but do appear in vertex paint and weight paint modes. Also not possible to render I create a model of a coffee tree  using Mtree Mesh addon and I´m trying to add some particles attached to some areas of the branches (as fruits). I use weight paint to do that and works well in vertex paint and weight paint modes but the particles move to the bottom of the tree in edit and object modes. Viewport and Render icons are active. Also, Particles aren´t appearing properly when render and when I export the model to .obj or .fbx the particles are missing.
The model: https://drive.google.com/file/d/1VbrS_WFrqXY0N_TZJmLZ1sgIbNdCXbYI/view?usp=sharing
Thank you all

The reason the particles are not showing up is because the Use Modifier Stack is turned off in the particle system.
If you turn that on now the particles will show up.  You can also get the same effect by dragging the particle system modifier above the decimate modifier.


How do I model a crumbling egg yoke? Does anyone have an idea how I can create a realistic looking hard boiled egg yoke, it has this rough and crumbling texture and if I were to model it by hand it would take forever and propably wouldn't look random enough. I can't find any egg yoke texture on the internet and don't know much about creating one on my own. Maybe on of you can help me with this, thanks.

I solved the problem by using using a texture made for clay and editing the colour to orange. I also tried some things out with the normal map, you could propably do a better job if you just create your own normal map and put an orange image texture on it.


How to iterate through mesh vertices and add hooks using script do you know how I can iterate through all the vertices of a mesh, and add a new Empty object as a hook to them via using a script? Like you would do by clicking on them in Edit Mode and then pressing Ctrl+H.

I'm trying to achieve this by the following code unsuccessfully so far:

# I import the bpy and do various things here which work, but the below one doesn't

current_obj = bpy.context.object

for vert in current_obj.data.vertices:
    vert.hook_add_newob()

Thank you for the support in advance!

Try this:

import bpy, bmesh

# Create a persistent reference to current object
current_obj = bpy.data.objects[ bpy.context.object.name ]

bpy.ops.object.mode_set( mode = 'EDIT' ) # Go to edit mode

bm = bmesh.from_edit_mesh( current_obj.data )

for i in range( len( bm.verts ) ):
    bpy.context.scene.objects.active = current_obj
    bpy.ops.mesh.select_all( action = 'DESELECT' ) # Deselect all vertices
    bm = bmesh.from_edit_mesh( current_obj.data )
    bm.verts.ensure_lookup_table()
    v  = bm.verts[i]
    v.select = True
    bm.select_flush( True )
    bpy.ops.object.hook_add_newob()

bpy.ops.object.mode_set( mode = 'OBJECT' )     # Back to object mode


Increasing Emission without Increasing Brightness How would I go about increasing the strength/distance of an Emission texture without the texture getting brighter in Blender Cycles?

Lets say I take the following texture and make a light mask out of it. I then mix them equally with the Texture as a Diffuse BSDF and the Mask as an Emission.

With the Strength set as 1.000 the texture looks ok but I feel it just isn't bright enough. But if I set it to something higher (like 100.000) the texture gets oversaturated.

Is there some way I can have the light emit to infinity if I so pleased, yet have the texture remain the same brightness in Cycles?

Use the Light Path input node Is Camera Ray socket as the factor to your Mix Shader node

This will result in the Emission being used for everything but the Camera (so it will be used for lighting the scene) and only the Diffuse Shader will be used when viewed direct from the camera.


How to align some vertices group by polygon/edge and axis? How to align some vertices group by polygon/edge and asix ?

It may solve by boolean operation.
Or using snapping to grid, because snap to grid works such as intersection with align axis. But another snapping tool doesn't work like that.

Simple example:

This is a standard Boolean operator task:


Change frames in Actions How do I extend/reduce key frames in the action editor. This is a character I have entered into blender from Mixamo, Sometimes I want to edit the keys for a character, how do I do so here?

Press tab in the NLA window so that you get access to the keyframes of your strip in the Dopesheet, then tab again to come back to the normal strip behavior.


Objects stuck in solid mode? I can't figure out what is causing this I tried removing the materials for the objects as well as re-assigning new materials and flipping normals I don't know what is causing this issue for the model.

The head seems to be working like it should but the body doesn't turn white in textured mode or black in material mode. I'm using default blender render

Extending lemon's commented.

An object can be restricted to a lower display mode.

In 2.79 it is set in the Properties Panel in the Object tab under the
Display section.

  The Maximum shading mode to display in the 3D View. This can be useful if you have a high-poly object that is slowing down performance.

In 2.8 the term is Display As.


BGE - How do I make an sound stop when pressing a key, then start again when releasing it? Basically, I have an airplane and an engine sound. What I'm trying to do is have a steady sound when flight is normal (always -and- motion, speed 5) then change the pitch when I speed up or slow down by pressing certain keys. Like, Shift adds 2.5 and Ctrl subtracts 2.5 from the speed.
I can easily make the sound change when I press a key, (keyboard -and- sound, changed pitch). But the problem with that, is the original sound for normal speed still plays.

So basically, is there a way to cut the idle sound when pressing a key, then playing it again when said key is released?

This is what I have of my game so far, just so you know what I'm getting at.

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

You need to have the logic in place to disable the original sound.

Rather than using an always sensor to activate the normal sound,use a Nand or Nor controller attached to the original keypress that plays the second sound. If this still doesn't work, activate TRUE and False level triggering which will make the sensor activate (and deactivate, respectively).

These are the two little buttons, each containing 3 dots, on the sensor.


How can i update the uv map after modifying the object? Similar questions have been asked but i couldn't find one fitting my situation. So i've reshaped a boot model to be used with a new series of textures. Every single vertex has been moved. How do i correctly update the uv map? i've tried unwrapping the mesh again but it repositions the islands (in picture: left - original, right - unwrapped). how do i get it to respect the original layout or update the map without unwrapping?
thank you

ALT + RMB to select Original mesh

ALT + SHIFT + RMB to select New mesh

TAB to enter Edit mode

A to select all

Open UV Editor menu

Press + button to add new image, you may want to increase default resolution or leave as is, then click OK

In Render Tab find Bake menu and click Bake


Problem using Loop Cut and Slide I'm following a tutorial for beginners and I can't figure out what I'm doing wrong despite a lot of time trying to figure it out.

When using the Loop Cut and Slide tool it is behaving differently for me than it does in the video I'm following.  I'll show the images here in a second to give you an example of what I mean.  So for me, after click-selecting my wanted axis, the tool selection only spans as far as the second next edge, where as for the instructor it spans around the entire wall - in this case I'm trying to mark a selection to extrude skirting.

The instructor using the tool:

How the tool behaves for me:

You can see that when creating the two horizontal edges (for the window) using this tool I had the same problem where the selection would only go as far as the second edge intersection it met.

The face at the right of the window is a NGon (a polygon with more than 4 vertices). NGons prevent Loop Cut to find his "way" in your topology, so LoopCut just stops when he found a NGon.


Check if a mesh has an UV Channel in Python I want to create a script that checks if the selected mesh has an UV Channel, if not it does a Smart UV Project.

This will do the trick:

import bpy

# Check if active object has any UV layers
if not len( bpy.context.object.data.uv_layers ):
    bpy.ops.uv.smart_project() # Perform smart UV projection


How to create a circle pie chart with separate (adjustable/variable) triangle "chunks"? I'm after an adjustable pie chart. Think of a circular box of cheese triangles. Each triangle is a separate object from the others (and variable in the .pct of the circle, but together form a thick disk - like a hockey puck.

You can also do this with a curve by adding a bevel object and changing the Start/End values of the bevel:

Shift+A> Curve> Circle.
In edit mode of the new curve press Alt+C to 'Toggle Cyclic' so the curve doesn't join its ends together:

Select all the curve points and change their handle type to 'Free' in the side toolbar (T) under 'Handles' and move the curve points back into a circular shape (but the circle will now have a gap).
Extrude the last curve point with E and place it exactly on top of the other end of the curve (a bit more carefully than I have):

Now add a new curve in object mode and flatten it so it is a straight line:

In the curve properties for the curve that is a circle set the 'Bevel Object' to be the curve that is a straight line:

You can now adjust the 'Start' or 'End' values (shown in the first gif) to adjust the 'completeness' of the circle.
As one final step, you can give thickness to the curve by adding a 'Solidify' modifier and then an 'Edge split' modifier to correct the shading:

Duplicate this curve and adjust the 'Start' and 'End' values for each new segment of the pie.


How to properly apply PBR displacement on non rectangular Planes? I modeled a floor for a room in a building by using a Plane, therefore the floor geometry is not rectengular (due to corners etc.).
I added a pbr texture to the Plane object, unwrapped the uvs (by using "Project From View") and added the Subdivision Surface (using Simple mode) and Displace modifiers (as shown in Figure 3). The Displace modifier has a texture set which is linked to the displacement texture provided by the pbr package I used, the Coordinates are set to UV.
At first I tried to remove all unnecessary (inner) edges from the Plane (creating a NGon), but this resulted in an uneven subdivision as illustrated in this screenshot:

Figure 1
So I tried to divide the Plane into rectangles of the same size (using Loop Cut), but there is one rectangle which is smaller than the others (due to the shape of the Plane). The subdivision now works, for the most part, the way I had it in mind but there is still the problem that the divsion of the smaller rectangle results in a much finer structure than the divsion of the other (large) rectangles (obviously).

Figure 2
This is a problem for the displacement since some spots on the Plane will be much more busy than others. But whats even worse is that there can be holes in the geometry at the edges that connect different sized rectangles, as shown in the picture (within the selection).

Figure 3
I am currently out of ideas how to takle this problem and I'm not even sure if this is the right way to set up the displacement for a non rectangular Plane.

hope i understand your request. you need a non rectangular plane to be displaced, right? I think best way should be insert a plane, subdivide it, select and remove not necessary vertex.

Then add the modifiers you need. in the image you can see a displace modifier with cloud texture and subsurf added.

Them you can unwrap (you can do that in ortho top view and then uv -> project from view) and apply the shaders.

It was that you need?


Material that's only visible if seen through another material I'm trying to replicate the "polarisation" effect - so if you look through a piece of glass that's polarised you can see an image behind that image that normally would be invisible or white as it's been polarised too. So, I want to have a see-through material I can apply to something, so that the thing behind it is only visible if seen through that material. Is that possible? If so, how?

Window:

Material seen through window:

Viewport render showing Suzanne through window:

Viewport render showing invisible Suzanne next to window:

What I have is a Glass BSDF window, slightly off white in color so to be seen, and with a 1.00 IOR to be in all rights except one a Transparent BSDF. Glass BSDFs refract rays like glass refracts light, and I can test for that refraction (called a Transmission Ray).

My Suzanne has a material (red Diffuse BSDF, but can be anything) that is mixed with a pure white (clear) Transparent BSDF. The mix Fac:, whaddoyouno, just happens to be a Transmission Ray :)

.blend file:


Conversion of fine organic surface mesh to a few patches of NURBS Note: cross-posted in stackoverflow as well. Would this be OK?

I have a very fine mesh (STL) of some organic shapes (e.g., a bone) and would like to convert it to a few patches of NURBS, which will be much smoother with reasonable simplification.

I can do this manually with Solidworks ScanTo3D function, but it is not scriptable. It's a pain when I need to do hundreds of them.

Would there be a way to automate it, e.g., with blender or some other open source libraries available? I am perfectly fine with quite some loss in accuracy. I use mainly Python, but I don't mind if it is in other languages and I can work my way around it.

Note that one thing I'd like to avoid is to convert an STL of 10,000 triangles to a NURBS with 10,000 patches. I'd like to automatically (programmatically, could be with some parameter tunings) divide the mesh into a few patches and then fit it. Again, I'm perfect fine with quite some loss in accuracy.

You could write a python script in blender to import each stl in a folder, generate a cylindrical nurb surface around it (I am imagining long bone models like tibia and femur) and use the shrinkwrap modifier to approximate the tesselated surface of your STL model. Iges export would in theory keep the native surface nurb description intact for further cleanup in a solid modeling software, but in the past implementation in blender, it would chop the smooth surface up into polygons during export.

There is a lovely pure python nurb curve and surface library outside of Blender
https://nurbs-python.readthedocs.io/en/latest/index.html that might be helpful.


maximum precision allowable in Cycles Nodes (decimals) I have noticed that in cycles nodes with numbers, the maximum precision allowable is 1/1000 (0.001). Is there any way to increase it to 1/10,000 (0.0001) or more?

Simply type in the desired value in your color ramp node. The most precise I was able to achieve before Blender made it zero was 0.0000001.


Should I care about topology after applying booleans? Should I care about the topology of an abject to which I have applied a lot of booleans? In my case I am not planning on doing any transformations on the face with the messy topology (see picture below). It's basically finished. Do I or do I not have to redo the topology and why?

If the object isn't going to be animated and the topology doesn't cause any problems elsewhere (e.g. because hard edges are used and bad topology becomes apparent), then you don't have to.

If you'd like to retopo a static object, but don't like to spend a lot of time on it, I'd suggest taking a look at Instant Meshes an open-source tool for automatic retopo operations.


Cannot select vertices of any object In blender, while in edit mode and using Archipack So, Im making a course on Archipack (add on for architecture and building houses), and Im trying to select vertices then put the cursor on the selection position, and therefore I can add the window through the Archipack menu.
It enables me to select the windows on the Outliner menu, but when I enter edit mode and enable vertex mode, I cannot select any vertices even though there are 2 vertices selected by default, inclusive putting lasso tool or any other type of selection. I've restarted blender twice, and I don't know what kind of problem it may be, considering my mouse is a brand new one (HP) and I also checked its battery.
Please don't say me that my file is corrupted or something...
Thanks in advance for your help,

I updated my Blender to 2.91 and I already can select the vertices again, but if you manage to give another solution I have 2.90 as well so another person can find an answer to this problem.


How can I test the Blender 2.8 game engine on Linux? I know that I'm not allowed to ask questions about unofficial releases of Blender but this is a more simple one: where can I get the game engine for Blender 2.8? I am interested in porting my latest game to it since it's finally somewhat stable. I have seen numerous videos of people using UPBGE with 2.8 like here but none of them provide a link to download the engine. I installed the Git version on my Ubuntu 17.10 install but it ended up just being BGE 2.79. Does anyone know where to get the 2.8 Blender Game Engine that has EEVEE for the game engine? UPBGE 2.8?

(Also, in case anyone is wondering, NO! The official test builds don't have a working game engine. When you press P everything disappears and turns gray.)

As far as I know, there is no work being done on 2.8's game engine at the moment (Feb 2018). Eevee is a viewport rendering engine and has not made its way to the BGE yet.

As for UPBGE, it seems there is some work being done on getting Eevee shaders to work there back in last year, but stopped.


Imported Sculptris textures/bumpmap not fitting mesh properly (tiny patchwork effect) this is a problem regarding importing from Sculptris.

The model imported fine; but sometimes (seemingly at random), when I apply the texture/bumpmap it originally came with, instead of fitting over the model properly, it stretches hundreds of tiny versions of these textures across the mesh in a random patchwork.

I want to ask is there a setting I can select that will force the textures to adhere to their correct position?

1- This happened a few times when applying a texture on its own (but not other times, when it automatically fit it properly)
2- After successfully applying the texture, I simply added a second texture, defined it as a "Normal" in the mapping section- and while the "Normal" does appear, it does so as a tiny patchwork.

Thanks for the help everyone.

It seems I've found the problem boils down to uploading the texture incorrectly.


Why Cloud texture has square cell pattern? When I am using Cloud texture as bump map in Blender Render, this cells appear. How can I make them go away?

You might consider settings like this.

Influence [Color] and No influence [Normal]

It is not clear that the User can use all clouds as a Normal Map.  Normal Map and Bump Map are different.

Any one can paint a bump map manually.  That is not true of Normal map.
Normal Maps can baked.

You may also want to see the Displacement Modifier which uses textures.

Short answer, rather than a complete technical answer.


Sculpting glitches (Human error) I'm playing around in sculpting mode, trying to learn how it works.
I've run into this problem a lot of times, probably because I use a lot of different brushes in the same areas, to see what looks best.

Now, the problem is, that I get this glitchy holes on the outside of my model, because I've somehow created bulb-like shapes on the inside, I no matter what I do, the problem seems to get worse, so I hope some of you can tell me how to fix this problem (how to flatten out the area) and perhaps even tell me what I did to cause this error so that I don't repeat it in the future.

In my experience, this can be addressed by adjusting your Refining and Detailing settings under the Dyntopo section of the Properties Panel.

What I have found is that you want to be mindful of the rate at which geometry is being increased by your strokes, or else bad things can happen. For example, if you use the Inflate brush with high influence and high mesh density, you can get problems like the ones you have shown. The vertices influenced by the brush are trying to get further away from one another, and depending on the surface contours, they won't always be able to do this without intersecting other parts of the mesh. Blender seems to use the faces' normal direction to tell them how to respond to the strokes, so that when many faces are all intersecting, the brush won't always have full influence on all targeted faces anymore. When this happens, I find that the only real solution is a two step process: 1) Use the Simplify brush to reduce the density of the mesh in the problem area and 2) use the Smooth brush to iron out the irregular surfaces afterwards (Gratefully, the Smooth brush can be invoked on the fly with the Shift key). Sometimes, if the situation is especially severe, one might need go back and forth between these two tools in a kind of iterative process. It won't do to merely use Smooth by itself, as the shape is now too complex to get anywhere with that. The Simplify step is needed to remove the complexity of the intersecting surfaces so that the smoothing can do what you want it to do.

Another approach is, instead of using the Simplify brush, to go under Dyntopo settings and choose the "Collapse Edges" Refine Method Setting, then draw with standard sculpting brushes as normal. You might find it easier to make "Collapse Edges" your Step 1 instead of the Simplify brush.

Note: In either case, the Detail Size Slider calculates its effect in a counter-intuitive way, seeming to do the opposite of what is expected. One might assume a higher value on the slider would add more detail, given the name of the slider. But the slider actually is based on maximum edge length, and the higher the value, the more the existing edge lengths are preserved. Meaning that lower values for the slider actually lead to more subdivisions instead of fewer. This threw me off at first.

Hope this helps.