Boolean modifier not making new faces in mesh So I'm trying to make a smooth spherical cut in my object, I'm using the same object (icosphere) to cut both my meshes and it's worked fine on the right (hammer spike) and made new faces where it's cut, but its not making new faces on the left mesh (hammer head).
If it matters I had used a different object (UV sphere) earlier on the same object but removed that side made with that boolean and duplicated the front, mirrored it, and joined the vertices to make edges and faces. Then I separated the left and right meshes into new groups as you can see in the outliner.
I removed duplicate vertices and the face normals are correct, I've also tried a solidify modifier like some other related problems prescribe but it just made it more wacky.
how do I make the boolean tool make the new faces like it has before?

The problems I have with booleans usually relate to two meshes having one or more vertices in the same place. You might be able to fix this by scaling one of the objects slightly, but this obviously will change its size. You might be able to manually move the offending vertices out of each others' way.
Another possibility is you created an object in an older version of Blender, and have now opened it in a newer version of Blender. The data structures are not the same, and booleans will give unexpected results.
Another thing you can try is to run the 3d printing checks, and fix any problems that crop up before applying your booleans.


Is it possible to round the edtes of a round corner I wanted to try and make a controller but cant bevel into a rounded corner
Pretty much what I am asking is if I were to trace a c shape this is top view (C) how would I round the 2 points keeping in mind it was traced and does not already have smooth edges. It is also extruded to be thicker so a 3D C shape.
I will post an image if its required

Add a subdivision-surface modifier, and then add loopcuts around the top and bottom. Move these loopcuts near the top and bottom of the mesh to help shape the Sub-surface modifier.


Blender Opens With Only Gray Screen So I'm using Blender, and then all of a sudden I zoom out and there's nothing but a gray screen. I've tried hitting the / . , keys but . and , only open up orientation menus and / will only zoom on one object (not the whole render)
Shown Here:

If you click “n” it will open the 3D view properties tab, you can adjust the “start” and “end” value. And if you change the end value to something big like “10^10”, you should be able to see everything and you might also need to select an active object and click “.” again.


Rig moves mesh but not activly with the rig, only when move is done My rig stopped moving my character's mesh actively. It works, just only after the move has been made. It's like the mesh refreshes after the rig is done moving.

Delay Refresh was toggled on. Make sure this is off. When toggled on, the rig will move separately from the mesh until you release click. It will instantly update to the rig but will not move with it unless this is toggled off.  I carefully scrutinized my backup file till I found one difference.


Why does home button in the UV/Image editor zoom out a lot? If you have an image in the UV/Image editor window, pressing the Home button is for View All.

Why does it put a massive border around the image?
Every time I press Home I have to zoom back in!
Zoom extents would be a lot more useful.

Is there a reason for this zoomed out border?

As far as I remember, it snaps to the same zoom ratios as you use the numpad for (1:1, 1:2, 1:4, 1:8...). This is probably to avoid any scaling artifacts since the Image Editor does not filter the images.

If you want to view the image fit to the borders better, try pressing F. However this will not set it to 1:1 if the image is smaller than the region.

Personally, I think there could be some more consistency in this regard, keeping the same hotkeys throughout editors would be nice.


Cut Circular Dashed Holes into a Disc I'm trying to create something a bit like this. How could I go about creating multiple dashed holes, which follow a circular path, into a disc?

