How can I make tight clothes that squeezes the body? Clothes like ripped leggings or similar will squeeze the legs and make some of the body poke out the holes. When she's no longer wearing the socks or whatever, I want the leg to return to normal. What's the best way to do this?

Here's an example with thigh-highs:

ok, lets imagine you want to make a tight boot.

cover the leg with a cube. use some loopcut and slide to give it a siluette of the boot. now use a boolean modifier at the cube - operation intersect and chose the skin of your char as object.
this will cut away anything from your simplyfied boot that doesnt look like a leg for example, but you will not have a closed surface.

after that, you put a shrinkwrap modifier on the boot. this will lift the surface of the boot above the  skin. target is skin, mode nearest surface and keep above surface yes. this is important! now, here is a little trick. with offset you tell, how far the surface is away from the leg. 0.01 does a pretty good job, but the trick is even though only two digits behind the  point are shown, values like 0.005 and 0.001 can be used which makes it realy tight.. now you only need a shapekey at the leg and tada. job done.

there are two problems.
1. i am not sure if you can use uv maps
2. whenever another part of your skin passes the area of the boot, it will be covered by the boot two. maybe you can solve this when you first copy and aply the boolean and than cop and aply the shrinkwrap with an offset of .03 or .04. this creates a tighter boot than your simplyfied version. parent it on the armature of your char if you want to move the legs and than let the copy of the boolean and the shrinkwrap do the job.

play around a little. first the boolean than the shrinkwrap.


cloud generator add-on with cycles I'm trying to have a helicopter flying above some clouds. The most elegant way to create clouds that I've seen is using the cloud generator add-on that comes included with blender. When rendering with BI, it works just fine, but in cycles all I can see is the original mesh/bounding box. I've messed around with some volume materials, but I can't figure it out.

What materials should I use? Which objects should I apply them to? I've read in several forums that cycles doesn't support some critical volume-related feature that the add-on used, but they were all old, and I think the features have been implemented since then.

What I've tried to do so far is replace the material that the add-on creates automatically with this cycles "equivalent":but it still doesn't work right. I just see a cube with a sphere inside of it:

I specifically want to use this add-on, not an alternative way to create clouds

The point density that this addon needs to create the clouds volume is now only supported in the Gooseberry branch: Point Density Cycles

Without point density you need to model/sculpt those clouds yourself.

Edit: As the Point Density texture is in trunk now, it is reflected in this answer:

Is there an easy way to make volumetric clouds for Cycles?


switching between layouts Blender 2.8 (Mac laptop) I am new in Blender. I realise that I can not switch between layouts in B2.8 I am following the shortcut ctrl+pageup and can not make it work out. It might be cause I do not have a pageup button. Did anyone experienced this?

Thanks a lot

Go under preferences
select input
then under keyboard select emulate keyboard


Converting program specific functions to Blender in python I'm sorry the title is vague, but I couldn't come up with a summary of my problem.
I am trying to convert a script made for a model viewing tool called Noesis to Blender. I'm stuck on some Noesis specific functions and need guidance.
Now this is the specific line that I am stuck on:
boneMat = NoeMat44.fromBytes(bs.readBytes(0x40)).toMat43()
I have already made a function for bs.readBytes(). I have printed out various values. From what I know, this function is making a vector 44 and converting it to a vector 43, I'll show some values that I have printed out from the original script.
These are the bytes that are from bs.readBytes(0x40):
b'\x00\x00\x80?
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80?
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80?
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80?'

Somehow, they get converted to this vector:
((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0), (0.0, 0.0, 0.0))
I imagine this would be linked to bone matrices in Blender as that is what they are called in Noesis.

I'm not sure why your bytes code became split into lines. I think this is stackexchange, but if this is done by bs.readBytes(0x40) you need to concatenate all lines before you will be able to decode them into floats. Decoding can be done with built-in memoryview() method or with built-in struct module, like  struct.unpack('f', bs.readBytes(0x40)). After that you can arrange floats into tuples. For example like this (consider bs.readBytes(0x40) doesn't split result into lines):
# readBytes_result = bs.readBytes(0x40)
def readBytes_to_vector(readBytes_result):
    bytes_to_floats = memoryview(readBytes_result).cast('f')
    counter = 0
    axis = []
    my_floats = []
    for fl in bytes_to_floats:
        axis.append(fl)
        counter+=1
        if counter == 4:
            counter=0
            my_floats.append(tuple(axis))
            axis = []
    return tuple(my_floats)

I prefer to use memoryview instead of struct because though it returns its own "memoryview object" instead of sequence of values (which is not always very handy) it is faster, especially when you need to handle large bytes arrays, like pixel data for example.


2.78 broke all of my files' texture rendering My first time posting here. I have a whole bunch of files, all of them are set up pretty similarly, with the only difference between them being a cube size and the texture applied to it. Anyway, the files work fine in 2.76 and before, but are borken in 2.78 and later.

None of the settings have changed, and I can't figure out from the patch notes what may have changed that would just break everything like that.

The probelm really shows up on render; I use Cycles render, same as before, and it just renders everything as gray. Having rendered all of these files several times on 2.76 I know that the lights and such are as I want them. And, if I reinstall 2.76, everything works normally again, same files.

Here is a sample file linked below, and I'm also posting what the image actually looks like in 2.77a. I would be EVER-SO-GRATEFUL if anyone can help me figure this out.

Lighting Rig:

Properly rendered:

Rendering in 2.79a:

Lighting:

The real issue is that the subdivision surface modifier on the main plane is set to a different value between preview and render:

Additionally, the way Dupvertex interprets object scaling has been changed in 2.79. The best way to move forward is to scale the 'pixel' cube into a square and then apply the scale with Ctrl+A:

Finally, adjust the bevel modifier to get the right amount of bevel again.


how to? pivot editor camera around object How do you rotate around an object with the editor camera instead of orbiting around the center of the scene (middle mouse button).

Numpad-. makes the selected objects the center of rotation.

If this is not a duplicate question, I will be surprised.


Cant export correctly from blender to unity because of the mirror modyfier I've been working on my own game in unity and I modelled some cars in blender. I tried to export it without applied modyfiers and unjoined objects and it worked just fine. But when I applied the mirror modyfier and joined the parts of every cars together, its not exported correctly to unity. Is there something I can do?

From the appearance of the backwards car in unity, I would say your normals are oriented backwards and thus only viewing faces from the inside causes them to appear. Recalculate the normals outside.


How to align (rotate) mesh by 2 verticles? I have a complex mesh. I need rotate mesh along some axis (x,y,z never mind) to line-up 2 points of this mesh. I don't need align points (S,Z,0), i need align mesh. Of course i can move pivot to vertex 1 and visually rotate until vertex 2 will be on my desired axe. But i want to keep original pivot and precisely rotate mesh.
See the picture.

TeeTrinker is right: have you tried using the 3D cursor as the "Transform Pivot Point"? Snapping to other geometry does not work in this mode, so if you need absolute precision, I would recommend an add-on like Mesh Align Plus. It has many alignment options, but the one you are looking for in it is "Quick Align Lines". Keep in mind there are far more advanced options that may save you time later on.

Using Mesh Align Plus add-on, here's what I did to achieve the rotation you described:

Create a new plane mesh object with a side aligned to the final upright green line orientation you showed in your image.
Select this new plane, entered Edit Mode, select the edge
representing the green line, Mesh Align Plus>Quick Align Lines>Grab
Destination. Exit Edit Mode.
Select your plane you want to rotate.
Enter Edit mode. Select vertex 1 and vertex 2 like you show in your picture. Exit Edit Mode. Mesh
Align Plus>Quick Align Lines>Apply to: "Object".


Combine Texture Paint With Normal Map From MultiRes Bake I have a Texture Painted Model that still has a MultiRes modifier active, and a normal map I baked from the multires. I'm trying to find a way to keep my texture painting and also incorporate my normal map.

So far my attempts have resulted in having one texture or the other (when "Use Nodes" is not selected in the material node window); see below:

When "Use Nodes" is selected with just about any combination of input and output connections I can think of, I just get a non-shaded figure like so:

What I want my model to look like is shown below:

Any ideas where I'm going wrong?

Turns out you simply need to make sure you apply a few options under the texture tab for the normal map image. With your normal map highlighted under "Texture," in "Image Sampling" make sure you check "Normal Map" and select "Tangent." Under "Influence" make sure "Color" is deselected and "Normal" is checked.


How can I change an objects settings to render correctly when using the blender renderer I am sorry if this turns out to be a really basic answer. I have tried google searching the problem, as well as search through the first 3 pages of results here, but no dice.

Here is the situation, I downloaded model from blendswap to append to a model of mine. My model was set up to use with blender's rendering system, the blendswap file on the other hand uses the cycles render. When using the blender render, these objects are transparent and prevent objects behind them from being rendered as well.

So, as a restatement of my question, how can I change an objects settings to render correctly when using the blender renderer, instead of exclusively the cycles renderer.

Thanks in advance

Cycles Materials aren't compatible with Blender internal renderer engine, so you'll have to create new materials.


How to unparent children and keep them (where they are)? So, I don't really know how to formulate the problem to begin with, so here's a picture. The object in the middle is child of the two circles, with instancing set to vertices. How can I unparent the objects and keep the ones on the vertices where they are?

TIA

Select the circles, go to Object > Apply > Make Instances Real or press F3 and type "Make instances real"


selective color correction I am trying to change the colors of an image texture separately but I can't figure out how to do this.
Every color correction I make results in a color change for the other color as well.

What can I do to change for example the greens to blue and Reds to yellow?

Also, is it possible to do this for an image containing 3-4 different colors?

For simple channel switching, use the separate RGB node. That will give you access to individual channels.

To turn green into blue, and blue into green, just switch the channels so that the the green channel output goes to the blue input of a Combine RGB node, and the blue channel goes to the green input.

(click on the image to display in full screen)

Colors that have values in more than one channel will of course be affected.

For more selective changes you need to do some channel math and use masks to limit the transformation ...

To turn yellow into red:

