How to discretize a 3D model represented by as .STL I am using make human and blender to play with 3D model as .STL file. I want just to take a 3D model (.stl) and discretize it into a 3D matrix.
My idea is to check whether each matrix cell contains some vertices or no? If the cells contains some vertices, it will be marked as occupied. However, here the problem is about the inside voxel because the .STL file is not solid?
Any idea?

It probably makes more sense to check for volume intersections than the presence of vertices within your matrix, since your entire matrix can be within the ("empty") volume of the mesh you want to discretize, as you pointed out.

If your 3D matrix is cube-like, you can use an actual mesh cube object to represent it, which simplifies this test.

This code tells you whether your cube intersects with the mesh and if its center lies within the mesh or not [EDITED TO ADD COMMENTS AND EXPLANATIONS]. It's based on the ray_cast method, which is nicely explained by @zeffii here.

import bpy, bmesh
from mathutils import Vector

def check_raycast(ray_origin, ray_destination, obj):
    ''' This function casts a virtual ray from "ray_origin" to
        "ray_destination", and finds any intersections along
        the ray's path with the mesh object referenced in the "obj" param.
        If there are any intersections, it will return True, else False.
    '''
    mat = obj.matrix_local.inverted()
    loc, normal, face_idx = obj.ray_cast(mat * ray_origin, mat * ray_destination)

    return face_idx != -1

c = bpy.data.objects['Cube']
o = bpy.data.objects['Suzanne']

# Generate bmesh object from cube mesh data
bm = bmesh.new()
bm.from_mesh( c.data )

bm.edges.ensure_lookup_table() # Generates edge   index table
bm.verts.ensure_lookup_table() # Generates vertex index table

# Check if cube intersects with mesh
''' The intersection algorithm iterates over the cube's edges and uses
    each edge's two vertices as ray casting origin and destination points.
    In other words, a ray is cast from the first --> 2nd vert of each edge.
    If the cube intersects with the object, one of the edges of this cube
    must also intersect with the object, thus the cast ray will bump into
    one of the object's faces.
'''

# Iterate over the cube's edges
for e in bm.edges:
    # Find the global coordinates of each edge's two vertices
    coos = [ c.matrix_world * v.co for v in e.verts ]

    # Set these verts as ray casting origin and destination
    ray_origin, ray_destination = coos

    # Check whether this edge intersects with the object's mesh
    intersectsMesh = check_raycast(ray_origin, ray_destination, o)
    if intersectsMesh: break

# Check if cube center is inside the mesh volume
''' This test sends a ray from the cube's center (location) straight up,
    towards an arbitrary point at XYZ 0,0,1000.
    If the cube's center is within the mesh of the object, the ray will hit
    the engulfing mesh somewhere along its way up, and the function will
    return True.
'''
insideMesh = check_raycast( c.location, Vector( (0,0,1000) ),  o )

print( "Intersects: ", intersectsMesh )
print( "Inside Mesh: ", insideMesh )

If you want to discretize your entire mesh with this code, you can simply move the cube's location (for which bmesh.transform will prove useful) in each iteration until you fill the entire bounding box volume, or fill the volume with cubes then iterate over them (probably less efficient).

You can download the file I tested this script with here.


Normal map seams/blocky shadows in Cycles renders So i was rendering models from games in Cycles and in some cases the shading looks terrible, shadows are very blocky and there are visible normal map seams. I increased the size of the lamp and tried different lamp types but it had no effect. Adding geometry isn't an option because a subsurf-modifier would cause undesirable deformations in some places. The model came with normal, specular, bump and glow maps which are currently plugged in the Principled shader; shading is set to smooth. Can this problem be fixed or is Cycles not suitable for assets like this?

Example:

Edit: node-setup:

That looks like a UV mapping issue, perhaps with lighting baked into the texture. Try temporarily removing the textures and see if it looks any better.


File format for exporting blender model Most of the 3D models published online include file formats such as 3ds, max, obj, fbx for download, I wonder if obj and fbx files already allow users of all 3d modelling or animating applications to import them and use? What file format should be available for users to download online? Thank you.

.fbx and .obj files should be importable for most or any 3d applications.


Displacement on a cylinder or creating a texture roller I am a blender beginner and was wondering how to create a so called 3D printable (the mesh needs to be highres) texture roller as this one:

https://www.thingiverse.com/thing:3029293

I first tried creating a basic cylinder combined with a sub-surface- and a displacement-modifier, what for some reason did not work for me.. Even when creating a seam and uv-unwrapping I still had no luck...

Secondly i tried to follow this tutorial World map as displacement map on a sphere distorted but while I managed to get the bump mapping working, displacment mapping in a similiar way (using the same overall structure) did not work correctly -> Regarding this approach, i am wondering how to "bake/apply" the mods before exporting the mesh to be printed.

Lastly - and for me actually most interesting - I thought to create a 2D drawing (either manual or via .svg import) to project it on a cylinder, but did not even finde a way to do this

As non of the afformentioned approaches worked at all and me getting depressed after working on this for a while, I decided to post here.

If anyone could help me or at least pinpoint me in the right direction I would be really great full!

Cheers JI

1.Add a cylinder, adjust its scale in edit mode and cut the faces to squares with Ctrl+R, mark a seam and unwrap it.

Add a subdivision surface modifier with 3-5 viewport value and apply it.
Browse in your texture in the "Texture" properties tab.
Add a displace modifier, select your texture, set the coordinates to UV, set the Midlevel 0 or 1 to preserve the original geometry and set the strenght to a low value then apply the modifier.


Project Curve on Surface I would like to know how to project a bezier curve onto an extruded bezier curve.
as an example in Autodesk Maya is:
Create a curve-on-surface

Is there a way to do this in Blender 2.79b or the soon to be released 2.8?
I know this can be done on a polygon surface but, I don't want to do it on a polygon surface.

In blender 2.79

Convert the Extruded Curve into mesh using Alt C

Then select the Curve and the Converted Mesh and Switch to Edit Mode to project the Curve to it.

In Edit Mode, on the Tool Shelf, select Knife Project

The Curve will be projected onto the surface


How to cut holes in the back of a curved surface whilst retaining smoothness? I'm trying to model a desk lamp and I am having difficulty in cutting holes in the back of the mesh. How can I replicate this in this photo?

There are a lot of different ways to go about doing something like this, but at the end of the day you need to arrive at a situation where you have enough geometry to support both the holes and retain smooth shading. This basically means a ring of quads around each of the holes.

Here is one way of going about this. Start with your shape. In this case I created an oblate hemisphere with 16 segments, twice the desired number of holes. This will depend on your desired mesh density in the end, though.

Select each of the vertices that are going to become holes, and bevel them:
CTRL + B, then V to bevel just vertices. You want your bevel Profile to be ~0.125. The number of segments is again going to depend on what you want from your geometry in the end.

After running the bevel, go to LoopTools (in the context menu) > Circle, to make the holes more circular.

Set your pivot point to Individual Origins, and extrude the selected faces in to create your holes. You can delete them or whatever, afterwards, as suits your needs.

Select the edges that surround your holes. A quick way to do this is to select the edges around one hole, SHIFT + G > Face Angles. Bevel these edges slightly to create your supporting geometry. Use Segements: 2, Profile 1.0.

Now all that remains to to connect up your geometry so that you get back to quads. How you do this will depend on your initial mesh geometry, and the number of segments you used when beveling vertices into holes. The numbers I suggested make this relatively simple. Throw on a subdivision surface to test the result.

Another option entirely is to use inset I, LoopTools > Circle and extrude to create your holes. This gives you a lot more options in terms of geometry. You can select larger or smaller amounts of initial faces, resulting in different amounts of geometry around your holes.

Optionally, if you have a high poly version of your original shape, you can shrinkwrap the new version with holes down onto it, which can in some cases improve the smoothness of the curvature some.


What is the best way to animate the camera path? I'm modeling a car driving along a road(speeds up, slows down, and stops at traffic lights to wait till the lights turn green, etc.) What is the best way to animate the camera path for the following scenario?

The camera starts moving from point A, and it takes 500 frames to get to point B. During this 500 frames, the camera first gradually speeds up, then moves at a constant speed, and finally slows down to a complete stop at point B.
The next 50 frames, the camera will stay at point B.
From frame 551, it takes another 500 frames to get to point C from point B. The camera experiences the same motion as described in #1 (speeds up, constant speed, slows down, then stop.)
Again, the camera will stay at point C for another 50 frames.
Point C to D is a curve path ( added using Shift + A -> add path). I want the camera to move along the path from frame 1101 to frame 1200. The camera should have the same motion as before(speeds up, constant speed, slows down, then stop.)

What is the best way to animate the camera path in this case? Is there any Python scripts available and can be applied to case like this? Thank you all in advance for your replies.

Create a single path for all of the trajectory. On the camera use a Follow Path Constraint. select the Target path, check the Follow Curve box so the camera starys aligned with the path and animate the Offset value.

On frame 1 create a Keyframe at 0. Go to to frame 500, change the offset value so that the camera reaches point B and insert another keyframe. Move to frame 550 and don't alter the offset value and insert another keyframe.

Keep doing the same procedure until your camera reaches point D.

The graph for the camera movement in the Graph Editor shows how the camera starts at 0, picks up speed, decelerates to a stop and accelerates again... all of that because as default Blender uses Bezier interpolation.


Animating a rolling square wheel effect I basically want the effect shown in the linked gif, like a cube that roles on the floor and doesn't clip the surface as it moves forward, like a rotating square wheel

I can do the automatic rotation when moving with drivers, but how would I set up the up and down movement as it rotates forward.

https://gyazo.com/8e754d39d4363bd82b1134872f72bbe1

Ok a long hard battle with my very limited math knowledge I think I came to an approximate solution.

It is not at all mathematically perfect, meaning the cube will be slightly floating at times, and will appear to slide or drift slightly, but it is as far as I could go.

I would ask anyone with a better math knowledge to improve on this solution.

You will need to set up drivers for it's rotation in such way that say rotation along Y axis will equal pi*locationX

For the tricky part, the Z height will be driver by something like:

0.5+(abs(cos(2*roty-pi/2))*(sqrt((sl**2)+(sl**2))))

Where roty is the rotation along the Y axis and sl will be the length of the side of the cube.