Turn your bitmap image to a svg with Inkscape or Illustrator (see a tutorial on bitmap tracing, it's very easy). If you don't know .svg is a standard format for vector images, which will allow blender to interpret the image as curves.
Import svg in blender, convert to mesh, add a solidify modifier (in the modifier turn ON "On Cage" and delete all vertices that behave weirdly if you have any, make sure you don't accidently delete faces)
Make a circle with Shift+A, subdivide it 4 or 5 times, add a Boolean modifier targeting your imported svg and you should get this

Here is the .blend file:


How do I transfer a Blender VSE project to another computer? I started working on a project in blender video editor. I transferred the original MP4 file onto my flash drive and the blender file onto the flash drive. I then transfer and download both files to the new computer and although in the editor it shows all my changes but I can't see the video only a grey screen and I can't hear any audio. Any help would be appreciated. Thanks!!!

Before transferring, make sure the paths to external files are relative. You can make all paths relative through the File > External Data menu. Then save the blend file. Now you can copy the files, and open the blend file at the new location.


How to make the Displacement Map Texture and Material Texture Match? I added a image texture  to a simple sphere by creating a new material and selecting "image" as the color.
Then I used the displacement modifier to make a displacement map. I selected the very same image as the displacement texture.
I want the displacement surface to be exactly the same mapping as the material surface. Where material is dark, the displacement should go inward, and vice versa.
However the displacement texture and the material texture do not coincide.
I cannot use the shader nodes as I want to export the model to stl file for 3D printing.
How do I fix this problem?
Thanks

You need to keep the same scale and use the same coordinates for both textures.
Alternatively you can use a mapping node to fix the scale and rotation problem.


The edges connecting my vertices are loopy rather that straight. Is it possible do straighten them + if so how can this be done? I am unable to change the loopy form of the edges and as a result cannot get sharp curves. Also, I believe the problem may have arose after creasing the edges, but am not 100% sure.

In the modifier panel, disable "Adjust to cage" in order to modify the actual vertices position.


How to make such a material (Frosted glass) Tell me how to make the material as in the blue circle in the photo and glass in front. Thanks!

Here is a try with Eevee, basically it's a Principled BSDF with Roughness at 0.6, Transmission at 0.97 and IOR at 1.23 (nothing very scientific here, probably needs to be tweaked), I've mixed it with a Glossy BSDF with a Layer Weight as factor in order to have more reflections on its periphery, and give it a Bump with a thin noise:


Does Blender keep a log when it's rendering? Does Blender keep a log when it's rendering? Specifically, does it track when the render started, how long each frame took, etc.? I'm super curious about this information.

Here's a quick script you can use to output some simple frame times:

import bpy
from bpy.app import handlers
from datetime import datetime

def render_init_handler(dummy):

    global LASTFRAME
    global STARTTIME

    STARTTIME = datetime.now()
    LASTFRAME = datetime.now()

def render_post_handler(dummy):

    global LASTFRAME
    global STARTTIME

    ELAPSEDTIME = datetime.now() - STARTTIME
    FRAMELENGTH = datetime.now() - LASTFRAME
    frameNum = bpy.context.scene.frame_current
    blendName = bpy.path.basename(bpy.context.blend_data.filepath)[:-6]

    f = open(bpy.path.abspath("//") + blendName + '-renderlog.txt','a')
    f.write("Frame %d - Length: %s - Elapsed: %s\n" % (frameNum,FRAMELENGTH, ELAPSEDTIME))
    f.close()

    LASTFRAME = datetime.now()

handlers.render_init.append(render_init_handler)
handlers.render_post.append(render_post_handler)

You should generate a text file that looks like this inside:

Frame 1 - Length: 0:00:00.139432 - Elapsed: 0:00:00.139441
Frame 2 - Length: 0:00:00.232712 - Elapsed: 0:00:00.372586
Frame 3 - Length: 0:00:00.257580 - Elapsed: 0:00:00.630437
Frame 4 - Length: 0:00:00.265303 - Elapsed: 0:00:00.895999
Frame 5 - Length: 0:00:00.259570 - Elapsed: 0:00:01.155840
Frame 6 - Length: 0:00:00.266500 - Elapsed: 0:00:01.422597
Frame 7 - Length: 0:00:00.260504 - Elapsed: 0:00:01.683389
Frame 8 - Length: 0:00:00.259319 - Elapsed: 0:00:01.942971
Frame 9 - Length: 0:00:00.258627 - Elapsed: 0:00:02.201868
Frame 10 - Length: 0:00:00.260319 - Elapsed: 0:00:02.462535
Frame 11 - Length: 0:00:00.257915 - Elapsed: 0:00:02.720720
Frame 12 - Length: 0:00:00.261301 - Elapsed: 0:00:02.982309
Frame 13 - Length: 0:00:00.262327 - Elapsed: 0:00:03.244906


Modeling question - flatten part of the cylinder Got a question on modeling, would like to know if anyone can suggest a way on modeling this part of a chair? It is kind of flatten part of the cylinder. Thank you.

I didn't know this Bool Tool addon before. Did some research in Google, found out this addon is included in v2.78

Enable this addon under File > User Preferences > Add-ons > Bool Tool

Select the rectangle first, then select the cylinder, use the Difference operation and got the below result.


How can I animate a mesh moving in a spiral fashion? I want to animate a paper as it's being tightly rolled. I've done some research and seen that using the spiral add on might be advantageous, but I haven't found anything relating specifically to my question.

How might I do this?

Plane with Curve Modifier animated with Curve Location

The Curve is animated on the X axis with 2 location keyframes.

Spiral, Plane, Lattice in the image above.

The paper in edit mode, high density, loop cuts in both directions to suit your needs.  The Curve Modifier on the paper performs the rolling.

2 options at least.

The spiral moved on the x axis toward the paper.

The paper moved on the x axis toward the spiral.

The spiral is the parent of the lattice which slightly squeezes the middle.  The lattice is optional and influence can be animated.  The spiral was created with the standard addon AddCurve extra objects.  The tail was extended on the x-axis to control the tangent and flatness in the XY plane. The origin was moved to the last point of curve.

In the picture above you see the origins of the spiral and the paper.  Be very aware of those locations.

More middle squeeze with Lattice.  The origin of the lattice is in the center of Spiral.

GIF created with GIMP.  Please excuse the jump.


Want to make 3D wall art how to project/bake texture from image plane to the walls of a room? I want to project a texture from plane to camera view and bake the texture to the room walls so the texture will be distorted properly for me to print.
as people suggest to use project UV from view right now its work in 3D but texture(in image editor are still the same as we distorted UV).To be able to print fit to the wall texture need to distorted to fit rectangle plane How I would do that?

As Rob says, you should use the Project From View mode when you unwrap.

Import your image in the the UV Editor. Move your camera in front of your box until you get the view you want. In Edit mode make sure your box is subdivided enough, otherwise the projection will bug. Press U > Project From View.

Move or scale your UV as you want in the UV Editor. Create your material, load the image in the Image Texture node.

If you stay in the camera view you'll see your image as it is, i.e. it will appear flat. If you move your view you'll see how the image has been projected on the surfaces.


Why is this rigid-body constraint allowing the object to be partially pushed away? This question was prompted by the results of this question:

For some reason, this rigid body constraint is easily pushed aside, despite seeming partially constrained. Why is this?

How can I make the wheel support the tail properly?

Heh, I got a little tired of debugging this vehicle of yours, so I remade it.
I stripped out parenting (because the physics engine does not respond to parenting correctly when things have to actuate), and replaced all of it with constraints.

The result:
https://dl.dropboxusercontent.com/u/17630723/Blends/gandalfmobile.blend

As to why the joint is acting weak, it is because it is parented to an object that is 'static' (if things are parented, the physics engine treats them as static), and thus has infinite mass. So by making the target of the constaint into a valid rigid-body (by using a constraint rather than a parent on the tail), this problem was avoided.

Creating constraints using python also provides the ability to control things like the springiness, the angle and the rotation speed of the constraint, things that aren't available through the UI.

On a side note, development of something is better suited to the forum style of reponse as opposed to multiple stack-exchange questions. I would have preffered for the development of this vehicle to be a blenderartists.org thread.


TexturePaint; where are all the options? I downloaded the latest build of 2.8 yesterday. Now I face this problem and I merely require a solution.

On the picture you can see my current layout of Blender in TexturePaint-Mode. Over the Viewport is this bar with "View" and "Brush", and in all versions (2.79 as 2.8) were there options like creating a palette, jitter factor, ...

And I cant find these important options now.

Click on the little wrench and screwdriver icon on the right side. Above the render settings in the Properties panel.


Synchronizing object takes too long Im currently doing an animation.

One object in my scene has 1million polygons and highres textures.

Just synchronizing the object, during rendering  takes 30 sek.
So with 240 frames, each test-render of the entire animation, takes at least 2 hours.

Without the heavy poly-object it just takes 3 sek per frame.

Why does Blender need to synchronize the entire scene, for each frame of an aniamtion. And can't just do it once ?
Especially when certain objects don't move.

And is there a way to do this just once ?

Create a low poly mesh resembling the high poly mesh, intersect both, bake them and apply the obtained texture to the low poly mesh.


How can i make vertices that are along an edge but not part of it cut into the edge and do it for many vertices? https://webm.red/L9JA.webm

you can see the problem here through the webm and i want to fix it for the entire mesh and not just a few vertices.

You can use Degenerate Disolve function with all selected(a) in edit mode(Tab) for that. You can access it from the space search menu or from Mesh -> Clean Up -> Degenerate Disolve :

It dissolves zero area faces and zero length edges.


Mismatch between 2.69 and 2.72 interfaces for Video Sequence Editor window In the 2.69-based tutorial I am following, this is the interface shown for the Properties panel of the Video Sequence Editor set to Preview:

In the 2.72 version I am using on Windows 7, this is what I get for the same:

How can I get my version to match the tutorial?

Also, what setting in the Video Sequence Editor controls Preview vs Sequencer sub-views?

Found the solution.  Click on the "Current editor type for this area" icon (see picture below) and select "Properties" from the menu that comes up.  The display will change to the window type shown in the tutorial above.

Here's a detailed capture of the resulting new Properties window:

(Blender... powerful software, but what a learning curve!)


Is it possible to obtain dense correspondence field? I am working on a computer vision algorithm and I have a very simple scene of a rotating sphere, rotating about the z axis. I would like to know 3d point by point correspondences for every frame. I have tried a couple of way to get this but not entirely satisfactory. One is I use the speed pass to obtain 2d flow vectors and then using multiple cameras to obtain 3d flow field which would give me 3d correspondences but i think it's not accurate enough. Is there a more exact way built into blender?

This answer may have missed the point, but maybe it will help clarify the question:
If you subtract the Object space coordinate of the shading point in the space of object A from the Object space coordinate of the shading point in the space of object B, then the colors on the surface-points of B will represent the World space 3D translation required to take them to the corresponding points on A.

This is OK for rigid objects.. if they're deforming, you could bake the space into an image texture, and look up in UV space instead.


Movie clip editor messes up with my colors Before I state my question, you need to know that I'm way out of my league. I'm just trying to stabilize some timelapse and that's all I'm using Blender for.
I have a few hundred PNG files that I took with a camera and then adjusted their colors using Darktable. Now, I'm trying to track and then stabilize them before turning them into a clip. I managed to learn how to do so after watching some online videos and everything worked perfectly. It's just that the rendered images and also the viewport within Blender change the color of my images. I mean when I open the same files in Darktable or even in gThumb, the colors look perfect. But when I drag and drop them into Blender, everything is different. Here's a sample shot:

On the left, you can see Blender's viewport (the output render file is the same) and on the right is the same file opened in gThumb (Darktable shows it like this as well). Can someone please help me find what the problem is?

Just posting this so I can post the pic. I can't be 100% certain this will solve your problem, but you likely find some success playing around with the color management settings. See below:


How Can i make save and load for bge I probably need the help of a Python script to make this work.

What I want is: The player will be able to save and turn off the game, but continue from where they saved when they next log in. Items such as gold, weapons, etc. must be stored.

It feels like something hard to do and I am not managing to figure it out alone. Although I love problems and solving them, in this case I need help.

I know that BSE People should not  ask more questions.

But.

Is this stupid or must I have several Scenes in my game. Say that my player goes into a house. Should the house then be in another Scene, or should I move camera and player to inside the house from the same Scene?

Any advice would be very helpful. I have no one near me whom I can ask.

//
Robin W

I suggest to abstract the requested features into different aspects of your game

Storage
Persistence

Storage

Convert game states into store-able data and back.

Store

extract the states from your game (positions, properties, animation frame ...)
convert it into a storable format (e.g. strings, lists, ...)
store it into a storage

Example:

import bge

storage = bge.logic.globalDict # globalDict is a predefined storage provided by the BGE

def store():
    playerStorage = {}
    storage["player"] = playerStorage # create a storage in storage

    player = bge.logic.getCurrentScene().objects["Player"]
    playerStorage["position"] = list(player.worldPosition)
    playerStorage["health"] = player["health"]

This is just a very simple example demonstrating a basic storage system. When you have more data, you will need a much more complex data structure to keep all the states of all the different objects.

You do not need to use bge.logic.globalDict. You can create your own storage (similar to playerStorage).

Do not store any references to data that can't be persisted such as KX_GameObjects, KX_Scene, Vector. You need to extract the data that can be applied to a different object later.

Beside game states you need to store enough data to uniquely identify target objects for later restore. In the example it is the key "player" assuming this data is from an object called "Player". [Object names are not unique, so you need to store additional data].

Restore

Is the reverse of Store.

read the data from storage
convert it to game states
identify the game objects it belongs to
apply it to that objects

Be aware the objects you stored the data from are not necessarily the same objects you will restore it to. If that sounds confusing: Imagine you restarted the scene. This means the original scene is gone and all of it's objects are dead. But you created and loaded a new scene with new objects that look the same. But they are different object.

The objects do not even need to be equal. E.g. you stored the data of a walking character (e.g. health). Then you restore the data to a vehicle as the character is sitting inside the vehicle.

Identifying objects can be tricky. In most cases the object name is sufficient enough.

Example:

import bge

storage = bge.logic.globalDict

def restore():
    playerStorage = storage["player"] # will result in error if nothing was stored before
    player = bge.logic.getCurrentScene().objects["Player"]
    player.worldPosition = playerStorage["position"]
    player["health"] = playerStorage["health"]

In this example we assume that data from storage "player" should be applied to an object called "Player". The above operations assume these data exist. Otherwise the processing will return an error. You need to apply a proper error handling.

Usage

Store and Restore are useful within several situations:

pre-step of persistence
scene switch by keeping game states of related objects (such as player stats)
object occlusion (objects out-of-sight are removed - and re-added when coming into sight again)
network communication

Persistence

Often referred as Save/Load. It means you ensure the game states persist without a running game session. A typical situation is to persist the game states to a file.

There are several different ways to implement such a system. A very simple one is to use the build-in Persistence via GameActuator:

Save

The GameActuator in Save mode marshals the data from bge.logic.globalDict into a file called <your-blend-file's-name>.bgeconf.

Example:

You simply activate the actuator and the BGE persists the previously stored globalDict to file.

Be aware this overwrites any previously saved data!

Load

The GameActuator in Load mode replaces the content of globalDict with the content from file <your-blend-file's-name>.bgeconf.

Be aware: the complete globalDict will be overwritten!
A missing .bgeconf file will show a warning in the console.

All together

Now you have all the aspects together. You always need to consider the timing. This means you better store before save, restore after load. You always have the option to skip the persistence (e.g. on scene switch).

Advanced

The above examples are very simple. You will need to establish you very own storage. You might even want several different storage objects.

Always be sure what you store where.

Do not mix storage with other purposes (e.g. managing an inventory via globalDict). This will sooner or later result in heavy design issues.

The python part can become quite a lot of code. I suggest you do some training first to be able to manage that.

There are other ways to persist data. E.g. you can pickle the data via Python and save the pickled data to file. This supports more data formats than marshalling. E.g. you can store custom classes.

I hope it helps


When I rotate my legs using the assigned bone, it weirdly makes the legs thiner, any solutions? For some reason when I rotate part of an object it makes the legs thiner

Without rotation

With rotation

Anyone know how to fix this issue?
I have parented the object to the bones with empty groups

It's because the topology of your legs doesn't have enough geometry, so it doesn't deform well.

Look at some examples comparing good and bad joint topology. (The good ones have a denser, "capped" extrusion)


Why is the "source to destination mapping" controls is missing? I am following an online tutorial on constraints transformation. The following is what I see in the tutorial
m
This is what I see on my laptop

The interface is different and I couldn't continue with the tutorial.
Help!

The UI for the constraint has changed, but the features are still there. Each axis has an alterable “source” option, which is equivalent to “mapping.”


Selecting across axis Right now when I'm using the Select Tool, from let's say the side of my object.

Its only selecting points from that particular side.

How can I make so that it selects through my object so that it selects all sides within my Selection Box?

Click this icon (see image) or shortcut Altz


Problems with subdivision modifier on cylinders I have a Problem, where on details at a Cylinder plus subdivision surface, edges of those details get a bit deformed as seen here  and here

I only have found  a solution by adding crease to the vertical edges along the loops like here  Is there any other way of fixing this? because with this solution my subdivision modifier gets obsolete.

Try adding support loops like this instead. Dont use creases. you have to add support loops in the right way to make the creasing look good. Merge the verts shown by red dots.


Is it possible to adjust the frame rate of viewport playback? Is it possible to play an animation in the viewport at a slow framerate?

Just because of the rather heavy scene it's already going at about 8 fps, but I would like to be able to play it even slower (an in a controlled manner) for the purpose of recording an animation with automatic keyframes.

The Frame Rate in the render settings should also control viewport playback. If you choose the "custom" option and set it to 8, it should make the viewport also play at 8 fps.


Cloth Bake: Save frames in timeline as shape key? I've run a cloth bake. It runs from frame 0 to 60. I can see the results in the timeline from frame 0 to 60. I want to save various frames as a seperate shapekey for the cloth. For example I want to caputure the result at frame 20 as a seperate shapekey, and capture the result at frame 40 as a seperate shapekey.
Is there a way to do this blender?

Make sure the "NewTek MDD format" add-on is enabled in the user preferences, and then select the object and go File > Export > Lightwave Pointcache (.mdd).

This will save a mesh cache file of the cloth simulation. Then you can remove the cloth simulation entirely (or just disable it if you might want to make changes later), and then import the .mdd file you just exported (File > Import > Lightwave Pointcache (.mdd)).

This will apply each frame of the simulation as a separate shape key on your object, and animate them on and off automatically for the appropriate frames.

You can then delete all the shape keys that you don't want and remove the animation by right clicking on them and choosing Clear Keyframes.

If you have a few too many shape keys to remove by hand, a little bit of python can save a lot of time:

import bpy

obj = bpy.context.object

keys_to_keep = ["frame_0020", "frame_0040"]

i = 0
for s in obj.data.shape_keys.key_blocks:
    obj.active_shape_key_index = i
    if s.name not in keys_to_keep:
        bpy.ops.object.shape_key_remove(all=False)
    else:
        i += 1


How to non-destructively bevel and extrude a mesh intersection? In Blender 2.93/2.92, I am looking for ways to more easily create hard surface structures with doorways/archways that are extruded above the surface, in a non-destructive way that allows for quick prototyping.
When trying to use the bevel modifier on a boolean object, the bevel profile only cuts in to the surface.  Is there a way to use modifiers to get the beveled edges to extrude above the base surface, using the boolean modifier?
Reference screenshots.

A cube with some extra lines cut into a face. Faces inset where hole is desired.
Extruded the boundary face-loop above the original surface. Extruded the inset faces below the original surface
Unsuccessful attempt at creating this non-destructively. Bevel after boolean difference only cuts "in" to the surface, does not create any geometry "above" the surface

If I understand your problem correctly, you should be able to solve this by using the bevel modifier limited to a vertex group.
First, go to the Object Data tab in the properties pane (the green one, can't miss it) and open Vertex Groups.  Hit the "+" button to create one.

Then, select the vertices you want to bevel in Edit mode.  While the group you just created is selected, click the "Assign" button underneath the vertex group list.

Third, go to the Modifiers tab (the one with the wrench) and add a Bevel modifier.  In the "Limit Method" drop-down, select Vertex Group.

Finally, select the vertex group you created earlier.  Play with the numbers a bit, and you should be good!


Boolean Subtraction Problem Hello Mighty Stackexchange, I'm trying to subtract some cylinders (place for LED's) from an object.
It looks like this before subtraction.

But when done subtracting, I'm left with this.
Info on modifier, Solver = BMesh, Overlap Threshold = 0.000001.

I'm kinda new to blender, I studied autoCAD in school, so blender isnt entirely new. But I'm still clueless on what is going wrong, I've searched but havent found anyone who encountered the same/similar problem.
I'd be happy to give more data/settings if required/asked.
Thanks in advance.

Using difference modifier on two objects doesn't always work

This one helped me reduce the problem so that I could manually finish the last.
Thanks for the help. :)

Removing doubles and fixing the normals. More instructions at the link.


fabric textures messed up in Cycles even though preview seems fine For some reason all my fabric textures come out messed up like this. I used textures from CC0textures.com and used the node wrangler add on to scale. I attached a picture of the final render. The wood floor, couch, pillows, and table are all messed up. The couch is also clipping the floor, even though I don't see that in lookdev mode. The left side seems perfectly fine, however. Does this have to do with the sun lamp that I used to light up the right? I lowered the max bounces on it from 1024 to 50. Do I need to scale the entire room up to fix the fabric problem? I also added a picture of my node setup for the glass.

I think I found the answer: I was using Lily's surface scraper and the displacement of the textures weren't scaled and were too large for the objects in my scene.


How do I enable custom gizmo display when I move? I am currently working on a custom gizmo for my add-on. I have a function to move the object (transform.translate). At this point my gizmo disappears and a normal trajectory line appears. How do I enable gizmo display when I move?  use_draw_modal = True is not working. I'm using GIZMO_GT_arrow_3d

So this is a bit of a strange answer but having tested it there seems to be some other mechanism at play that I'm still looking into, but so you aren't chasing an answer in the wrong place, I'll share what I have found.

The gizmos don't appear to show themselves during the operation, they seem to be replaced by an operator specific gizmo until after the refresh is called.

For example, using the GIZMO_GT_arraw_3d against the transform.rotate operator replaces the arrow with a dial, as shown by this code:

def setup(self, context):
    # Run an operator using the dial gizmo
    ob = context.object
    mpr = self.gizmos.new("GIZMO_GT_arrow_3d")
    props = mpr.target_set_operator("transform.rotate")

So your gizmo is only your gizmo while nothing is happening.  This seems strange and is perhaps intended behaviour, but without some serious documentation to go by this is the most I could uncover.  I need to look into how gizmos and operators are linked.

Having played around some more, it appears that this behaviour only happens when you use target_set_operator, this doesn't happen with target_set_prop

There is another option here, which is to define a pair of callbacks for the gizmo by calling its target_set_handler method and telling it how to get and set the "offset" proerty of the GIZMO_GT_arrow_3d gizmo:

def setup(self, context):

    arrow = self.gizmos.new("GIZMO_GT_arrow_3d")

    def move_get_x():
        return context.object.location.x

    def move_set_x(value):
        context.object.location.x = value

    arrow.target_set_handler("offset", get=move_get_x, set=move_set_x)

    arrow.matrix_basis = context.object.matrix_world.normalized()

    self.x_gizmo = arrow

def refresh(self, context):
    self.x_gizmo.matrix_basis = context.object.matrix_world.normalized()

This example demonstrates how to use a vertical arrow to modify the x location, you obvious want to do something more sensible but this can be modified easily by changing the move_get_x and move_set_x callbacks.


problem opening files after moving them to a different folder I moved around some of my blender files by putting them in a new folder ("failed tests") and now blender seems unable to navigate to any new files in the initial open file screen. I can open a file it has on the recent files list, but when I go to "open.." to navigate to another file, the file browser that opens up there won't let me click on any files other than whatever file I've opened last. If I go into the place where I can write the file path I can tell it to get to a specific file, but even then it's having problems with those files: it won't select anything in object mode. Any ideas what on earth is happening? I reinstalled Blender but the same thing is going on...
Edited to add: I can use the file path to get where I want to go, but I'd rather be able to double click on files in the file browser window: any idea why I can't?

There is a file called recent-files.txt that is saved where the config files are.
If you edit that with the new paths you should be fine.
For the location of the file refer to this post:
Where is the startup file stored?


How to duplicate ies light I have added an ies light. I want to duplicate the lamp with the ies light. When i select the lamp and the light and Press Shift + D to duplicate the mesh duplicate but there is no light. And i cant control the duplicate light also. Any suggestion or help.

I believe you are mistaking "lamp rig 10" for the actual light itself. This is only a mesh made of edges that acts as a parent to the light, making it easier to select. When you are duplicated the lamp, you only selected the lamp mesh and the lamp rig but not the actual light itself. Try going into wireframe mode and box-select (b) the lamp, which will include the actual light. Duplicating this should not have any problems.


How can I check if a wheel of a vehicle collides with the floor? I want to know if my vehicle (Vehicle wrapper) collides with the ground. But I can't figure out any method that to check that.

1) Make the vehicle dynamic in the physics tab. And make the ground static.
In both of them activate the collision bounds under the same tab.
Afterwards press Game --> Show Physics Visualization
Now when you press P you are gonna see the collision boxes and when the vehicle drops to touch the ground the vertices that touch it are gonna become yellow.