Yellow is composed of green and red, so add those channels (using a mix RGB will allow you to choose the right amount of each channel information), then subtract blue channel, and plug the result to a color ramp to further isolate tones. The idea is to generate a black and white image (a mask) that contains only the area of the color range that you want to affect.

Use the mask, to combine other colors in an RGB mix node. This is done by plugging the output of the channel processing to the Fac input of a color mix node. This example shows how the isolated yellow square mask is used to add red just to that section, without affecting other colors:

A slightly different approach would be to use the mask to affect the original image through a Hue Saturation Value node. The mask should be plugged to the Fac input of the node. Again, changes on the HSV values would only affect the area determined by the mask.

To do several corrections, create multiple masks and use them to mix other colors or control HSV adjustments.  As an example: yellow turned into red, green into blue and blue into green.

The compositor has more intuitive and powerful tools to do selective shifts using the Color>Hue Correct node.

In Hue mode you can select a narrow band of color and turn it into a different hue.


Trying to get solid physics working coherently I'm trying to make an animation of photos falling onto a surface for an intro. To do this I created a large plane (the ground) which I set to passive mode, then created 28 smaller planes, arranged them via randomizing (and a little hand moving).
Here is the file with my test so far
Finally I try to apply active rigid body physics to one of the planes and copy it to all of them. My problem is that I can't get any coherent output from this.
At first, the single first plane (plane.001 on the file linked) fell through the floor plane. I did a lot of tests including solidifying the floor plane, etc. Until finally I changed the shape of the falling plane to mesh, and it started working.
So I notice this test plane bounces around for a very long time, and I wanted a short bounce, so I tried setting bounciness but it did nothing. Eventually I settled on setting Damping translation and Rotation in Dynamics to a pretty high set of values (0.816 and 0.809). This seemed to achieve a shorter more "realistic" bounce around. So I copied the rigid body settings to all other planes ("copy rigid body settings") and... a couple planes (I think plane.005 and plane.012) fell through the "floor"...
Doing a lot of tests I eventually found that if I changed the Dampening Translation for those two planes a tad (one mouse pull) they stopped falling through.
Now the problem is that the end result was pretty "unrealistic", a few planes ended up resting in "air", a few planes ended up in various hard rotations (I expect them all to end flat on the floor plane), and one danced around with no end, bouncing back and forth.
More tests later I find that if I change the Shape to Convex Hull, all the planes but TWO (Plane.025 and Plane.026) fall through the floor. But those two planes, behave exactly as I want them to.. I tried changing the Dampening Translation a little for some other of the planes as a test, but they still fall through the floor... How can I stop all the planes from falling through? And have them all act "rationally" like Plane.025 and Plane.026?
How many things am I doing wrong? And which ones? :)

Sometimes rigid bodies are really tricky, changing the size of the hole scene is sometimes the solution. You could also try the same scene with soft and collision bodies, if they are photos, it would be more accurate since they have to bend a little bit.


converting blender internal to cycles material with the reference link

Addon

I have download and installed the addon but its not working with my material. After clicking or converting to cycles I did not get the same result. Its just having diffuse material nothing else. As seen in the Blender internal it not having the same result similar in cycles.

The addon don't seems to convert textures for now. These options mentioned in the wiki ("check "Extract Alpha Textures" and "Extract Procedural Textures" respectively") have been disabled in the script, probably because they are not finished yet (the addon is still in Beta).

You can easily do a manual bake of the Color and Normal and recreate a simple Cycles material with those two maps.


How to find the UV vertex count? is there a script to do so? While unwrapping for Unity 3D game development "UV vertex" count is an important aspect.

I was reading this GPU: Optimizing Model Geometry
It says "Try to keep the number of UV mapping seams and hard edges (doubled-up vertices) as low as possible"

ie. Every time i create a seam or split UV i double that many nulber of UV vertices. If so ...

How do i find out what is the total and individual object UV vertex count in Blender ?

Is there a script to find UV vertex count?

This is a little rushed, and I still need to test it a little bit more, but it seems to return the correct number of UV vertices for simple meshes. UV unwrap your mesh and run this script in object mode:

import bpy
from collections import defaultdict

mesh=bpy.context.active_object.data

uv_layer = mesh.uv_layers[0].data
verts=defaultdict(list)
loc=defaultdict(list)
count=0

for p in mesh.polygons:
    for l in p.loop_indices:
        index = mesh.loops[l].vertex_index
        uv = uv_layer[l].uv
        co = mesh.vertices[index].co
        if (len(verts[index]) == 0):

            verts[index].append(round(uv.x,2))
            verts[index].append(round(uv.y,2))

            loc[index].append(round(co.x,2))
            loc[index].append(round(co.y,2))
            loc[index].append(round(co.z,2))

            count+=1
        else:
            uvs=verts[index]
            if(uv.x!=uvs[0] or uv.y!=uvs[1]):
                nIndex=len(verts.keys())

                while(len(verts[nIndex])>0):
                    nIndex+=1

                verts[nIndex].append(round(uv.x,2))
                verts[nIndex].append(round(uv.y,2))

                loc[nIndex].append(round(co.x,2))
                loc[nIndex].append(round(co.y,2))
                loc[nIndex].append(round(co.z,2))
                count+=1

uvco=[]

for f, b in zip(verts.items(), loc.items()):
    uvs1 = f[1]
    locs1 = b[1]

    for j, k in zip(verts.items(), loc.items()):
        uvs2 = j[1]
        locs2 = k[1]

        if (uvs1[0] == uvs2[0] and uvs1[1] == uvs2[1] and locs1[0] == locs2[0] and locs1[1] == locs2[1] and locs1[2] == locs2[2]):
            uvco.append((uvs1[0],uvs1[1],locs1[0],locs1[1],locs1[2]))

duplicatesStripped = set(tuple(i) for i in uvco)

print("Unique UV/Vertex coordinates: %s\n" %  duplicatesStripped)

print("There are %d UV vertices" % len(duplicatesStripped))

It's a little bit very messy, but I have to go to lunch now, I'll continue testing it when I get back


Random vertices attached to mesh? I have been noticing this happen occasionally; I'll see a random point/vertex detached or close to my mesh that is connected to the mesh(far left orange dot). If I delete it, it will erase my mesh and if I want to manipulate the object, it totally starts to deform/mess with it as shown below. Anyone else have this issue/ know why this is happening? It's probably a newbie mistake but can't seem to understand.
Thank you!

Isn't it the origin of your mesh?

If you want to put it in the centre of your mesh, in Object Mode press Ctrl  +  Shift +  Alt +  C and select Origin to Geometry.


How to append many objects without appending materials Is there any option, to append many objects without appending their materials?

Example: I have scene1.blend with cube object and wood material.
I append cube with wood to scene2.blend, where there also is cube and wood material.

Blender logically creates cube.001 and wood.001, but I don't want wood.001, I need Blender to use the existing wood material instead of creating a new copy.

I'm talking about thousands of objects and hundreds materials. For example now I have natural wood.## ... natural wood.017 and all are exactly the same, and I have few dozens of materials like this multiplied by 17 object copies.

My English is not very good and this is problem little bit hard to explain, so I hope you understand what I mean.

After importing the objects you can use a python script to remove the use of duplicate materials. As each duplicate gets a numeric extension we can test whether the material without the extension exists and use it if it does exist.

import bpy

mat_list = bpy.data.materials

for o in bpy.data.objects:
    for s in o.material_slots:
        if s.material.name[-3:].isnumeric():
            # the last 3 characters are numbers
            if s.material.name[:-4] in mat_list:
                # there is a material without the numeric extension so use it
                s.material = mat_list[s.material.name[:-4]]


Making three vertices symmetric without moving middle vertex I'm making a shoe. It should have parts that are symmetric, and parts that are not symmetric so mirror modifier is not a good solution. I would like to make three vertices connected with 2 edges exactly symmetric with center of symmetry in the middle vertex. That middle vertex is exactly where it's supposed to be, and I want it to remain in the exact place.
What workflow could I use to make one of the vertices to be exact mirror of the second one?

You can use snap to symmetry feature.
Select vertexes that you want to move in mirrored position. Then in menu choose Mesh -> Snap to Symmetry.
Then you need to adjust threshold using Adjust last operation (F9 or panel in bottom right corner)
Optionally, you can edit factor, to define what vertexes you want to move.

Then you can use X-mirror option to keep this vertexes in sync. This setting is located in 3 places:


When to use Conformal vs Angle Based when UV unwrapping? When should you use the conformal method verses the defualt angle based method when UV unwrapping? What difference do they make?

Angle Based unwrapping gives a good 2d representation of a mesh while Conformal usually gives a less accurate UV mapping than Angle Based, but works better for simpler objects. (src)
From experience I use a mixture of both depending on how complicated the mesh is, Angle Based tends to give better results in general.


How do I disable negative scaling? By default blender allows you to scale past 0 - how do I prevent this?

i.e. it's common in other 3D modelling software to resize a set of vertices against an axis to align them - however this isn't possible when negative scaling is enabled.

As far as I know this isn't possible, use the keyboard input instead.

After pressing S for scaling use the keyboard to enter 0 (zero) to perfectly align geometry and optionaly choose an axis of alignment by pressing either X Y or Z.


Exporting 3D objects with transparency I use Blender 2.82, and I use the principled B.S.D.F.
How do I export a 3D object with transparent textures? Like glass and stuff.
Making the obj, fbx, and files like that.
The rest of it works fine, like the lights, the height, normal map, textures, etc.

I look in the 3D viewer, there's no transparent textures.

What nodes I'm using in Blender

How the image looks in Blender

How the image looks in the 3D viewer

Use gltf/glb exporter to export with transparency .

The opacity alpha has to be in color image. (Check the documentation for correct export settings and node setup)

gltf format supports :

Color + alpha
Metallic + Roughness + AO
Normal Map

all other maps will be ignored


How can I import models from Anim8or into Blender? I am using Blender since I never liked the camera angle in Anim8or. I recently picked up Blender and would like to use the wireframe model I had previously made.

I have searched for a way to move models from Anim8or to Blender but nothing so far. Is there a workflow for this or something that I am missing?

Transferring data is just a matter of finding a format that both programs can use. Some formats have better support for some features than others (like materials, animations, and armatures).