If you want it to react to rotation in two axis jus add the equation above to itself
0.5+(abs(cos(2*roty-pi/2))*(sqrt((sl**2)+(sl**2))))  +  (abs(cos(2*roty-pi/2))*(sqrt((sl**2)+(sl**2))))

For my case with a 1 x 1 unit cube you would get
0.5+(abs(cos(2*roty-pi/2))*(sqrt(.25**2)))+(abs(cos(2*rotx-pi/2))*(sqrt(.25**2)))


Import SketchUp ".skp" files I am new with Blender. I changed to it because now I am using Ubuntu. Previously on Windows I used to work with SketchUp, and I still have many projects, that I would like to import *.skp into Blender to continue modeling and or rendering.

Is there any way how I could import SketchUp's .skp file into Blender?

There isn't a direct importer for .skp files into Blender. Given your situation of being on linux at the moment, your best option is to get access to a windows machine and export to either .obj or .dae and import into Blender. If you are using the free version of sketchup, you might have to go through a few more steps.

There is an article of an extension on how to do this here.

To run Sketchup on Linux you can use wine for instructions With a web search this was found.

Or perhaps an extension on Sketchup might be http://sketchup2blender.com/blendup-get-started


particles sit above collision object when "size deflect" is active I have a basic particle system with a cube emitter, uv sphere particles, and a plane as the ground with "collision" on. when running the sim, particles sit half way in the floor. If "size deflect" is active the particles stop far above the ground plane.
please help
Edit: picture is particles "at rest on" the ground plane
blender versions 2.90 + 2.90.1
macOS 10.15.4

I found a workaround which was just playing with a combination of particle render scale (0.009 turned out to work here) and object scale until something sat at the right level. This really doesn't seem like the right way to solve this though...


How to optimize old meshes? I am working with a very old mesh; actually it is a terrain. I selected a part of it, where the surface of water is. You may think it does not look too good and you may be right as well.

The surface is like two surfaces on the same plain, so when it comes to render, it looks like this (I highlighted the area of overlap):

I used disolve faces on this, where this texture was used, but as you may see, it is still two surfaces:

Sure I could remove faces easier now, but I thought there may be a better way for this. I want to:

merge the surface into one, preserving the UVs OR
delete one surface (problem here: bigger parts, what I would love to keep are
sometimes hiding the scattered surface, and I can not select that, to
delete) OR
optimize this magically, to "just make it work"

You can use the Decimate modifier to optimize the mesh and it should preserve UVs.

Select your object in Object mode

Add Modifier Decimate

In the modifier settings, select Planar and set a low angle limit (1 degree is enough if your mesh is truly flat).

Apply the modifier when you're done. Check the face count to see how many polygons you have now.

Note: The Decimate modifier affects the whole object


How to model the bottle threads? The picture show the threads I want to create on the highlighted object. Problem is I don't know how and tutorials really haven't helped much as most of them seem to be about creating a bolt.
So I was hoping I could get some help on how to do this efficiently.While keeping the top flat like a water bottle.
The picture shows the threads I'm after.

Using a screw modifier and knife boolean

Start off with a cylinder. Duplicate one polygon and separate it off into its own object.
Extrude the face out into a box.  Make loop cuts in the box.  Select one face at a normal to the cylinder then invert the selection and delete all the other faces.  You should have a face that's aligned with the cylinder edge and at a normal to it.

Add a Screw modifier.  Ensure the number of steps agrees with the number of sides on the cylinder.  Adjust the settings until you have the desired spiral for your thread.  Apply the modifier.

Join the screw and cylinder objects into one mesh.  In edit mode, select the cylinder polygons and click Intersect (Knife) on the Face specials menu.  The screw polygons are no longer required so can be deleted.

Add a couple of edge loops to the main thread spiral.  Then use the inset polygon tool to bevel out the thread itself.  Adjust the start and end of the thread so there is a smooth transition.

The resulting topology leaves 4 ngons, but I like how they subdivide so I leave them in. Converting to all quads is possible with some thought.

The final render


Reuse frames from normal speed animation to save time rendering slow motion Let's assume I rendered an animation at 30 fps. Then I wanted to make it 60fps.
How would I make a script to tell blender to render only the in between frames that haven't been rendered yet?

I would also need to batch rename files for the image sequence to be correct but I guess that's something else.
Edit: Found "Advanced Rename" which works fine for this last part!

If you rename the already rendered files (using any batch renaming app) like make them all even or odd, then there is not much to do.

Change the speed of the animation using time remapping.

Read:
How can I modify the frame rate without changing overall animation speed?

Then disable the overwrite box in the output settings.

Existing frames will be skipped and only the missing numbers will be rendered.


How to set the easing of keyframe with Python (fast, slow, etc.) I need to create a keyframe for scale object "target" at time "time" with slope "fast"
My code right now looks like that:

bpy.data.objects[target].keyframe_insert(data_path='scale', frame = time)

But how can I select this keyframe and set easing for it with python? Or should I create it in a different way?

Regards

To select the keyframe points with frame = time of the scale fcurves, and set easing to 'EASE_IN'

import bpy

context = bpy.context
obj = context.object

action = obj.animation_data.action
fcurves = [fc for fc in action.fcurves if fc.data_path == "scale"]
#fcurve = action.fcurves.find("scale", index=0) # location.x fcurve
time = 1 # frame
for fcurve in fcurves:
    # iterate thru keyframe Points and change easing of those at frame = time
    for kfp in fcurve.keyframe_points:
        # ('AUTO', 'EASE_IN', 'EASE_OUT', 'EASE_IN_OUT')
        if kfp.co.x == time:
            print("scale.%s easing set to EASE_IN at frame %d" % ("xyz"[fcurve.array_index], time))
            kfp.easing = 'EASE_IN' #  auto

alternatively can create an action, fcurve and keyframe points eg make a new action with scale fcurves and add one keyframe (40, 3.9) with easing 'AUTO'.

import bpy
context = bpy.context
# create a new action and assign it to object
action = bpy.data.actions.new("ScaleAction")
context.object.animation_data.action = action
# fcurve data_path
data_path = "scale"
# (frame, value) for keyframe point
time = 40
value = 3.9
for axis in [0, 1, 2]:
    # new fcurve
    fc = action.fcurves.new(data_path, index=axis)
    # add a new keyframe point
    fc.keyframe_points.add(count=1)
    for kfp in fc.keyframe_points:
        kfp.co = (time, value)
        kfp.easing = 'AUTO'


Blender 2.8 - can't see objects outline on default mode i recently downloaded Blender 2.80 (have been previously using version 2.79). everything was going great, however, suddenly, i selected objects and they weren't outlined. i realized that i do select the objects (since when i move them it works), but i don't know which object im selecting. this is only happening in the default mode tab. on the other modes (compositing, uv editing) everything is perfect, the outlines of the objects are there. i tried resetting to factory settings, however, when reopening my project, the problem is still there. and, as i mentioned, this is only happening on default mode. what have i done? how can i fix this? thank you!!

You have to set the viewport overlay to outline selected:


How do I add a keyframe for a certain channel using Python? If I want to add a keyframe in the graph editor, I know I can do this:

bpy.ops.graph.keyframe_insert(type='ALL')

And I suppose that if I change the 'ALL' to 'SEL', it will only apply to the selected channel, but if I want a script that changes multiple channels in different ways, how can I select them with python?

See this answer and these paragraphs
#1,
#2,
#3,
#4
in the docs for api methods/functions to create/manipulate channels.

You might define your own function:

def get_channel(action, data_path, index=0):
    for fcurve in action.fcurves:
        if fcurve.data_path == data_path and fcurve.array_index == index:
            return fcurve
    #nothing found
    return None

action = bpy.data.actions['CubeAction']
data_path = "location"
index = 2

fcurve = get_channel(action, data_path, index)

In this answer some options are given to find out the data_path of a channel.

To select an fcurve in the UI you simply set its select property to True.


How to detect LMB clicks? I need to call a function when LMB is clicked somewhere in the Image Editor and I don't know how to deal with it.

Create a Modal operator and set your code to run on event.type='LEFTMOUSE'.

You can search for it on google or read this forum answers https://blenderartists.org/t/trigger-action-through-mouseclick/674367


Making an addon, how do I pass information between a UI panel button press and my custom operator? I have a UI panel for my addon, with a couple of buttons that should all invoke a custom operator class which append objects from another blend file.

My questions is how do I append specific object based on what specific button is pressed without making a new class (with an execute function attached) for each button.

I have a decent amount of scripting experience but classes and Blender's addon making are super mysterious to me. I know how to pass variable into functions, which is a technique I use when scripting, but have no idea how to do this within classes.

That's my ui_panel.py, which currently has one button but ultimately should have multiple buttons that append different objects from a blend file which store all my assets:

class UI_PT_Panel(bpy.types.Panel):
    bl_idname = "UI_PT_Panel"
    bl_label = "My Panel"
    bl_category = "My Addon"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

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

        row = layout.row()
        row.operator('wm.appending_basic_objects', text = "Append object")

And this is my append_operator.py, which should have a variable handling which object is appended based on which button is pressed in the UI (or something equivalent to that):

class Append_OT_Operator(bpy.types.Operator):
    bl_idname = "wm.appending_basic_objects"
    bl_label = "Append the basic objects"

    def execute(self, context):
        path = (r'C:/Users/')
        blendfile = "Assets" + ".blend"

        bpy.ops.wm.append(
            filepath = blendfile,
            directory = path + '/' + blendfile + "/Object/",
            filename = 'my_object')

        return {'FINISHED'}