2)Else add a collision sensor to the vehicle and select the material option and there add the material of the ground. You can just order a python script to print "Touch" everytime the sensor is positive.

3)Else add the same sensor as in (2) and also add a property. When the vehicle touches the ground have the property's value to change and make it visible during play time by activating the  (!) next to the property and the Game --> "Show Debug Properties".


Why does my displacement look jagged - Cycles? I used this texture:
https://www.poliigon.com/texture/metal-spotty-discoloration-001
used the color map and then the displacement map, which I hooked up to bump node and then to normal
And this is what the displacement looks like [it's isolated with the node wrangler, to show what I mena]. The edges are blocky and jagged. Why is it so ugly? I tried Changing linear to cubic and other options. I know the color space should be non-color data, but that doesn't change anything for me. I know I can lower the bump height but that's just about it - It lowers the height but the blockyness is still there

Your displacement map does not have enough information to create a smooth result. You should be using images in 16 bit per channel (or higher) and not crappy jpgs (8bit per channel compressed).

On top of that you should not use sRGB for either map, but Non-color. sRGB will distort the map information.

Additional info on the following links:

Which color space should I use for 16-bit maps?

Would a 16-bit image for a bump map have any advantage?

How to get rid of the odd lines shown in the image?


How can I fade in and out between cameras during animation? I have a scene with 3 cameras pointing to specific angles on an evolving object.  During the evolution of the  object, I need to switch camera so that the object is still framed correctly.  The cameras are moving as well.
I have used markers but the  switching is too brutal.  I would like to fade out the current camera and fade in the new one..  I know that if I shoot separate sequences I can do that in post prod but doing it  during animation allow me to position the motion of the camera more efficiently..  Is there a way to-do that ?  I use the latest release of Blender.

What Todd says does work, but it is not the best way of doing things.
Go to the Video Editing Screen Layout. Add a Scene strip, and then add the same Scene strip again so you have the two scenes on top of each other. In the properties panel (key N with the cursor inside the VSE portion of your screen), go to the Scene part and to the Camera Override. Select one camera in the first Scene strip, and the second camera in the second Scene strip. The `Scene strips will now have the added text of the names of the cameras along their length.
Next, add a Cam Multicam Effect Strip. Make sure it is directly on top of the two Scene strips. Click the 1 button to select the camera notated by the bottom Scene strip, or 2 to select the camera notated by the top Scene strip. Then move your cursor to where you want the fade to begin  and select 1 or 2, whichever you didn't select the first time. It will cut the strip into two parts.
Now move the first half of the Cam Multicam strip up to channel 4. Drag the right arrow of the top Cam Multicam strip to the frame where you want the fade to end.
Select the first strip, and then the second strip, and then key Shift +A and add a Gamma Cross Effect Strip. Your finished setup should look like this and provide the same result as Todd's.

Further research: Multicam selector documentation.


How can you use one object to delete the same 3d space on another object? Hello!
I made a 3D logo a couple years ago and want to update to how it should've been made in the first place. I want to take the logo on the left and make it like the logo on the right. Does anyone know the best way to do that?

As Christopher Bennett says, if you use Boolean modifier / Intersect mode it will work fine:


Blender 2.8 View Layers - "Exclude" feature Does anyone know where the "Exclude" and "Mask"-features can be found for the View Layers, (formerly "Render Layers") in Blender 2.8?

Old "Render Layers" are now here, in the top right corner:

In the context menu (RMB) in outliner you can set to any collection to be Excluded, masked (now holdout) or hided (now Indirect Only).

View layer -> Set Exclude is old Exclude function

View layer -> Set Holdout is old Mask function

View layer -> Set Indirect Only is like you Hide layer, but not exclude it.


Applying armature scale messes up the action It's a question derived from this initial question. Scaling the armature messes up the action because it changes the bone locations. How can I apply the scale of the armature, but keep the original action?
Before applying:

After applying:

Here is the original armature with an action.
Edit : So I was finally able to fix the problem with WiSHFul97's method, applying the scale, going into the Graph Editor, typing Location in the filter, I just needed the Pivot Point to be set on 2D Cursor, then scale on the Y axis down to the armature original scale!! thanks WiSHFul97!!

Since F-Curve points for each bone are calculated w.r.t. the rest position of the bone, we can kinda get away with scaling them w.r.t. y=0 axis.
see this for clarification:

In this gif, I created 3 dummy bones and animated them. Then I scaled them in object mode and applied the scale. Then in the pose mode I selected all the bones and in graph editor, I selected all the location curves and scaled them on the y-axis by 2. You can see the root bone is now traveling 4 units and the scale is 1 in object mode.


Why can't I add pip to the version of Python that comes with Blender 2.91.2? Short version: I need to install external modules for use within Blender, but can't for the reasons given below.
I'm on macOS 10.14.3 with Blender 2.91.2, which includes Python 3.7. I want to be able to use modules in Python that are not included in the Blender package. I've seen a number of posts here and on other sites about how to do this, but I can't get that version of Python to work from outside Blender and I can't do it from within Blender. This Mac is still running on original settings for Python, so the default Python for the Mac command line is 2.7. (I'd like to upgrade to the current OS version, but still haven't replaced some programs that won't work under the next update.)
I tried using the script given here to install pip:
import subprocess
import sys
import os

# path to python.exe
python_exe = os.path.join(sys.prefix, 'bin', 'python.exe')

# upgrade pip
subprocess.call([python_exe, "-m", "ensurepip"])
subprocess.call([python_exe, "-m", "pip", "install", "--upgrade", "pip"])

# install required packages
subprocess.call([python_exe, "-m", "pip", "install", "package_name"])

I modified the executable name from "python.exe" to "python3.7m", which is what is used in the Mac version. I even verified the path name to make sure it was all correct. Whenever I try to run it, when I get to the first line under "# upgrade pip", I get a return code of -6. I tried variations and I simply cannot run a subprocess using the Python executable from within the Blender Python command line.
There are a number of links for installing pip by using the Python executable installed with Blender. Whenever I try to do that, I get:

Fatal Python error: initfsencoding: unable to load the file system codec   File

"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/init.py",
line 123
raise CodecRegistryError,
^ SyntaxError: invalid syntax
Current thread 0x00000001183265c0 (most recent call first): Abort
trap: 6

So to install pip, I have to be able to, in some way, run the Python executable included with Blender, but I can't run it. I'm assuming it needs settings that are different from my system environment variables, but I don't know what I'd have to change or how I'd pass that change on that instance of Python.
I am aware there is a pip module and I have tried to import it, but I can't find documentation on it online and all I get when I try "help('pip')" is this:

Help on package pip:
NAME
pip
PACKAGE CONTENTS
main
_internal (package)
_vendor (package)
VERSION
19.2.3
FILE
/Applications/Blender.app/Contents/Resources/2.91/python/lib/python3.7/site-packages/pip/init.py

I also changed the python subdirectory inside the Blender directory to python-old, as suggested in some web pages. When I did that, Blender would not start. (I'm starting Blender from the command line so I can read Python error messages.)
What I need is a way to be able to run pip from the Python instance included with Blender so I can install Pillow (among other modules). But, if possible, I'd like to know what is going on that makes the Blender Python executable not work when I try it from the command line and how I could fix that.

I had to go through several other issues to pin this down, including another question on stack Overflow, where I was not getting much help. I'll include what I can here. That'll be more than most people want to read, but if you have this problem, skim it because you might find helpful stuff in here.
The bottom line is that I was setting PYTHONPATH in .bash_profile. When I bought this current iMac, Python 2.7 was the standard on an install. At some point (and I had forgotten this), Apple changed to 3.x as the standard. That crashed some of my scripts, so I set PYTHONPATH (again, in .bash_profile) to point to all the 2.7 libraries, so my scripts would continue to look there.
I finally figured out that any 3.x version of Python was crashing on my system and 2.x was running. I thought that was probably a configuration issue and I'd have to find some config file to fix somewhere, but, all along, it was in the .bash_profile. Once I changed all the paths in there to point to 3.7 instead of 2.7, everything started working fine. Python 3 executables were working fine and even the 2.x ones were still working. (And more of my scripts than I expected worked fine under 3.x.)
Once I got that working, I wrote a batch file I can run in bash to set PYTHONPATH to point to the directories Blender uses when it runs Python in its own environment then run the Blender instance of Python. It works fine and that let me follow instructions in a number of places to use ensurepip to install pip and then to install Pillow.


Can't export a mesh to .fbx I've built a bird for a game I'm working on, and when I tried to export the beak mesh as a .fbx file it gave me this error.
I've applied all the modifiers to the mesh already.
Here's the file https://drive.google.com/file/d/1Ah650tjjbcC3zb4Rw8fqIuto7U9OsTLZ/view?usp=sharing

I've solved the problem, you have to smart uv project the mesh before exporting.


Why is my rendered image in black & white? I am trying to get a Glow effect in the compositor. I added Node Math (Add)

And now my render is black&white. What am I doing wrong?

Like 3pointedit already said in his comment, the problem is the math
node.

An option to solve your problem is using the Seperate RGBA node for both pictures and use the math node for each channel seperately. Afterwards combine the channels again with the Combine RGBA node.

Or, again referring to 3pointedit, use the Color Mix Node.


how to move teeth with jaw mesh? How do I move or rotate the selected teeth when I also want to rotate or move the jaw mesh, without the teeth moving outside the jaw? I tried to rotate the selected teeth and the jaw mesh together, but the teeth goes outside the jaw mesh and I have to manualy move the teeth after I moved or rotated the jaw mesh on the model.

Select the teeth (RClick), select the jaw (Shift+RClick), Ctrl+P to parent them, select "object" in the menu. now if you move/rotate/scale the jaw, the teeth will follow


Changing the "Pan View" Keybind works in Object Mode, Not Sculpt Mode I know I sound crazy but try it. Doing this works perfectly in Object mode, but not in Sculpt Mode.

To reproduce:

Change the Pan View keybind from Shift + Middle Mouse to Shift + Left Mouse button.
Open Sculpt Mode and try Panning the View, panning the view will work in object mode, but not Sculpt Mode.

Some notes:

Right Mouse won't work either in sculpt mode, middle mouse is the only key blender will accept to pan the camera.
Alt + Left Mouse will work, but I need it to be Shift + Left Mouse.
I have looked through the keymap window for conflicting actions that use the same input, but couldn't find any.

I am just trying to setup sculpting for my iPad using the apple pencil, since the pencil doesn't have a "right mouse button" or "middle mouse button". If i can just fix this problem I will be home-free and able to sculpt on the iPad with blender.

Yes,it can be done. But probably what prevents you to do so is: there's already another "shortcut" using the same combination in Sculpt, by default.

if you search for "sculpt" in preferences, you'll see that there are three different mouse/keyboard combinations to do the "sculpt" action, including this:

you can remove it by clicking on the "x" icon right of it, getting this:

then, if you set you desired "pan" shortcut in the "sculpt" editor section from the default:

to:

you should be able to "pan" the sculpt view with your preferred combination, like I was able to do here:

By the way, remember to save your preferences to keep this configuration or it would reset at next start. You can also reset to factory settings in the same menu.


Record Animation not working Salutations cronies, I am having trouble getting the Record Animation setting to work. I have read and watched a number of tutorials but I cannot get my animation to be recorded. Here:here is a link to get my blend file and below is the code for the module called by it (to get the characters ears to move in a continuous sinusoidal manner).

## Program to slowly alter vectors of bones and servos which is ####
## read by Blender ####
import os
import time
import math

i=0

def boneInstruc():

    while 1:
        global i #necessary to ensure using global variable
        xRE=round(math.sin(i),2)
        yRE=0.00
        zRE=0.00
        RE=[xRE,yRE,zRE]
        xLE=round(math.sin(i),2)
        yLE=0.00
        zLE=0.00
        LE=[xLE,yLE,zLE]
        xTL=round(math.sin(i),2)
        yTL=0.00
        zTL=0.00
        TL=[xTL,yTL,zTL]
        i=i+0.01
        #servo(xRE, xLE, xTL)
        time.sleep(0.01)
        return (RE, LE, TL)

Python scripts run blocking in Blender, which means Blender will wait and UI be locked until finished. You won't see an animation therefore, no matter if you use time.sleep() or not.

Use a frame change handler to register a callback function, that changes objects on every frame change (before or after):

http://www.blender.org/documentation/blender_python_api_2_70_release/bpy.app.handlers.html


Wrap text within a panel I am trying to write some text on a panel that I created, like this:

box.label("Some long text that is out of borders")

but because the text is too long, the panel only shows the text in one line and does not make the text stop at the edge of the panel and start a new line.

So it appears like this:

  Some long text...ers

How can I make it contained within the panel's width?

I know I'am answering my own question, because I knew how to do it only after posting the question, so for anyone who may need this answer here it goes.

I used a wrap function that I made my self, like this:

def wrap(width, text):

  lines = []

  arr = text.split()
  lengthSum = 0

  strSum = ""

  for var in arr:
    lengthSum+=len(var) + 1
    if lengthSum <= width:
      strSum += " " + var
    else:
      lines.append(strSum)
      lengthSum = 0
      strSum = var

  lines.append(" " + arr[len(arr) - 1])

  return lines

The width argument is the width of the panel in terms of number of characters that fit in there.
Then in the draw function I got the width of the panel like this:

tool_shelf = None
area = bpy.context.area

for region in area.regions:
  if region.type == 'TOOLS':
    tool_shelf = region

Where tool_shelf is now the panel I created, then I call the wrap function with the width and text like this:

lines = wrap(math.ceil(tool_shelf.width / 9), "Some long text that is out of borders")

I divided by 9 because tool_shelf.width gives back the width in pixels, and I assumed 9 pixels for each character, now lines is an array where every element is a line.
Then I write the lines in the panel like this:

for var in lines:
  row = layout.row(align = True)
  row.alignment = 'EXPAND'
  row.label(var)

I know this is not the optimal way, but anybody can get the main idea from this code and optimize it to their needs.

Note: function wrap is not in any class, but all the other codes are inside the draw function of the class Panel.


How many frames are there in one minute Animation? I want to know how many frames I need for a one minute Animation.

There are utility python methods for this
How many frames will depend on the frame rate of your current scene.
The frame rate is determined by the frames per second integer fps and the frames per seconds base fps_base
so actual frame rate is fps / fps_base
Fortunately the devs have given us a convenience method to work out how many frames or how much time. In this case
>>> bpy.utils.time_to_frame(
time_to_frame(time, fps=None, fps_base=None)
Returns a float frame number from a time given in seconds or
as a datetime.timedelta object.
If *fps* and *fps_base* are not given the current scene is used.
:arg time: time in seconds.
:type time: number or a ``datetime.timedelta`` object
:return: the frame.
:rtype: float

Hence for a scene render fps selected as value 24 (default)
>>> C.scene.render.fps
24

>>> C.scene.render.fps_base
1.0

>>> bpy.utils.time_to_frame(60)
1440.0

requires 10 gross or 1440 frames to render out a minute.
If the rate is set to the dropdown option "29.97 fps"
>>> C.scene.render.fps
30

>>> C.scene.render.fps_base
1.0010000467300415

>>> bpy.utils.time_to_frame(60)
1798.2017142557036

Hence at this rate would require 1799 frames to clock up a minute.  The partner in crime method will confirm
>>> bpy.utils.time_from_frame(
time_from_frame(frame, fps=None, fps_base=None)
Returns the time from a frame number .
If *fps* and *fps_base* are not given the current scene is used.
:arg frame: number.
:type frame: int or float.
:return: the time in seconds.
:rtype: datetime.timedelta

>>> bpy.utils.time_from_frame(1799)
datetime.timedelta(seconds=60, microseconds=26636)

Note the above  >>> is typed into the python console area.


Copying animation between different rigs I want to copy the animation from this mixamo rig to the Springtrap rig (after his idle animation and head turn). After copying and pasting the keyframes he just, explodes. I think it is because the rigs are so different. Is there a way to do it?
.blend file download: https://mega.nz/file/ENhymLpA#0_nHX9LX1LLcgXUHyGhLerytJbcLkLDW47k7Lhsl-1s

you can use something like Autorig Pro to retarget the bones. The bones have to be the same or the actions from Mixamo cannot be applied.
If that's not something you can do, you could delete the skeleton from the target model, copy the skeleton from the mixamo rig, and use weight paint to affix your mesh target to the mixamo rig.
Then go into the Actions dropdown in the "Blend" window of the properties tab at the top right, select the mixamo action and paste it into the non-linear animation timeline. Once it's there, you have to "push it down" to turn it into an animation the new target character can use.
I'm not going to lie--this isn't an easy-to-follow process, but it does work.


Animation Nodes Offset Matrix While using AN 2.1 and following a few online tutorials that use AN 2.0 I've found out that the 'Offset Matrix' node is missing the options for Start/End. Is there a workaround to imitate these options by adding another node?

A solution will be enough, but if somebody can explain it a bit better that would be amazing.

Welcome to Blender Stackexchange! In the old node, the End option simply inverted the Falloff. So to have the same effect, you can invert the Falloff before inputting it using the Invert Falloff Node. This is described in the documentation of the node:

  Start option will offset the matrices based on the offset parameters with the falloff as a factor. End option will offset the matrices based on the offset parameters with the inverse falloff as a factor, in other words, all matrices will be transformed based on the offset parameters and then matrices will be transformed back to their initial position based on the offset parameter with the falloff as a factor.


How to create a most basic texture on an object? Can someone please tell me how to create a simple wood texture on the starting cube in Blender 2.8. Every tutorial I can find is linking complicated nodes together or import and mapping jpgs onto meshes.

I've tried going to the texture tab - + - type:wood - set rendering mode to rendered in eevee but its still just a grey cube with no pattern.

How do I make my cube have a texture?

Most basic approach in Cycles:

Unwrap the cube in edit mode.

Create a new material.
In node editor, add an image texture and connect to material node.

View in render mode.

EDIT: You can make textures without nodes... sort of. And you can certainly make textures without using images.

But Blender, Maya, 3ds etc are all node based. You can "hide" this fact by making settings in the data block areas, but nodes are what is really happening... which is to say changes you make in the materials property area, at right in image below, are actually just adjusting nodes. You don't have to "use" nodes, by which I mean see them, but they are their nonetheless.


Mirroring vertices not connecting right? I've extruded these vertices to the center using mirror, I have merge and clipping selected, an subsurf mod is active. For some reason in the center at the top, I've got an issue where it's not fully meeting up. I don't have extra vertices. There shouldn't be that open area, but I can't figure out why it's there.

I have no extra vertices. I just extruded the vertices across the x-axis to the center to meet up.

Argh. The mirror mod needs to be above the subsurf so it's completely mirrored.


blender 2.80 linux executable crashing I downloaded fresh Blender 2.80 for Linux64, but it is crashing on my Debian Linux (with Nvidia card), see below. Any help, please ?

milias@lxg1213.gsi.de:~/Work/software/blender/../blender
Color management: using fallback mode for management
Color management: Error could not find role data role.
BLT_lang_init: 'locale' data path for translations not found, continuing
Color management: scene view "Filmic" not found, setting default "Standard".
Received X11 Error:
        error code:   8
        request code: 155
        minor code:   34
        error text:   BadMatch (invalid parameter attributes)
Received X11 Error:
        error code:   8
        request code: 155
        minor code:   34
        error text:   BadMatch (invalid parameter attributes)
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

Current thread 0x00007f0859b59fc0 (most recent call first):
Aborted
milias@lxg1213.gsi.de:~/Work/software/blender/.uname -a
Linux lxg1213 3.16.0-9-amd64 #1 SMP Debian 3.16.68-2 (2019-06-17) x86_64 GNU/Linux

SOLVED.

One has to launch blender from within the downloaded package - then it takes in all libraries etc.

Although it claims X11 error, the blender shows up.

milias@lxg1213.gsi.de:~/Work/software/blender/blender-2.80-linux-glibc217-x86_64/../blender
Received X11 Error:
        error code:   8
        request code: 155
        minor code:   34
        error text:   BadMatch (invalid parameter attributes)
Received X11 Error:
        error code:   8
        request code: 155
        minor code:   34
        error text:   BadMatch (invalid parameter attributes)
found bundled python: /u/milias/Work/software/blender/blender-2.80-linux-glibc217-x86_64/2.80/python
Writing userprefs: '/u/milias/.config/blender/2.80/config/userpref.blend' ok


How to keyframe scaling with 3D Cursor? I've got a simple animation idea. Basically a bunch of flat planes extend into a city-like layout. This is I get when I manually scale (using 3d cursor) the buildings:

As you can see, they build from the bottom up, which is what I want.

When keyframing this, instead of scaling from the bottom (or 3d cursor), they scale from the center of each pillar individually:

How do I keyframe scaling from the 3D cursor? (Or, if possible, specifically the bottom of the pillars?)
I did research and using 3D cursor seemed to be the only way to scale it from the bottom instead of the center.

You have to keyframe both location and scale, if you want to scale in relation to the 3D cursor.

Since the object's pivot points are aligned with their geometric center they are technically moving, since the center position shifts up during animation.

Ideally though you should position all your objects center aligned with their bottom faces though.


Problem rendering a video (Cycles / Node Editor / VSE) I am trying to import a video to use as a background. I used cycles render but the video doesn't show up. I uploaded the video using video editor, then added the scene then added alpha over to the images. I used node editor to do the same thing and the video isn't showing up. I tried to find videos online but everyone is using blender render, the problem is the texture of the object I have only shows up in cycles and not blender render and I want to be able to see everything. Is there a way I can view the video?

the video is a .mov file but it is very big about 500MB.!

here is the rendered image

here is my VSE editor

that was all I did.

You first need to check the "Transparent" check box, under the subsection "Film" of the tab "Render" (the icon is a camera), on the "Properties" panel.

Then you need to connect the "Alpha" output from the RenderLayer to the "Fac" (Factor).

And, finally, where I have blue, you would connect your video.


How do I create branching particles like lightning? Working on a project that calls for multiple lightning-like strands all coming out of certain areas (vertex group-able) on one mesh object at the same time, and hoping I can do this with particles. Can model if absolutely necessary, but would like to avoid.

I recently watched this and I loved it... Thunder tutorial on Youtube

Hope that is what you're looking for. :)


How can I jump to the first frame in the timeline? As I was making an Animation I found my self to oftenly press AltA to start and stop the green slider, and then when I stopped it I had to get it with my mouse and move it back to the beginning of the Timeline to see the Animation again.

I know that you can cancel the animation, and take the slider to the beginning when its playing by pressing Esc key but I can't get used to that.

You can see what I mean in the video below on Minute 5:40 - 5:44

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

Pressing Shift + Left Arrow, in the timeline, moves you to the first frame; Shift + Right Arrow gets you to the last frame.


Select individual hairs with Python Is it possible to select specific particle hairs or hair keys in Blender with Python?

I'm writing a script on Blender 2.73a which involves finding hairs in a system by their index and applying the rekey or subdivide operators to change the number of segments. As I understand it, I'd need to select just the individual hair so that the operators work on it and leave the other hairs alone. So far I've found nothing in the API documentation that would let me do that, just ways to select all or random hairs or to change existing selections.

wip Answer

Via the Particle Edit Mode it is possible to subdivide single Hairs, therefore it should be possible to recreate this via python. One Constraint here is that the hair system is locked after editing it.

You have to tweak it a bit, but the basics are here, namely doing it via the depsgraph: devtalk.blender.org/t/manipulating-particles-in-python/7552/3


Is there a way to find all actions an object is "involved" with? To clarify, say you have ten actions. You want to find all actions that Object1 is affected by. If that object is changed by even a single F-curve in a given action, that counts. Is there a way to do this via code?

If this isn't possible in the current version, I'm also considering a user solution in the form of a naming convention. For example, include the name of the target object in the action name, and that action is added to a list. But I'd prefer to be told that my initial approach isn't feasible before going about it that way.

An object can have one active action, this is the one that is shown in the action editor. All other actions that affect an object can be found in the objects NLA data.

import bpy

for obj in bpy.context.scene.objects:
    ad = obj.animation_data
    if ad:
        if ad.action:
            print(obj.name,'uses',ad.action.name)
        for t in ad.nla_tracks:
            for s in t.strips:
                print(obj.name,'uses',s.action.name)


Why are particles set to scale 1.0 way bigger then my Original particle Just wanna understand the logic behind it.

I create a cube.(Not changing scale or size)
I create a icosphere.(Not changing scale or size)
Create Hair particles, and set SCALE to 1.0.

Now my particles are way bigger, then the original.
(I found that around 0.25 scale is resulting in same size than the org.

Why is that?
What did I not understand?

Final hair particle size is the result of multiplying hair length with particle object scale.

Default hair length is $4$ Blender Units, so to get an object of identical size to the original you have to multiply it by $1/4$, hence $0.25 \times 4 = 1$

If you plan on rendering particles as objects and need easy to set up scales then change hair length to $1$.


how to get driver value how can I get the value of this value as in printable form.

Calculate the matrix world of the pose bone.

An objects matrix world contains its global transform in relation to scene (0, 0, 0) and the global X, Y and Z axes.

See How to get world-space matrix of any pose bone?

This will give the global Y Euler rotation of pose bone TORSO.  The value of the 'VAR' variable in driver in question.

import bpy

from math import degrees

ivan = bpy.data.objects["Ivan_rig"]
torso = ivan.pose.bones['TORSO']

# torso global matrix

mw = ivan.matrix_world @ torso.matrix

# angle

angle = mw.to_euler().y

print(f"{angle} ({degrees(angle)})")
print(torso.rotation_axis_angle[:])

Output matching driver as shown

-0.3148045539855957 (-18.036972314872912)

where the driver variable value is angle = -0.3148

Re your answer, it's demonstrably incorrect. The property is a 4d (angle, axis.x, axis.y, axis.z)  Result from example above.

(0.0, 0.0, 1.0, 0.0)

default value because my pose bone is not in axis angle rotation mode. Even if it was the angle part would only be global Z rotation when axis is global Z.

Need to convert to global coordinates and convert to Euler to see the WORLD space rotation Y value of driver using this.

Often would use context, eg select the torso bone

torso = context.active_pose_bone

If using 2.7x or prior replace @ with * to avoid TypeError: Element-wise multiplication: not supported between 'Matrix' and 'Vector'


Blenders Directories Are Broken? Trying to open pref scripts directly into Blender and replicates a message of "Directory not supported in this version". I don't understand the problem entirely and theres nothing on Blenders website, this the first I have seen and heard on this topic. Any opinions would be appreciated! Thx

Honestly... Blenders a bit broken with directories, there's honestly nothing i can say until they update there #NAME system of pref Codec. Sorry but its just a waiting game.


How to avoid duplicating assigned materials when duplicating a mesh? how can I prevent Blender 2.8 from duplicating materials every time (?) I duplicate a mesh.

You can adjust it in the Preferences>Editing>Duplicate Data. In factory settings it's unchecked and it doesn't duplicate the material for me.


Aligning tangents in connecting NURBS-curves I want to smoothly connect two NURBS-curves. To that purpose, how can I align their common vertex tangents? Right now, they're at an angle (see picture). I could do it manually (on sight), put that would never be (mathematically) perfect. ...

you can snap disjoint curves together, and thereby manually make a perfect tangent, then translate that segment away and snap it to the end of one of the Curves. It's easy but isn't exactly obvious..


why does menu_func() in this example reference a self when it is declared outside of a class I'm learning bpy myself, and I don't have much knowledge of python。

I read the templates in text editor to learn scripting myself, but I found some thing weird in the Operator Mesh Add template:

import bpy
import bmesh

def add_box(width, height, depth):
    """
    This function takes inputs and returns vertex and face arrays.
    no actual mesh data creation is done here.
    """

    verts = [(+1.0, +1.0, -1.0),
             (+1.0, -1.0, -1.0),
             (-1.0, -1.0, -1.0),
             (-1.0, +1.0, -1.0),
             (+1.0, +1.0, +1.0),
             (+1.0, -1.0, +1.0),
             (-1.0, -1.0, +1.0),
             (-1.0, +1.0, +1.0),
             ]

    faces = [(0, 1, 2, 3),
             (4, 7, 6, 5),
             (0, 4, 5, 1),
             (1, 5, 6, 2),
             (2, 6, 7, 3),
             (4, 0, 3, 7),
            ]

    # apply size
    for i, v in enumerate(verts):
        verts[i] = v[0] * width, v[1] * depth, v[2] * height

    return verts, faces

from bpy.props import FloatProperty, BoolProperty, FloatVectorProperty

class AddBox(bpy.types.Operator):
    """Add a simple box mesh"""
    bl_idname = "mesh.primitive_box_add"
    bl_label = "Add Box"
    bl_options = {'REGISTER', 'UNDO'}

    width = FloatProperty(
            name="Width",
            description="Box Width",
            min=0.01, max=100.0,
            default=1.0,
            )
    height = FloatProperty(
            name="Height",
            description="Box Height",
            min=0.01, max=100.0,
            default=1.0,
            )
    depth = FloatProperty(
            name="Depth",
            description="Box Depth",
            min=0.01, max=100.0,
            default=1.0,
            )

    # generic transform props
    view_align = BoolProperty(
            name="Align to View",
            default=False,
            )
    location = FloatVectorProperty(
            name="Location",
            subtype='TRANSLATION',
            )
    rotation = FloatVectorProperty(
            name="Rotation",
            subtype='EULER',
            )

    def execute(self, context):

        verts_loc, faces = add_box(self.width,
                                   self.height,
                                   self.depth,
                                   )

        mesh = bpy.data.meshes.new("Box")

        bm = bmesh.new()

        for v_co in verts_loc:
            bm.verts.new(v_co)

        bm.verts.ensure_lookup_table()
        for f_idx in faces:
            bm.faces.new([bm.verts[i] for i in f_idx])

        bm.to_mesh(mesh)
        mesh.update()

        # add the mesh as an object into the scene with this utility module
        from bpy_extras import object_utils
        object_utils.object_data_add(context, mesh, operator=self)

        return {'FINISHED'}

def menu_func(self, context):
    self.layout.operator(AddBox.bl_idname, icon='MESH_CUBE')

def register():
    bpy.utils.register_class(AddBox)
    bpy.types.INFO_MT_mesh_add.append(menu_func)

def unregister():
    bpy.utils.unregister_class(AddBox)
    bpy.types.INFO_MT_mesh_add.remove(menu_func)

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.mesh.primitive_box_add()

self is used outside class indef menu_func(self, context):.

I was taught that self can only be used inside a class, so I'm confused.

Anyone can help me?

The answer lies in what happens in the register function, below the menu_func:

def register():
    bpy.utils.register_class(AddBox)
    bpy.types.INFO_MT_mesh_add.append(menu_func) # <<< This is the interesting bit

As you can see here, the menu_func is appended to the INFO_MT_mesh_add type as a new method. INFO_MT_mesh_add is the Add Mesh Menu in the blender UI.

This is the class where you will be adding the menu_func to, not the add_box operator.

This function is added to the Add Mesh Menu, and when you call it from the blender UI, it will be executed like any method. That means that it will get the class instance as the function's first parameter, "self".

The word "self" has no real meaning by itself, and is merely the first parameter this function receives. It is a convention in python (and some other languages) to call it "self", but you could call it "james" and it would work just fine.

When the function is a method in a class, it automatically gets the instance of the class as the first parameter when called from the instance (or the class itself if its a @classmethod, in which case we usually call the first parameter cls instead of self).

class someClass:
    def myMethod( self ):
        print( "I get the class instance as my first param 'self'" )
        print( self )

clsInstance = someClass()
clsInstance.myMethod() # myMethod will get clsInstance as the first parameter

We could write it this way though, and it would work just the same:

def to_be_method( self ):
    print( "I get the class instance as my first param 'self'" )
    print( self )

class someClass:
    # Reference to_be_method as our class' own myMethod
    myMethod = to_be_method

clsInstance = someClass()
clsInstance.myMethod() # myMethod will get clsInstance as the first parameter

So as you can see in the example above, we define a function outside the class and used the "self" parameter, and then referenced this function inside the class.

Appending the menu_func into the INFO_MT_mesh_add class does something similar, which is why it's fine and works well.

I hope this explains the situation rather than confuse you even more! :)


Array with random objects? I have a collection of objects in my scene that I want to randomly duplicate in a similar fashion to the Array modifier. How would I go about doing this, would I need to program this function myself?
Picture if I didn't explain this clearly:

Use a Particle System
You can easily do it with the built in tools.

Start by creating the array, be sure to enable the merge option.
Create a Hair type particle system, set the number of particles equal to your array repetitions and the render type to collection and choose "pick random".
Enable the advanced options and make sure to "Use Modifier Stack" (option enabled). Disable Random Order and set 1 Particle per face.

BAM! Done.
Now it's only a matter of adjusting the rotation and the size of your instances.

You can inspect my file with the proper values for size and rotation here:


When I try to change the texture on a cube all of the cubes change I am trying to input a texture on blender for one cube for a project. But whenever I try, the entire structure gets changed. In the picture I am only trying to change the color of the cube selected but the entire thing is changing? Any tips? Thanks.

A material is its own data block, and a material can be applied to multiple objects.  So by modifying the material you see the effects everywhere that material is applied.
You must make a copy of the material and apply it to the object you want to change.


Bake driver to keyframes Can you bake the animation created from a driver to keyframes?

Select the object and press Bake Action in 3D view > Header > Object (or Pose if you are baking an armature from pose mode) > Animation:


Strange Cycles noise pattern not based on samples or denoiser - bug? This happens in multiple of my files / completely different renders. V2.83.2, Cycles renderer.

There's a noise to any dark area that isn't sample dependent (looks exactly to-the-pixel same at 500 or 5000 samples) and appears regardless of using the denoiser. What's weird is that if you do use the denoiser it unlocks a pulldown in the render for "noisy image" (which, presumably, is the un-denoised render) and in this case is actually the cleanest render - so I assumed that it was the denoiser itself generating the noise accidentally, but it's also generated when the denoiser is off.

So something is breaking in between the processes of generating the base format image and the final result 'combined' image?

Is this a bug?

It seems like a compression artifact try disabling compression by setting to 0;


Traceback error when attempting to add a reference or background image in 2.8 I'm at Level 3 - Part 1 of BlenderGuru's Beginner Tutorial for 2.8 and I'm receiving the following error when I attempt to add a reference image:

Traceback (most recent call last):
File "C:\Program Files\Blender Foundation\Blender\2.80\scripts\startup\bl_operators\object.py", line 918, in execute obj.data = image
AttributeError: 'NoneType' object has no attribute 'data'

location: <unknown location>:-1

I've tried uninstalling & reinstalling Blender a couple of times and even updated and restarted my Macbook - nothing has worked.

I am able to add reference images to new files, but not the tutorial file I've been working on. I can't add background images to it either.
Please help me fix this.

Just had this same problem.
I was trying to add the image to a hidden collection.
Adding to an unhidden collection gave me the reference.


How to restrict a part of an object getting painted while texturing in blender For example if I am painting a plane I only want its certain specified part to be painted. I tried using a box to cover the area which is not to be painted and when i start painting, the whole area gets painted. So I want to how paint only a certain specified area.

Masking using 'Face selection masking for painting' option.

Enable the Face selection masking for painting option. Press A to display the grid and select faces you want to paint using RMB.

Masking using painted stencil.

In Uv/Image Editor add a new image, change its name and set its color to white.

Paint the areas where you want your texture to appear with a black color (create a mask). Save an image. Your mask is ready.

In Slots bookmark of a Tool Shelf check the Mask checkbox, choose the UV map you want to use (the one with the painted stencil displayed). Then select your painted mask image (click on an image icon under the Stencil Image). If you want to inverse the mask click on the b&w square under the Visualisation.

Add a new material and a texture (an image) you want to paint on. Now when you paint in a Texture Paint mode your brush strokes'll apear only in a black areas of your mask.


Blender Rigid Body Simulation freezing in the air Im working on a lego animation, and in one scene a castle gets broken into lots of peices. when i run the simulation instead of the bricks landing on the ground, they pretend they have a different floor. Does anyone know whats wrong?

I figured it out, what was wrong was that the floor of the simulation was a bounding box mesh. Thanks for the help though


How to make such cogwheel in 2.82? I am watching a video for tank track, and now i have reached to the drive wheel. It needs to have pointy surface in order to move the tracks. The guy in the video made a circle, selected all vertices and then used "Checker Deselect" to select vertex, then skip one and so on. Then he scaled it down, making something like a sun. But when i try to scale, it doesnt even move. I tried with move and rotate, i tried to extrude, but still no result. Does anyone know how can i do this?

But when i try to scale, it doesnt even move.

You can scale with the scale tool - press and release alt and then s, or select in the tool panel:

Or you can just hit s to use interactive scale operator.

You should also make sure you have the correct selection and that you are using the transform pivot that you want, that you can select here:


Importing fonts using python? I would like my users to select a font, essentially opening a folder so they can choose from a custom library of fonts. The fonts are located in a folder, such as C:\myfolder\fonts.

Is there an easy way to do this?

Update: Use bpy.data.fonts.load() instead -@Ray Mairlot

If I understand your question: You want to load a directory that contain font files. And the you can select those font in blender font selector?

Then use bpy.ops.font.open

In Blender 2.80 with Python 3.7.0:

import os
import bpy

dir_path = 'C:/myfolder/fonts'

directory = os.fsencode(dir_path)

for file in os.listdir(directory): #list file
     filename = os.fsdecode(file) #get filename from file
     bpy.ops.font.open(filepath=os.path.join(dir_path, filename)) #join the path

Update

for a button and panel in properties panel (Blender 2.8, Windows):

import bpy
import os

class OpenFontDir(bpy.types.Operator):
    bl_idname      = 'data.openfontdir'
    bl_label       = "load fontdir"

    directory : bpy.props.StringProperty(
        name="Directory of Font",
        default="",
        subtype='DIR_PATH')

    def execute(self,context):
        directory = os.fsencode(self.directory)

        for file in os.listdir(directory): #list file
             filename = os.fsdecode(file) #get filename from file
             bpy.data.fonts.load(os.path.join(self.directory, filename), check_existing=True) #join the path

        self.report({"INFO"},"load from: {!r}".format(self.directory))
        return {"FINISHED"}

    def invoke(self, context, event):
        context.window_manager.fileselect_add(self)
        return {'RUNNING_MODAL'}

class Dirfontpanel(bpy.types.Panel):
    bl_idname      = "CATEGORY_PT_Dirfontpanel"
    bl_label       = "Dir font panel"
    bl_space_type  = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context     = "data"

    def draw(self, context):
        layout = self.layout
        scene = context.scene
        layout.label(text="Open directory")
        layout.operator(OpenFontDir.bl_idname)

classes = (
    Dirfontpanel,
    OpenFontDir
)

def register():
    from bpy.utils import register_class
    for clss in classes:
        register_class(clss)

def unregister():
    from bpy.utils import unregister_class
    for clss in reversed(classes):
        unregister_class(clss)

if __name__ == "__main__":
    register()

You can't directly add object on the properties > object > font panel.

The operator:


Textures not being imported with .obj I downloaded a blend file with a car mesh that had textures on it online. I opened it, deleted a few meshes, then exported as .obj. But when i imported it as an .obj into another project it didn't import the textures from the .mtl file it generated when it was exported. Why is that? Did I do something wrong when I exported it?

Looks like going to append, opening the .blend file, then choosing objects, then the car and all of that works, it imports the objects and the textures.


How to model a Coral or Sponge Structure? Can you please give me advise how to make this model?
1) My target goal image is this (perfect copy of the real object)

2) Now I have a model of a knife, but I don't know how to apply a bump mapping to the handle so it looks similar to the target image. You can see that it has a deep relief structure and also a rough surface.

3) I tried use this cloth bump texture, without success. It should be more organic.

I'm not sure you can get anything good with a bump map or procedurally, especially if you're supposed to make a "perfect copy", so I guess you'll have to make the mesh manually: create a cylinder, mirror it, use your picture as background to follow the shape, cut the holes profiles with the knife, extrude, add some edges with the knife to make a nice topology with quads, etc.


Creating path curve using python script I'm using the following script to create path curve:

def create_curve(coords_list):
    crv = bpy.data.curves.new('crv', 'CURVE')
    crv.dimensions = '3D'
    spline = crv.splines.new(type='NURBS')
    spline.points.add(len(coords_list) - 1)
    for p, new_co in zip(spline.points, coords_list):
        p.co = (new_co + [1.0])  # (add nurbs
    obj = bpy.data.objects.new('object_name', crv)
    bpy.data.scenes[0].collection.objects.link(obj)

coords_list generated using another script.
here are the first coordinates in coords_list:

coords_list[0] = [0,0,1]
coords_list[1] = [1.079576297914498, 0.12957629791449818, 1]
coords_list[2] = [1.796242964581165, -0.5870903687521685, 1]

But if you look at the layout tab it looks like the first and second coordinates were not included in the path curve for some reason.

What am I doing wrong?
How can I print all the points ensamble the path curve?

If you want to include the first and last coordinates you need to add the following lines after creating the curve:

spline.use_endpoint_u = True
spline.use_endpoint_v = True

so you finaly get:

def create_curve(coords_list):
    crv = bpy.data.curves.new('crv', 'CURVE')
    crv.dimensions = '3D'
    spline = crv.splines.new(type='NURBS')
    spline.points.add(len(coords_list) - 1)
    for p, new_co in zip(spline.points, coords_list):
        p.co = (new_co + [1.0])
    spline.use_endpoint_u = True
    spline.use_endpoint_v = True
    obj = bpy.data.objects.new('object_name', crv)
    bpy.data.scenes[0].collection.objects.link(obj)


Alternative to python list methods for bpy_prop_collection instances? Most interested in sorting I'm writing a script to animate tex characters morphing from one character to another. To make it look smooth, I want to sort the splines in the spline collection within curve data (sorting by key).

This is what I'd like to do, but it doesn't work on the bpy_prop_collection.

spline_collection = obj.data.splines #An instance of bpy_prop_collection
spline_collection.sort(key = lambda x: get_spline_length(x), reverse = True)

If I put the spline objects in a normal python list, this works well, but then I run into issues when I try to put the splines back into a bpy_props_collection instance. (Due to the fact that I can't seem to deepcopy instances of bpy_struct subclasses, which is its own question.)

EDIT:
I did what I needed to do by copying the primitive values I cared about to python lists, then sorting and assigning as needed. A bit of a pain, but it worked.

The blender python API is an API over Blender's internal structure. These structures are designed for performance, hence it cannot be influenced directly.

But the developers have made it quite easy, as you can easily create a local list to do more python stuff. But it is not easy to transfer the results back into blender's database.

spline_collection = list(obj.data.splines)
spline_collection.sort(key = lambda x: get_spline_length(x), reverse = True)

Ps same reason why deepcopy does not work as these objects are not fully python. Most objects have a .copy method you can use.


Iridescence In Cycles? Is it possible to create an iridescence shader in Cycles?
Specifically for something like DVDs, soap bubbles, engine oil, etc..

From your linked definition of iridescence:

  Iridescence [is] the property of certain surfaces that appear to change color as the angle of view or the angle of illumination changes.

Thus, the following node setup should suffice:

If you're not familiar with node groups, this will create a new "node" called Iridescence that takes a base color parameter (you probably want white) and a factor parameter (which determines how strong the iridescence is; you probably want about 0.4) to output a color that you can put into a shader. You can see examples of how this works before.

The setup simply takes the dot product of the view vector and the surface normal and maps it to a spectrum. If you're not familiar with vector math, you can basically think of a dot product as a measure of how parallel two vectors are: the dot product of two perpendicular vectors is 0, while the dot product of two normalized parallel (or anti-parallel) vectors is 1.

You can put this node group in any shader and get a nice result. I tried it in a Diffuse BSDF, but putting it in a Glass BSDF might yield some nice bubble renders.

Here's an image of Suzanne wearing her iridescent cloak (the factor is set to 1.0 to exaggerate the effect):

Here's the factor turned down to 40% (lower works in better lighting setups, but my sky texture is blowing it out):


Blender linked Rigid body constrains for fractures The Rigid body bullet constraints was a good add-on to quickly set up inter object constrains for fractures or so.
It works and still is for 2.7x but there's no way to do in 2.8x as I didn't consider downloading the fracture build cause it's literally an entire build for a set of specific tool. I was wondering why the community ignored it as it is a necessary part for VFX artists.

If you know anything about where I can find it for 2.8x or any work around to get it done it'll be a blessing.

If you just want to fracture rigid bodies as they fall, then you can manually set up the vertex-groups, and modifiers to simulate this. Here's how to do it on a simple cube:
Step 1: Subdivide! If you want a good explosion simulation, then you must subdivide. About 25 subdivisions in edit mode works well. You may also want to add a subsurface mod later, if you want more jagged edges.

Next we need to set up the vertex groups. This would look most realistic starting with a small group at the bottom and then going up. This would be for the cube (with one edge facing the plane). Start selecting and assigning random small vertex-groups at that edge. FYI, also you should set select vertices, not faces anymore.
I set up 6 vertex-groups, which I will later use for a controlled explosion modifier for animating the edges while the rigid body falls.
Here are pictures of my selections for each vertex group:

Now to set up the modifiers. We might want to do that after we do the rigid body simulation. So keep the position of the objects, and go ahead and set that up. Active for the cube (set the cube to mesh collision), and nothing for the plane. The plane should be set to collision, for particles. Don't bake this yet, but run through the animation timeline a few times. Applying scale and rotation to both the cube and the plane will help with the simulation. Also, you might want to use collision margins, as my simulation was a little glitchy without it.
Now comes the setting up of the explosion:
We are using particle settings and the explosion modifier.
1) Make sure that the vertex-group weight is set to 0. (So that it will be affected.)
2) Go to the particles tab, and create a new particle system. (You will need one for each vertex group to sequence the series of the parts of the cube crashing.) For your particle settings, keep everything the same except for the lifespan (set to 250, or the length of your animation), and the emission start and end. Set both the start and end time to be the exact frame the cube touches the plane. Also set the density vertex group to your first vertex group. (In my case, shatter1.) One last thing for the particles: set both the collision group and the effector group to the rigidbodyworld. To get the faces to explode and not just emit particles, go to the modifier tab and add an explode mod. Set the vertex group to the same as in the particle settings.
Now repeat this step, and create a particle system and add an explosion mod for each vertex group. All of the settings should be the same, except for the time that the particles are emitted. This can be adjusted a frame ahead per particle system.
This is really much it, running through the animation will show you the final result. You can play around with the .blend here:

These are pictures of what the cube looks like exploding:

I added a quick smoke with higher resolution to achieve this:
It's a little messy, but it is just about the best result you can achieve in blender without any sort of add-on.
I hope this helps, and Happy Blending!


How to adjust SubSurf Modifier For Render When I add a SubSurf modifier, I am able to specify how many for the viewport and how many for the render.  After I apply the modifier, it goes away and conceivably applies the algorithm.  I am confused as to how blender stores the object result for the viewport and the render separately.  Is there a way I can alter the number of subsurfs to apply to the render or the viewport after I "Apply" the modifier?

I guess I am mostly confused about the fact that I have a single object in my object tree but there is this mysterious splitting of the object behind the scenes depending on if I am rendering or not.

What you want to do is impossible, because the mesh was already established when you applied it,  if you want to control how much detail you are using to model or sculpt a mesh, you must use the multires modifier, whit the simple division method, so you can have multiple versions of the same mesh, in orden to accomplish whatever you are looking for.

good luck and happy blending.


Texture Nodes - Creating a pond So i'm creating a pond hopefully and just experimenting with nodes to get there before i actually add it to my scene.

Tutorial i was following used voronois and displacement maps but this was rendering v slowly and didn't quite get the look i was going for.
So i played around and went for something much simpler. To me this seems quite nice and renders quickly

However, as newbie i have a few questions.

At the moment it's a square, subdivided plane. WHats the best way of making it an irregular curvey natural-looking shape/plane? (like a splat shape)

Ideally, i would almost like it to have like a little depth to the surface. almost a transparent top.

ANy other suggestions on how to make the material more pond like?

THanks very much

To make the pond shape, start by subdividing a plane (the less the better - you will see why later). Make your rough "splat" shape by selecting the faces that won't be part of it and deleting them.

Because the plane is subdivided, it will become "blocky looking" if and when we add a Subdivision Surface Modifier, so the first step is to reduce the subdivisions with a Decimate Modifier set to Planar. (This is also why it is better to have less subdivisions, because the points around the edge contribute to the interpolation of the edge (or lack thereof) and will also cause unwanted blocky-ness - fewer points means smoother curvature )

Next add a Subdivision Surface modifier to smooth out the edges as just discussed:

For the material, I suggest using this setup for your water surface. The "depth" of the water can largely be altered by changing the IOR of the Refraction Shader. Don't forget to change your Blend Mode if you're using EEVEE. I also notice after I uploaded the image, the top Node that serves as the Mix Factor between the Diffuse and Glossy shader is cut off - it is a Fresnel Node.
You can see as well that I made the surface by using a Noise Texture, with it's effects softened by being mixed with white using a MixRGB Node_ before connected to a Bump Node and then a Displacement Node. The settings for the Noise Texture I left largely at the default, but play around and see what kind of surface looks best.

If you want a more "real " extruded look to the surface, you can actually select the whole plane and extrude it downwards slightly if you don't mind the extra geometry.

Here is a final result (lit with an HDRI). In this example, I increased the mix factor with white on the displacement to further soften the surface to create a more realistic look. (This can also be achieved by changing the Detail and Roughness on the Noise Texture, as well as controlled somewhat by adjusting the strength or the distance of the Bump Node - play around and see what looks best for you).


Why does nothing show up in the Compositing tab? I am trying to follow Blender Guru's beginner tutorial.
He went to the Compositor tab and was using it to Denoise an image but when I got there, no nodes show up.
Can you guys help?

In the upper menu, you need to check Use Nodes ✓
Then it will work.


How to constrain an object to one of it's local axes? How can I make it so that when I move it around, it will only move on it's local Y axis?

You would use constraints. There are all kinds of constraints, tracking constraints, IQ constraints, spline constraints, camera constraints. I think you're looking for Limit Location, though. Check here:

https://docs.blender.org/manual/en/latest/rigging/constraints/index.html


Master Z-Depth with multiple render layers I was wondering if there is a way to output a Z-Depth pass for my entire scene which contains multiple render layers rather than a Z-depth pass for individual render layers? I have attached a screen shot of my compositing node tree and render. Thank you.

You can use Z combine node to compose Z channels into one.


Background image (movieclip) final render appears flipped my background movie-clip final render appears flipped. I have checked whether the camera is mirrored or in the background image options if the 'flip horizon' is checked - I've tried to render with the 'vertical flip' option checked but still the final result is the same, a horizon flipped. The video appears on the correct horizon on the 3d viewer, even on the render result preview. When i choose render active scene, blender renders out the background video flipped.

Please, some one help me out, thank you.

Thank you to the people that replied.

OK, so the issue was that i had an object made linked to my video, when I created it i had flipped the horizon. I worked on some other objects, worked on camera tracking as well(in other words forgot about that object). When I remembered I had this object i hide it and flipped the backdrop image to its original horizon. So, when I was rendering the hide element was showing.

Yay!!


Rendered tiles don't show Rendered tiles don't show up, until after its done rendering.

When the whole image is ready, it shows the final image.

Did I miss something?

I don't have the required reputation to post a comment so I am posting a reply

For anyone stumbling across the issue:

Recheck the Render Slot at the bottom of your render window
Uncheck the Save Buffers checkbox under the Performance Tab in Render Properties