It would appear that Anim8or can export in 3DS and OBJ - both can be imported into Blender, menu File -> Import -> 3D Studio (.3ds) or menu File -> Import -> Wavefront (.obj).

Both import addons should be enabled in Blender by default, but if they aren't, open the User Preferences and look under addons to enable them.

I would export in both formats and see which one gives a better result in Blender. I would also expect that the mesh would transfer OK, but then expect to do some manual work to re-make the textures in Blender.


Model is almost black at some angles. I've been trying to create a simply low-poly cat model, but I've run into an issue. When I try to rotate around my model, it appears black at some angles, which makes modelling difficult. Here are screenshots to show what I mean:

Cat from diagonal angle. The whole body of the cat is black. This also occurs from other angles, this is just one example.

Cat from side view. Faces are clear, but the cats feet appear to be a brighter shade of grey than the rest its body.

I'm fairly new to Blender so maybe I'm making a rookie mistake, I'm not sure. I've tried adding in lighting it doesn't seem to have an effect on the model, only when I set the scene to "Render" mode. Any help would be appreciated!

Your normals are flipped, which essentially means your mesh is inside out! In edit mode, go to Mesh > Normals and flip normals. Recalculate outside sometimes works better if you have some right and some wrong.


How to apply image texture and material color together? Is it possible to apply both material color and image texture together? how?

In this example the color of the cilinder is set to green, the applied devil texture has an influence below 1.0 (i.e. 0.793). The geometry normal slider controls the 3D bump effect of the texture.
In the bottom part of the influence tab you can choose the blend mode of the texture (i.e. I leaved it on the default value: "mix").


I have this black line that can't be pressed on and not connected to anything, and I don't know how to remove it I have no idea how to remove it , or if it will affect the project.
help, thanks T.T

Press TAB to exit from Edit Mode to Object Mode. click on the line to select the object containing it. Press TAB again to edit the mesh. Make sure the Edge Select mode is enabled:  - now click on the edge, press X (or DEL) for deletion and choose "Edges".


How to achieve a plain and clean UV edge export ? When I export my UV layout, I get the UV layout with faces shaded so to say (fig 2). Is there a way to get a pure edges export without faces being shaded (fig 1)  ?

When you export the UV layout you have options on the left of the file browser. You need to set the Fill Opacity to '0':


Raycast from outside a model to delete all inside faces? I'm working on a Lego project where I build models out of Lego bricks in LDD and then import them into Blender via various hoops - inside Blender I then optimize them before loading them into Unity for a small game.

The problem is that Lego has so much geometry inside a big model, because it consists of many small bricks that all have studs and at least 6 sides.

I'm thinking that there must be some kind of tool that can raycast all around outside the model and then delete/group/select all internal faces. Do any of you know of such a tool or where to find more information on this subject? Even just a more correct term would be helpful for my google ventures :)

Thank you! <3

One trick I used in 3ds max once, was to bake a tiny AO map.  Auto uvif you can.  Or maybe can vertex color as well.

But basically whatever faces were totally black, I then selected / deleted. Since we're then basically fully hidden from view.


How can I edit keyframes for shader nodes easily? I am still pretty new to blender and I would like to animate some shading factors over time with keyframes. I was able to do that, but I can not find a representation of the keyframes in a timeline in a single view.

I got a hint here:
How can I make a mesh glow over time with keyframes?

Somehow my search within the Graph Editor does not work:
I would like to edit the purple nodes:

With this graph it is impossible to
1. drag the selected keyframes alltogether
2. It is very annoying to have some many other keyframes

What I thought I could do:
Search in the search bar for tire to limit the view.

But somehow it does not find anything.

I would be super happy to hear your thoughts on how I could sucessfully edit the keyframes for one specific shader node. (Fac)
And also if it is possible to drag more than one keyframe after box selecting them.

Thank you in advance.

I think you have a filtering option unselected. If you have "Only Selected" enabled, then only the selected objects keyframes will appear.

You can then filter down within the object by toggling the visibility (eyes) as per below:

Finally after box selecting the keyframes, just press G and move them all. You can also restrict to the X&Y planes as per normal, e.g. G + Y.


how i make this texture to have rotation but with a large scale at the same time? this procedural texture i scale it at 40 k in one axis, but if i try the rotation like for 45 deg or so in that same mapping node it doesn't get affected how i want, it doesnt rotate the whole texture, so how can i make the nodes to work to have a rotation and scale like that? thanks in advance]1

So after playing around with math and vertor math for some reason it gives interesting effects but not what i was looking for, so i found the solution after someone above in the comments give me an idea which was quite the solution, i just had to invert the mapping node inputs and then it worked


Baking Simulations in Blender 2.91.2 I've just installed 2.91.2, and I can't find the "bake" button for smoke sims.  In previous versions, it was in Physics Properties under Settings.  The manual says it's now in the Cache List, but doesn't say how to get to it.  I don't see any baking options under the Cache tab.  Can someone tell me where I can find "bake"?  Thanks!

Baking is not supported on OptiX GPU rendering. Just switch back to Cuda, Go to Edit, Preferences, System > and wall la, Thank you.


Loading ASC files in blender I need to import an ASC, which is a Digital Terrain Model, file into blender. Basically it's a matrix of points, each represented by a number corrisponding to his height. What's the best way to do that? Is there anything you know that it's pre build or I have to write my own loader in Phyton?
Thanks

for one of my project i was using this addon: https://sourceforge.net/projects/pointcloudskin/files/latest/download?source=files

it did its job very well - just had to make sure the ASCII data is correct (x,y,z)

I am not sure if its compatible with 2.76a - but once you manage to import the data and skin the point cloud - you can always go for newer blender version.

He has also a CSV import addon - which also comes very handy in this matters.

As for the skinning process: it a bit of try and error process.

good luck


Why does the line tool not work in 2d? Ok I am very new to blender and how it works so if I could get a response that would be great. But whenever I use the line tool and I put the line down in the drawing area and I left click it just disappears I tried to snap it but that does not work either.

To confirm the drawn line you have to press Enter.


How to weight all vertices for a selected bone? I have a mesh that I tried auto painting the weights on. It didn't turn out as expected see this screen shot:

I'd like to set the weight on all vertices for that bone to 0

Delete the vertex group, select the bone again, and Paint.
Blender will  create a new Empty vertex group for you.

Vertex group Bone.001 is on the right side of image.  It is deleted on the left side.

By continuing to paint Blender created a new vertex group.


Getting started with blender I have 0 experience with any 3D application. I was told to start looking into it as I have been looking for a quality hobby.

