In Blender 2.8, can I reset 'My View' to the initial perspective used when a brand new project file is opened? Blender 2.8 offers several numeric keypad shortcuts for changing the perspective:

NumPad 0 = Camera Perspective
NumPad 1 = Front view
NumPad 2 = Roll scene down
NumPad 3 = Right view
NumPad 4 = Roll scene left
NumPad 5 = toggle Perspective/Orthographic
NumPad 6 = Roll scene right
NumPad 7 = Top Down view
NumPad 8 = Roll scene up
NumPad 9 = Flip current view (Top Down becomes Bottom Up, etc)

I use these (and more) shortcuts all the time, but there is another perspective that I often use: the initial perspective used when opening a new Blender project for the first time.  It starts out looking at a default mesh (cube) from about halfway between the X and Y axis, and slightly elevated along the Z axis.  I can approximate this original perspective in 'User Ortho' mode by pressing:

[NumPad 1]  one time        (which gives me a side view, along the Y axis)
[NumPad 6]  three times     (which rotates me about 45 degrees, half way to the X axis)
[NumPad 8]  one time        (which gives me a little altitude)

This may not be the exact same perspective as a newly opened project file, but I think it is pretty close.  I can't seem to find any way of manually determining or setting precise X/Y/Z coordinates for 'My View' like I can with any other object in Blender (cameras, lights, meshes, etc).  I'm certain that 'My View' is not considered an object in Blender, thus it can't be acted upon like objects can.

This 'five keystroke' solution is not very labor intensive, but I use this original perspective about as often as many of the other defaults (Top Down, Front, Side, etc).  Therefore I was wondering if anyone knew any other shortcut out there that might already change 'My View' in this way, one I'm overlooking perhaps?

The reason why I'm asking is because I have two Blender projects going right now.  Both are of one small building.  The first project represents the building BEFORE (how it looks now in the real world).  The second project represents the building AFTER (how it should look once proposed projects are completed).  I can manually set the camera location, rotation and scale to be the same in both projects, allowing me to render BEFORE and AFTER images with similar perspectives.  But when I close a project file, I also like to leave things in this default perspective, or when I'm working on two files side by side I like them both to have the same perspective for quick reference.  This is just one perspective I use frequently, and am hoping to find a shorter shortcut for.

And may I also say: "Blender Rocks!" I am loving it, as well as the community support you've all built up around this awesome program.

Thanks in advance for any help...

Just add a new camera and align it to view.
Then you can always switch to it by clicking the green camera icon.

Add a new camera, and make it active by clicking the green camera icon
Align it to view through View > Align View > Align Active Camera to View
Switch between cameras by clicking the green camera icons


How to view OTF fonts? Blender only shows TFF fonts, on all versions I've tried (Windows 10).

The problem: When you add text (add>text), and you go to the font modifier tab, attempt to change font, and navigate to system fonts, only TFF fonts show up (even if filter disabled). OTF fonts do not show up. All fonts are installed properly and show up in other programs (Maya, Photoshop, Illustrator, Absolutely Everything Else).

My personal workaround: I've been using maya for any text, and then exporting it as OBJ into blender.

Anyone know how to make blender support OTF fonts? Seems strange that maya supports this and blender doesn't.

Thank you.

I found this on the blendernation site:

  Blender supports all the major fonts supported by the freetype library, including PostScript Type1 and Type3, TrueType, and OpenType. However fancy OpenType features such as automatic ligatures aren't supported and it seems Blender doesn't even support things like built-in kerning metrics either.

So, you may find an .OTF that works. But if you're pressed for time, convert it to .TTF, or one of the other abovementioned, with e.g. http://www.freefontconverter.com


Uv/Image Editor doesn't edit my texture I was trying to add a texture to a cube in Cycles render. I added the texture, it showed up, and could render as well. However, there were some faces which I needed to edit. So, I unwrapped the object and went to the UV/Image Editor. But when I tried to scale or rotate my map, didn't affect to the texture. I'm using Blender 2.77.

In some projects it works and some it doesn't.

I described the issue in a video.

You use "Texture coordinates" -> "Generated". You need to switch it to "UV" for use your UVMap.


array modifier to build a virtual pipe organ? or should I look for scriptwriter? I wish to build a virtual rank of pipe organ pipes. Starting with a mesh pipe and with an "array" modifier I hope to be able to scale and line the pipes up easily within specific parameters.

The pipes need to be made of separate but linked parts that can be scaled independently. The cone at the bottom of the pipe scales at a different rate than the main cylinder.
The spacing between the pipes can be set and locked...ex. always .5units apart.
Can select every other pipe in a rank remove it from the rank and have all pipes resume the input space between pipes.
I would like to find a way to link the pipes with an audio file and a hyperlink(don't even know if this is possible---essentially I would like the meshes to be linked to a database like a 3D image map)

Is this possible? Is there a freelance site one recommends to find someone who can customize the array modifier, or is there a workflow to achieve this efficiently with the present software for thousands of different pipes!!

There are lots of parts and variables to your question.

You could easily create the organ pipes in Blender and use the array modifier to place it in your scene. The array modifier allows for some degree of variation between instances, like scale rotation, position, but it is limited in scope, and for more freedom between each arrayed tube you are probably advised to use non-arrayed duplicate clones of each object.
You could then scale each part individually and space it properly without affecting all other objects.

Blender has no hyperlinking functions built in, and what you are looking for is some sort of interactivity like a real time demo or application. The way I see it you could achieve this in a few different ways, but this is a really broad area with many different possible approaches and probably out of scope for this site.

The most basic way would be to render out an image of your organ pipes, and build some sort of image map or clickable interface layed out on top of it, possibly using either HTML+CSS or SVG or some other technology to your liking.
Use blender's built game engine and create a simple game application that consists of some basic logic that reacts to clicking the pipes and playing the corresponding sound.
Use Blend4Web which is an addon for Blender that allows to create interactive WebGL based applications with some basic interactivity options and create a web based demo that reacts and plays sounds when clicked on certain objects.


Why do interpolated grease pencil strokes deform? I have drawn a 2D Character using grease pencil and I’ve separated the limbs on different layers. When I interpolate the key frames, the strokes will scale or deform in strange ways. I’ve tried adding more key frames but I still have these deformed interpolations. I can go frame by frame and fix the strokes but I'm wondering, can anyone explain why this happens? Or what I can do to prevent this?
First example:
Here the left arm is support to rotate. When I interpolate the frames the arm rotates but shrinks.

Second Example: Here the left arm deforms in shape.

The Interpolate Frames feature is used to transform a stroke from one shape into another, but not really to move a stroke from one place to another whilst maintaining its shape. That's because it draws an imaginary straight line from each of the stroke point's old position to its new position, then makes the point travel along that straight line. For a simple move and/or scale that works, but when rotating a stroke the points should follows an arc, not a straight line, so the shape ends up being squashed by the half way point. You can add a frame at the half-way point, but the problem will happen again on either sides because it's still two straight lines instead of a curve.
For this kind of transformation, instead of interpolating frames you should look into cut-out animation techniques which moves the different parts without changing their shape.


Problems rendering a sword I want to render the sword I just finished.  But when I render it, the hilt and handle are fine but the blade looks odd.  Why is this?

Here is the render:

This is what the blade looks like in object mode:

This is what it looks like in edit mode:

This is my lighting setup:

I'm supposed to have the bevel along the sword but not what I have highlighted below.

Alrighty, lets jump into it.

First of all, those weird spots in the render were perfectly normal. If you zoom in, you'll see that they're actually triangles- this from the fact that all n-gons are actually sets of tris. You can solve this by adding a subdivision-surface modifier.

Now you don't have those triangles, but you get a different effect: looks like quicksilver.

Now, this is mostly just a modeling error because two sides of the blade converge momentarily in the center, the area of the sword commonly called the bloodlet. This creates a zooky effect that is the combo of z-fighting and bad unwrapping.

To fix, I changed the subsurf mod from catmull-clark to simple.

You still get a bit of whack, so go into modeling and put some air between the inside edges of the bloodlet, rather than allowing it to be 2D. Then unwrap the model. This should fix everything. It needed to be unwrapped because your texture was repeating to much in the bloodlet because there were more vertices then around the rest of the blade.


Can I use blender to create a model and 3D print it for some real device I want to create a 3D model which can be used in real life. When given some real life dimensions, can we make models in blender with the exact same measurement down to the millimeter? For example I want to make an external cover for a Samsung Galaxy S4. If I measure the S4's dimensions (mm, cm etc), can I use them to create an external cover which actually fits on the phone?

I know many suggests 'SolidWorks' for this type of CAD work but I want to know if this can be done in Blender.

Yes, you can do this.

To get realistic measurements, go to the Scene tab in the Properties panel and then find the Units section and select Metric.

Keep in mind, though, that once you export, all the coordinates are still in "Fundamental Blender Units." There's no information stored in the model about what measurement system was used to make the model. The target system (SketchFab or Shapeways or whoever) will just make an assumption about what units the coordinates are in (often centimeters). You'll have to do a little testing to synchronize Blender's unit system with your target's unit system. It should be a very straightforward conversion, though.

I'd recommend making a unit cube in Blender and exporting that to whatever your target system is. See how they interpret its size. You can then use the Scale setting in that same Units section to control what unit a Fundamental Blender Unit maps to. If your 1m^3 cube is interpreted to be 1cm^3 by the target system, then you just have to adjust your scale by 10^3 or 10^-3 (I'm not sure which).

The smallest length Blender can handle is 1μm. It can't go smaller than that but that should be enough for your use. You can simply type in units (cm, m, mm etc.) but for μm you have to use "um".

It would also be worth your time to take a look at  the addon measureit. It will make measuring things in Blender much easier.


How to change the window type? I was doing some stuff and this window popped up

I don't know how to get rid of it and I want this window back:

You can change the editor type in the dropdown icon in the header:

The one you want is the Properties editor.


Combining an image seqence into a single image I would like to combine an image sequence into a single image in a quick way.

I tried adding all the images into the compositor manually:

But it will take a long time to add each node one by one.

This is what type of result I want.

You can't really do recursive operations (loops) in the compositor, but in this case there is a sort of hack you can do (a bit like this or this).

You can apply this to the animation as it's rendered, but I preferred to render everything to .exrs and composite afterwards.

Add an image sequence node (or renderlayer node) that gives the raw render output
Add an image sequence node pointing to the output directory where you'll render the combined sequence.
To do this you may have to create a few dummy files to convince blender that there is an image sequence there. Copying at least the first few frames of the render output to this directory will do, but be sure to delete them once the node is added.
On the image sequence node, set Frames to the length of your render and the Offset to -1. Be sure that the start frame is set correctly as well.
This will make the image sequence node read the previous frame.
Add a file output node or use a composite node and adjust the scene output settings. Set the output path to the directory the image sequence node is pointing to. You may want to render to .exr files so you can adjust the exposure later.