Finally I have an init.py which only register and unregister classes (still have no idea what this mean but I know it's necessary).

You can just add a property to your operator class.

This is done by inserting a line between the class declaration and the class methods.  Both bl_idname and bl_label are properties, these are inherited from bpy.types.Operator.

So lets say you want to add a property to an operator that prints monkey names.  The property will be called my_monkey:

class Monkey_OT_Operator(bpy.types.Operator):
    bl_idname = "wm.print_mokey_name"
    bl_label = "Print the name of my monkey"

    # 2.7x way to add a string property to hold the monkey name
    # my_monkey = bpy.props.StringProperty()

    # 2.8x way to add a string property
    my_monkey : bpy.props.StringProperty(name="My monkey name")

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

Okay so this should seem pretty simple, we've added a "slot" into the monkey operator class that holds a string.

Now to use this in your panel layout you can just set the property as you would for any normal class, for this you need a reference to your operator:

    row = layout.row()
    op = row.operator('wm.print_mokey_name', text = "Print Monkey")
    op.my_monkey = 'Suzanne'

Now when you print the button, it should print Suzanne.

Of course, you are not limited to string properties, you will find a more comprehensive use of properties in the Blender API documentation - Properties


Render a surface transparent only if directly visible I want to render some glass, in order to actually see something it requires a background. However I want the glass object to have a transparent surrounding. How do I make a background which is considered by the refraction of the glass but is transparent when it is seen directly by the camera?

Using blender internal, for the material of the objects you want to disappear, turn on transparency and choose mask with an alpha of 0.0.

The transparent objects will still show in reflections but not be seen in the camera.


Rendering animation as image sequence doesn't work I was just wondering if anyone can help with this problem. I have an animation as an image sequence but whenever I try to render it as a video file, it renders the default cube instead. Thanks for your help

just open a new blender file and make it by default a video editor, add the image sequence, put your setting and render


Scale along face normal When trying to scale the fire object along the top face normal changing the transformation orientation doesn't get the desperately wanted end result. The local and global axis will not align with my top face normal. What actions should be taken to scale along a rotated axis (that aligns with the top face normal)?

My suggestion was to have the X axle rotated and of course any axis will do...

I'm not entirely sure I'm clear on what your issue is. But any time you want to create a custom transform orientation, you can follow the instructions given by Carlo in the link to the Blender manual above easily enough. However, if you also want that custom transform orientation to be aligned with a face normal, you can press ⇧ ShiftNUMPAD7 to force your current camera view to instantly snap to a facing that views the currently selected polygon face head-on, allowing you to look straight down its normal's z-axis. Once this camera orientation is achieved, you can create a new custom transform orientation based on it. Then you can transform along that face's normal z axis, no matter how the object it belongs to is oriented in space.


How to smooth a mesh? I have this terrain mesh with some mountains, but also some plains between the mountains.

I would like to smooth out the plains, because when 3D printed they cause a lot of unnecessary walls:

Basically if you'd represent this as an image with white = high and black = low, I'd like to blur the image.

I tried the "Smooth Laplacian" modifier which does nothing and the "Smooth" modifier which does this:

Apparently there was something wrong with my mesh (although it looked completely fine in edit mode). I activated the Mesh: 3D Print Toolbox add-on and then used the Make Manifold button on my mesh. After that all the smoothing tools (Smooth modifier, Smooth sculpt brush) began to work properly.


Unlink image from the Image Editor using Python I basically want to press this X button using python,
or possible just switch to another image.

The reason why I want to do this is because I'm using the image editor to move and scale the UV vertices of an object, and it doesn't work if the "Rendered Result" image is selected in the image editor, any other image can be selected, just not this one.

bpy.context.area.type = 'IMAGE_EDITOR'
bpy.ops.uv.select_all(action='TOGGLE')
bpy.ops.transform.resize(value=(0,0,0))
bpy.ops.transform.translate(value=(-tx,-ty,0))

Check if it is a render image then switch to another one (in here no image is chosen )

for area in bpy.context.screen.areas :
    if area.type == 'IMAGE_EDITOR' :
        if area.spaces.active.image.type == 'RENDER_RESULT' :
            area.spaces.active.image = None


What is the max amount of cores and threads Blender can use? I wanted to get a 12 core CPU (Threadripper 1920X) and I wanted to know the max amount of cores Blender can use?

Theoretically, Blender can use an infinite amount of cores, there are not set limit to this. Not as far as I know of though.
But cores don't really impact the performance on Blender renders directly, but it's rather the amount of threads your CPU can pump out and still maintain optimal speeds that matters. If you go to Cycles render, you've probably noticed the orange squares that travel across your screen eventually. Each one of these squares are threads, so having more threads will result in more squares. Bumping up the amount of threads manually isn't going to do you any good without a good multi-core CPU, like the one you mentioned.
So a short answer to this question; theoretically, there is no limit. So go ahead and buy a 100 core CPU if you so wish. Blender should (theoretically) be able to use all the cores.
Multi-core CPUs are almost always better at doing complex calculations at least the standard CPUs are (there are theoretical quantum computers which run with fewer cores, but at fenomenal speeds, but I won't go into this field).
I don't recommend getting yourself an expensive CPU like the 1920X unless you are professional in the field. Most software available for you today use up to 4 cores, but a majority still only fully utilizes two cores. Before I went into the IT business, I thought getting the AMD FX 8150 Black Box 8 Core CPU would boost my overall computing performance and speed up software such as Blender, games and such. It did speed up the Blender rendering times indeed, by a noticeable bit, but since most games out today don't use more than 4 cores, my performance actually dropped in some games.
So make sure you know exactly what you're going to use your computer for before purchasing one of these CPUs, as their designed use is almost exclusively for digital media editing/creation.


glTF: How to optimize exported glb file from blender having more number of loop-cuts? I have plane with 200x100 loopcuts, when I export glb the size of the file is around 2MB than I again sub divided the mesh couple of times and now binary file is around 8MB.

How can I use more number of loop-cuts and still maintain the file size smaller?

I am using latest version of glTF exporter and blender.

If your goal is a smooth appearance, you can use smooth normals to give the effect of a smooth surface with fewer loopcuts. If you are sure you need the loopcuts, your options are:

Disable export of normals, tangents, UVs, and any other per-vertex data you aren't using in the exporter settings.
The glTF format supports compression, but you'll have to apply it to the model after exporting from Blender. Use glTF-Pipeline to compress the model with the -d flag and you should see a file size reduction of 90-95% for models that contain primarily geometry.


Help with modeling a turret's arm from Portal 2 I am quite new with blender and I've been trying to model a turret from Portal 2. I've managed to create it's body but I have no idea how I can create it's arm. Look:

It would be a christmas gift if someone teached me how to create the arm. Thanks for your attention

This task is quite simple.

Add the torus.
Go to edit mode and cut the half of it (actually more than a half) in "face mode".
Flatten this figure a bit.
Use a preset viewpoint (any dot of navigation "cube" that lets you to see the figure at a whole).
Enable "Snap - Increment", choose tick strict snap to grid, and snap the figure to grid. Add three separate dots (left/right mouse button + Click). Snap them to grid too!

Select all (A button) and use Bisect. Connect dots to slice the figure.
Select  everything that you don't need and delete. Disable snap.

"Extrude along normals" this figure.

Voila! Then you can add other inner parts that are simpler.


How can I select a bone by name using python in blender 2.8 I'm new to scripting in blender and am trying to select a bone by name using python. Eventually I would like to loop through all the bones of an armature and translate them to a new location in edit mode but for now I am literally just trying to select a bone by name. I have been looking through SE as well as the blender docs but I cannot seem to wrap my head around this. I have found some older answers from 2.7x but these do not seem to work in 2.8. I have also found plenty of answers on how to select objects by name..but not bones and my brain is unable to extrapolate.

Lets say I have an armature with one bone in it: "jBone"...how do I select this and make it active using python in blender 2.8?

----here is some of what I've tried, none of it works:

misc attempt 1:

bpy.ops.armature.select_set(name="jBone")

misc attempt 2:

ob = bpy.data.objects["jBone"]
bpy.ops.object.select_all(action='DESELECT')
bpy.context.view_layer.objects.active = ob
ob.select_set(True)

Find the object first (by name if you wish), then access the armature. The armature is the data of the object. It has an edit_bones property, but this property is only available in edit mode. This means we have to switch to edit mode first.

import bpy

ob = bpy.data.objects['Armature']
armature = ob.data

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

# get specific bone name 'Bone'
myBone = armature.edit_bones['Bone']
#print the position of its head
print(myBone.head)

# loop through all bones
for bone in armature.edit_bones:
    # move its head and tail
    bone.head.x += 1.5
    bone.tail.x += 1.5

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


Particles Emitting only a "Circle" I'm trying to create a "Arc" of sparks that generate from a small point and expand into a bigger area (not like each particle physically getting bigger but the area the particles are taking up gets bigger). And the preview keeps showing a sphere that gets bigger. Now, I'm trying to make the particles go in all ways... but still confined to one certain direction. So the Random amount isn't the option because they make them shoot everywhere.

Your particles will emit in the direction of the face or the tangent (outward pointing ray direction relative to the surrounding vertecies) of the vertex they’re coming from depending if which emission method you’ve chosen (faces or vertex, volume is only necessary if you wand particles generated inside an object). All that is to say, if you have a sphere, you’re particles will emit in the shape of a sphere. A cube, cubed shaped. The random amount does what you think, adds randomness to the direction each particle emits from.

To get the arc you want, your emitter object should be an arc. Use a cylinder and delete the top and bottom flat face, and the degree of the arc will depend on how much of the curved cylinder wall you keep. Delete one half of it, you’ll have a 180 degree arc. Keep the whole cylinder 360 degrees and your arc will bee 360 degrees, etc.


How Do I Make Cuts In Mountain? I know, super general. I am back at blender after beginner use a while back. I started working for a construction company and would like to make animations for some things that we are trying to explain in videos.
For instance, now I want to make a video of a house with a hill behind it. I built the house, sculpted the hill annnnd I am stuck. I want to make cuts into the hill I made, have them be separate objects and have the cuts be perfectly flat. Specifically, we want to walk about retaining walls. I want to animate a hill have an "L" shaped cut into it. Then another cut (which I can do after figuring out how to do the first cut) fill that second cut with "concrete" and so on and so fourth.
I believe I can figure out most of the project naturally and with tutorials but, I cannot figure out how to do these clean cuts into organic structures (where the lines are scattered randomly through hill sculpting).
Thanks in advance.

You could create a cube and put it inside the mountain where you want the cuts to be made. Add a boolean modifier to the mountain geometry and set the object to the cube. If it doesn't look like its doing anything you can try hiding the cube you made or setting its view type to wireframe.


high computer slow render blender Man that is insane.

I using blender 2.77 and start to study how to process an image for a web site.

400x600 pixels 160 images

This is using 100% of my processor and i have an

I7 3.40 ghz 8 memory and Nvidia 660 TI

Why it using 100% to this size of image?

It is normal and logical that Blender use all available cores and CPU time for render. You have two options for change it.

You can set low priority in system task manager (how to do it depend on system you are using, this is about system, not about Blender)
You can set number of used cores for render.

EDIT: actually point one does not change percentage of usage, only set low priority, so your CPU will work on 100%, but will preferentially prioritize other running programs ans services


Link a Material directly to an Object How is it possible to assign a material directly to an object using the python api, i.e. to use the same mesh linked to these object but a different material?
If I use the method obj.data.materials.new() the material is linked to the mesh and the obj.material_slots property is read only.
Has someone some advice how to accomplish that?
Thanks in advance.

To assign mat to the nth material slot on ob:
ob.material_slots[n].link = 'OBJECT'
ob.material_slots[n].material = mat

If you want to create new slots, I think you should do that on the Mesh (ob.data.materials.append(None)).


Repeat texture in all directions using cycles nodes I'm struggling around with a small problem.

First what I want: I would like to make a bitmap texture repeatable in all directions using the cycles nodes.
it is important to create an own setup, and NOT using the regular Mapping node.

The problem: As soon as the bitmap texture is set to "clip" then the wrapping is not working in my solution. See my screenshot.

I have moved the starting coordinates and you can see the texture is not repeating in all directions. It will be duplicated to the positive direction only.

I know you can use the Absolute function to repeat it mirrored, but it is mirrored then... This is something nice for procedural textures but not well for bitmaps and often unwanted.

Do you have any ideas to do this in blender via cycles nodes?

Keep creative and thank you
Chris

The point is:
I want repeat AND set a distance between every repeated texture. My knowledge let me do this into the positive UV direction only. How do I do this like in my description below?

Here some more description, what I imagine:

Following is the Link to the .blend file.

After opening:
You see three Values at the left hand side. Tile Distance, Amount and Move X/Y.
Basically all works well, but the problem is: The tiles will be repeated to the positive axis only. I would like to repeat them endless in all directions and be able to set the tile distances and move the whole tile page position too.

Download .blend File

And here the shot for my scene example setup too:

Blender's modulo doesn't work well on negative values I guess.  Shame, but it's fixable.

We can do manual correction for negative UV by taking the absolute value, doing our modulo, then inverting it.

Note that I'm using a mixRGB node to mix these values, which is hacky, but works.  You could always multiply by fac/1-fac and then add the values if you want to be less hacky.

The only reason I can see that you might want to do this is to give different clip/repeat behavior in different axes, and there's an easier way to do that:

Edit: In order to create space between the images, we simply remap the UV after our operation.

Here, I'm scaling each picture down to half its original size, creating a full width border between each instance, and I've created a value node to easily control this value.

You specifically said, "No mapping nodes!" and I see no reason for that, but I've done it how you want anyways.  These math operations could be achieved as easily with a single mapping node as with a series of math nodes.


Unable to rotate object in normal orientation I have such a simple problem, I am blocking out my scene and I am just using simple boxes to model a chair. I want the rest of the chair to rotated but I am unable to rotate it along it's normal orientation.

Note: I did rotate the bottom part of the chair and I have duplicated the rest from it. I have also applied Location, Rotation & scaling to the object.

Thank you,
W

If i understood the question you want to rotate the rest back to rotate.

Select the back rest.

In edit mode select the edge and Press Shift+S
Cursor to selected.

Change the Pivot point to 3D Cursor

In object mode rotate now.


How to find image usage? Outliner / Data API / Images I try to shrink downloaded FBX files, sometime I succeeded, sometimes not. I try to find out what image I could not unpacked. Now I realize there are images what are packed in there (bleder file) but I could not see in the material properties. Where are they, how I unpack them?

These are possibly two different questions :).

To unpack an image, go to Image Editor and click the Unpack icon.
To remove unused images, select all and RMB > Clear Fake User.
All unused images will be removed after reopening your .blend file.
Only images that are currently in use will stay in the .blend file.

Unpacking a file

Removing images not in use


How can i make transparent glass like material to put it over another object? I'm trying to make a 'glass' material for a 3D Eye that i'm creating, the second one (on the image) works fine since it have the colors and everything that i want, but now i'm trying to create a transparent material like a glass to put it over the second one...i'm trying and the nearest solution for this is like the one in the image..but obviously transparent..i also tried Glass BSDF but i cannot make to get it transparent.

Please help me if you can.

What you need to change is the Saturation and the Value of the Glass BSDF node. With an RGB Input you just do this:

With an image texture, you will need to do something more like this:

This will make the saturation less, the value less, and the contrast less, allowing the glass to be much more transparent.

Here are some examples:

High Saturation, low Value:

Low Saturation, high Value:

As you can see, the cubes in the background are now visible, and the environment texture behind the sphere is now much more visible.

Other things to check:

The Roughness value
Any mix nodes, even unused (press M to mute them)
The right material is assigned to the object


Render animation with different angles I have an animated object in the origin of my scene. I want to render the animation from different angles rotating the camera 45 degrees along the path, while keeping the camera pointed at the subject of the scene. I made a circle curve and parented the camera to it, but when I start the animation the camera follows the path.

What I want to do is, have the camera stay in the same location until the rendering of the whole animation finishes, then move 45 degrees and start rendering the whole animation again from the new position, then add another 45 and start rendering the animation again and so on, as shown below the red dots are the location where the camera will stop to begin rendering the animation from this point and once it finishes, it will move to the next stop and so on until it comes back to the first initial location and stops.

This script will render your scene from the number of angles you specify in the variable numAngles, assuming you have your camera set in the zero position, and the camera is parented to an empty. You can review the setup in the attached blendfile.

The script replaces a traditional animation render, it will by itself render each frame and set the frame number each time. It iterates over the entire span of the animation (specified in the variable animLen) as many times as the number of angles specified in numAngles.

import bpy
from math import radians
from os.path import join

S = bpy.context.scene

renderFolder = "C:/MyRenderFolder/"

camParent = bpy.data.objects['Empty']

animLen   = 40 # frames
numAngles = 8
rotAngle  = 360 / numAngles

for i in range(numAngles):
    # Set camera angle via parent
    angle = i * rotAngle
    camParent.rotation_euler.z = radians( angle )

    # Render animation
    for f in range(1,animLen + 1):
        S.frame_set( f ) # Set frame

        frmNum   = str( f ).zfill(3) # Formats 5 --> 005
        fileName = "angle_{a}_frm_{f}".format( a = angle, f = frmNum )
        fileName += S.render.file_extension
        bpy.context.scene.render.filepath = join( renderFolder, fileName )

        bpy.ops.render.render(write_still = True)


Scale settings for exporting to STL (for 3d printing) I've set my Units (in scene properties) to Metric, and the Scene Scale to 0.01 hoping to get the Blender dimensions it mm's. While the (normal) scale is 1 for x,y,z, the standard cube has the dimensions 2x2x2 cm. When I export this to an STL and open it in a slicing program (Netfabb, Slic3r or Cura) they all give the dimensions: 2x2x2 mm. While exporting, the scale is 1.

What am I doing wrong? I hope you can help me.

Thanks!

The STL exporter doesn't take Scene Scale into account. Import your STL back into Blender (it will have the same size) and drag Scene Scale up back to 1.0, and you'll see how the cube grows relative to the grid.

1 Blender unit equals 1m, but STL seems to assume 1 unit as 1cm.

If you want 1 unit to be 1mm, set Scale on STL export to 0.1 and Scene Scale to 0.001 to make it match the output scale in viewport.

Note that the STL will be 10x smaller if you re-import it into Blender!


Why is My Lighting Creating a Triangle on the Ground? More trouble going through the Roland Hess Blender Foundations book.  When I create the indoor scene in Blender, I get an odd light triangle on the ground.  I don't know why this is happening.  Help is appreciated!!

The blend: https://www.dropbox.com/s/zg96duw8av52st3/Flower%20019.blend

The last render: https://www.dropbox.com/s/9u9mldvxhxh79fc/Blend%2019.png?dl=0

It's your sun lamp near and far Clipping values.

Adjust the Clip Start and Clip End values for the Spot.008 lamp that is acting as sun.


Kitbash 3D models: textures in Blender I recently downloaded one of Kitbash 3D's scene kits, for use in Blender. The download comprises two parts: a Blender-specific file containing the buildings, and a folder containing all required texture files.

The building file loads successfully in Blender, but buildings are displayed in a default colour (bright purple!). Blender users will know that in the program's Shading set up, texture files are attached to a system of nodes. Now, when I looked at my Blender, it looked like the texture files were in place, but somehow weren't being 'read'. As an experiment, I tried replacing one of the dummy textures with a copy from the folder - and it worked!

I'm sorry if I haven't explained this very clearly. However, I hope someone might be able to give me a nudge in the right direction.

The bright purple colour indicates an image can't be found.

Use File->External Data->Find Missing Files to choose a folder containing the textures it is looking for, which may be the folder above the one with images in it. It may be that the texture folder is meant to be moved inside the object folder not next to it.


how to disable automatic UV generation? This dyntopo popup really gets into my nerves. Everytime I create a primitive form, Blender creates automatically an UV map. Is there some way to disable the auto generation?

Sure thing ! Just after adding your primitive, type F9 or open the foldout in the bottom left of your screen.

It will remember the setting for this kind of primitive in the file so next time you add a cube for example the box will be unchecked.


How to achieve uniform Inset and Extrude on multiple nonplanar surfaces? I'm trying to inset and extrude a peripheral slot as shown on this cube:

Except I'm trying to do it on a rectangular cuboid which has one side/face split into multiple non-planar sub-faces:

Method I used on the cube was to enter the edit mode, create two loop cuts for vertical slot in the middle, then select the outer edges of the front face and inset them. Finally, I selected the faces I wanted to be extruded and I extruded them in the direction I wanted (inwards).
Now, I have two issues when I try to do the same on the cuboid:

The inset of the outer edge is not uniform, i.e. side insets are bigger compared to the top and bottom one. I would like them all to be the same width. Is there is a setting to make this inset an exact value instead of being proportional?

I have no idea how to loop cut the vertical slot in the cuboid - loop cuts are aligning with the slanted edges. Any idea how to cut vertically across multiple sub-faces?

I'd appreciate any advice. Thanks.

Something along these lines might do it.. just following my nose, someone might find a snappier way..

The inset of the outer edge is not uniform

I think the only reason for this is that you scaled your cube in Object Mode, and it's carrying an object-level non-uniform scale. CtrlA > Apply the scale of your object, and if your inset is set to even, it should be even.

I have no idea how to loop cut the vertical slot

It's not a loop-cut, because it's not a loop. K Knife, with C to constrain its direction orthogonal to your view, should do that. Cut from an orthographic front view. The only problem is, how to get the cut right in the middle..

I EZ extruded the top edge up in Z..

CtrlX Dissolved the odd vertices, and Edge menu > Subdivided the top edge once to give me a guide-point in the middle. Then, looking from the front, You can K with C to constrain, cut an edge straight down the middle of the front region. You can discard the guide-edge once you're done with it.

Then, as you have before, you can I inset the whole front region twice, remembering or CtrlC copying the second distance, the width of your rebate. Now select the central cut line and CtrlB Bevel it by half that distance. (You can paste in the copied Insert distance and add a /2 after it into the width field of the Bevel's adjust-last-operation panel)

Then E extrude as before, for even, centered rebates:

You can SY (or whatever dimension) 0 with the Pivot set to Median, to flatten the backs of your grooves.


Override dupligroup's object's material (Python) How can I link a dupligroup of a group from File A in to File B and override the material of an object within the dupligroup with a material from File B?

The end goal would be to have multiple dupligroups of linked objects all linked from one file, but with different materials. Having the code in one script with the dupligroups and the materials to be applied would be ideal; like this:

I got the idea from this video on Python overrides in Blender:
https://youtu.be/bOLMkw_wDGE

The video just shows how to override the attributes of materials and modifiers, but it seems like it should be possible to override a whole material of a dupligroup's child objects. For example:

source.blend has a group calling 'thing' with an object called 'box' in it with a material applied called 'red'.

dest.blend has a material called 'blue' and a dupligroup of 'thing' from source.blend.
In dest.blend I want to override the 'red' material and put 'blue' on the 'box' that is within the linked dupligroup of 'thing.'
The final goal is being able to import multiple dupligroups of 'thing' and have different materials (from dest.blend) on all of the different dupligroups' 'box' objects.

The closest I've come is this Python line within dest.blend in the python console:

bpy.data.objects['box'].material_slots['red'].material = bpy.data.materials['blue']

This does NOT give me an error message (and it does autocomplete to that point) but it just doesn't do anything.

This is the closest I've come because all my other attempts have given me error messages. It also looked like I was on the right track because just putting in:

bpy.data.objects['box'].material_slots['red'].material

returned:

bpy.data.materials['red']

which matches the syntax of:

bpy.data.materials['blue']

But as I said it didn't seem to do anything.

What am I doing wrong here? Is it even possible to do this with a dupligroup? Any ideas would be very much appreciated. Thank you.

A few notes: I do know about the Edit Linked Libraries add-on, but that doesn't work for what I want to use this method for. As far as I can tell the add-on just lets you more easily edit the linked object's source file thereby editing the linked object, whereas with this method I'd like to be able to have multiple instances of the linked object all linked from one file, but with different materials.

I also know about this thread: Multiple Linked Objects with unique Materials / Group Materials override but not only can I not get any of those examples to work, but also they're just dealing with linked objects and not dupligroups. Dupligroups are a lot more useful in my opinion.

I am new to Blender Python scripting so specific code examples with explanations would be very much appreciated. Thank you.

(This question was asked about Blender versions 2.7*)

This is a (vastly improved) repeat of a question I asked on BlenderArtists.org: http://blenderartists.org/forum/showthread.php?385851-Override-dupligroup-s-object-s-material&highlight= I hope that's okay. The thread died months ago without any solutions.

Here is the basic code how to do it with Python:
http://www.pasteall.org/66951

import bpy

#1 Link like you do now. Dupligroup object is selected
#-----------------------------------------------
#2 take copies (.copy()) of our group objects
#-----------------------------------------------
o = bpy.context.object
objs = [i.copy() for i in o.dupli_group.objects]

#3 link them to the scene
#-----------------------------------------------
bpy.ops.object.select_all(action='DESELECT')
for i in objs:
    bpy.context.scene.objects.link(i)
    i.select = True

#4 make single users (mat+tex)
#-----------------------------------------------
bpy.ops.object.make_single_user(object=False, obdata=False, material=True, texture=True, animation=False)

#5 change matslot 0 material
#-----------------------------------------------
for i in objs:
    i.material_slots[0].material = bpy.data.materials[0]

#6 Use original group name
#-----------------------------------------------
groupname = o.dupli_group.name

for i in objs:
    bpy.data.groups[groupname].objects.link(i)

#7 set dupligroup for empty
#-----------------------------------------------
o.dupli_group = bpy.data.groups[groupname]

#Now you have exact mesh clones with different materials and they are still linked on mesh level and you control them with empty object like before.


Is there a way to invert a wireframe? Im curious if there is anyway to invert a wireframe so that it makes cuts in the mesh rather than form a wire, if anyone has a solution that would help in the scenario without using the wireframe modifier that would be appreciated as well, thank you

Is this a hack?
First, give your object a vertex group, set to a very low weight for all vertices.. mine's called 'Shell_VG'
Give your object an Edge Split modifier, on all edges, followed by a Solidify Modifier, set to fill the rim, and weight the 'Shell_VG' group.

Then a Displace modifier along normals to shrink the faces, and a Mask modifier aimed at the shell vertex group, set to a higher threshold than the one you set originally.

For the pink result:

If you don't mind solid faces, you can cut out all the masking steps.


Import sequence of PLY meshes I am trying to import a sequence of PLY meshes, but I could not find any full explanation on how to do it. This questions seems to have tackled the same problem, but the answer is not too detailed so I cannot reproduce it. Could somebody provide me with the full details on how to do it please?

Blender supports only a handful of mesh formats as sequences, .mdd, .pc2, and in test builds, alembic (.abc). This is done using the "mesh cache" modifier. If you have an external tool that can convert/re-export the sequence to one of these formats, that's your best bet.


What's Wrong with my UV editor? I've been working on this scene for a long time now but as I tried to put a skydome in, it would keep denying me the ability unwrap the top half of a UV sphere. I tried doing the same thing in a brand new scene and it worked, but not in the one I am currently stuck on.

The UV editor is more of a rectangular shape than normal, which I believe is part of the problem. Basically I am asking how I can fix this so I can unwrap the top half of a sphere to create a skydome.

You are looking at a render result. Click the "x" to clear it.


Fluid flow when x,y,z are at 0 I'm creating a small video in which I have a glass and fluid as water to flow into the glass.

Now in my domain I do get a continuous fluid flow if I change the x,y,z direction coordinates under the domain but I get  fluid flow like water drops when x,y,z are 0.

The scene needs the flow of water directly over the glass but I don't get continuous smooth flow.

Any help would be appreciated here.

Regard,

The x,y,z values in the fluid domain settings define the effect of gravity on the simulation. Values of 0,0,0 mean the fluid is floating in space. A Z value of -9.81 is used to approximate earths gravity.

You have a couple of options for the object used as the starting point of the fluid, setting the type to fluid gives you a single "blob" of fluid with a total volume equal to the size of the mesh while a type of inflow will give you a constant flow of fluid coming in. The initial velocity here defines the direction the fluid first moves, a negative z value will have it fall straight down, while changing the x and y values can get it to flow diagonally into your cup.


View2D Zoom 2D View hotkeys I'd like to use Alt + Right mouse to zoom in the UV/Image Editor. Currently, it's set to Ctrl + Right Mouse

View2D has a hotkey for Zoom 2D View set to Ctrl + Right Mouse. I changed it to Alt + Right Mouse, then Save User Settings, and in the UV/Image Editor, zoom is still using Ctrl + Right Mouse.

userpref.blend is also writable.

The zoom setting you find listed under View2D refer to flat layouts such as dopesheet, graph editor, VSE...

To adjust the UV/Image Editor zoom settings you need to alter the zoom settings found under Image.


Why does Ray sensor in Blender Game Engine cause actuator to activate superfluously? In Blender Game Engine, version 2.79, an object has a test Keyboard sensor, with an And controller, that activates an Edit Object actuator to add an object. This works fine. However, when I added a Ray sensor, the same actuator now adds three copies of the new object instead of one. This should a forteriori add one or zero objects, because it is the same logic plus requiring the Ray sensor. So why is it adding three objects at a time?

Ray sensor deactivated, one blue object added:

Ray sensor activated, three blue objects added:

1.
Your Ray sensor should be set to Tap to prevent any extra pulses.
2.
Your Ray sensor's option Invert is turned on, I don't think this option needs to be on, unless there's some other logic that I'm not getting and the option is internationally turned on.


How to delay all keyframes to make space for a new animation scene? I have made an animation, but I have now decided that I want to have another scene in the middle of the animation.
Is there a way to delay ALL keyframes and make space for the new scene without breaking the animation?

To solve your problem, you can select all (animated) objects in your scene, then select all keyframes that you want to move, and hit G to translate them further ahead.
To prevent this problem in the future, I suggest splitting your animation into shorter sequences, but this is case specific, not useable for when you want to extend the scene.
Since I don't know what exactly is going on there, I can only suggest.


What does the torn sheet of paper icon in outliner mean? What does torn sheet of paper mean? And how repair it?

It means fiie missing or broken link. In this case it might mean that the linked file that contains the object (or collection) cannot be found in the disk. Did you move, rename or delete any files?.
To find the error, switch the outliner display the blender file mode and look for missing libraries.

Or display API data, navigate to the missing collection and find what is it that is linked to. You can re-link it to the original file by manually typing the correct path.

When you get an error like this,you can also check the terminal output. It should report something like:


How to remove all pie menus in Blender 2.8? I like Blender 2.79 - why? Blender 2.79 did not have pie menus shoved EVERYWHERE. In 2.79, there was an option to enable and disable them (emphasis on the disable). I find pie menus exceedingly annoying. (Example: out of habit, I instinctively press Z to toggle to wireframe mode. Instead of getting to wireframe mode, I get this weird pie thing in my face). No one likes pie in their face. I can not find an option anywhere to disable the pie menus in Blender 2.8. Is it possible to disable them in Blender 2.8, or is this a helpful feature we are stuck with?

There is no way to completely remove pie menus (without building your own version) but you can get closer.

Start by disabling Tab for Pie Menu. That will get you back the familiar tab usage.

Next I'd recommend enabling Pie Menu On Drag. That setting makes some buttons (like Tab, ` and others do double duty. Simply pressing them invokes a normal event, but pressing them and moving the mouse makes a pie menu popup).

Now start changing the keybinding in the keymap here is ShiftS Snapping. Set the identifier to "wm.call_menu" and the name to "VIEW3D_MT_snap". Old snapping menu is back.


Is there a difference in image quality by rendering on different computers? I have two computers. My new one is pretty solid, but it still takes 8 hours to render 3 seconds at 24 fps. I wouldn't mind it but i have other things i want to use that computer for in the meantime.

If i were to transfer the project to my old computer could i let it render non stop (for like a week)? Would it look any worse? I know it would take longer, but i don't really mind as long i can use my new computer without a major handicap.

I don't have the old one on me at the moment but from what i can remember it has

6gb of ram

core i3

nvidia gt 650m

EDIT: it's in cycles

No. The only thing that will change is the rendering time, everything else should be exactly the same.


How can I push down actions to nla strips with python? I'm trying to write a script that push down all actions in NLA-Editor. No matter how many actions exist, it should work.

This is the code I currently have:

bpy.context.area.type = "NLA_EDITOR"
bpy.ops.nla.action_pushdown(channel_index = 1)

My problem is that I don't know what channel_index each action has. How can I get this index? Or is there a way to iterate through all actions in in the nla editor?

I have the answer:

I don't Need to go to nla-editor, I just add a new track and a new Strip with the Action, which I get from my object.

for obj in bpy.context.scene.object:
    if obj.animation_data is not None:
        action = obj.animation_data.action
        if action is not None:
            track = obj.animation_data.nla_tracks.new()
            track.strips.new(action.name, action.frame_range[0], action)
            obj.animation_data.action = None


what is the difference between the two plus signs when adding a material with the blender render engine? I am experimenting with material in the blender render engine and i can't seem to figure out the real difference between the two '+' signs when adding materials.

heres and image.

One adds a new material (copying the current material):

This will replace the material in the active slot. The first material will still exist (and can be added to an object or objects), at least until the .blend is closed. Then unused datablocks are cleaned up.

The other adds a new material slot:

Material slots are places where other materials can be added to the same object data.


How to add a group into a node tree with Python How do I add an already created node group into a node tree?

I have found that this works:

group = node_tree.nodes.new("ShaderNodeGroup")
group.node_tree = other_group.node_tree

But it creates a copy of other_group instead of just referencing it. So how would I go about just straight adding it to the node tree?

After adding the new node group node you can assign the node_group data type to the node_tree:

group = node_tree.nodes.new("ShaderNodeGroup")
group.node_tree = bpy.data.node_groups['OldNodeGroupName']


Is there a way to create a list of all available trackers of a scene? I'm currently trying to write a first addon for blender and I would like to be able to have a drop-down menu where I can select one of all available trackers of a scene. (Just like what you can see in the "Follow Track" constraint.

Does anyone know how to achieve sth. like this:

Thank! Any help is much appreciated.

This will add a panel in your Properties Window --> Scene Tab called "Layout Demo", which will enable you to select a track if one exists for the 1st Movie Clip added to your scene.

import bpy

class LayoutDemoPanel(bpy.types.Panel):
    """Creates a Panel in the scene context of the properties editor"""
    bl_label       = "Layout Demo"
    bl_idname      = "SCENE_PT_layout"
    bl_space_type  = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context     = "scene"

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

        scene       = context.scene
        showProp    = False
        tracks      = None
        trackingCam = None

        # Only show this property if there is at least 1 movie clip that has trackers
        if len( bpy.data.movieclips ) > 0:
            mc = bpy.data.movieclips[0] # First movie clip
            if 'Camera' in mc.tracking.objects:
                trackingCam = mc.tracking.objects['Camera']
                tracks      = trackingCam.tracks
                if len( tracks ) > 0:
                    showProp = True

        if showProp and trackingCam and tracks:
            props = context.scene.myprops # Reference property group
            row   = layout.row()
            row.prop_search(props, "tracks", trackingCam, "tracks")

class propsGrp( bpy.types.PropertyGroup ):
    ''' Property group that contains your tracks custom property  '''
    tracks = bpy.props.StringProperty()

def register():
    bpy.utils.register_module(__name__)
    # Add property group to scene to make it persistent and accessible to panel
    bpy.types.Scene.myprops = bpy.props.PointerProperty(
        type = propsGrp
    )

def unregister():
    bpy.utils.unregister_module(__name__)
    # Remove property group from scene when panel is unregistered
    del bpy.types.Scene.props

if __name__ == "__main__":
    register()

More about how to use property search.


Attaching another object to cloth simulation For my project, I have a basic plane with Cloth Modifier applied to it that falls and collides with an object, draping over it in a sheet ghost-like way
What I would like to add is a big over-sized tag sticking out of it like this, so that when it falls, the tag stays stiff and faces the front.

I've tried to parent the tag (as its own object) to the cloth simulation but it didn't apply to simulation, either not following the geometry of the cloth and going inside it or only attaching or only to a single vertex.

I've tried extruding out the tag from the fabric, but it folds over like the rest of the cloth.

Is it possible to "paint" stiffness/weight to certain parts of a cloth?
I'm pretty new to Blender and not too familiar with cloth physics so I've done a lot of Google searches, looked for YouTube Tutorials, documentation, etc. but couldn't find something similar and the program is changing all the time (I think I wanted something like this post form 5 years ago?). Any help would be  greatly appreciated.

You can define a Vertex Group and assign the tag mesh to it. This Vertex Group ("Stiff" in the example) you can add under Property Weights of the cloth sim and experiment with the values.
All in all, I got a good simulated shape but it's not suitable for animation because the collision detection is inaccurate and the tag appears sometimes on the other side or gets overlapped (clipping).
I removed a few edges of the tag, it's more low-poly than the rest. But I am not sure if that is a good idea (collision). You can also try and add some of the verts around the tag to the Stiff group for a better result.
The simulation is somewhat sensitive to the entered values. Small changes to Self Collision for example can have larger effects. If the value for Self Collision in my example is increased from 0.001m to 0.005m then the plane wraps around the tag and goes crazy.
Good luck ;-)


Is there a global wire (display) option, not wireframe mode? I apologize if this is a duplicate question. I have searched the exchange, google and in Blender itself. I cannot find an answer to my question.

I am in Blender 2.79.

Is there a way to turn on a global 'wire' mode (not wireframe mode, not shortcut Z) for all shaded objects, not just the selected?

The only option I know of at the moment is to select an object, go to the object properties panel, and turn on the 'wire' option under display.

But that only works on the selected object/solid/mesh, whatever you want to call it.

I'm looking for a way to do this as a one button toggle, without having to select anything. It's either on for all objects or it's off for all objects.

For those familiar with Maya, it's the same as the 'wireframe on shaded' option.

Thank you in advance,

Jim

Currently 2.80 version only has global "wireframe displaying" option in overlays:

If you need a solution for 2.79, you can find some addons, witch toggle this settings for all objects in scene. For example:

https://meshlogic.github.io/posts/blender/addons/toggle-object-wire/


How to save a rendered image that I have added a vignette to in Compositing? I have a rendered image in compositing with a node set up to add a vignette. It all looks good in the compositing window but I cannot find a method to save this new image.

Actually there is a way to save the composited image without re-rendering:

select the viewer node
in the N panel (properties region) under "Node" there is a "Save This Image" button.


Mechanical ribcage having variable number of ribs and derived heights How do you create ribs that shrink in height along the inside of a track?

Here is a screen shot showing the problem:

With the array and mirror settings hidden, you can see a quarter rib:

The ribs do not decrease in height, which causes them to extend beyond the track:

I'd like to limit the height of each rib such that it connects to the support beam, shown selected here:

How can this be accomplished without modeling each rib individually (i.e., using curves, empties, constraints, arrays, and so on)?

Method 1: even rib size

You can use a combination of some modifiers such as:

Array (using object offset pointing to an empty to get the step
distance to increase; notice that the empty doesn't have the same Y coordinate of the object origin, so each step the repeated object gets nearer to the center)
Boolean (to cut away the parts that exceed the middle line with a "control" box)
Mirror (to repeat the other half)

Method 2: slightly deformed ribs

Use a regular X-axis Array modifier (much simpler to set up than the array previusly presented) and deform the result with a lattice with two control points only in order for each direction (U,V,W) to get a linear deformation:

While the second method is probably faster, the first would give you more control and precision.


How to Make Joints in Mesh? Distorts when I rotate in pose mode See how that part of the mesh distorts when I rotate The hoof bone? I'm trying to figure out why it's doing that and what I can do to fix it. From my understanding, it should be properly rigged to that part of the mesh, but I am new to blender, so I could be missing something.

are your mesh and armature both at the correct scale? in object mode if you Ctrl+A (apply) you can apply scale which keeps any transformations but neutralizes its scale in interactions, which can be the cause of some of these distortion problems.
Also, for future reference, for questions like this it can be helpful to upload your .blend along with the question.


Need to Fix Broken Edge Loop? I'm trying to create a nightstand that has these inset circular handles. See below:

However on the bottom drawer handle, the edge loop of the circle is broken in two halves so I can't use the extrude/inset face tool to create the same look as the top one. See what I mean here:

I've tried to Merge Vertices, I've tried to Connect Vertices, I've tried Make Edge/Face. Usually I can just bungle my way through something stupid like this but I'm stuck and can't seem to google it either everyone's situation seems different. Which makes me think I'm missing something really dumb and simple. My brain doesn't seem to work with simple I over complicate. Anyway any ideas? Much appreciated in advance thanks.

Editing to add my .blend file.

An alternative, Sub-D approach: absolutely no better than yours, but with all the tools in Blender that are geared to working this way, personally I find this kind of pattern  gives rise  to fewer mysterious faults in the mesh, and is easier to tweak later.

Starting with a bevelled pair of drawers:

CtrlR  Cut in 3 edge-loops in both directions
F Fill the central faces
AltP Poke the filled faces
CtrlShiftB bevel the central vertices
Select both resulting faces, and Loop-Tools > Circle, ( or Space-Bar > Circle) setting the Radius field as desired.
Inset I and Extrude E the circular faces, to create holding loops and the recess.
Assign a Subdivision Surface modifier.


Why does 24fps on blender appear slower than elsewhere? I've made several gif animations using blender and I always find them when played back on blender (at 24fps) they are slower than when I create the actual gif using an external application at the same rate.

Anyone know why this is?
It is extremely frustrating me

Blender is counting frames instead of seconds so it is probably that the frames do get a different time value.
The other thing is that it is two standards in the FPS, 24 and 23.976. That might be the problem also.

It is possible that the FPS in the preview is different from the final also.


How to create a perfect edge? I want to create a bottle of shampoo, but I encounter some difficulty...

When I apply subdivision surface I got this mesh, how can I fix this?

Here is my blend object:
https://drive.google.com/open?id=177eO74yxTY8biekbXR2gIK2Fk5QB16HN

As this hole is supposed to help to open the bottle, I suppose you've made a mistake and that the topology is rather something like that (I've separated the plug to make it more understandable):


Creepy movment with IK What is it that create this creepy effect

Whenever your bones kind of go off and do their own thing, 9/10 times it is because there is a cyclical dependency somewhere in your armature hierarchy.  The easiest way to diagnose this is to turn on the system console (Windows only, as far as I can tell).

From there, it will usually just tell you.

Fixing it is a matter of reorganizing your bone dependencies to not be self-referential.  What that means precisely depends on the model, but remember that an IK control bone cannot be parented to a bone it controls (i.e. a IK control foot cannot be parented to the shin it controls through IK).


How to add a specularity map in cycles? I've seen some examples like on BlenderGuru.com and some other youtube tutorials. But, what would be considered the proper way to add a specularity map in cycles?

Do it just like blender guru. To do this see image:

To be more specific, Cycles is a unbiased ray tracing engine. That means that computer actually computes the rays of light in the scene. Because of this the specularity of a material is not controlled by a setting, but by the actual physical properties that create the effect. For this reason their is no specularity setting.

The reason why some render engines have a control for specularity is because they fake the effect.


Is it possible to clean up overlapping faces? I've been using the Boolean Modifier to union multiple meshes, but it often makes overlapping faces, that are criss-crossing each other, as shown in the image below:

Is there any way that I can remove the unnecessary faces?

See if you can dissolve those faces by hitting X on your keyboard and then Dissolve Faces:


Rendering animation speed I am working on creating a scene with animals..three in the scene.  I have them walking across the room...I first set it up with different poses every 5 frames... rendered the animation at 24fps... when playing the animation video, it appears they are running across the floor..   I set it up again with every 10 frames, changed the poses...(changing the position of their legs and/or head..)  rendered it at 15fps.. they still appear to hurry across the room...
    How can I make the animation look as if they are walking across the room a little slower.. little smoother flow...

I am learning this animation and modeling of animals...

thank you
Barbara

In the Dopesheet you could select all A and use scale S, to move the scaled keyframes use grab G.


Boolean modifier issues I would like to use a difference boolean modifier on this mesh so the small branches on top "sculpt" detail into it. But the boolean operation will not work. There seems to me a problem with the bottom mesh, because I can use the branches to do a boolean difference with other primitives without any issue. I've tried pretty much everything. The bottom mesh is manifold, all normals are correct, rotation and scale were applied, no loose vertices or edges, doubles were removed, etc... I even tried to triangulate it, but nothing seems to make it work properly. As soon as I try to apply the boolean operation, I get this weird result where the branches perform a union rather than a difference and their normals get inverted.

Here is the .blend file if anyone is willing to take a look at it. If this happens to be a bug and cannot be resolved, any suggestions as to how I could have made such details into my mesh without boolean?

Upper mesh has intersecting faces

By solving the intersection with a remodeling, and after triangulating the lower mesh, you should obtain a similar result:


How to import .ai files to blender I installed this add-on and tried to import .ai files from illustrator. Unfortunately, the imported 2d vector graphics where all in grey plane object- even though the paths where there.

Any ideas how to fix that?

If you save from illustrator (or Inkspace) into SVG format, then you can import your elements to blender using the built in SVG importer:

Just make sure that all of your elements have been coverted to pahts.

Please read this post:Why can't I import a SVG file from Adobe Illustrator or Inkscape?


How to get list of bm.verts that belong to a deform layer? I have a previously assigned Vertex Groups on my object. After creating the bmesh, if I understand correctly that Vertex Group should now be dvert_lay = bm.verts.layers.deform.active. If I print that, it looks like this:

<BMLayerItem object at 0x000002A7E18B5A50>

I'd like to get a list of bm.verts from my deform layer that could be used with bmesh.ops. It should have this format:

[<BMVert(0x000002A7818090B0), index=12>, <BMVert(0x000002A7818090E8), index=13>, <BMVert(0x000002A781809120), index=14>]

Any help appreciated.

OK I managed to find the values I needed by printing these variables:

# Layer Deform is the vertex group layer in bmesh mode.
layer_deform = bm.verts.layers.deform.active
if layer_deform is not None:
print('--- This is the deform layer info: ---')
    for vert in bm.verts:
        dvert = vert[layer_deform]
        print('vert index: ', vert.index, 'vert id:', vert,'vertex groups:', dvert.items()) #dvert.items gives you two elements: int of vertex group (I think by the order they were created added), and a 0.0 to 1.0 about the weight. If the vert doesn't belong to any vertex group, this dict will be emtpy. vert gives the BMVert in this format: BMVert(0x0000000012998B88)
print('--- End of deform layer info ---')


Baked procedural normal map reflect light only some sides I have baked my Nodes procedural normal texture via cycle rendering and I get some of the results works.
However, It worked only for some sides. Not sure why? Does anyone have any clues? Pretty sure my normal map didn't bake correctly.
Blender 2.92
https://imgur.com/a/qiM2FGv (GIF HERE!)

This is my Normal map

Blend File is here: https://drive.google.com/file/d/1qIzquPNuWsEd8XQ29WJxgKZJhy4XVdRK/view?usp=sharing

Silly me! It was the node graph that I connect to the Bump Map into the Normal Map then Output to the shader. (Normal => Color => Normal => Shader) Rearrange my node is the solution


Python, How to get pose bone to rotate with another pose bone from a different armature? Finding Rotational difference I have two Armatures with different bone structure.
The goal is to get the rotational difference of one bone from a one Armature and translate it to the bone of the other Armature.

Code **For a General approach:
import bpy

context = bpy.context
scene = context.scene

Rig_1 = bpy.context.scene.objects['__Rig']
Rig_2 = bpy.context.scene.objects['__Rig2']

Rig_1_RightArm = Rig_1.pose.bones["r_uparm"]
Rig_2_RightArm = Rig_2.pose.bones["r_uparm"]

scene.frame_set(1)
WorldSpace_RightArm_1-1 = Rig1.matrix_world @ Rig_1_RightArm.matrix

bpy.context.view_layer.update()

scene.frame_set(2)
WorldSpace_RightArm_1-2 = Rig1.matrix_world @ Rig_1_RightArm.matrix
WorldSpace_RightArm_2-2 = Rig2.matrix_world @ Rig_2_RightArm.matrix

bpy.context.view_layer.update()

I've tried multiple methods and would like to know what to do beyond here, like using rotation_difference to between WorldSpace_RightArm_1-1 from frame 1 and WorldSpace_RightArm_1-2 from frame 2.

Object.convert_space
As mentioned in previous answer there is a convenience method available on the object that converts space.
Rather than totally doing my head in by trying to make a rotation difference am going to

Convert source and target pose bone matrices to world space
Decompose them, ie get their world space location, rotation and scale parts.
Recompose the target world matrix to have rotation part of source
Convert this to pose space of target bone and set as matrix.

Test method.
import bpy
from mathutils import Matrix

def snap_rotation(source, target):
    Ms = source.id_data.convert_space(
        pose_bone=source,
        matrix=source.matrix,
        from_space='POSE',
        )
    Mt = target.id_data.convert_space(
        pose_bone=target,
        matrix=target.matrix,
        from_space='POSE',
        )

    _, q, _ = Ms.decompose()
    t, _, s = Mt.decompose()
    M = (
        Matrix.Translation(t) @
        q.to_matrix().to_4x4() @
        Matrix.Diagonal(s.to_4d())
        )
    target.matrix = target.id_data.convert_space(
        pose_bone=target,
        matrix=M,
        to_space='POSE',
        )

if __name__ == "__main__":
    context = bpy.context
    scene = context.scene
    snap_rotation(
        scene.objects["Armature"].pose.bones["Bone"],
        scene.objects["Armature.001"].pose.bones["Bone"]
    )


How to access the "Browse Image to be Linked" dropdown from an Image Texture node using python? I am trying to access the "Browse Image" dropdown from an Image Texture node using python:

That is, I want to be able to draw this dropdown to a panel, so that it can be accessed and the image for the node can be set from the panel.
Is there a specific property associated with the Image Texture node that I can reference to do this?
i.e. something along the lines of:
row.prop(img_tex_node, 'some_property')

Thanks.

Nevermind, I answered my own question.
All I needed was this:
row.prop(img_tex_node, "image")

Simple!


Faces don't look the same after deleted and filled with F.How to fix deleted faces issue? I have made this model without deleting a lot of faces. But at the beginning I deleted all faces from this line and restored them using "F"(fill) shortcut. Now it's looking weird, I cant select all the lines from it too. I already tried to Recalculate normals outside and inside but no luck. How to fix this? I'm trying to make all faces look the same

probably there are multiple stray vertices there?


When should I retopologize? So it's my first time modelling a character and I have a pretty dense mesh (suprised that my Laptop can still handle it). When should you retopologize a character? Before Hair and clothes so just the body or after?
Thank you!

You should start with the face , add a plane rotated on you  left to right axis and then add a shrink-wrap modifier and also enable face snapping this will try their best in keeping your extrusions with the sculpted topology , keep the plane on the noseBridge and also add a mirror , then start extruding the side till the eyes and then take your extrusion around the eyes , like this you can cover the whole body properly , and try yr best keeping them quads.
You can go around in this fasion


How do I achieve the traditional 3/4 perspective of JRPGs using the camera? first a bit of background.  I am primarily a pixel artist, and I tend to work in the 3/4 perspective usually seen in old SNES-era games, like so:

That's something I pixeled up.  Now, I'm trying to achieve a similar effect in Blender, to create a pseudo-3d/pseudo-2D pre-rendered look.  I could just do it all with traditional 2D tiles, but going the 3D route saves me time when having to reorient stuff for combat-sequences in an isometric projection (think similar to the Breath of Fire series).

When doing that pseudo-isometric view, it works fine.  What I want to know though, is how to achieve the 3/4 perspective view in the first image.  Right now, I can achieve something like this:

In that, I'm using assets I pixeled up previously, textured onto simple geometries.  I've set the camera to orthographic with a scale of 16.  The X/Y/Z rotations are 45/0/0.  My problem though is that the tiles are turning out rectangular and not perfect squares.  In the pixel art, the front of the cabinet is exactly two tiles across and two tiles high.  The top of the cabinet is exactly two tiles wide and one tile high.  In the render though, it's not lining up perfectly.

Is there a way to set up the camera (or something else, perhaps) to get the perfect squares that I'm looking for?

Thanks in advance for any help, it's most appreciated.

Keep your camera angle 45° and have your geometry dimensions like this:

Then you will get the perfect squares:


Should my models be actual size? I am making a battleship in blender and in real life, it is 887 feet. If I scale it up to the actual size, will things be more accurate or will it just slow things down?

It won't slow things down.

However, Blender's default settings may not be good for such a large piece.

Especially the viewport and camera clippings settings (these settings define the minimal and maximum distances rendered). The End clipping is quite small by default so if you happen to have your objects kind of cut in far distance, this is why.

You will find the viewport clipping settings in the View panel of the options bar (N) of the viewport, and the camera clipping settings are in the Camera tab (select the camera first), in the Lens panel :


Adding nodes turn object black Help!

I've searched on the internet for this issue but I can't seem te find it. So hopefully you can help me.

I have build an object in Blender, I want to give it texture and color so it can be implemented in Unity.

As soon as I unwrap the object, added an image texture and give it a beautiful pink colour.

then, added nodes.

I hit the button "Bake". The whole thing turns black.

It even happens with the default box.. What am I doing wrong?

You need to plug the Texture into the shader, then the shader to the output :

The color of the inputs and outputs is important. You can't expect plugging a Yellow output (Color information) into a Green input (Shader information), and get a result. More informations.

Also, in the blend you shared the texture is black, so of course the materal will be black.


Choosing the image on which the baking goes The problem I have is really simple: even though I select one image in the UV Editor window, when I try to bake the render results on it he overwrites another one (which is one of the textures I use) with the baking results. Perhaps this is due to using the Material Nodes in Cycles, which I'm using since a short time.
How can I choose the image on which to Bake?

Here's the method I use:

Create a new Texture in the UV/Image Editor and name it appropriately.
Create a new Image Texture node in the Node Editor (no connection to the tree) and select your created Image in the dropdown menu.
With this new texture node selected, go to yo Render Panel and bake your texture.
Repeat from Step 1 for different Bake Types.


Cycles: create water using smoke / volume I am trying to simulate a waterfall using this tutorial:

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

I got a scene with smoke that acts sufficiently accurate as water pouring down. I am able to render the smoke in cycles. So far, so good. (It is just a test project)

My problem is: What can I do to make the smoke actually look like water?

Is it possible to assign a material to the smoke volume? So can you work with the smoke volume and create a material with exactly the same shape?

When I tried to use a glass or glossy shader node, the only result I got was the whole smoke domain box rendered with this material.

What can I do? Maybe, there is another, more simple way to create a waterfall?

Thanks in advance!

EDIT: Using fluid, I don´t get a result near my expectations, partly because of the limited domain size (10 meters):

I looked at your solution another time @LukeD and it worked. I am sorry, I must have got it wrong the first time.

I think you can get acceptable results with this solution:

Now, the quality depends on the density of the smoke (and, of course, the smoke resolution)

Material for the smoke domain:

However, if you what to create a slow waterfall, like this:
https://www.youtube.com/watch?v=pTjtHFeZ1zM
with clear water, there must be another method.

I fiddled around with the fluid sim and noticed, that the volume of the inflow object is crucial. I increased it´s size, compared to the example above. There must be enough water flowing into the scene! Thus, fluid sim could do it as well:

Render time for fluids is way shorter than for smoke, if you have a good grafics card, btw, because smoke doesn´t support GPU computing yet.


Gap between land and sky in world background (cycles) How can i eliminate a Gap between land and sky in world background using cycles. A grey band between ground plane and where sky (noise shader combined with a sky texture) connects. Changing camera angle changes the height of horizon but then cannot look down on ground plane without changing view of sky.

This is a deficiency of your ocean surface not curving away from you "to infinity" the way a real ocean would. Since it's instead a finite plane, it's possible to get above it and see through the area where an infinite plane should've occupied. Some possible workarounds:

1) Make the plane bigger and lower the camera angle. You may be able to minimize the gap to the point that it's not an issue.