Today I found Blender that seems like it might be a good place to start (and it's free too!). My problem is where do I start? I want to learn the ins and outs of Blender as well as all the terminology that has to do with 3D but I prefer reading books than working through tutorials.

So my question is, if I were to get this book: https://store.blender.org/product/blender-for-dummies/ would I be able to learn the basics of blender from scratch while still understanding the terminology involved in 3D applications?

Thanks

You probably won't get many recommendations about books here, because they would be very opinion-based.

A long time ago I myself thought that books about software are way better than tutorials. After a short while I gave up on them.

My main reasons were that

books about software (especially FLOSS) become outdated quite fast.
most of them go through a tedious description of all the functions without showing much about how to use them properly.
doing more complex tasks often require techniques that won't be shown in most books unless they are written with the advanced user in mind.

My recommendation for beginners:

Start by learning Blender's basic functionality by watching video tutorials (like this one by Sardi Pax). Seeing things in motion teaches you much more about complex software than just a bunch of screenshots with some paragraphs of text that are possibly stretched over several pages.
Learn the basic techniques like extruding, subdividing, connecting different primitives, then proceed to basic materials (colors, textures, shaders). Start with Blender Internal renderer before going through complex Cycles tutorials.
Start with basic models and work your way up. Do not expect to be able to create complex 3D models, renderings or animations after two hours, days or even weeks of reading a book or watching tutorials. Every 3D software is complex and Blender is no exception.
Be prepared that learning 3D modeling isn't something that's ever completed.

You also should check out the link in Shady Puck's comment above (Resources for Blender). It's a constantly growing source.

Some "big" names you might want to check out are agenzasbrothers, Andrew Price from BlenderGuru, Gleb Alexandrow from CreativeShrimp, masterxeon1001 and Darrin Lile (he's in the link collection Shady Puck mentioned above with some very good tutorials about character creation and animation). Most of these guys are producing new videos at least on a monthly basis and some also have informative stuff on their websites.


Weight painting vertex groups not entire object Blender version 2.9.  Advanced noob.
I'm trying to weight paint a tree object for the particle generator which adds small sub-branches containing leaves.  The tree object contains a large trunk with some main branches higher up, so it looks like, well, a tree.
Since I want zero sub-branches/leaves on the lower main trunk of the tree, I made a separate vertex group called "branch growth", which is only the upper portion of the tree containing the large branches where I want the small sub-branches/leaves to appear. So far so good.  However, I cannot for the life of me figure out how to just weight paint this particular vertex group.  I have the vertex group "branch growth" selected in the object properties pane, but when I switch to weight paint, the whole object, including the trunk, is painted blue, indicating to me that I am in fact NOT just painting the vertex group (more evidence to this theory is that I can in fact paint on the trunk, which is outside of the vertex group).  "Fine" I thought, i'll just leave those areas weighted zero and make sure to only paint the areas I want the particle system emanating from.  This approach works reasonably well, except that because of the large number of particles i'm generating (around 800), there is inevitably one or two particles coming off the trunk, which is annoying, even though it is solid blue.  I'm guessing the law of probabilities is going to work it's way into this area given the large number of particles.  Everything else such as branch size and density works great using the "branch growth" vertex selected in their respective fields. One solution I found researching this is to duplicate the "branch growth" vertex group as it's own mesh object, thus ensuring zero bleed over, but it seems that there must be a more proper way to do this, and I dislike using work-arounds when there is a "real" way to do things.  I have tried this in Eevee and Cycles render engines, checked for duplicate vertices, hidden faces, etc.
Here is my workflow.  Select entire "tree" object.  Go into edit mode and select only the vertices I want to have branch growth on, and assign to new vertex group called "branch growth".  Confirm this group by using the select/deselect buttons.  While vertex group is selected under object properties, I go into weight paint mode, and this is where the problem begins (i.e. entire object is blue, not just the vertex group).  I must be missing something at this point, unless i'm not and this is just how Blender behaves.  Any help is greatly appreciated.  I still get a liveable result at this point, but if one was trying to render hair on a face object I can see where a stray hair coming out of the nose would be unacceptable.

AFAIK, and maybe someone will correct me on this, weight painting and assigning verts to a group are the same thing, assignment just sets weight to 1 for all assigned verts.  You may be able to assign this group to your particle system straight away.
A vertex group is basically just an extra variable attached to each vert that you can reference.  So by creating a new vertex group you essentially create a new weight paint mask where all verts have weight 0 (Blue).
I have had issues with rogue particles, not sure if I ever had a surefire solution other than what you've suggested or looking through seeds to find the least problematic one.


How can I make realistic Bokeh shadows? I saw a render (attached) with really realistic looking shadows. Any clue how to do this bokeh-style shadow?
Thanks in advance

One way is to use geometry:

In the scene below, the shadow geometry is simply hidden to the camera in render time and has a grey transparent shader (the color controls the opacity).

Or you can use a texture for a similar effect like so:

Here is simply an image texture with transparent shader.
The light in the scene is a sun lamp.


How to install the add-on to import Rhino .3dm files This question/answer seems exactly what I need.
Import/Export Rhino's 3DM format to/from blender
But I tried installing import_3dm-master.zip as it suggests, and the rhino3dm-master.zip on which it seems to depend (downloaded zips from GitHub) and don't see a new import format on the File->Import list.
What simple, obvious thing am I missing?
(And I can't just add a comment to that thread because I just signed up and apparently need a 50 to comment. Hmmm.)

Don't download the master branch, instead download the latest release here or use the following links to download directly.
Windows: https://github.com/jesterKing/import_3dm/releases/download/0.0.8/import_3dm-v0.0.8.win.zip
Macos: https://github.com/jesterKing/import_3dm/releases/download/0.0.8/import_3dm-v0.0.8.macos.zip
Then install the same way as any other addon. Hope this helps!


Bad quality mesh, Narrow tris as result of Ctrl+t (exporting stl file) I am trying to make a relatively simple 3D-model. resulted quad mesh is very good (fig). however, when I convert the quads to tris I would get this very narrow triangles which I do not want. the only reason that I change the quads to tris is that I need to export the .Stl file, and apparently .stl automatically change the mesh to triangles.

is there any way to avoid this narrow bad quality triangles?

I've tried to merge them with the adjacent faces, but then they are not triangles anymore, and when I import it as stl file the same narrow triform.

So here is what I did and it worked for me.

After I got the original mesh (left figure on top), I use Remesh modifier with mode set to Smooth. This way I got a very high quality mesh with only quads. When I triangulated the high quality quad mesh none of them became narrow.
However, the size of the .stl file becomes very large. Therefore, I use Decimate modifier to lower the number of faces and keep checking the mesh quality with 3D printing add-on.


Calculate surface area of each material? How to find the surface area of different parts of a mesh depending on the materials assigned with python?

Extending the answer from surface area of a mesh using Python code in Blender

import bpy
import bmesh

#active object
obj = bpy.context.active_object
# bmesh of active object
bm = bmesh.new()
bm.from_mesh(obj.data)
#material slots
for i, slot in enumerate(obj.material_slots):
    area = sum(f.calc_area() for f in bm.faces
               if f.material_index == i)
    print("Material %d Area %.4f" % (i, area))

bm.free()


Cycles Render Equivalent of "X-Ray" Function Thanks for taking the time to hear out my predicament.

So I'm trying to recreate some vg items, nbd, but I'm having trouble finding an answer (let alone a proper title for the question..) as to how you would make materials to jump ahead/in front of other materials like seen with the viewport's "X-ray" feature.

Cycles Viewport w/ X-ray on

Here's what I need: a material/object that fazes through another. I've been experimenting and backfacing comes close, but causes unsightly shadows and doesn't really work along the neck of the bottle. Really I'm just wanting the equivalent of what's seen on screen without ruining the basic diffuse, or the red material fazing though other objects besides the bottle.

(Bottle and Liquid are separate meshes)

Thanks again, any help is appreciated.

You can move liguid to second layer and create second render layer. After merge them in compositor.

In this case you can't use Material ID or Object ID, because liquid is in other object, or suzanne in cube in my case. But is good to know there is this possibility.
Workflow: use "Pass Index" (material or object) for create mask and after use this mask to separate object in compositor.


Why are there fewer objects when I use “dyntopo” to sculpt small objects? I don't press CTRL.
The little object gradually disappeared.

I found my own solution to the problem.Increase the value of resolution...


Why am I getting magnetic effects from cloth objects? Using the current Blender version, 2.8 RC2. This setup was according to another posting I followed to learn how to create curtains and get a pulled back/curtain ring effect.

For the most part it works as designed; however instead of just cinching the curtains, the torus attracts them. Eventually the curtains get all wrapped around the thing. Magnetic forces are not turned on for anything.

I can't find anything else that would cause one object to be pulled in to the other. A little help please.

Original post, with Blender file I downloaded, is here:

How to make a curtain

What appeared to be the issue is the "Single Sided" option in Collision settings. Somewhere along the way I unchecked that, which made the cloth try and wrap around the ring. It's confusing since it looks magnetic, which can be set elsewhere.


Can you keyframe effects in grease pencil? If so how? Im creating a fire animation in blender grease pencil. I added glow and transparency effects. In certain parts of my animation it would make sense for glow and transparency to get stronger/weaker. Is it possible to keyframe effects (from the visual effects tab in properties if your lost) and if so, how?

There are dots beside most of the fields in effects, just like in modifiers. Clicking on the dot will insert a keyframe for that property.
Also hovering over the field and pressing I also inserts a keyframe for the value. This works in shaders too.


Blender adding extra bone when exporting FBX causes problems with Unity & Mixamo I've been exporting animations from Blender to Unity for a while and I've never had any problems so far. Recently, I tried Mixamo, a free library of animations which uses a specific armature system. The auto rigger they have isn't very good, so I decided to download a model with their own armature in order to use those bones as a base for a better rigging.

The issue comes when I'm finished rigging the mesh and I export it along the armature in an FBX file. Blender adds the armature object itself as a Node in the hierarchy which, seems to break everything. I'm not using custom animations, but instead Mixamo's animations with a different skinned mesh. Therefore, I need the same hierarchy of nodes(as well as the same names) in the armature tree.

The exported custom object is marked in red and Mixamo's model in green. As it can be seen in the picture, the yellow arrow shows the extra armature node (which is the armature object in the Blender scene).

Does anyone knows a way to avoid this addition ?

Disabling leaf bones as seen here : FBX export adding extra bone doesn't seem to solve the problem either. I've also seen a few posts with a similar issue but happening with Unreal Engine, but I couldn't find anything that helped me.

I know it's a year late, but I've just had this same exact issue, so I would like to answer it here in case anyone else comes by this post.

The way to fix this in Unity is, after dragging the model into your scene, right clicking it and selecting 'unpack prefab'. Then, drag your hip object, that is parented by the unwanted armature node, up one level. You can then safely delete the armature node, and the animations should now work as normal.

Hope this will help some people, this behaviour isn't documented well enough for how annoying it is.


How to animate Action Clip time in 2.75? Following the release notes relating to the changes to time and influence controls on strips, I keep running into issues with it. When I check the strip to have animated time and try to insert keyframes, I get the error message "No F-Curve to add keyframes to".

I can locate the Strip Time track in the Graph Editor for the given object, but there's no curve. Odd enough, I can add modifiers to the track and they seem to work as intended (ie. time becomes animated), but I can't find a way to control it manually.

Am I missing a step here or could this be a bug of some sort?

I think what you are looking for is the animated setting for these properties. In the NLA Editor you will find an Evaluation panel in the properties sidebar N where you can enable animated for the time and influence of the strip and add keyframes.

On my first quick look at this it does appear incomplete. When you enable these two animated settings, it appears to be keyframed but there is no f-curve, but it does then allow you to add keyframes to the values which does create an f-curve that you can then adjust in the graph editor.


how to set the moved bone to original location? I moved the bone in post mode but I want to reset what I have moved, I selected the bone and pressed alt + r, it's not working.  How can I reset the bone I moved? I can not undo it as there are too many steps in the history.

blender2.81

Go to pose mode, select the bone, and go to the search tab. Search "Clear pose transforms" and it should do the trick.


How do I get an object to stretch between two animated objects? I want to animate this LEGO x-wing closing its wings, and have managed to rig up bones to control the wings so they close on the correct rotation, but it has this elastic band on the back that needs to be on those two black pieces and stretch between them when the wings open and close. How to I do that?

I'm thinking weight painting is involved? Do I make a bone on each black piece?

I'm only new to blender only this year so please explain as basic level as possible please! Many thanks in advance!

I can suggest two options:

if you want to use it in 3d engines (with only bones animation), you can use two bone system:

One bone at one black thing and weight paint it (gradient) to the parallel part of the rubber mesh.
Second bone at the other black part
attach "track to" modifier to the first bone with target as second bone.

Make a "Shape Key" of the rubber with stretched pose, and move and rotate as required. You can also use both (1 & 2) for easy animation and right mesh deformation.


Reloading Animation Nodes (node development workflow) I am developing some custom nodes and have a question about the development lifecycle. Can I reload AN classes without restarting Blender? Or, do I need to reload blender after each change to the class’s source file? I have tried a few things using importLib and nothing works. Thanks!

try hitting F8 to reload scripts, or, if you're just running your script from a text editor, just run it again.


HDRI scaling issues? So, I get it that I'm probably missing something here, but this is an incredibly frustrating issue with HDRI's that I...well, I can't find how to fix.

I tried mapping, changing the scale of the HDRI and...I'm just stuck.  The image above was created from a tutorial on HDRI's, downloaded the sample image and it looks nothing (obviously) like the tutorial.

People make it look easy.  Just plug the HDRI into the environment node and it'll work, they said...

Here's the node setup of the above mentioned cube.

I know this is some setting I'm over looking because this was created with the default scene and literally just adding the HDRI.  It happens no matter what HDRI I use and no matter what scene.

Small addition:  the camera is in perspective mode, not ortho.

Further, I can't add the HDRI due to site limitations, but it's supposed to be an interior room.  Hard to tell because it's so stretched out...but yeah...any help would be appreciated.

Your HDRI is 2048×1024 only. It could be enough for lighting or reflections but not for a visible environement image (or for a very low res render).
You'll find links to HDRIs (and other ressources) here.


Stage light flare effect I have a node composition that works for one color only. However, I want to have multiple colors have a star flare like the following picture:

I have the studio lights all set and in each hanging light, there is a circle mesh that is an emission of red or blue. How does one get the flare to get like this in cycles? Specifically, how do I make it so I can have multiple colors flare like this? This is my node:

All right, I have been working all day figuring this thing out with over-complicated shenanigans, but the answer was quite simple:

As you can see first I had to separate the globe from the actual stage light cause then the whole gray part started to shine as well.

Next I tried to fix up the original nodes, but it got real messy real fast so I decided to make two frames:

Original
Edited

The Edited one is shown on top. Also you used ID Masks without defining which object you gave the ID to in the "Object" menu.

This produced the final result below. If you want you can modify the streaks to your wish.

NOTE: I know it isn't exactly realistic, but that is the closest I can get.

BTW the rendered result is 50% of the actual resolution cause it would take me hours to render the whole image. Also great work on detail.


Import GLSL-Shader into blender I have a shader written in GLSL, I would like to import into Blender. I have already gathered, that I have to import it into BGE. Is it also possible for Cycles or BI (preferred)?
In any case, how do I import a GLSL Shader?

Blender doesn't have way to directly interpret GLSL shaders. You can, however, use a BGE python script that tells blender to use a particular shader during a game's runtime.

To do this you will need two things: your GLSL shader formatted in the following way (inside of a text datablock)...

import bge

cont = bge.logic.getCurrentController()

VertexShader = """
   void main(){
      //your vertex shader here
   }
"""

FragmentShader = """
   void main(){
      //your fragment shader here
   }
"""

mesh = cont.owner.meshes[0]
for mat in mesh.materials:
    shader = mat.getShader()
    if shader != None:
        if not shader.isValid():
            shader.setSource(VertexShader, FragmentShader, 1)

and a bit of a logic brick setup:


Why is it I can move an animated model after importing but not later? When I import a model, say an .fbx, I'm able to move the model and its accompanying animation anywhere in the scene I want. However, once I select something else, the model and its animation become set in place and there's apparently no effective way to re-select it (and everything about it) and move it somewhere else. I'm talking about a complex character model, not just a cube.

A related issue is that I have an imported, animated model (a dancer) and I want to duplicate it and move the duplicate. Same issue though, I can't drag the newly duplicated version without the model distorting like crazy.

Am I missing something?

A complex animated character consists of two parts, a mesh object and a rig that deforms it. When you move one of these paired objects in object mode the armature deformation goes bad, you need to move both objects together. Usually the armature is made the parent of the object, so moving the armature keeps it all together but moving the mesh object will be an issue.

In 2.7x while an armature is in pose mode, we can select an object and the armature will be deselected. In 2.80 this changes, while in pose mode we are unable to select another object. The solution is to go into object mode to select another object. This is also true for other modes, we need to be in object mode to select a different object.


how to disable world light source I am new in blender. I made a scene whose lightning effect is perfect every object is clearly visible when the world background is removed.

but when I change the world color to white it effects the whole environment and add extra white light which in not needed at all.

I tried a lot to find out solution but failed. please assist if any know the proper  solution weather in evee or in cycle in blender 2.8.

clarifying question again
I want to change the world from black to white but want to disable the white light of the world. thanks

Click on the World tab and in Ray Visibility only keep Camera enabled. This way the world will be visible but won't light your objects.


What are the minimum parallax requirements for successful motion tracking? Does anyone know the minimum parallax requirements during filming for successful motion tracking reconstruction?

I know the documentation says you need:

at least 8 common tracks on the both of the selected keyframes.
noticeable parallax effects between these two keyframes.

However, after many failed attempts at filming a scene using these guidelines,
I was wondering if anyone knows enough about parallax to describe the exact requirements more specifically.

One thing I've wondered is is there a requirement of the relationship of the 8 markers to the angles of the camera, or do you just have to have 8 markers somewhere and the key is only the camera angles?

If you say the key is only the camera angles, can you give any more specifics? I've tried:

~45° on the X/Y plane with ~10° arc into Z, but this video
failed to reconstruct
~160° on the X/Y plane with a ~20° arc into Z, and this video
reconstructed quite well

As a note, on both of these attempts, the Solve Error was ~0.6, even on the one that failed to reconstruct properly.

I was wondering if 180° on the X/Y plane followed by a 90° or 45° arc into Z (as shown below) would always work, or if that's an unnecessary amount of parallax.

So, in order to reduce trial and error, does anyone know the minimum parallax requirements?

Ideally, I'd like to get good enough correct specifics that they can be added to the Motion Tracking page in the Blender manual.

Thanks!

180° arc on the X/Y plane, followed by a 90° arc into Z

The tracking points are better to be chosen from different dimensions as they are in real world, in order to cover more obvious parallax difference between frames.

For example, it's certainly not recommended to pick them all from a single plane/ground or a single wall. However, if some are from the ground and others are from a wall, it would be the nicer choice for sure.

I'm not going to propose any AD here, but I learned this thing from the official training DVD - Track, Match, Blend!


Move cache_fluid folder I have my .blend file synchronized to the cloud, but the cache_fluid folder is getting very big, and I don't need it in the synchronized folder. Is there a way to move the folder somewhere else and get Blender to use it, without creating a new cache_fluid folder, in its new location?

Yes. You can change the path in Physics > Fluid with the domain object selected:


python scripting - how to stop my modal operator code from getting the old data? i was working on a code to print this word (extruded) for every time i use extrude region tool
bpy.ops.mesh.extrude_region_move

so i created this code

import bpy

class ModalOperator(bpy.types.Operator):
    bl_idname = "object.modal_operator"
    bl_label = "Simple Modal Operator"

    def execute(self, context):
        print("This is the modal operator")
        return {'FINISHED'}

    def modal(self, context, event):
        if bpy.ops.mesh.extrude_region_move != None:
            print("extruded")

        return {'PASS_THROUGH'}

    def invoke(self, context, event):
        print("This is the invoker")

        context.window_manager.modal_handler_add(self)
        return {'RUNNING_MODAL'}

bpy.utils.register_class(ModalOperator)

bpy.ops.object.modal_operator('INVOKE_DEFAULT')

but the problem is this line run for every extrude that happen before not only the new ones so how to fix it ?

the line to get the extrude events

    if bpy.ops.mesh.extrude_region_move != None:
        print("extruded")

    return {'PASS_THROUGH'}

Look at context.active_operator

As long as there is a registered operator bpy.ops.mesh.extrude_region_move != None will always be true. bpy.ops.mesh.extrude_region_move
is a callable method, which will never be None

Could check the value of the active operator.  Script below prints to console if the extrude and move operator is the last operator called. It will keep printing (modally) until another operator is called.  Would need to add some logic, a class property perhaps, to make it notify only once.

import bpy

class ModalOperator(bpy.types.Operator):
    bl_idname = "object.modal_operator"
    bl_label = "Simple Modal Operator"
    #save_op = None

    def execute(self, context):
        print("This is the modal operator")
        return {'FINISHED'}

    def modal(self, context, event):
        active_op = context.active_operator
        idname = getattr(active_op, "bl_idname")
        if idname == "MESH_OT_extrude_region_move":
            print("extruded")
            # set some var here to run once and check equality
            # self.save_op = active_op

        return {'PASS_THROUGH'}

    def invoke(self, context, event):
        print("This is the invoker")

        context.window_manager.modal_handler_add(self)
        return {'RUNNING_MODAL'}

bpy.utils.register_class(ModalOperator)

bpy.ops.object.modal_operator('INVOKE_DEFAULT')

could look at the index in window manager operators collection.
(py console code)

>>> [o.bl_idname for o in C.window_manager.operators]
['OBJECT_OT_editmode_toggle', 'MESH_OT_extrude_region_move']

Get the transform constraint axis

>>> op = C.window_manager.operators['MESH_OT_extrude_region_move']
>>> op.macros['TRANSFORM_OT_translate'].properties['constraint_axis'].to_list()
[0, 0, 1]


Find any node connected to a material's displacement input and replace it with a normal map node? I am attempting to open models that have been created in 2.7 in 2.8. But I am having some trouble with the nodes not looking correct and and final results in 2.8 are not satisfactory. And I must modify the node setups for each material, for each model..

I was wondering if someone could help me with some Python to loop through each material and look to see if there are any 'RBG to BW' nodes connected to the material's displacement input, if so then replace it with a 'normal map' nodes?

For example, from:

to:

I am uncertain how to find the nodes, nor how to efficiently replace one programmatically much less the one specifically connected to the displacement input.

If anyone has any suggestions on how I could acomplish this it would help tremendously!

And thanks!!

I have done some research on how to access Blender's material nodes via Python and ended up writing a solution which address my original issue, I will post the code to serve as a possible answer.

However I am not marking this as the best answer because as Rich Sedman pointed out, Blender 2.8 already fixes the node setups when opening a .blend file. So maybe in some future release of Blender it too will address the nodes when linking and appending from external .blend files.

In the time being I must use this script in my custom import and automation scripts to fix the shaders after all models have been appended.

FixDisplacementNodes.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

__author__ = "Grant Olsen (2019)"
__credits__ = ["Rich Sedman", "batFNGER"]
__version__ = "1.0.0"

import bpy

"""Given a material this will search for any RBG to BW nodes that are connected to a Material Output's Displacement input.
   If the RBG to BW node exists then this will create the proper Normalmap to Displacenment map node setup and replace the
   RGB to BW node with them by linking the nNode to the dNode, then from the Image texture to the nNode, and the dNode
   connects to the Material Output node. Finally it deletes the disconnected RGB to BW node.
"""

def FixDisplacementNodes(mat):
    """
    Explanation: this function takes one arguments: `mat`.
    `mat` is type bpy.types.Material and is the material for the object
    to be checked for any RBG to BW nodes connected to the Material Output node.
    Will replace with proper normal map node setup.

    The return type is `None`.

    """
    if mat is None:# an object can have an empty material slot where slot.material is None
        return #nothing to process

    for link in mat.node_tree.links: #loop over all node links for this material.
        if type(link.to_node) is bpy.types.ShaderNodeOutputMaterial: #check if this node is connected to the type: "Output Material" node
            if link.to_socket.identifier == 'Displacement': #check if this node is connected to the "Displacemnent" input
                if type(link.from_node) is bpy.types.ShaderNodeRGBToBW: #finally, is the child node an "RGB to BW" type node?

                    bwNode = link.from_node #store the RGB to BW node for deletion later

                    dNode = mat.node_tree.nodes.new('ShaderNodeDisplacement') #newly created Displacement Node
                    nNode = mat.node_tree.nodes.new('ShaderNodeNormalMap') #newly created NormalMap Node

                    mat.node_tree.links.new(nNode.inputs['Color'], link.from_node.inputs['Color'].links[0].from_socket) #connect the Image Texture node to the Normal Map node
                    mat.node_tree.links.new(dNode.inputs['Normal'], nNode.outputs['Normal']) #connect the Normal Map node to the Displacement node
                    mat.node_tree.links.new(link.to_socket, dNode.outputs['Displacement']) #connect the Displacement node to the Material Output node

                    mat.node_tree.nodes.remove(bwNode) #delete the unlinked RGB to BW node

"""Loop through all objects in the scene, and for each object's material slot, passing it to FixDisplacementNodes.
"""
if __name__ == '__main__':

    for mat in bpy.data.materials: #get list of materials, will save fixing same material for each object
        FixDisplacementNodes(mat)

    #for ob in bpy.data.objects: #get list of objects
    #   for slot in ob.material_slots:
    #       FixDisplacementNodes(slot.material)

Result:

[EDIT]

I am not sure which way is more preferred (if there is even much difference) but here is a variation which exactly replicates the way 2.8 converts the shaders when opening a .blend file (notice how it keeps the RGB to BW node):

FixDisplacementNodes.py (v2)

#!/usr/bin/env python
# -*- coding: utf-8 -*-

__author__ = "Grant Olsen (2019)"
__credits__ = ["Rich Sedman", "batFinger"]
__version__ = "2.0.0"

import bpy

"""Given a material this will search for any RBG to BW nodes that are connected to a Material Output's Displacement input.
   If the RBG to BW node exists then this will create the proper Displacenment map node setup and link it to the
   RGB to BW node.
"""
def FixDisplacementNodes(mat):
    """
    Explanation: this function takes one arguments: `mat`.
    `mat` is type bpy.types.Material and is the material for the object
    to be checked for any RBG to BW nodes connected to the Material Output node.
    Will replace with proper normal map node setup.

    The return type is `None`.

    """
    if mat is None:# an object can have an empty material slot where slot.material is None
        return #nothing to process

    for link in mat.node_tree.links: #loop over all node links for this material.
        if type(link.to_node) is bpy.types.ShaderNodeOutputMaterial: #check if this node is connected to the type: "Output Material" node
            if link.to_socket.identifier == 'Displacement': #check if this node is connected to the "Displacemnent" input
                if type(link.from_node) is bpy.types.ShaderNodeRGBToBW: #finally, is the child node an "RGB to BW" type node?

                    bwNode = link.from_node #the RGB to BW node

                    dNode = mat.node_tree.nodes.new('ShaderNodeDisplacement') #newly created Displacement Node

                    mat.node_tree.links.new(dNode.inputs['Height'], bwNode.outputs['Val']) #connect the RGB to BW node to the Displacement node
                    mat.node_tree.links.new(link.to_socket, dNode.outputs['Displacement']) #connect the Displacement node to the Material Output node

"""Loop through all objects in the scene, and for each object's material slot, passing it to Check_Material.
"""
if __name__ == '__main__':

    for mat in bpy.data.materials: #get list of materials, will save fixing same material for each object
        FixDisplacementNodes(mat)

    #for ob in bpy.data.objects: #get list of objects
    #   for slot in ob.material_slots:
    #       FixDisplacementNodes(slot.material)

Result:


Blender 2.8.2 Hair simulation - Pin hair to itself I'm attempting to create a braid that I can enable Hair Dynamics for to simulate it as opposed to animating by hand. So far I've managed to create a braid with three hairs, each with simple children:

(This is just a test so it's obviously not great, but that's not the issue.)

I've enabled Hair Dynamics and the hair flings around as it should. The issue now is that the three strands separate from each other as they're moving, especially towards the bottom. The structure and stiffness parameters of the simulation seems insufficient to get them to stay together.

In real life most long/loose braids have a band or loop of some kind at the bottom that holds them together. Is there a way to do something similar in Blender, where the strands are "pinned" to each other at a certain point? Or is there a better way to accomplish this?

One thing that didn't work was using the Weight tool in Particle Edit mode, but increasing the weight at the ends seems to hold the points relative to the root position, not relative to each other.

(I would upload a gif of this not working, but Stack Exchange doesn't seem to want to let me.)

As a clarifying example, what I'm trying to accomplish is essentially the small knot at the end of this braid (Anna from Frozen).

You can try the free hairguide addon https://blenderartists.org/t/particle-hair-from-meshes-bezier-curves-nurbs/1154670 . It can create hair guides inside a mesh while following the exact direction.Then you can use bevel radius or a curve as bevel to create each braid shape.It's easy to adjust the thickness using  ALT + S.


Whats the difference between these two? [![enter image description here][1]][1]what is the difference between these 2 ? can you please sepcify
and how to convert the atoms one diagram to the solid form one, can you please tell the steps?
i am a total beginner so dont mind as i have searched many places but i cant understand
thank you

File:

On the first picture the fluid is displayed as particles, on the second it is displayed as mesh, to display as mesh, go in the Properties panel > Physics > Liquid, and enable the Mesh option:


How do I create metal materials in Cycles? I'm trying to make a gun for an alien space ship and I need to know how to create a dark gray metal look. I have tried mixing a Diffuse and Glossy BSDF, but it isn't quite what I am looking for. I need some light falloff to help get that "extra touch", but I don't know how to do that.

I would recommend applying a normal map, using a glossy shader and then bumping up the roughness to your liking.

Example

Here's what I did

Glossy shader color (hex)

616161

Roughness amount

0.05

Normal map


Setting/overriding context for rigid body bake I have a script that generates a tower of blocks, and I want to simulate this tower's collapse, tracking the position of each block as the tower collapses. (And then do this again and again for thousands of arbitrary towers.) I can do this for a given tower in the GUI by setting the current frame to some late frame, baking to the current frame, and then calling object.matrix_world.translation in the console to get a given object's location at the current frame. (If I don't bake first, then object.matrix_world.translation just gives me the initial location of each object.)

However, when I try to do this with scripting, bpy.ops.ptcache.bake(bake=False) gives me the error Operator bpy.ops.ptcache.bake.poll() failed, context is incorrect. The solution seems to be to "override the context" (e.g. Setting the context for cloth bake), but I couldn't figure out how to do that in my case (which should be even simpler, since I'm just doing a rigid body simulation).

Any idea how to make bpy.ops.ptcache.bake(bake=False) work?

(I included some background on what I'm trying to do in case there's a simpler way to get each rigid body's location at a given frame of the animation. This seemed relevant [ Getting the location of rigid body object at current keyframe ] but, as I said earlier, if I don't bake first, then object.matrix_world.translation just gives me the initial location of each object, not its simulated location at the current frame.)

bpy.ops.ptcache.bake(bake=False) for Rigid Body doesn't work, because it needs the point cache and scene as a context, so:

override = {'scene': bpy.context.scene,
            'point_cache': bpy.context.scene.rigidbody_world.point_cache}
# bake to current frame
bpy.ops.ptcache.bake(override, bake=False)


Why isn't the vertex moving the face of the object? Hi I'm just learning how to use Blender and got stuck trying to add vertex points to an object that aren't changing the shape of the object.

I know if I press F I can add a new face from the selected vertices.
But is there a more efficient way of doing this? When I add a new face I now have to delete the one under it.  Is there a way to add vertices that are already connected to the face of the object.  (sorry if I'm not using some of these terms correct)

Here's a screenshot of the vertex I added by subdividing two edges, connecting those two vertices, and subdividing that new edge.

You almost got it right.
Just use J instead to connect the vertices.

1. Connecting vertices across a face
Vertex > Connect vertex path
Shortcut: J

2. Connecting free floating vertices
Vertex > New edge/Face from vertices
Shortcut: F


How to install yafaray for blender 2.77+? I'd like to install/enable yafaray renderer on Blender 2.77a. Every time I try to enable the Add-on, it returns an error. I tried reinstalling Blender, nothing.

Any idea what's wrong?

The current YafaRay Release v3.1.0-beta works with Blender v2.77a and v2.78.

You can download the builds for Linux, Windows and MacOSX from www.yafaray.org


How to ease out the retopology works on Blender, like in Zbrush with groups and remesh, for a character you need to animate? I've been using Blender to sculpt recently, and I'm sculpting a character that I want to animate.

I'd like to make groups to remesh separately from the rest of the mesh, and ease out the retopology work to then project it on the hi-res mesh, then make a displacement map out of the hi-res mesh to apply on my low res retopology.

A bit like what you can do in zbrush.

Is there a similar way to do that in blender ?

I found the answer with Blender version 2.83. There's a new feature called Face Sets, when remeshing you can tick the box to preserve the face sets in tool layer > Remesh.
But you have to make sure you ticked off "Dyntopo" before, or you won't be able to remesh.


Security Popup about a Driver when Appending a Material Every time I append one specific material from my library, I am given this error:

I usually just ignore it and continue on my merry way. However today I decided to fix it. I don't know anything about drivers currently, other than that they simply allow you to modify the behavior or settings of one object to another using some kind of formula. I've gathered that 'water_drive_xtm(self)*(var/100)' is the formula in question.
Here's a gif that shows where the driver formula resides in the material:

Does anyone know what this script is actually doing? It's a water material if that helps.
How do I remove the driver so I stop getting these warnings?

Edit: Here's the blend file if it helps explain what the driver is doing:

You can right click it and hit Delete Drivers.
It looks like it's randomizing the origin location of the noise textures hooked up to the bump map to give it a more random appearance based on whatever parameter that driver was looking at.


Blender 2.8 - How to access material nodes? In Blender 2.7 we could change material nodes in composting. They removed it in Blender 2.8, where can I find it??

in 2.8 the shader editor and the compositor have been split into two different editors.

You can use nodes in shading tab or if you go to compositing tab then enable the "Use Nodes" which you can see in the image:


Adding Subsurface Modifier to Cylinder Not Smooth I'm trying to get a nice rounded end to a cylinder. When I add a subsurface modifier plus an edge loop, the edge looks 'choppy':

Is there a way I can get this smooth? I've done this previously, but this was by adding a sphere at the ends. It would be nice to not have to add extra objects if possible.

Yup, topo.  More than one solution:

Left is unchanged.  Middle has control loops for the outside and the cap (your pic is missing the control loops for the cap) which can be made with 1 loop cut (ctrl r) and 1 face inset (i).  Rightmost has edges marked as sharp (ctrl e menu) and creased (shift e) for subsurf.


Blender console on quiting Quite simple question really, I am using Blender 2.80 on Windows 10, Intel + Nvidia based system. Blender runs really well, no problems, however, when I have finished with Blender and close the app there is a console (command) window that briefly flashes up. It is too quick to read the messages, but I do see "error" in the list of messages. I would like to somehow keep this console open on Blender quit so I can read the messages and fix any issues.
Or is it possible to get Blender to log the messages to a file for later reading?

Start Blender in Debug-Mode as stated here:

In 2.8, Blender crashes while rendering trees

that creates a log file which you can inspect


Reducing internal faces generated by extensive curve extrusion? Excuse my title gore.

I've been modeling Gothic architecture:

(reference)

Here's the blend file I've been practicing with.

So I'm extruding along curves a lot. The complication is the fact that just one curve with a highly detailed bevel object won't work. You'll often need part of your beveling to split off into additional tracery, or to omit it in certain places. So you'll need a bunch of similar curves with different bevel objects.

I end up with a bunch of meshes running perfectly parallel to each other, which prevents the use of the Boolean modifier, the obvious answer to this question, even after dealing with n-gons. I also have lots of hidden faces from tucking curves inside each other to hide my end points. Cleanup and decimation are often necessary to prevent Blender from hanging when you tab into edit mode, actually.

What I'm asking is how I can reduce/eliminate internal geometry, ways to reduce my face count (especially parallel faces), or any other advice you  might have relevant to the end of modeling Gothic architecture. I'm probably doing something wrong or inefficiently.

There are a few things you can do:

1 Reduce curve resolution - Both in your curves and in your section defining objects

2 Eliminate unnecessary vertex - In straight line segments you don't need all that useless points adding additional geometry

3 Turn Handles to Vector - In straight segments change your handles type to Vector, so no additional subdivisions are created without need.

4 Clean up your sections Eliminate segments for parts that are never seen or end up inside the geometry

5 Use Bezier handles in curved parts wherever possible You can then take advantage of dynamically and easily adjustable resolution using the Resolution setting as shown in the first step, for sections curves too.

6 Use a mirror modifier Use a mirror modifier whenever possible. This will not necessarily reduce polygon count, but it will save you time, guarantee symmetry and save cleanup work (you only need to do half)

As for the self intersecting parts, it's probably more trouble than its worth. You may try using Booleans to intersect them, but you will have to destructively convert to mesh, and the resulting intersections (if they can even be made easily) will likely create more geometry and complexity then they solve.


Watching an animation as it renders? I'm rendering an animation (as an FFmpeg video, Quicktime container) and I'd like to watch it (in its rendered state) as it's being rendered, similarly to how you can play an animation while baking a fluid simulation.

Is there any way to do this in Blender?

I haven't found a way to watch the animation as it renders, but you may be able to play the animation from the viewport.  Go to the timeline, and there should be a play button at the bottom.  Additionally, the UV editor shows each frame so that you can see what they look like rendered.


Transparent motion blur in Cycles I'm rendering an animation with motion blur (Shutter: 0.7) of a flyover of a bridge with moving cars on it.
The problem is that the cars get transparent as seen in the image. Can this really be the correct behavior or is something wrong with the motion blur implementation? And if that is the cause, any idea on how to fix it?
The train is also moving but is shown correctly. The cars are made from a particle system, that renders a group of cars, while the train is an actual model.

Second render without Motion blur:

Edit:
I did some further testing and here's the result: motion blur is broken together with curve-guide.
I've created an emitter emitting one particle shown as a box (with the group option). There's a curve-guide guiding the particle. To the right, there's a box, animated by hand with keyframes to follow the motion of the particle. They have almost the same speed. Clearly it messes up.

Now I would like to know if there is a another way to make my cars follow the road. I could try a lattice which doesn't have the rendering issue, but it's not as precise. As suggested by gandalf3, I could use the keyed particle system, but I can find no way to get a uniform speed along the way.
Lastly, should this edit be in another question? I'm not that familiar with the Stack Exchange norms.

It seems I have found a solution now.
In the Particles-tab there's a Cache option. If the particles are Baked they render properly even though there is a curve-guide affecting them.


obj.closest_point_on_mesh ValueError: too many values to unpack I am trying to check if an imported obj file is colliding with others by trying tu use the closest_point_on_mesh function. Here is the loop:

    coords = [(the_object.matrix_world * v.co) for v in the_object.data.vertices]
    for p_obj in list_of_passive_bodies:
        for c in coords:
            mesh_inside = is_inside(c,p_obj.name,max_dist=0.1)
            if mesh_inside == True:
                break
            else:
                continue
            break

and the function is_inside:

 def is_inside(p,obj,max_dist= 1.84467e+19):
        point, normal, face = obj.closest_point_on_mesh(p, max_dist)
        p2 = point-p
        v = p2.dot(normal)
        print(v)
        return not(v < 0.0)

coords is the list of vertices of the imported mesh from the obj file and list_of_passive_bodies is the list of already existing objects in the scene.

For example, p_obj returns :

  bpy_struct, Object("Blob.obj_0_Blob.002")

and c returns :

  Vector (-7.2836, 2.1763, 5.8258)

I constantly get a

  ValueError: too many values to unpack (expected 3)

Look at the documentation of closest_point_on_mesh: https://docs.blender.org/api/2.79/bpy.types.Object.html#bpy.types.Object.closest_point_on_mesh

Return (result, location, normal, index):

result, boolean
location, The location on the object closest to the point, float array of 3 items in [-inf, inf]
normal, The face normal at the closest point, float array of 3 items in [-inf, inf]
index, The face index, -1 when original data isn’t available, int in [-inf, inf]

So the function is returning 4 values, but you only unpack 3.
It should be called like this:
result, point, normal, face = obj.closest_point_on_mesh(p, max_dist)


Orient animated camera horizon to object Y axis I have Empty in scene center and camera as a child to this empty.
Camera always look in center of scene and 2m far from this center.
In center i have long Y side object.

I "tilt" camera by adjusting Empty Y angle. And rotate around center of scene by rotating Z of empty.

Is this possible using constrains made camera horizontal (Y) orientation always horizontal to this long object?

I found solution.

Locked Tracking to Empty moved along object Y angle.


How can I change Blender's Zoom View to include the Alt key? Hello Blenderstackexchange-onians. I come from a Maya/Unity background and have been following various tutorials to mess with my viewport settings. I have things almost exactly how I want them, but I am stumped on adding the last setting.

What I am trying to do: Have my viewport zoom in and out while scrolling my mouse wheel while also holding down the alt key. Like this
https://gyazo.com/e7d49b96c35ec9a337e3573aae1390d5
except I want it to do this while I am holding down ALT.

What is currently happening: While ALT is held down and my mouse wheel is scrolled, it scrubs my timeline like this https://gyazo.com/73cb2a8b92c9aa42cf36d1c72daeb488

What I have tried: Adding these in User Preferences https://gyazo.com/c197bd312f767ae373733e5e155a5041

...I am assuming either I am doing the hotkey adding incorrectly or the animation timeline scrubbing is overriding my attempts at using the alt key while zooming.

Any ideas?

If you want to zoom using Alt and holding middle mouse button:

Press CtrlAltU to open User Preferences
Go to Input and find "Zoom"
In the 3D View section, find "Zoom View" and change Ctrl Middle Mouse to Alt Middle Mouse

If you also want to zoom by holding Alt while scrolling the wheel:

Find "Zoom View" item with "Wheel In" / "Out" and add Alt to the shortcut
Disable "Frame Offset" shortcut

Personally, I prefer to getting used to Blender's defaults if possible, as it often fit's the different workflow better.


Delay animation with Animation Nodes I'm coming from After Effects background, where I often parent and link properties using Expressions to copy and delay animation across multiple objects. I'm trying to do similar in Blender with Animation Nodes. I have a solution that works already, but I am wondering if there is a better and "cleaner way" to achieve similar outcome.
My set up has an Empty Master Animation object animated on Z Rotation, Z Position and Scale (X,Y,Z).  I am using that Empty to animate 4 "data servers" - 4 simple objects with Array modifier added to each one. I set it up in a way that each object has additional parented Empty inside it. Each Empty "copies" Master Animation Empty animation with a delay and uses this data to animate Array modifier.
Also, I set object's themselves to copy Master Animation Empty animation as well.
Here is how it looks:

Master Empty with all the keyframes:

Modifier stack on each object:

And here is Animation Nodes Set Up:

Is there a better way to do it? For example, if I have 20 objects that I want to delay animation from 1 Master Animation Object? I don't want to set up spaghetti node group with lots of individual nodes for each object.
Is there a way to grab a list of objects in Collection and add animation to each one of them with a delay? But without changing their position, for example? I tried this, but I can't figure out correct node set up.
Any pointers would be much appreciated.

This is not a ready to use solution for your animation you showed but it shows that with just some nodes you can delay things in animation nodes pretty easy.
with this node setup:

you will get this:
https://youtu.be/gx-QGavkipc


Seamless grunge texture overlay across two materials I'm making a sign and trying to wrap my head around how to apply a grunge mask overlay that will affect two separate materials seamlessly. The sign background needs to be one colour and the text a different colour, but I want the grunge to be applied across both in a realistic way. Here's a screenshot of the sign:

Thank you!

A way to add a grunge texture to both the board and the letters with no discontinuity between the 2 would be to join your 2 objects (make sure that you've applied the Scale and that the normals are recalculate), unwrap  with Smart UV Project mode, paint your grunge texture on both with the Stencil brush option and use the result as a mask:

But the quickest way to is probably to use the grunge image in an Image Texture that you switch from Flat to Box, which allows the texture to be projected on the 3 dimensions, and use the Texture Coordinate "Object" output socket, with an empty as Object in order to control the location and scale of the texture so that you can precisely put the grunge:

Then use this node chain as a mask in both the letter and the board materials. Here for the board I use it to simply separate 2 nuances of red:

Former answer, in case your letters were printed and part of the same object:
You don't say enough about your current material, but let's suppose that is very basic, like this one (a simple mix between 2 colors with a b&w mask for the text):

then you can plug a dirt mask into 2 ColorRamp in order to get the dirty texture:

If your material is more complicated, for example because it plays with glossiness etc, it will make the node setup more complicated as well:


Fastest UV unwrapping techique for very large mesh I have a mesh which is generated by another program with 100's of thousands of faces. I'd like to UV unwrap this mesh. All of the unwrap options take a very long time. So long that I'm quitting Blender before they complete. Which unwrapping method should finish the fastest?

The surface is created from an airflow simulation and is an iso-surface from a 3D flow like this:

The built in automatic method that takes the least time to complete is almost always "Unwrap." For a simple mesh of 300,000+ polys, it took about 10 seconds. "Light map pack" took about 20 seconds, and "Smart UV Project" took longer than 1 minute.

For your mesh, I don't doubt that it will take longer, but it shouldn't be hours (I'd think). It may actually help speed up the process to mark some arbitrary seams. If you can, select two points, then choose Select -> Shortest Path. That will give you a contiguous line of edges that you can then mark as a seam. Mark a couple of seams lengthwise to split it into dorsal and ventral halves, then maybe even into quarters. Splitting things up this way, usually helps "Unwrap" work faster, but doesn't have any effect on any of the other methods.

Hope that helps!


How do I restart the scene when no collision for 5secs (BGE) Im working in the game engine, I want to restart my game asap my character had no collision for more than 5 secs.
Can you help?

Whenever your character measures a collision, you send a message "reset timer".

Have one object with a timer property (which measures in seconds).

When the property exceeds 5.0 you restart the scene (property sensor greater than mode).
When a message with subject "reset timer" is received set the property back to -5 (property actuator Assign mode)

[Edit]
just in case the character detects constant collision, I suggest to enable [True Level Triggering] at the collision sensor. This way the message gets constantly send and the timer gets constantly reset.


how do I build a list-multi-select widget using a box with operators? What I'm trying to do is write a ui for an export script to export multiple selected actions of the selected armature(s) to multiple files.

I can't seem to find an example to define an operator for use in a layout.box() instance which can be selected like the layout.template_list() widget.

Of course, I'm working with a python list of gathered actions, so that widget is out of the question, since Blender has no internal support for this.

So, how do I define an operator which can be "selected" from a box widget?

Mockup of what I'm working with:

definitely draw(this, context ):

    # not typing the gathering code.

    box = layout.box()
    for action in gathered_actions:
        row = box.row()
        row.label( text=action.name, translate=False, icon="ACTION" ) # what I currently have.

I want to replace the label with an operator, but don't know how to build the operator.

Might I note, I'm not experienced with blender, just python, so I'm delving into a new area with this.

Ok, so after some reviewing and paying around with stuff...

The short answer is forget about it...
blender's api just doesn't have enough thought put into it, and what's needed simply doesn't exist.

The long answer, build a collection property and wrap it with a pointer property for use in a template_list.

Here's my code for it with an example showing it in action:

Sorry my code is an image...
phone's can only do so much...

So I think that makes me the first to do something like this :)

Now if only I could get active selections to have a blue background rather than white text. >_>


Bring up the operation panel How do you bring up the operations panel for an object after accidentally clicking into the 3D View? For example when you bring in an cylinder you can set its properties i.e. the number of vertices radius, depth etc. but if you click, it disappears. How can you bring it back up when you need it again?

You can access it either through F9 or Edit > Adjust Last Operation.


All tools suddenly disappearing right after I add an object Here you can see when I selected a rig, the rotate ball won't show up.

Any idea why did this happen?

You have the gizmos turned off in the viewport!

Try turning them back on!


No light sources but object illuminated My set has no light sources and no environment maps, resulting in black background - however, the objects are still illuminated. Have I enabled some obscure setting by mistake?

PS. This is in Cycles. When switched to Eevee, everything is back as expected.

Your problem is that you've enabled Ambient Occlusion. Ambient Occlusion is a fake light that was mostly used in Blender Render to improve the shadows. I'm not sure it's still very useful with 2.8 except maybe for some effects like baking shadows...

Vader explanation here. Manual explanation here.


addon"simplify curves" don't work Hi, maybe someone had it, please tell me.
Enabled addon, but it is not

The addon works only if there are keyframes to work on.

And is meant to work in the Graph editor.


Why are the python style modules of freestyle not working? I downloaded and tested the example from several links, including the freestyle official page,

but it did not work at all.

official page of freestyle,
blendswap,
freestyleintegration

However, the examples written by dfelinto on this github worked.

github

What is the difference between the both? Did Blender lose compatibility with freestyle API while version up?

Yes there have been changes made to the freestyle api in various versions since it was added to blender. Freestyle is still there and working, it is just that some of the older python scripts might need updating. I'm not sure of any list of these changes, but you could compare the above page to this first release of the freestyle api. You could find the api used in other releases by starting here.

The first link you have are examples from five years before freestyle was added to blender and may not be close to the python support that was included with the first version of freestyle in blender.

Looking at the console output when using any of these older scripts might be helpful in finding where they fail.

The link to dfelinto's github repo has the same files that are included with blender releases, these files in his repo are identical to the current official development version of blender. Dalai is one of the blender developers and that repo is a copy of blenders code with some changes that he is working on.


How to join multiple multilayer exr files into a png/animation in blender? I have set up a lengthy animation in the NetRender render farm. After launching the network job, in the meanwhile, on the Client I worked on other stuff. After a week of netrender work, the job finally finished and I wanted to read in the results to get the movie.

I opened the initial blender file, clicked on the "Get Animation" button, but instead of just fetching the results it queued another copy of the job.

On the Master node I get a temporary folder with thousands of big xsr files, that in theory should contain all the rendered data. The question is: how to convert those files to png?

The usual tools such as convert doesn't work, they produce a black image.

What works is opening a single file in the UV/Image Editor in Blender. But that is only one image at a time. I have thousands images to work and I would prefer a way that is automatic.

Usually with exr files one wishes to use extra data stored in them (various render passes, depth buffer information, etc.) to apply the finishing touches to the output after the render is complete. Even if this is not what you have in mind, the same process should serve to simply convert the exr files into pngs.

Import the sequence into the compositor (you can do this in the existing file or a new file):

Switch to the compositor (⎈ Ctrl← Left arrow) and enable Use Nodes if it's not already enabled.
Remove the Render Layers node and add an image node instead ⇧ ShiftA> Input > Image.
Click open and navigate to the image sequence directory
Select all the images (A) and confirm.
The Source of the image node should be automatically set to Image Sequence and the frame range set. If you enable Backdrop in the header you'll be able to see the current frame of the image sequence (it will update as you scroll through the frames, albeit not very quickly).

(if you wish) set up composite nodes to apply post-processing effects and generally take advantage of any extra multilayer information present in the exr files. Connect the result to the Composite output node. The File Output node is especially useful if you want to save multiple images per frame (e.g. to store different passes in separate pngs).
Render again, with the desired final output format selected (.png in this case).

To get Blender to render straight from the image sequence and not from the current scene, make sure the compositor doesn't contain any Render Layers nodes and that Compositing is enabled in Properties > Render > Post Processing (it is by default).
Set the output path, format, etc. in Properties > Render > Output.
⎈ CtrlF12 :)


Knife Tool Project - Cutting Away Volume I am trying to create a model for 3D printing. I am trying to have this cylinder and hexagon shape "cut away" from the main mesh. How could I do this? It is to be the negative space of a bolt and a nut (nut fed into the hold on the inside)

Blend File

You can use the Boolean modifier to do this. Create an object that is the exact shape of the hole you want, then select the object you want the hole in, and add the modifier. You can now select the name of the object you want to use to create the hole. Now change the boolean  method to Difference, press the Apply button, and delete the mesh you used to make the hole.


How to apply Custom Transform Orientation as a Local Transform I've created a custom Transform Orientation (named Side). I also have an object A in which the Local Transform Orientation is set to Global Transform Orientation. I want object A's Local Transform Orientation to be equal to Sides Orientation. How do I do that?
I would prefer a manual solution, but one using Python would work too.

I did some digging and found that You can set Transform Orientation in bpy.context.screen.areas[?].spaces[0].transform_orientation but it is just an enum with the name of a active transform. Where is the quaternion stored?

As I discovered while working on Blender function to transform a selected edge along a custom axis the transforms are stored in bpy.context.scene.orientations[i].matrix.  You can use orientations[0] or orientations[name].

If you want the rotation component as a quaternion use orientations[i].matrix.to_quaternion() .