Then render the animation.

This will start by adding the first frame to nothing (as the 0th frame doesn't exist), then the second frame to the first, and the third to the combination of the first and second, and so on. The end result will be an animation like this:

The last frame is the result of all the frames added together:


Problems with automatic weights when rigging Just created a simple character with a head, body, and legs. But when I use try to rig it, the joints get distorted. I tried to use empty groups (since it worked in 2d), but the parts wouldn't move.
Normal/Resting Position:

When I move a model:

Weight Paints:

Here is the file:
https://github.com/daarush/BlendersTestings
Please tell me if you cannot access it.

It looks like you have 5 pieces rather than 4.  Include both head pieces with parenting to the bone.


Rendering through blender looks fine, but not through SheepIt I'm using SheepIt! to render a 501-frame-long 1280x720 scene I'm working on. Right now I'm the only one rendering and, and I noticed something weird. Rendering through SheepIt! produces a weird purple and pink image...

Rendering that exact frame (on the exact same file) produces this;

which is exactly what i need. Anyone know whats going on?

You need to embed your images into you blend.


Falling object in specific time I want the object falling start from frame 250 until 350. But, I can't find where to set it. It always starts at 1.

I guess you can either:

Make the physics begin at frame 250 in the Scene settings > Rigid Body World > Simulation Start:

Or you can activate the object's rigid body Animated option at frame 0, which means it won't be submited to any physic simulation, keyframe, disable it at frame 250 and keyframe again (deactivate and activate Dynamic will work as well):


Curve to Mesh - Not all faces are not connected I have a Bezier curve, which has the following settings:

When converting this to a mesh, in Edit Mode, some of the faces are connected and others are not. Not sure if this is intended, but is there a way to convert it, where all the neighbouring faces are connected?

This is the original curve

Here the curve has been converted to a mesh, with two vertices raised upward. You can see that one is connected, and the one selected is not.

After you convert the curve to a mesh,

Tab into edit mode
A to select all vertices
Hit W and choose "Remove Doubles"


Tapering a tentacle mesh with uniformly scaled suction discs How can I taper the tentacle while maintaining the circular shape of the suckers along it's length?

I have modeled a simple tentacle using the array and curve modifier.

Imagine the tentacle as a set of cylinders with two circular suckers.

I then go to edit mode for the curve and reduce the radius of each point to achieve the tapering of the tentacle.

Everything is fine except that the suckers have an oval shape instead of the initial circular shape, especially towards the end of the tentacle where the radius of the curve point is largely reduced.

Thanks

Duplication on Faces

Consider Proportional Editing manually or by modifier.  Curve guide with [no] radius adjustment.

Above Detail view. Blue Tentacle Curved Form Tapered.  Discs Not Tapered. I used a semi torus as a disc for this discussion.

Above the Duplication Settings for the tentacle highlighted above. Scaling is uniform for this feature.  No ellipse forms are introduced.  This feature renders duplicates and does [not] render the two original meshes.  Surprising but useful.  For the question above you need one mesh for visual rendering and one for placement of duplicated discs.  Total 2 Meshes for final render.  One mesh visible. One not visible.

The disc is parented to the other mesh, this is a requirement .

Above larger view.  Curve Highlighted.  Second set of Discs not placed on any other mesh.  This is just to show versatility of placement.  Original straight Cylinder form with no modifiers.  The two gray cubes used as the tapering objects for a Warp Modifier. I used the warp modifier, as one option, because I wanted visual interaction. You need [not] use the warp modifier. You may [proportional edit] by hand.  You may also use [shape keys].

Above show 2 (two) blue tapered meshes.  The highlighted blue mesh has the curve modifier disabled so we can see both blue meshes easily. The highlighted mesh was copied from the other and then Duplication on Faces was turned off. One blue mesh is rendered and has [no] duplication on faces.  The other other blue mesh is for placement of discs and is not rendered.  This separation of placement and render is a feature.  It is highly likely you need to use 2 meshes in the same fashion.

Above rendered image showing custom placement of discs by deletion of faces, not vertices, of the duplicator.  The viewable mesh was not changed.  2 Meshes are used as stated above.

Above the deleted faces of duplicator.

Above rendered image smoothed and using subdivision surface modifier.

Secondary

You can consider [Make Duplicates Real] on the duplicator to create multiple meshes and turning off face duplication on the duplicator.


Gradient color in blender I want the color of my object look like the photo above. I have tried many ways i saw in youtube but none of them worked can anyone show me how?

i made texture here but i don't know how to assign it
It actually worked in blender cycles thanks
But why when I shift to blender render I see white ??

In Edit Mode unwrap the mesh (select the whole mesh with A, then press U-->Project From View).

Add a new material and go to Texture header. Add a new texture, set its Type to Blend. In Blend panel click the Vertical button. You may also change the Progression type to Easing for smoother colors transition.


Move Object aroud curve withot deforming I have an Object that should simulates a piece of fabric and bend around a bezier curve wenn moved.
On the top of that Object I want to have pieces of wood, that are connected (glued) to the fabric.
My Problem ist that the wood should not deform when bending around the curve
I tried to parent one piece through Vertex(triangle) but that totaly deforms it

The wood piece does not have any modifiers or constrains and the fabric object has only the Edgesplit and the Curve modifier

You've scaled your plane on the Z axis, you need to apply the scale (CtrlA > Apply Scale) and the child object won't deform:


How do I Iterate through a combobox options without clicking on one? I see this done in a a lot of videos (here, for example) and was wondering what keyboard shortcut is used here?

You can iterate through dropdown list items by holding ⎈ Ctrl and scrolling with the mouse wheel  MMBwhile hovering over the gui item in question.


How to fill a hollow object to make it whole inside? I have a model of tooth which is empty inside. I need it to be filled.
Solidify modifier doesnt work correctly. How can I fill it?

I have a camera script which makes camera slowly move forward, so it makes a result similar to DICOM files. And to achieve more realistic result I need it to be filled

Polygonal models don't have an inside. They tell a renderer where their surfaces are.

If you want to slice an object as if it were solid, you have to reconstruct a surface where the slice cuts across it.

Here we have a cube inside a sphere inside a cube. All three objects have a Boolean modifier assigned to them.

The other cube displayed in wireframe to the left is a cutter object, and will be used as a target in the Boolean modifiers, set to 'Difference'. This will cut away the objects inside its volume, an construct a surface at its intersection with them, making it look as if the objects are solid.

Actually, there are 3 separate cutter-cubes, one as a target for each modifier, with their leading faces just slightly displaced from one another. If all the objects were cut in exactly the same place, Blender wouldn't know which new cut surface was in front of which,  and there would be rendering artefacts. So the outside cube is cut away slightly more than the sphere, which is cut away slightly more than the inner cube.

Now if you animate the cutter-cubes together, you can create the illusion that the objects are solid.


How do I stop a displacement modifier from breaking the edges of its mesh into many small parts? I have a mesh grid. I have selected all the edges of it that run in one direction and applied a freestyle color mix to them so their start is pink, their middle is white, and their end is green.

When I view the rendered mesh like that I can see that each edge is rendered as a single line, with all the colors nicely lined up:

Now I apply a displacement modifier to the mesh, using an image. I would expect that each edge would remain as a single, uninterrupted line, warped to fit the displacement map, and with the color placement the same as above – pink on the left, white in the middle, and green on the right.

Instead of that I see a random distribution of colors, indicating that my edges now appear to be made up of many small lines:

How can I correct that and achieve a displaced mesh with single, unbroken edges running the full width of my mesh?

(FWIW applying the displacement modifier has no effect on the issue.)

Update: May 7th, 2017 – I tried turning off the "Visibility" setting, as per TK's suggestion, but that didn't fix my problem. The lines are still mostly broken up into small pieces.

Here's another version of the file that I created from scratch, just to make sure I hadn't unchecked any default settings while fiddling about. It exhibits the same problems. I've applied the Displace modifier to keep thing simple.

Thank you.

Dunstan

With the displacement modifier, the edges are occluded by bumps created by the modifier and hence are no longer fully visible from the camera.  Freestyle identifies both visible and hidden lines, and by default draws only visible lines.  If you want to draw all lines no matter whether they are visible or hidden, then you need to turn off the selection by visibility (i.e., disable the "Visibility" toggle in the "Selection By" section of the Freestyle Line Set panel).

Update on May 12, 2017

Setting the mesh faces to the smooth shading and turning on the Face Smoothness option could improve the result as you expect.

That said, there seems a bug in Freestyle that prevents visible and hidden lines from getting chained into a single stroke.  For instance, the following render shows lines composed of visible and hidden parts.  Most lines are consistent in the sense that they start in red and end in green, while some lines are not.

The next image shows some of those inconsistent lines that are expected to be long continuous red-green strokes rather than being split into short pieces.

The render below shows the visibility of line segments in question (visible and hidden parts in red and green, respectively).

By comparing the last two renders, it is seen that in some cases visible and hidden line segments can be chained to form a consistent line, while not in some other cases.  I think this is a bug in Freestyle (to be fixed as soon as time permits).


Sapling tree to a mesh and follow the treeArm Animation like the leaves? The tree is a curve and has a windSway modifier. The leaves is a mesh and has a windSway modifier. How I convert the tree to a mesh and make it to follow treeArm & animation like the leaves?

I had this exact problem, and I just found out the solution. In the Operator panel for the Sapling, simply check the "Make Mesh" box in the Armature menu and there you go! If you want to edit the mesh, you have to look for the Skin modifier that is created in the Outline under's the tree's mesh and apply it.

Hope this solves your problem!


Why does the "screen" node turn hotspots pink and blue? I was messing around with some titles in the compositor, and I ended up blend two filters together.

Because of habits I've formed in After Effects, I tend to use "screen" rather than "add" whenever I blend highlights, but when I did that, this strangeness emerged:
Blue and pink hotspots abound!

Obviously, this is unacceptable for a final render, so I tried switching the blend to add, and everything rendered far more properly:
I'm not looking for a fix, seeing as the fix of switching to "add" seems to work just fine. However, if anyone can explain to me why "screen" is producing this trippy result, I would greatly appreciate it.

Blender version: 2.77

Rendering engine : Cycles

Let's look at the formulas for the screen and add blend modes. Add is really simple, it just adds the values:

f(a,b) = a + b

Where "a" "b" are our inputs. Easy, just combines things and makes them brighter. Now let's look at screen:

f(a,b) = 1 - (1 - a) * (1 - b)

More complicated. We subtract both values from 1, multiply them, and subtract the rest from 1. You might be asking "what's the significance of 1 in all this". That's where the problem comes from, there isn't any. Screen is inherently a "display referred" blend mode, meaning it was meant for use on values that describe the relative intensity of a screen pixel. Screen values cannot be over 100% intensity (because 100% is as bright as the pixel can go) so display referred values are bound at 100%, which for simplicity reasons is calculated using the value of "1".

When you have a display referred value (or any other value that's always in a 0-1 range) you can invert it by subtracting from 1. So screen inverts both layers, multiplies them, then inverts again. It's designed to prevent clipping when you try and make a brighter combo of two already bright values. Let's try with a bright but display-safe value of 0.9 for both layers:

f(0.9, 0.9) = 1 - (1 - 0.9) * (1 - 0.9)

f(0.9, 0.9) = 1 - 0.1 * 0.1

f(0.9, 0.9) = 1 - 0.001

f(0.9, 0.9) = 0.999

Hooray, it doesn't clip! Whereas add does:

f(0.9, 0.9) = 0.9 + 0.9

f(0.9, 0.9) = 1.8

Our pixels don't go to 180% power, so we have to clamp it all to 1.0. Gross.

Here's the problem though: renders are scene referred, not display referred. The pixel values do not represent relative intensities of a monitor pixel, they represent the absolute amount of light that struck a virtual "sensor". Thus, it's completely ok for them to exceed 1.0. 1.0 isn't any particularly meaningful value at all, it just the number that gets mapped to 100% by default when converting to display values for final output.

So given that we can have values > 1 and that 1.0 is not special in any way, we cannot safely invert values using it. And if we try, weird shit begins to happen. Let's run that again with layer 1 having a value of 1.5

f(1.5, 0.9) = 1 - (1 - 1.5) * (1 - 0.9)

f(1.5, 0.9) = 1 - -0.5 * 0.1

f(1.5, 0.9) = 1 - -0.05

f(1.5, 0.9) = 1.05

Ok, a little weird. But it's still larger than layer b, right? Let's go again, but with much bigger values:

f(5, 2) = 1 - (1 - 5) * (1 - 2)

f(5, 2) = 1 - -4 * -1

f(5, 2) = 1 - 4

f(5, 2) = -3

WTF? -3 is not brighter than 5 or 2. In fact, it's lower than our black point. So screen gets very unreliable once values go above the otherwise arbitrary point of 1.0. Input too big of a number, and the result goes DOWN, not up. If there's a big difference in brightness between color channels, this can result in wild color shifts. Imagine if your red channel is the 5 and 2 example, and your blue channel is the 0.9 and 0.9 example. Where do you think your hue is going to end up when (5, 1.0, 0.9) becomes (-3, 1.0, 0.999)? Somewhere very different from where you started, that's where.

As you found, the add blend mode still works because it doesn't try to invert by an arbitrary max:

f(5, 2) = 5 + 2

f(5, 2) = 7

f(1.5, 0.9) = 1.5 + 0.9

f(1.5, 0.9) = 2.4

So the takeaway is whenever using scene-referred/HDR values, stay clear of screen or any other modes that try and use 1.0 as a max (like overlay, useful as it is with 0-1 values).


Reverse pose bone inherit scale via python I have some animation fcurve data provided for the case of inherit scale unchecked for pose bones.
Example: Bone03 is a child of Bone02. Inherit scale is unchecked for Bone03. At frame 1, Bone02 is not scaled (i.e. Sx, Sy, Sz = 1.0000). At frame 30, Bone02 is scaled on Y with a factor of 2 (Sy = 2.0000; Sx, Sz = 1.0000).
Since inherit scale is not checked for Bone03, it is not affected by it's parent scaling at frame 30. This is the intended result.
Problem: I need to import the blend file in Jmonkey which scales the child regardless of it's setting in Blender. The animation hence appears scaled wrongly in Jmonkey. Basically, I need to check inherit scale on the child bone and then reverse the inherit scale operation on the child bone via a python script in Blender before loading it in Jmonkey.

I've tried to copy the matrix of the child pose bone (before setting use_inherit_scale to True on the child edit bone) and then reassign it to the child pose bone. The result looks like it ignores the reassign of the original matrix and scales the child anyway. Here's the code:

import bpy

obj = bpy.context.object
scene = bpy.context.scene
bpy.ops.object.mode_set(mode='POSE')
scene.frame_set(30.0)

pb = obj.pose.bones['Bone03']
start_matrix = pb.matrix.copy()  #copy the initial pose bone matrix
print(start_matrix)

bpy.ops.object.mode_set(mode='EDIT')
eb = obj.data.edit_bones['Bone03']
eb.use_inherit_scale = True

bpy.ops.object.mode_set(mode='POSE')
print(pb.matrix)
pb.matrix = start_matrix  #try to force reassign the start matrix

print(pb.matrix)

Here is a file with the problem demonstrated (I hope much clearer). When you open it the animation is correct (but with inherit scale unchecked). As soon as you run the script, Bone03 get's scaled wrongly.
The question: how can I force reassign the initial matrix to the pose bone, after programmatically setting use_inherit_scale = True on the edit bone?

Just a short draft. I might expand this answer later.

import bpy
from mathutils import Matrix, Vector

# for debugging purposes - visualize transforms
def create_empty(name, matrix):
    if name not in bpy.data.objects:
        empty = bpy.data.objects.new(name, None)
        scene.objects.link(empty)
    else:
        empty = bpy.data.objects[name]

    empty.empty_draw_type = "ARROWS"
    empty.empty_draw_size = 1.0
    empty.show_x_ray = True
    empty.show_name = True

    empty.matrix_basis = matrix

# ported from blenkernel/intern/armature.c to python
# --------------------------------------------------------------------
def get_mat_offs(bone):
    mat_offs = bone.matrix.to_4x4()
    mat_offs.translation = bone.head
    mat_offs.translation.y += bone.parent.length

    return mat_offs

def get_mat_rest(pose_bone, mat_pose_parent):
    bone = pose_bone.bone

    if pose_bone.parent:
        mat_offs = get_mat_offs(bone)

        # --------- rotscale
        if (not bone.use_inherit_rotation and
            not bone.use_inherit_scale):
            mat_rotscale = bone.parent.matrix_local * mat_offs

        elif not bone.use_inherit_rotation:
            mat_size = Matrix.Identity(4)
            for i in range(3):
                mat_size[i][i] = mat_pose_parent.col[i].magnitude
            mat_rotscale = mat_size * bone.parent.matrix_local * mat_offs

        elif not bone.use_inherit_scale:
            mat_rotscale = mat_pose_parent.normalized() * mat_offs

        else:
            mat_rotscale = mat_pose_parent * mat_offs

        # --------- location
        if not bone.use_local_location:
            mat_a = Matrix.Translation(
                mat_pose_parent * mat_offs.translation)

            mat_b = mat_pose_parent.copy()
            mat_b.translation = Vector()

            mat_loc = mat_a * mat_b

        elif (not bone.use_inherit_rotation or
              not bone.use_inherit_scale):
            mat_loc = mat_pose_parent * mat_offs

        else:
            mat_loc = mat_rotscale.copy()

    else:
        mat_rotscale = bone.matrix_local
        if not bone.use_local_location:
            mat_loc = Matrix.Translation(bone.matrix_local.translation)
        else:
            mat_loc = mat_rotscale.copy()

    return mat_rotscale, mat_loc

def get_mat_pose(pose_bone, mat_pose_parent=None, mat_basis=None):
    if pose_bone.parent and not mat_pose_parent:
        mat_pose_parent = pose_bone.parent.matrix
    if not mat_basis:
        mat_basis = pose_bone.matrix_basis

    mat_rotscale, mat_loc = get_mat_rest(pose_bone, mat_pose_parent)
    mat_pose = mat_rotscale * mat_basis
    mat_pose.translation = mat_loc * mat_basis.translation

    return mat_pose
# --------------------------------------------------------------------

def adjust_matrix(pose_bone, mat_parent_old, mat_parent_new, preview=True):
    mat_pose_old = get_mat_pose(pose_bone, mat_parent_old)
    mat_rotscale_old, mat_loc_old = get_mat_rest(pose_bone, mat_parent_old)
    pose_bone.bone.use_inherit_scale = True
    mat_rotscale_new, mat_loc_new = get_mat_rest(pose_bone, mat_parent_new)

    mat_fix_rotscale = mat_rotscale_new.inverted() * mat_rotscale_old
    mat_fix_loc = mat_loc_new.inverted() * mat_loc_old

    mat_basis_old = pose_bone.matrix_basis
    mat_basis_new = mat_fix_rotscale * mat_basis_old
    mat_basis_new.translation = mat_fix_loc * mat_basis_old.translation

    mat_pose_new = get_mat_pose(
        pose_bone,
        mat_parent_new,
        mat_basis_new)

    if preview:
        create_empty(pose_bone.name, mat_pose_new)
    else:
        pose_bone.matrix_basis = mat_basis_new

    return mat_pose_old, mat_pose_new

def apply_change(parent, mat_parent_old, mat_parent_new):
    for child in parent.children:
        mat_old, mat_new = adjust_matrix(
            child,
            mat_parent_old,
            mat_parent_new,
            preview=True
        )
        apply_change(child, mat_old, mat_new)

if __name__ == "__main__":
    scene = bpy.context.scene
    obj = bpy.data.objects['Armature']
    roots = [bone for bone in obj.pose.bones if not bone.parent]

    for root in roots:
        create_empty(root.name, root.matrix)
        apply_change(root, root.matrix, root.matrix)

    obj.update_tag({'DATA'})
    scene.update()


What does "Baking" mean? I want to make some cool items for Dota 2 and I'm reading a guide. There are some tips about baking  etc. but I can't use them, because I don't even know what baking means. Can somebody explain this, please?

Thanks for all answers.

There are a couple different kinds of baking.
Texture baking
Baking could mean that you calculate specified data, and save it to a texture, which then you use in your material.
The purpose of baking is to save in render times, because Blender recalculates all shadows, lighting and what not, every single frame, which results in a lot of time wasted time for long animations.
However, render baking should only be used on objects which don't move, or aren't affected by other moving objects (except for the camera), otherwise the viewer will notice that shadows are moving when they shouldn't be, or are not moving when they should, breaking the illusion of realism.
Physics baking
Baking can also mean precalculating physics simulations such as Cloth or Rigid Body. For this Blender saves them to a file, which then loads when rendering or playing back the animation so that the physics don't have to be recalculated every time.


How to download blender manual? How to download blender manual link on the website is dead, is it mandatory to download the repository and build the manual to have it off line?

there is no link to download the ZIP file ever, can any one enlight me about this matter plz.

This is the 2.79 manual.  You can download it from here.

This is the 2.80 manual. It is a work-in-progress.

In general, you can use your favorite search engine to search for "blender 2.79 manual" replacing 2.79 with the version you are looking for.  This will usually lead to a link for that version.


How to add curve modifier to text? I am relatively new to blender and am trying to wrap some text around a hair spray bottle that I made.  I have watched many tutorials on how to do it, but it never seems to work.  I am trying to wrap my text around the cylindrical part of the bottle with the curve modifier, but am running into troubles.  When I select the bottle with the selection within the curve modifier, I get a "failed to set value" message at the top of my screen.  And then, when I try to apply it, I get the message "modifier is disabled, skipping applied."  Does any one know if there is a setting that I need to change to enable this curve modifier?

Here is a screen shot of my project if it helps:

To use the curve modifer you need to have a curve object.

To create one place the 3d cursor in the same place as your text's origin and press ShiftA to Add->Curve>Bezier Curve.

Select the text and on the curve modifier set the bezier courve as the object to control the distortion for the text.

Editing the curve will allow you to distort and place the text.


When use remesh mesh does not follow bones I tried to use Remesh modifier to create a low poly object from a high poly object. But when I use Remesh modifier mesh does not follow bones. I tried Decimate modifier, so when I use that, everything works great. But I need to use Remesh modifier because Decimate modifier is worse than Remesh. Any help how to repair this or how to convert high poly mesh to low poly on another way. Thank you in advance!!!

I am new in Blender, so I don't know how to repair this.
The Mesh is static, but the bones move.
I make game in Unity, so I have to export this as .FBX, I tried your way, but I did something wrong and I have on the scene two meshes. Low poly one which is static and moving one which is high poly.

Instead of Remesh, Decimate doesn't save vertex weights. So you can try to recreate weights using data transfer modifier.

So here is base setup. I have simple mesh, deformed by armature. But when I add Remesh, armature doesn't work:

Here how to solve this problem:

Copy mesh to other layer and remove Remesh and Armature modifiers on them. It will be a "Source". By the way, you can do a link instead a copy, by using Alt + D
Add a Data Transfer Modifier after Remesh but before Armature. In modifier settings set "Source" object, click Vertex data and vertex Group(s)


Why are my bones rotating the wrong way? Seems simple but completely stumped. Watched tutorials, looked for similar questions and would really appreciate any help. I have 3 stacked blocks constrained to fold vertically as shown. The top block stays level. The hinges have to be offset obviously due to the block thickness and hinge points. No matter what I do it tries to fold in the opposite direction using RK since the offset picks the shortest route down as shown in the second pic. The blocks need to first pass over center (go up slightly) to fold the other way.Would really appreciate any help.

Try this:

create the first lower bone, then extrude 3 times, rotate the 4th bone 90 degrees, then ( in edit mode) slightly move the junction point between the second and the third bone in the Y axis, toward the direction you want the chain to bend.
Another way is to check the bone's roll: in the armature tab - display - set to view axes, then trim the bone's roll until the rotation you want is on their x axis with positive values.

You can also add limit rotation costraints to the bones for having them moving only in one direction.


2D animating a simple image with simple movement Blender version: 2.82
I am fairly new to Blender. My goal is to 2D animate an image going from the left to the right and scaling the image while it's moving.
So far I have tried:

Clicking on the desired frame time and dragging the image, then clicking on "Insert keyframe"
Going to object mode and clicking on "Add image" and attempted to add it to grease pencil by converting the object to a mesh which failed.
Trying out other modes other than grease pencil but none of them could add an image (nor could grease pencil)

For a simple animation, start with the object in it's "starting position" with the timeline at 0. Press N to bring up the transform tools window, and press I over both the location and scale boxes to insert a keyframe (one press of I works for all three axis boxes).

Then, move your timeline forward, move and scale the object accordingly, and then again, press I over the rotation and scale, to set a new keyframe at the new time position with the new transforms applied. You should now be able to play your animation and watch the object move and scale accordingly.


how can i Attach both hands to the same object (gun's main grip and front grip)? i already attached the right hand's bone to the weapon's main grip (using select weapon > ctrl+p > to bone ),

now i want the left hand (with the same holding position) to keep automatically following the weapon's front grip. what should i do ?

You have to make a seperate bones and on the wrist use the copy transforms constraint. Place the Seperate bone at the foregrip , apply the constraint to the wrist and the should follow , You will need to tweak the position of the bone , but it will work.


EMPTY OBJECT instead of a MESH I'm working on a blender project made by other guys and I've noticed that instead of normal meshes I've got a lot of empty objects. In the outliner panel every empty object is shown as it was a normal mesh (as to say: it contains armatures, modifiers, animations) but in the 3D view there's just an arrow and when I render nothing shows up.

Hope that makes sense,
Thank you]1

Your objects are in other layers than the active layer.

Prsss the ` (grave, or back tick)   Key to make all layers visible.

If the objects are not rendering either check your render layers


Bake missing in Blender 2.83 I'm new to blender, and I'm trying some basic water sims.

I can't see Bake in the UI anywhere, and I've been looking for over an hour...

Any ideas?

If you want to bake your simulation you need the Physics properties > Cache > Type to be set to either modular which allows you to pause the bake in between and resume it or final which does not allow these options.

If its set to Replay simulation will be baked using the timeline itself and no "Bake" button will be present. (You will need to start from frame 0 to reset the simulation)


What is the parameter A in the RGB color I remark that there is a parameter A in the color RGB parameter as mentioned in the image below. What is this parameter and what is its effects on RGB color?.

The parameter A stands for alpha, which is the transparency channel. An alpha value of zero represents full transparency and a value of 1.0 represents a fully opaque pixel. The RGB values are not affected by the alpha value.


Simulation of CMYK color space based on icc profile I am looking for the best solution for properly preparing printable graphics. At the moment I'm doing a screenshot in "Rendered" mode and then pasting graphics into Illustrator or Photoshop for checking preview. As we know Photoshop allows us to preview CMYK color space by pressing "Ctrl + Y".
This is one solution but choosing the colors and lighting in blender we have to somehow guess which area of the graphics will be able to print faithfully and which is not.
It would be fantastic if blender could simulate the CMYK color space directly in viewport, I mean a mechanism similar to "False color" look used in Filmic color management.

Maybe You have any other suggestions?

Thx

The issue here is understanding what simulate would mean. CMYK nor RGB are colour spaces per se, but rather colour encoding models.

This sort of a question would mean going through all of the nuances that may be in an ICC profile and simulating the resultant output on screen as though it were paper. This would be a dark labyrinth of colour primaries conversions from reference space to destination, illuminants, TACs, BPCs, etc.

Best advice is to learn Argyll and use that.


Animating Animation node parameters...? I am making an animation of atoms in random motion which decrease in speed along with the decreasing temperature.

I made the atoms using animation nodes. Instanced sphere and added vector wiggle to create random motion. Time info node added to animate the evolution which creates the random motion.

Now, I am animating the 'speed' from higher value to lower.

It moves at the speed of 5 first then I keyframed it from 5 to 1 where it acts abnormal and comes to the speed of 1 instead of smooth transition from 5 to 1. Please note that I added time info node to evolution

enter image description here

Don't keyframe Animation Nodes properties, instead, use an Animate Node:


What is this flicker I get while tracking a camera? After having my camera tracked, I decided to put in a cube for testing. But then I've noticed this strange artifact where every object kinda flickers and changes it's rotation.

You can clearly see the tracker shifting on the video posted on the question, and it happens at the moment where the reconstruction fails.
Successful reconstruction can only be achieved with accurate tracking
You should aim to have a solve error of less than 0.3 pixels.
There are plenty of tools to help you get more accurate tracking.
Read:
Solve error high with good track?
Motion Tracking. What do the graphs represent and how are they useful?
Does the motion tracker follow a point if it changes colour throughout the video?

For a comprehensive post on motion tracking tips read
How can I get better results when doing camera motion tracking?


How to import a STL file using the file browser? I'm trying to import a stl file manually via python. My code below is pretty straight forward, but I'm struggling with the following line. I'm not sure about the syntax and format of the arguments:
bpy.ops.import_mesh.stl(filepath=???, files=???)

The current state of my operator:
import bpy

class FILE_OT_import_stl(bpy.types.Operator):

    bl_idname = "file.import_model_stl"
    bl_label = "Import Model STL"
    bl_options = {'REGISTER', 'UNDO'} # Must have REGISTER!

    def execute(self, context):
        #my_filepath = 'K:/PQJ/Mold Generator/Blender test/'
        #filepath = '//898L-OutputModel-SLA[]_09'
        #print(filepath)
        all_files=[bpy.types.Scene.import_path]
        #print(file[0])
        bpy.ops.import_mesh.stl(filepath=my_filepath, files=all_files)
        return {'FINISHED'}

class FILE_PANEL_PT_import_export(bpy.types.Panel):
    bl_label = "Import/Export"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    # bl_context = "object" # object vs edit mode

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

        layout.prop(context.scene, "import_path")
        row = layout.row()
        row.operator("file.import_model_stl")

classes = (
    FILE_OT_import_stl,
    FILE_PANEL_PT_import_export
)

def register():
    for cls in classes:
        bpy.types.Scene.import_path = bpy.props.StringProperty(name='Import path', subtype='FILE_PATH')
        bpy.utils.register_class(cls)

def unregister():
    del bpy.types.Scene.import_path
    for cls in classes:
        bpy.utils.unregister_class(cls)

if __name__ == "__main__":
    register()

Q: How to import a certain STL file using the file browser (and add a custom material)?

You can just add the built-in operator import_mesh.stl to your draw method of your panel which will open up the File Browser as usual and allows the user to select one .stl file:

import bpy

class OBJECT_PT_CustomPanel(bpy.types.Panel):
    bl_label = "My Panel"
    bl_idname = "OBJECT_PT_custom_panel"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "Tools"
    bl_context = "objectmode"

    def draw(self, context):
        layout = self.layout
        #layout.operator_context = 'INVOKE_DEFAULT' #'INVOKE_AREA'
        layout.operator("import_mesh.stl", text="New", icon='FILE_NEW')

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

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

if __name__ == "__main__":
    register()

Related: How to call a confirmation dialog box?

In case you want to import and modify the .stl object for whatever reason, have a look into the Operator File Import template (operator_file_import.py) that comes with Blender.

Demo operator based on the template, allows to import the file, print the object reference and assigns a new material to the incoming object in one go:
# ImportHelper is a helper class, defines filename and
# invoke() function which calls the file selector.
from bpy_extras.io_utils import ImportHelper
from bpy.types import Operator

class ImportSomeData(Operator, ImportHelper):
    """This appears in the tooltip of the operator and in the generated docs"""
    bl_idname = "import_test.some_data"
    bl_label = "Import Some Stl File"
    bl_options = {'REGISTER', 'UNDO'}

    # ImportHelper mixin class uses this
    filename_ext = ".stl"
    filter_glob: bpy.props.StringProperty(
                default="*.stl",
                options={'HIDDEN'})

    def execute(self, context):
        if self.filepath:
            bpy.ops.import_mesh.stl(filepath=self.filepath)
            # Print the imported object reference
            print ("Imported object:", context.object)
            # Create a material
            mat = bpy.data.materials.new(name="STLMaterial")
            # Append the material to the last slot
            context.object.data.materials.append(mat)

        return {'FINISHED'}

Further reading:

How to assign a new material to an object in the scene from Python?
Import multiple STL files and modify the incoming objects in one go?


Error registering in blender python for some reasons I get this error while registering, what is the problem?

The problem comes from the add-on "rain".
It needs to register each class in classes. Like this:
from bpy.utils import register_class
for cls in classes:
    register_class(cls)

and unregister like this:
from bpy.utils import unregister_class
for cls in classes:
    unregister_class(cls)


Need workflow to render color-corrected video So I got the video file imported into Blender via the Node Editor. I already played with the nodes to my satisfaction. I need to rotated it still, as it was shot with a phone (vertical). After that I need to output it to a video file format, like MPEG.
Will I need to do it in 2 parts?: 1.Output it with the colors corrected, then 2. Rotate it?
Or can these 2 things be done before outputting?

You can do it before outputting. Add a "Rotate" node (from "Distort -> Rotate") and change the degree by 90 degrees.

After that go to your render settings and swap the X and Y values.


How to tweak render when each render takes so long? Like any artistic project, until you can see that final render, it's impossible to know how close you are to achieving your goal. As we will all know, from being 'almost finished' to being finished can sometimes involve 20 or 30 tweaks. This is fine when we're designing in Gimp or PaintShop, but Blender is a vastly different animal and tweaking your initial rendered project, even 10 times, can mean 20hrs of rendering (and that's with a small 5sec animation). You could be looking at a week of rendering time alone on larger projects that you need to tweak multiple times. With Blender and all the options it has it seem highly unlikely you'll get all the parameters perfect first time many effects will be trial and error). But trial and error seems impossible if you want to create furiously. I couldn't wait 2 or 3 hours between each tweak... I'd end up on a murder rap!

How do you girls and boys get around this problem. And it's not a matter of being careful and taking your time in the design phase. Even doing that... bveing as careful as you're able, it is just the creative way to look for improvements and want to speed this parameter up... scale that one down... change the effect... try another effect... try ten effects...

There are a number of ways to deal with this:

render a frame at low resolution and/or samples (i.e thumbnail). This
should reduce render time but still give you are. This can
effectively be done with the preview render in the 3d view.
learn more about optimising cycles settings (e.g. tile size, bounces, clamp)
render out to a multilayer EXR and use the compositor to perform final
tweaks rather than re-rendering.
for animation, Opengl playblasts
(the clapperboard icon in the 3d view) allow you a quick preview of
how your animation will look, but without full materials and
lighting. This can be very useful when normal playback is not at full
bake background props (inlcuding lighting etc) to textures once you
are satisfied with them, that way you don't need to re-render them
again (see http://www.creativeshrimp.com/light_baking_tutorial.html for a discussion of some of these techniques).


How to include files like images and others to be installed with an addon in its folder? I already know how to load an icon for an addon operator. I know that I can manually put that icon in the addon location so it loads.
But how to package images and other files that will be used by the addon, so they install together when an user installs my addon?
Thank you very much! :)

I was answered this in a forum:
" make your script an addon module, basically a folder with a init.py script, which may include the entire code, or you can separate code logically into multiple files. Put the image inside the folder and zip the entire dir. On installation, blender will unpack and copy the content to %appdata%\Blender Foundation\Blender\2.XX\scripts\addons\ (on windows; xx = subversion, i.e. 66)"


Why isn't smoke flowing with the shape of the domain? I created this Smoke domain.

Then When I added smoke, it didn't stay within the domain, it went through the hole.

The smoke domain can only be a cube or a Cuboid.

Form the blender manual

  You can use other shapes of mesh objects as domain objects, but the smoke simulator will use the shape’s bounding box as the domain bounds. In other words, the actual shape of the domain will still be rectangular.

To have the smoke flow around, you would need to add another object and set it as smoke collision.

  Smoke Collision objects are used to deflect smoke and influence airflow.

See this answer:What Are the Differences between Smoke Collision Types?

To have the smoke be contained by Collision objects, place the smoke emitters inside them.

In this example a text object has been converted to mesh, set as smoke collision and placed within the smoke domain.


Adjust margins (padding) between Editor windows I'd like to add a few pixels of padding between the Editors to make it easier to resize them. I believe there is a 3 pixel range to get the "double arrow cursor" for resizing. Apparently I am not coordinated enough to consistently place my cursor with that kind of precision. Is there any way to increase these margins through scripting, perhaps by modifying an existing script in the directory? Obviously this is doable on some level, but aside from getting into the source code or too deep into the data structure, is this a reasonable task for a novice programmer to accomplish?

This is what I'm shooting for...

There's not a way to do this without diving pretty deeply into the source :-/ It'd certainly be nice to make the borders wider, but we don't have that kind of access to the UI with Python.


How to render world-space surface Normal maps using Blender Internal? This is a similar question to what I had asked before. But this time I want to render camera view-invariant (world-space) surface Normal maps using Blender Internal renderer. How can I do that?

In Cycles, I can get something like the followings which are consistent no matter what the camera angle is:

But using Blender Internal, I get something like this which changes as the camera angle changes:

You can download the .blend file with the object and cameras from here:

Create a "Normals" material using nodes:

Apply it to all objects. The Material Override option in Properties > Render Layers may be useful for this, but if you want to preserve transparency of existing materials you may have to tweak every material individually, ideally with python scripting:

I'd suggest making a node group containing the geometry node (so future tweaking is easier), connecting that group's output to the Color input of every material's output node, and setting the Alpha according to however you decide a material is transparent or not.  Here is an example of some node scripting, hopefully that helps.
Enable World Space Shading in Properties > Shading:

Render:


Added IK bone messing up excisting animation I have downloaded and imported a model from Mixamo. It doens't import right, but after some experimenting I managed to get the existing bones right.

The problem is that I want to add IK to the armature. But adding IK bones messes up the existing animation, because they don't follow along.

I just want to edit a part of the animation with IK. Does anyone have the knowledge on how to do this?

You could deactivate the IK when needed: Click on the eye icon to deactivate, put your cursor on it and press i to insert a keyframe. If you want to reactivate, same thing, click on the eye to reactivate and press i.


How to extrude with steps I'm doing an extrusion with a bunch of connected edges in the same direction. In order to divide the new faces into several faces along the extrusion direction, I have to do several extrusions.

Is there an option in Blender to determine the number of divisions like in Maya?

You can subdivide the extrusion in a subsequent step using a loop cut.

Select the edges to extrude
Extrude with E
Press Space and type Loop Cut (or press Ctrl+R)
Select the extruded region and set your number of cuts. This setting can be found in the Tool Shelf or by pressing F6


how to find the data_path for scripted keyframes I would like to script keyframes for bevel modifier width (and many more later). Here is what I have so far. I've commented out the last line which doesn't work. When I type help(ao.keyframe_insert), I get :arg data_path: path to the property to key, analogous to the fcurve's data path. but that doesn't help me since I haven't use fcurves yet.

The first half of my question is "how to key the bevel width as I am trying in the example script?"

...and the second half is "where could I have looked this up?" or "how can I know in general what do write in keyframe_insert(data_path="" without asking a new question each time I want to key something?"

Thanks for your understanding!

import bpy
import numpy as np

frame_a, frame_b = 25, 35
sigma_a, sigma_b = 7, 10
n_frames = 60

if 1 == 1:
    bpy.ops.mesh.primitive_cube_add(radius=1, location=(0.0, 0.0, 2.0))
    bpy.ops.object.modifier_add(type='BEVEL')
    bpy.context.object.modifiers["Bevel"].width = 0.3
    bpy.context.object.modifiers["Bevel"].segments = 3

ao = bpy.context.active_object

bpy.context.scene.frame_end = n_frames

for i_frame in range(n_frames):
    a = np.exp(-(i_frame - frame_a)**2 / (2.*sigma_a**2))
    s = 1.0 + 0.3 * a
    bw = 1.0 * a
    ao.modifiers["Bevel"].width = bw
    ao.scale = (s, s, s)
    ao.keyframe_insert(data_path="scale", frame = i_frame + 1, index=-1)
    #ao.keyframe_insert(data_path="modifiers['Bevel'].width", frame = i_frame + 1, index=-1)

To get the data_path of a UI element (property, icon..), rightclick it and select "Copy Data Path"

Wrapping the resulting data_path with double quotes is a legal python string representation (eg: "modifiers['Bevel'].width"), and arguably should be allowed. But the parser of properties favours 'modifiers["Bevel"].width', presumably to keep the string parsing to a  minimal implementation.

The above will be able to compute most kinds of data_path, but if it fails you can

make a keyframe for the property
go to the Outliner (set to view Datablocks)
navigate to Actions -> (Object/Scenename)+Action -> F-Curve
See Data Path. (this is what the initial

  path to the property to key, analogous to the fcurve's data path

refers to.)


How do I fix this rigging issue on a character? So I have been using Blender for a bit, but this is my first rigging project. I knew this was going to be uncharted territories, so I looked up some guides. After feeling comfortable with the process, I tried it out on my first character. I know this character has a lot of issues, but I said why not, its part of learning. I applied the rig, parented it to the character and moved it around to check. I noticed a small issue as I moved around the character. There is some clipping issue because I got lazy in the past and didn't fully create a body under the clothes (I couldn't find a good way to make clothes back then, and kinda still can't). So is there a way to fix this? I'll post the pictures. In it, you can see that the hand when rotated is obviously hollow. This is more of a learning thing, as I am really new to the rigging scene. I know its a rookie mistake to be lazy, so any ideas would be appreciated. I'm using v2.83.3

Merging the vertices worked. Just went to a previous save, and merged the vertices via edit mode for each object.


Making a embossing wheel using stl image around the wheel I am brand new to Blender, I am trying to make a embossing wheel to imprint something like paper with a 3D design that wraps around the cylinder. The 3D design will be a animal in STL that is only 1-2mm thick but enough to show some detail just like say a Wedgwood cameo
Can Blender do this and how please in learners terms

Put it another way, How would you make a wheel or cylinder with a design embossed on the outside all the way around


How to import a character into Unity with textures from BI? So this has really got me stuck. I have created this character model with a simple rig below.

However when I put the viewport into material view you can see it goes black.

I've used the baked AO as a texture to which I bound to a material, you can see on the right side that it looks all linked, but it still stays black.

(I can't do this in cycles because the texture involves Ambient Occlusion which I baked.)

When I try to import my model and rig into Unity there is no texture at all on the model.

I'm really confused and would appreciate any help.

Thanks.

Unity does not normally import textures along with meshes since this is in fact a poor design choice on your part, it's best to separate mesh from texture. Here is a document detailing what Unity can import from Blender with the .blend files.

Here is a post detailing the process of importing objects from Blender to Unity.

Brief step by step:

Generate a UV map for your mesh
Make the texture for the object
Save your texture file to a separate file. .jpg should do, or .png for textures with a lot of similar colors/few colors overall.
Save it as either a .blend or .fbx file to import to Unity
Import your object to Unity
Browse to find your object
Find your material options for your mesh, and drag your texture file from the file viewer into the texture/albedo slot

REMEMBER: Unity has limited import options from Blender, so don't use any nodes or anything that's not basic. You'll have to do all that work in Unity since it's the engine that will render it all.

Hope this helps


FBX Binary format - Nested Nodes I'm currently writing a Java parser for reading FBX binary files and rendering them in OpenGL using the LWJGL (Light-Weight Java Games Library). I have pretty much managed to parse everything thanks to a couple of blog posts by the Blender Foundation, but there is one more challenge remaining. I thought I'd try posting here given that the Blender guys are the only ones who have tried to outline the format in full.

As, hopefully, you already know, the file consists of a series of nodes which are in turn comprised of nested nodes. These nested nodes (you guessed it), also can contain nested nodes.

My question is how do I detected when a nested node belongs to the node above, and isn't a separate nested node? For example:

Node: Objects

Nested Node: Model

Nested Node: Properties60

Nested Node: Property

[Series of data types]

Nested Node: Property

[Series of data types]

Nested Node: [NULL]

Nested Node: [NULL]

End of Objects

In this situation, Model contains within itself another nested node called Properties60, which in turn contains several nested nodes, one for each property. You then have two null Nested Nodes representing the end of that particular node (like a closing bracket I guess).

My question is how do I detect the "opening" bracket? So I know by looking at the above that each "Property" nested node belongs to Properties60 and not to Model, but only because it makes sense to me as a human. How do I automatically detect that? I've tried examining each unicode value for each byte and cannot find a consistent character that is used to denote a change in scope. I've also checked and there doesn't appear to be an end offset value for nested nodes to tell you how big it is like you have with Nodes.

Have I missed something? I would much appreciate any help you can offer as it's the last piece of the puzzle for me :) Without it, I can't reliably tell when, for example, one model definition ends and another begins.

Everything is explained here, in Node Record Format section. Below I’m just rephrasing that document:

The first four bytes are an uint32, the total size (in bytes) of the node.
The next four bytes are an uint32, the total number of properties.
The next four bytes are an uint32, the total size (in bytes) of properties (aka propertieslen).
The next byte is a uint8, the total size (in bytes) of the node name (aka namelen).
Then you have the node name itself.
Then you have the properties.
Then you have the nested list of sub-nodes.
Then you have the final 13 NULL bytes.

So, you know nested subnodes (if any) start at 4 + 4 + 4 + 1 + <namelen> + <propertieslen> bytes from beginning of current node. This is your “opening bracket”.

If you can “read” python, you can also have a look to our FBX addon code, in particular parse_fbx.py and fbx2json.py, that code is fairly simple and short, and illustrate well how to parse binary FBX.


Joining multiple objects removing internal geometry I am fairly new to using Blender and I am having trouble performing a particular operation and could use some guidance. I have been creating complex objects by joining multiple overlapping duplicates of a base object. Say like a flower made out of a bunch petals. The only method I have found to quickly remove all internal geometry is to use a boolean modifier intersect+carve with a larger object such as a cube completely surrounding the object. However carve is no longer available in 2.8 and Bmesh is not producing the desired result.

Is there a different approach I can take to produce the same results?

Below is an example of before and after

With only two objects it is straightforward to do, but with 5+ all overlapping it becomes overwhelming.

Place the objects together where they will connect

Duplicate the outside object and place it on a different layer for later.

[

Join both meshes

Go into edit mode, select the outer mesh as shown above, and hit ctrl-F.  From the drop-down, choose "Intersect (Boolean)." Now the mesh which would be inside the joined mesh is deleted.

Now bring the other object which you moved to a different layer back, and join it to the other object using the Boolean Modifier, as shown above.

Hope that is the answer you needed!


Can't find Weight / Assign controls for Vertex Group I'm looking at the manual for Vertex Groups Panel Controls, here. It's for version 2.78, and I'm running 2.78.

The manual states that I should see "Assign" and "Weight" controls in the Vertex Groups box when a certain group is made active (light blue). Here's a screenshot from the manual:

But I don't see this on my screen. I have made the vertex group active, but I don't see the "Assign" and "Weight."

I'm stuck with no way to hook my armature bones up to my vertices. Please help!

I also have not been able to find the controls for "weight painting." Alt, Shift, Ctrl, etc., in all combinations with W didn't surface weight painting for me.

To be able to assign vertices to vertex groups, you need to be in EDIT mode


How do I install Pillow and/or Pip in Blender Python in Windows OS Folks, I've spent the last couple of days reviewing all the info on this and am getting nowhere fast.  The most recent information I've found is about two years old, so I'm HOPING that things have gotten better in 2.79.

I understand Pillow is a module that doesn't come with Blender's Python (referring thereafter as BP).  I also know you can install modules like Pillow with Pip, but that also doesn't come with BP.  So I downloaded a script that is supposed to install Pip if you run it on the command line (https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip) , which I tried in the BP directory that contains BP executable.  It did not throw an error, but it didn't appear to do anything and BP still reports the Pip module not found (so I obviously can't do something like:

import pip
pip.main(['install', 'pillow'])
from PIL import Image

which says it has no module named Pip.

At this point I'm assuming my only real option is to uninstall BP and install another, recent Python that (I guess) Blender then will default to using.  Is this the recommended procedure?  How do I safely uninstall BP?  And what version of Python for Blender 2.79 should I install?  (I don't want to screw up all my Python stuff, both that comes with Blender, as well as Sensei and the stuff I've written).

TIA for any help.

Okay, I got it to work and in the off chance it might help a fellow (old) person, here's exactly what I had to do.

In the Windows PowerShell I first installed Pip by typing this command in the Python executable directory for Blender:

.\python -m ensurepip --default-pip

Then I downloaded the Pillow wheel file for the version of Python I had (which I found by typing in .\python --version).  I put this file in the same directory as the Python executable (I don't know if I had to do this, but I did anyway).  Then I typed, again, specifically:

.\python -m pip install Pillow

Finally, inside of Blender itself my script did this:

From PIL import image

This worked -- and so I assume now I can use the stuff in the Pillow module (haven't tried that yet, but now I'm a LOT further along and I didn't have to uninstall my Blender Python).


How do I make these PBR roof tiles not flat? I'm trying to model my house using Blender.  I'm stuck with trying to get a realistic tiled roof.  When I follow a tutorial online, I think I'm doing all the correct steps in the Shading area, but it still looks flat in the the Cycles render.
This is the texture I'm trying to use https://texturehaven.com/tex/?t=roof_09
(although I will need to find a better one for my final design!).
But it looks totally flat:

What might I be doing wrong?
Here is my .blend file:  http://files.staging.x-rm.com/nick/house5b.zip

There are 2 different things:

For your normal setup, you need to switch the Image Texture to Non-Color as Christopher says, and the Normal Map to the default Tangent Space (I don't know what's Object Space though):

For your Displacement node. Again switch to Non-Color. Also, you've plugged this node into the Displacement socket of the Output, and you've chosen Surface > Displacement > Displacement & Bump in the material Settings, which means that you want the bump effect but you also want a real displacement effect. The displacement itself acts on real geometry, it can only affect an object that is subidivided enough, otherwise nothing happens. Your roof is just made of one face, so it can't be displaced for real. Therefore for the moment only the bump effect happens (which cumulates with the normal effect, which is ok if this is what you want but it may be redundant. And it will also be redundant with the real displacement):

As you can see here is what it gives if I subdivise enough a plane and give it your setup (I had to decrease the Displacement strength though), not sure the height map is good though, giving the result:


A way to give objects their own lights? Is there a way to assign lights to objects so that the light only lights up that object? I know in other 3D programs you can assign light lists to objects so only that object receives light from the lights on its light list.
thanks!
Rusty

Unfortunately, light groups were removed in Blender 2.8. "Light linking" is a much requested feature but isn't currently supported in Cycles or Eevee.
Here is a video from Blender Conference 2018 with an AMA with Blender developers where they talk about this specific topic. One of the lead developers talks about how there are no "fundamental problems" including it in Blender, but that he mostly discourages its use, instead advising that users test their materials in different lighting environments to avoid having to resort to these kind of edge-cases.
Here is the current developer task about this feature where there is further discussion (and pleading).
There are some alternative ways to do this via compositing that I am looking in to, and will update this post if I find anything viable.


Different keystrokes to hide I noticed that sometimes ctrl-L selects all and sometimes A works instead.  What is the difference between the two?

A will select all geometry.
⎈ CtrlL will select all geometry that is connected to your current selection.
For example, from this state in edit mode:

Pressing A will result in this:

Pressing ⎈ CtrlL will result in this:


modeling with curves (coming from C4D) I'm learning Blender, coming from some basic experience with Cinema 4D. C4D leans heavily on spline-based modeling, and I'm trying to transfer those skills into Blender's curves when appropriate — e.g., revolving a profile to create a vase, or sweeping a curve along another curve to create, say, a molding on a wall.

I'm having trouble understanding the intricacies of curves in Blender, though, and coming up short on documentation and tutorials. Specifically:

The role of normals and how to manipulate them.
Working with Bezier curves feels really cumbersome vs. Illustrator.
But SVG import from Illustrator seems to result in a different sort of curve and lacks normals.
Extruding one curve along another can sometimes result in the sort of artifacts I'd expect from overlapping polygons.
2D vs. 3D curves.

I'm not necessarily looking for answers to each of these, so much as a good, comprehensive intro to curve modeling (and an understanding of how I should shift my philosophy from C4D). Any suggestions?

Thanks!

Generally speaking curves in Blender are kind of a second though. They work but are mainly seen as a helper for animations rigging and other related tasks, rather than actual modelling tools.

I do love using Bezier curves as actual modelling tool, and my daily workflow relies heavily on curve objects for geometry in Blender. It is an unpopular and exotic method, very few people actually use it, and can certainly be very cumbersome in some situations. It lacks features and tools, requires a lot of workarounds and sometimes convoluted workflows for seemingly simplistic tasks, yet when used to your advantage it presents very unique benefits and advantages that totally outweigh its downsides, with some practice you can get a good flow going.

There have been several attempts to improve this area of Blender before but success rates have consistently been poor.

You will find there are no builtin trim/extend/offsets currently (though there are several quite acceptable addons), snapping and precision tools are also scarce, and materials and texturing are limited too.

Importing your curves as SVG/DXF from an application like Illustrator or Inkscape is indeed the best workflow. They will come as regular 2D bezier curves.

Avoid filters and effects or any other curve altering modifiers in those applications that create additional geometry; because they will import as garbage and duplicate vertex you will have to manually clean once in Blender to achieve good results and avoid artifacts.

Imported curves often come with varying scale factors, make sure you apply it before proceeding to avoid problems. After applying scale to a curve always make sure you enter Edit Mode and force-set all vertex radius back to $1# with the Set Curve Radius operator, otherwise it will yield weird results.

There are two main curve types in Blender 2D (constrained to the local XY plane) good for logos, text, and bi-dimensional stuff; and 3D for anything else like wire or tubular structures.

Inside each curve splines can be either Poly, Bezier or NURBS type. Polys are straight-segment only, beziers have handles, and NURBs are fit through control points.


Mesh gets physically distorted when rendering in cycles? As you can see in the image below, the lid on a jam of jar I modeled seems to distort whenever I put the mesh into cycles rendering. Then, when I put it back to material preview, it goes back to normal. Please help me fix this. Thanks! :)

.blend File: https://we.tl/t-B98ueKL8n0

You need to make sure there is nothing plugged into the "Displacement" output of your material shader.
Alternatively you can also disable the true displacement within the material properties, but this might leave the artifacts as a bump.


Is AMD Radeon graphics card supported with Blender 2.90 on Mac? I got started on Blender last September. I bought a Mac 3.8 GHz Intel Core i7 8 cores, 32 GB 2667 MHz DDR4, with AMD Radeon Pro 5500 XT 8 GB graphics card. I am using version 2.90 of Blender and unfortunately with the Cycles render mode, AMD Radeon cards are not supported. The rendering execution time is therefore longer. Do you know if Blender will adjust this in future releases. Do you advise me instead to switch to Windows to have a compatible graphics card.

Preferences > System > Cycles Render Devices and select OpenCL. You can also try AMD ProRender: https://www.amd.com/en/technologies/radeon-prorender-blender


Blender FBX Import messed up So I'm trying to port the Voyager model by Eric Flat from 3DS Max in to Blender. And I've tried looking for a possible fix to this, however I've been unable to find a solution.

When I try to import the model to Blender this happens to it

This doesn't happen with other formats other than the 3DS format either. While I can use an OBJ format, the mesh is a little odd with it. I've tried ALT + G as well as clearing the LOC, ROT, SCALE values.

However the model itself isn't like this in 3DS MAX

I'm not sure why is this happening either, I've also ported another model from MAX using an FBX format, and it imported in to Blender completely fine.

These are my import settings

If anyone knows a way to fix this without changing to another format, I'd greatly appreciate the response.

Blender version: 2.79

The mesh parents were off center, and were fixed by moving them to the 3d cursor. Huge thanks to Pte Jack for figuring this out.


Switch between versions of blender Say you have Blender 2.8 and want to use 2.79 for any reason. For me, it's because I prefer internal render because it's easy to use. What's the best way to switch between different versions of Blender.

What I tried doing was to go to Blender's file location and open one of the version folders, but that didn't work as they didn't contain any separate shortcuts.

.

Assuming you are working with Windows...
With the Windows Explorer visit the directory of Blender 2.8.
Find the Blender.exe (or how it is called under Windows...I am Linux guy...;)
Select that file
Click with the right mouse button it and select "Create shortcut here".
Move the newly created shortcut onto your desktop.
Do the same for the other version of blender.
If you will get an filename conflict, rename Blender.exe to Blender279.exe / Blender280.exe beforhand.


Remove plane while keeping shadows intact I have watched BlenderGuru's camera tracking tutorial and tried to do the same with cycles but i want to remove the base plane which is used for shadows while keep the shadows intact. How can I do it?

BlenderGuru Camera tracking using blender render

Select the plane in object mode, in the properties menu, go to the object subfolder, open up cycles settings and check the shadow catcher box. The plane will now act as a shadow canvas, and i actually suggest making it a bit bigger so that it catches all of the skull's shadow.


How to model vertical cross horizontal lines to become look like torus ? 3D printing I'd like to thank "cegaton" for teach me how to make a texture that looks like a woven strands of metal,

https://blender.stackexchange.com/a/80619/39770

Now I wonder if someone can teach me how to model the below image for preparing for 3D printing

I hope to get the final result as the below ,

My goal to redesign the below ring to print with 3D printer

create a pretty high density torus, (i used 128 and 32 major and minor segments, respectively). You might need to add and apply a 1 level subdivision surface modifier if the density was not high enough (in my case, this was necessary).

Tab into edit mode and select any edge loop, go to the select pop up list and choose "Checker deselect".

Hit Ctrl+E and click "Edge Rings", then Ctrl-click the face select icon, on the bottom left of your screen.

Hit the X key and use the "Faces" option.

Now you'll want to go to the select panel once again and pick the "Random" selection tool, then hit F6 and find a nice percentage (i used 2%) and finally hit X and choose the "Faces" option.

You'll now be making use of the "Random" selection tool for the last time, make sure to use a percentage that works for you (i used 0.5%). Hit Ctrl+L and then X and choose the "faces" option.

If you followed the steps properly so far you should have face loops that follow the shape of a torus with irregularly placed gaps.

Now tab out to Object mode and repeat the process but for the faces perpendicular to the ones you just got.

Select both objects and hit Ctrl+J to join them. Tab into edit mode, select everything using the A key then hit Ctrl+V and choose the "Remove Doubles" option.

Tab back out to Object mode and add a Solidify modifier, followed by a subdivision surface modifier.


pixulated texture of character character in my blender is Low quality

but in the render is:

I want render quality = quality in 3D view

To get the pixelated look in the view port you have to turn off Mipmaps.
That setting is in the user preferences under the System tab.

For a small texture to be rendering like that, both MIP Map and Interpolation bust be unchecked. Those settings are in the texture tab of the properties window.


Snapping mesh together by a point without stretching the object I'm trying to snap two mesh together. One is a cylinder and the other is half a sphere. I aligned the 3d cursor to the bottom center of the cylinder where I want the sphere to attach to. I don't know how to move/snap the flat side of the half sphere to the 3d cursor without stretching the object. If I select the entire sphere the center of the sphere snaps to the 3d cursor, and If i select just the flat face/flat face vertex, the shape gets stretch.

Any advice on how to do this?

On the object you want to move move the origin to the face that should line up with the other object. In Edit Mode select the face and use Snap Cursor to Selected That will move the 3D cursor to the center of the face. Then switch to object mode and do Transform Origin to 3D Cursor.

Next, select the other object and, in Edit Mode, snap the cursor to the face you want to snap to. Exit edit mode, select the previous object (the hemisphere) and do Snap Selection to Cursor.

(The shortcut for the Snap tool is ShiftS


Detect holes on a not flat surface at a set circumference I've got a not flat surface with not regular faces. Is there a way to recognize if there is a hole at a set circumference?

You can take advantage of the fact that holes are also non-manifold to easily identify hole vertices that lie within a given radius from the selected face.

Here's the code:

import bpy, bmesh

radius = 0.5

# Assumes your object is selected and is in edit mode
o  = bpy.data.objects[ bpy.context.object.name ]
bm = bmesh.from_edit_mesh( o.data )

# Assumes you have a single face selected
fCo = bm.select_history[0].calc_center_median() # Location of face center

bpy.ops.mesh.select_all( action = 'DESELECT' )
bpy.ops.mesh.select_mode( type = 'VERT' )
bpy.ops.mesh.select_non_manifold() # Holes are also non-manifold

# Find all hole verts that are closer to the selected face than the radius
verts = [ v for v in bm.verts if v.select and ( fCo - o.matrix_world * v.co ).length < radius ]

if len( verts ) > 0:
    print( "%s hole verts within radius of %s blender units" % ( len( verts ), radius ) )

bpy.ops.mesh.select_all( action = 'DESELECT' )
for v in verts:
    v.select = True

bm.select_flush( True )


How to copy keyframes from one object to another? I would like to know how I can copy keyframes or better a complete Animation to another object, so both objects have the same Animation.

Select the non animated object, Hold down Shift And select the animated one, then Ctrl + L >> Animation Data.

Hope that helps.

Good Luck


How do I construct a transformation matrix from 3 vertices? A question came up in IRC where a fellow wanted to calculate a position/orientation matrix based on 3 points.

Let's say that v1 should be the origin of the local coordinate space.  The line from v1 to v2 should be the X axis, and v1,v2,v3 should all be in the XY plane.  How do we use blender python to calculate a matrix usable as an object's transform matrix?

The following python code from orientation-matrix.py illustrates how to convert 3 coordinates into a transformation matrix:

import bpy
from mathutils import *

def make_matrix(v1, v2, v3):
    a = v2-v1
    b = v3-v1

    c = a.cross(b)
    if c.magnitude>0:
        c = c.normalized()
    else:
        raise BaseException("A B C are colinear")

    b2 = c.cross(a).normalized()
    a2 = a.normalized()
    m = Matrix([a2, b2, c]).transposed()
    s = a.magnitude
    m = Matrix.Translation(v1) * Matrix.Scale(s,4) * m.to_4x4()

    return m

#

obj = bpy.context.active_object
obj.matrix_world = make_matrix(Vector([1,1,1]), Vector([1,2.5,1]), Vector([0.5,1,1.5]) )

The Matrix.Scale is just thrown in for completeness and you can leave it out if you are content with scale=1.  The order of the matrices in that multiplication is pretty important (I did not get it perfect on the first try).


Need help with animating textures using AnimAll (texture moving is somehow visible during animation) I'm trying to animate eye blinking with help from this tutorial:

Animating eye texture in a head mesh

and while doing everything the tut mentions, the outcome somehow doesn't look good. The problem is that the texture moving is visible in animation, as shown on this screen:

Anyone knows how to solve this? D:

By default blender will use Bezier interpolation mode between keyframes, creating a smooth transition from one keyframe to the next.

In this case you want no interpolation, you need the placement to remain constant and then make a sudden change from one keyframe to the next.

In the dope sheet editor (or the graph editor), select all of the keyframes for the texture and set Interpolation Mode to constant (the shortcut for interpolation menu is T):


How do I get rid of the extra faces created when extruding inwards? I'm using Blender 2.81a on MacOS.

I am modelling the 'rook' chess piece, and I want to give it the tower shape with cuts in it. When I select the faces and extrude them down, it makes a hollow shape with the edges, vertices and faces still intact.
How do I get rid of these extra faces?

I came across the boolean modifier as a solution but is there any other tool/process that I am unaware of.

↑ My state

↑ Desired shape (tower with cuts)

Answer (April 2020)
This feature has just been added to Blender.
It will be available from version 2.90 (https://builder.blender.org/download/)).
It's called "Extrude Manifold" and is located in the toolbox T, under the "Extrude" dropdown, or by pressing Alt+E.

↑ Here I'm using Face select mode (3) but it works in vertex select too

Old answer (January 2020)
You are expecting Extrude to work in the "Destructive" or "Push" mode,1 i.e to be able to remove faces (and portions of them) as well as creating them. Unfortunately, Blender's Extrude doesn't currently offer that mode of operation.
For older versions of Blender, namely 2.79, there is a free user-contributed add-on that does that: Destructive Extrude for Blender, but it hasn't been updated for Blender 2.8x.
To model a mesh like the one you're after, you luckily have a very easy alternative: instead of extruding inwards, extrude outwards!

1. Using terminology from the Blender addon and from SketchUp respectively.


cant select object in LAYOUT this is happen coz after using sculupting,, then i cant select object what i want it...

but if im in tab Modelling and sculputing this is work...

It looks like you have overlays turned off. You can turn them back on in the top right corner of the viewport, next to the Viewport Shading menu. Hope this helps!


How can I render an object with an hdr background? I have an object with an hdr for the background. What do I do in Cycles to render the background with my object?

How is this different from an ordinary render in Cycles?

The hdr is a big one, 350MB.

There are a few pieces to make this work. Note that there are a few differences on how this works in 2.7x and 2.8x versions.

First Step:

In the world section, set the surface to Background and the Color to use Environment Texture.

Then select the HDRI image you want to use.

For version 2.8x the world section is here:

Once the image is loaded enable Scene World in the viewport shading. Otherwise blender will use an HDR image that is "built in".

For 2.7x
To view the image in the 3d viewport enable Display> World Background.

Usually HDRi images use an Equirectangular Projection. Think of it a as a huge sphere that completely surrounds the scene.

Note that the Background can only be displayed in perspective view, it will not be on orthogonal view.

The HDRi not only becomes the background for the scene, but is also used to light the scene. Every pixel of the HDR image contributes to the lighting of the scene. That is why the results of lighting wiht an image resemble the real world, where light acts in very complex ways.

The intensity of the illumination of the scene can be controlled by making the image brighter or darker with the Strength value on the world settings.

To render the HDRi in the background of the scene
disable>Film>Transparent.

The rendered image will be lit bythe HDR image and use that same image as the background of your scene.

If you want to use the HDRi to light the scene, but want a transparent background to be composited later with the background, or want to blur the HDR or maybe replace the background all together, then enable film transparent and enable the Environment output for the render layers, and use it as a different element in the compositor.

For 2.8 enable the Environment pass for the View Layer

To change the placement for the background

In the World section of the Shader Editor add a Texture Coordinate node and a Mapping node to control the placement of the Environment texture. By changing the rotation on the mapping node you can place the HDR where you need it.

For 2.8x:

For 2.7x


vertices generated by script not placed correctly on the left you see what my code creates. on the right is what my code should create (number of objects is not important).

it seems to be aligning the vertices, or my code is just wrong.

import bpy
import pprint
import math
import mathutils
from mathutils import Vector

iterations = 160

pi = math.pi

# angle = radian / numbers of objects
a = (pi*2) / iterations

r = 2.5     # radius
t = 0.5     # thickness
d = 0.5     # depth

for steps in range(iterations):

    x1 = math.sin(a*steps)*r
    x2 = math.sin(a * (1 + steps))*r
    y1 = math.cos(a*steps)*(r-t)
    y2 = math.cos(a*steps)*r
    z1 = d
    z2 = 0

#   top of box (z1)
#   x1  x2
#   1---0 y2
#   |   |
#   2---3 y1

#   bottom of box (z2)
#   x1  x2
#   5---4 y2
#   |   |
#   6---7 y1

    # vertices
    v0 = (x2,y2,z1)
    v1 = (x1,y2,z1)
    v2 = (x1,y1,z1)
    v3 = (x2,y1,z1)
    v4 = (x2,y2,z2)
    v5 = (x1,y2,z2)
    v6 = (x1,y1,z2)
    v7 = (x2,y1,z2)

    verts = (v0,v1,v2,v3,v4,v5,v6,v7)

    faces = ((0,1,2,3),     # top
            (4,5,6,7),      # bottom
            (0,3,7,4),      # right
            (5,6,2,1),      # left
            (3,2,6,7),      # front
            (0,1,5,4))      # back

    origin = Vector((0,0,0))

    # Create mesh and object
    mesh = bpy.data.meshes.new("box"+str(steps))
    ob = bpy.data.objects.new("concentricbox"+str(steps), mesh)
    ob.location = origin

    # Link object to scene and make active
    scn = bpy.context.scene
    scn.objects.link(ob)
    scn.objects.active = ob
    ob.select = True

    # Create mesh from given verts, faces.
    mesh.from_pydata(verts, [], faces)
    # Update mesh with new data
    mesh.update()

this:

x1 = math.sin(a*steps)*r
x2 = math.sin(a * (1 + steps))*r
y1 = math.cos(a*steps)*(r-t)
y2 = math.cos(a*steps)*r
z1 = d
z2 = 0

# vertices
v0 = (x2,y2,z1)
v1 = (x1,y2,z1)
v2 = (x1,y1,z1)
v3 = (x2,y1,z1)
v4 = (x2,y2,z2)
v5 = (x1,y2,z2)
v6 = (x1,y1,z2)
v7 = (x2,y1,z2)

needed to be changed to this:

x0 = math.sin(a*(steps+1))*r
x1 = math.sin(a*steps)*r
x2 = math.sin(a*steps)*(r-t)
x3 = math.sin(a*(steps+1))*(r-t)

y0 = math.cos(a*(steps+1))*r
y1 = math.cos(a*steps)*r
y2 = math.cos(a*steps)*(r-t)
y3 = math.cos(a*(steps+1))*(r-t)

z1 = d
z2 = 0

# vertices
v0 = (x0,y0,z1)
v1 = (x1,y1,z1)
v2 = (x2,y2,z1)
v3 = (x3,y3,z1)
v4 = (x0,y0,z2)
v5 = (x1,y1,z2)
v6 = (x2,y2,z2)
v7 = (x3,y3,z2)

the code is not quite right. Here 2 variants :

1. if you need cubes (separated) as it seams from your example

for this you need 4 verts for current section and 4 more verts that are really the next section, same but steps + 1 (0 at the end)

so the part of the code changed would be:

for steps in range(iterations):
    # this is the next iteration
    step2 = (steps + 1) if steps < iterations else 0

    # this section
    x1 = math.sin(a * steps)*r
    x2 = math.sin(a * steps)*(r-t)
    y1 = math.cos(a * steps)*r
    y2 = math.cos(a * steps)*(r-t)
    z1 = d
    z2 = 0
    # next section
    x3 = math.sin(a * step2)*(r-t)
    x4 = math.sin(a * step2)*r
    y3 = math.cos(a * step2)*(r-t)
    y4 = math.cos(a * step2)*r

    # cube
    v0 = (x1,y1,z1)    # out
    v1 = (x2,y2,z1)    # in
    v2 = (x3,y3,z1)    # in next
    v3 = (x4,y4,z1)    # out next
    v4 = (x1,y1,z2)    # same for z2 ...
    v5 = (x2,y2,z2)
    v6 = (x3,y3,z2)
    v7 = (x4,y4,z2)

    verts = (v0,v1,v2,v3,v4,v5,v6,v7)

    faces = [
        (0,1,2,3),      # top
        (7,6,5,4),      # bottom
        (0,3,7,4),      # right
        (5,6,2,1),      # left
        (3,2,6,7),      # front
        (1,0,4,5)]      # back    #flipped to get the right normal

the rest is the same

2. if you use a continuous mesh (like a torus) in case that works too

the principle is the same, but you use only the 4 verts and in the faces include the next iteration (0 at the end).
Also, can generate all face index at once realy, but that is not the issue here

so the part of the code changed would be:

for steps in range(iterations):

    #### vectors

    x1 = math.sin(a * steps)*(r-t)
    x2 = math.sin(a * steps)*r
    y1 = math.cos(a * steps)*(r-t)
    y2 = math.cos(a * steps)*r
    z1 = d
    z2 = 0

    # rings
    v0 = (x1,y1,z1) # top in
    v1 = (x2,y2,z1) # top out
    v2 = (x2,y2,z2) # bottom out
    v3 = (x1,y1,z2) # bottom in

    verts.extend( [v0,v1,v2,v3] )

    #### polys

    thisStep = steps * 4
    nextStep = ((steps + 1) % iterations) * 4

    polys = [
    (thisStep + 0, nextStep + 0, nextStep + 1, thisStep + 1),   # top
    (thisStep + 1, nextStep + 1, nextStep + 2, thisStep + 2),   # out
    (thisStep + 2, nextStep + 2, nextStep + 3, thisStep + 3),   # bottom
    (thisStep + 3, nextStep + 3, nextStep + 0, thisStep + 0),   # bottom
            ]

    faces.extend( polys )

here you would generate a single object and just set the verts/faces on it

well, for the sake of example :)


2.8 Adaptive Subdivision How can I enable adaptive subdivision in Blender 2.8? I have a noise texture plugged into the displacement output for a material, with the displacement method set to Displacement Only. There is no "adaptive" option for my subdivision surface modifier, however, when I increase the subdivision levels manually, the mesh is displaced in the rendered view.

I am rendering with cycles with the 2.8 beta version downloaded today.

Here are the steps:

Select Cycles for Render Engine
Select Experimental for Feature Set
Select Dicing Rate and Preview count in Subdivision drop down
Select Subdivision Modifier from Modifiers tab but do not apply it
Check Adaptive check box and choose dicing scale
Done!

I hope that helps