2) If you're committed to the higher camera angle, you can use the mist pass as suggested by cegaton to cover up the horizon. You can use a mask or gradient texture in the compositor to cancel the mist pass effect in the upper part of the frame, and thus expose the sky above the gap


How to make a fullscreen toggle button in the BGE? I am making an options menu in the BGE and I want to know how to make a button that toggles fullscreen on and off for the blender game?

This is simply done with a small python script using the bge.render.setFullScreen() function.

cont = bge.logic.getCurrentController()

if cont.sensors['MouseOver'].hitObject.name == 'Cube' and cont.sensors['Lclick'].getButtonStatus(bge.events.LEFTMOUSE) == bge.logic.KX_INPUT_JUST_ACTIVATED:
    if bge.render.getFullScreen() == True:
        bge.render.setFullScreen(False)
    else:
        bge.render.setFullScreen(True)

You then add the script to your button with these logic bricks.

The MouseOver and Lclick mouse sensors are used to start the script when the button is clicked.
Look through the Blend file for a full working example.
(*Note* you will need to start the Standalone player for full screen to work.)


Issue with Collada export on Mac OS Catalina did any of you experience a problem with Collada (.dae) export of bigger files? I have a blender project with a number of animations (11 MB in total). I've recently updated Mac OS from 10.14 (Mojave) to 10.15 (Catalina). After the update, I'm not able to export this project to Collada. When I try app freezes on the export window and stays that way forever. Collada file is created but the size of the file is 0B. I've checked console and Blender is getting notification from the system:

  RESOURCE_NOTIFY trigger for Blender [2375] (90009223113 nanoseconds of
  CPU usage over 127.00s seconds, violating limit of 90000000000
  nanoseconds of CPU usage over 180.00s seconds)

I was testing versions 2.80, 2.81a and 2.82 (alpha) - problem stays with all of them. Do you have any idea what can be done with this?

Quick update on the front - I talked with the designer working previously in the project I was struggling with. It looks like it's freezing for quite a long time (around an hour) as there are tons of animations in the file and take this long to handle them in export. I think the outcome of this is missing progress on the export process - what is surprising progress is shown when exporting to eg. .obj.


I cannot create an array on a text object, only along Y I have created a text object, and would like to make an array of it along the Y axis.
Arrays on X and Z work fine, but I cannot seem to make an array on Y.

I can't understand why this wouldn't work? I've tried to change some of the settings in Array, but no success...

An object which has no thickness can be duplicated by an array modifier using relative offset but the duplicated objects are at the same place as the original, as relative offset's values are relative to the object's dimensions.

It appears as if nothing was happening.

If you want to see these duplicates in this case, use 'constant offset' instead:


How to apply shortcut to "Show whole scene transparent" ? How to apply shortcut for selecting invisible backside parts of mesh?
It called "Limit Selection to Visible" option in 2.7

There was an answer for 2.7:
Assign a shortcut to "Limit selection to visible" toggle
It doesnt work in 2.8

Was looking for the same and just found it.

In Blender 2.8 it is called Toggle X-Ray and the default shortcut is Alt+Z.


Is it possible to float an object on a fluid simulation? This question is related to Physics cross-simulation interactions?.

Is it possible to make an object float/interact with a fluid simulation?

It doesn't have to be full two way interaction, but I want to know if it is at least possible to affect anything (particles, rigid bodies, etc.) with fluid.

In short, no. But...

This part of the wiki talks a little about setting an object as an inlet, outlet, obstacle, or fluid control. There are also settings in the fluid sim that tries to imitate foam floating on the surface of the fluid, but there's not a way to make an object float, per se. Nor will the fluid sim interact with a rigid body.

That being said, it's possible to export a fluid sim to a mesh, in which case it will have the same attributes as any other mesh. Not quite interaction, but close.


How would you create a hole in this face? I would want the hole to go through the other side. And additional question: How would you connect the verts on that face if I wouldn't want to put a hole on it? And lastly what modeling process would you recommend: would you create a highly dense object just for the tiny bevels on the edges?

If you can afford the polygons generated by subdivision-surface modelling, there are a lot of advantages in keeping the initial poly-count as low as possible, and modelling the hole in the flat...

... working with geometry something like the above.

Inset region
Slide some edges about to make a vaguely circular region of the inset
Shipped add-on, Loop Tools > Circle
Inset again, and delete the hole
Cut in half, maybe make a cut or two to get rid of the poles created by the insets, and slide verts for better flow.

Now you're all set up to modify on the stack:

Mirror in X and Y
Solidify outwards
Bevel by angle, to hold the..
..Subdivision Surface.

The result is a handle with only 25-odd faces to look after, making it easy to adjust. You can change the size of the holes, the depth and curvature of the handle, and of its rounded ends.. all sorts, with simple selections and moves.
Personally, I would even model this way for low-poly; applying the modifiers, and knocking out loops where that does not damage the curvatures too much.