text:
Rendered imaged has weird shadows
I've got a sphere with a texture and a material and I'm using blender render. This is how it looks in material view.
[]
And this is how the rendered image looks.
[]
What am I doing wrong?
Heres my .blend file : http://www.mediafire.com/download/gly7535pswrnryj/problem.blend
Note : Im posting the blend file because I've got an integrated graphics card and I've heard blender has got some issues with these. So maybe it works for you, and its just my computer.

I dont think thats the same problem @stacker

@VinnieH01 I just inspected your .blend - you have 2 meshes (spheres) on top of each other. One textured and one pink. It is the same problem as in the duplicate.

but how do i fix it?/Remove the pink mesh? @Jerryno

There are 2 spheres on top of each other - one textured, one pink.
To move them apart select 1 vertex in edit-mode and then select all connected to it with CtrlL. This will select only 1 sphere so they can be separated.
You can also hide selected with H and unhide with AltH so you don't have to move the mesh.
Delete the one you don't want(pink probably).
The 2 spheres were there probably because it was a game-engine model with single-sided polygons - so the textured sphere was for outside and the pink for inside surface. The renderer will render surface from both sides and they are z-fighting.


text:
Why does my loop subdivide not extend around the whole shape?
I am createing a model which has a cylinder shape extruded inwards, and wanted to create some sharper edges around it. I tried using the loop subdivide tool (Ctrl + R) but the "loop" part of it is only reaching half-way along the inner edge

The top portion of this is divided into thirds for this, and I'm not sure why this is happening.
These appear to be 4 sided shapes, so I don't think it's an ngon problem.

Does this help? http://blender.stackexchange.com/questions/17870/loop-cut-wont-go-all-the-way-around

Looks like you probably have double verts or something there

@gandalf3 can you point out where you see this? I'm pretty new to 3d modeling so I'm not really in touch with what to look for.

You probably have duplicated vertices. Here I ripped a few vertices (and moved them away which isn't the case in your model) to interrupt the flow of the loop cut:

This can be easily fixed by Remove Doubles.

I will be able to check later today if this is the case. Is Remove Doubles something I should hit periodically if I don't expect them? Or is there a more reliable way to detect they are present?

I used remove doubles, and it removed zero vertices. So I don't think this is the problem.

Okay, I tried again, this time selecting my whole mesh first (instead of having nothing selected), and that removed 3 vertices, and now the edge loop moves around the whole way.

This is most propably happening because you haven't extruded the whole thing at once, you have extruded it by parts. So you can try to just add a loop cut in this places as well. Or you can also try to press ( i ) and extrude inwards.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Subdivision surface working except for one edge loop
I hadn't been using Blender for several years. I forgot a ton of stuff.
I'm doing Subdivision Surface Modifier on an object. I can see it works, when I change the Subdivision resolution or click show/hide in viewport, except for one edge loop. See attached image.
The caps happened to be disconnected from the main cylinder-like body of the object. So I Merged them By Distance. Now it's all one connected mesh. But Subdivision Surface works on all but this Merged edge loop.
Any hints on why this is happening?

Hello could you please share your object?

The normals are inverted, select all and recalculate the normals (ShiftN)

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Blender Internal Noise Texture not showing in Normal channel
I'm using a Noise Texture (shader) with the Normal influence channel (in BI). And it doesn't show in render. Something does show when I check the Color influence, but not Normal influence. I think I tested every possible setting, with no success. See the attached images for my settings and the render result. The blue tip should show some bump. What am I doing wrong? Maybe it has to do with scale. The tip is just a few millimetres thick, but I also tested different scale values and nothing shows. The noise does show in the preview though.
I'm attaching another image showing the vertices.

Can you show the vertices which have the material applied in edit mode?

Please try 3 tests changing the Influence/Bump Mapping/space ... Object/Texture/View.  I have seen some differences for small pixel bounds.  There are some warning against using this noise for animation. Clouds are suggested in some documentation.

Success! After testing all three of the spaces as mentioned by AtomicBezierSlinger I accidentally discovered what the problem is:
None of the texture shaders (with Normal influence) work with Mesh Lights. It's another limitation of BI obviously. A regular Lamp is needed.
Solved.

You will get different results with the Influence/Bump Mapping/Space setting

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Override animation when rendering via script
I have a simple script like this:
import bpy

obj=bpy.data.objects["Cube"]

obj.rotation_euler.x=0.3
obj.location.x=2

bpy.ops.render.render(animation=False, write_still=True)

and an animation where the location changes
so whenever I run the script first the rotation & location changes
but when executing render() the location gets set back to animation value
how do I avoid that? I thought animation=False avoids playing animation and renders as is

I found a solution but it's a little hacky,
remove the animation action before rendering and then re-add it
import bpy

obj=bpy.data.objects["Cube"]

# removing Action
temp_action=obj.animation_data.action
obj.animation_data.action=None

# disabling ShapeKey Action
temp_shape_key_action=None
if(obj.data.shape_keys.animation_data):
    temp_shape_key_action=obj.data.shape_keys.animation_data.action
    obj.data.shape_keys.animation_data.action=None

# changes
obj.rotation_euler.x=0.3
obj.location.x=-4

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

## Re adding Actions
obj.animation_data.action=temp_action
if(temp_shape_key_action):
    obj.data.shape_keys.animation_data.action=temp_shape_key_action

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
python undo without bpy.ops?
I'm making multiple changes to an object and rendering like this:
obj=bpy.data.objects["Cube"]
obj.rotation_euler.x=0.3
obj.location.x=10
...
bpy.ops.render.opengl()

after I'm done rendering I need to change the object back to it's original state
I tried using bpy.ops.ed.undo() but it's really unreliable so is there any other alternative?
Note: I'm not looking for a solution where I have to store the individual values in temporary variables like this:
obj=bpy.data.objects["Cube"]
temp_rotation_euler_x=obj.rotation_euler.x
obj.rotation_euler.x=0.3

temp_location_x=obj.location.x
obj.location.x=10
...

bpy.ops.render.opengl()

obj.rotation_euler.x = temp_rotation_euler_x
obj.location.x = temp_location_x
...

Hello, I think one reliable solution would be to save the file beforehand and revert it afterwards bpy.ops.wm.revert_mainfile()

@Gorgious yes this is exactly what I needed! thank you so much! but how efficient is it if it has to be used rapidly? (Also can you post this as an answer so I can mark it solved?)

The efficiency will depend on the number of things to recalculate when the file is loaded. On an empty file it will be instantaneous, on a file with multiple rigs, modifiers etc. it can take several seconds. You can also explore animating the value. Please do post it as an answer with your completed code so others can benefit from it :)

Thanks to @Gorgious I found the solution:
import bpy

obj=bpy.data.objects["Cube"]

bpy.ops.wm.save_as_mainfile(filepath=bpy.data.filepath)

obj.rotation_euler.x=0.3
obj.location.x=10

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

bpy.ops.wm.revert_mainfile()

It ain't a pretty solution but it'll get the job done


text:
Glossy material rendering black, in a scene with environment and emission lighting
Having a bit of an issue, just messing around with some game models. And whenever I apply a glossy shader it renders black, just for the car/tires model (pre modeled). Any other objects (newly created) render the glossy just fine. I have a plane with an emission shader as well in the scene.
Thanks!
EDIT: .blend file

That's because of custom split normals, related. Once they're deleted / unused the model looks as expected. Although I'm not aware of a way to render that car as glossy and have split normals used (if they are needed for some reason).

Deactivate autosmooth in data tab and it will be ok.

This works as well, along with clear custom split normals. Thank you as well!


text:
How to export pivot point from Blender to Unreal Engine?
In blender the position of the pivot point is correct.
But it moves to another direction after importing to Unreal.
Why can it be?
I think this is a question more about Unreal, not Blender, but here community helps much more faster, than Unreal community =)

Edit 2:

Before exporting from Blender, add an empty to your scene where you want your origin point to be, then parent the cupboard to the empty.  Optionally rename empty to 'cupboard' or whatever you want.  This works for Unity, and I assume it'd work in UE4.

I've added empty Plane Axes and made left door of the cupboard a child of that object like in the Edit 1. Is it correct? Pivot points of the both objects are in the same point.

Not quite what I meant.  In hierarchy view, grab Cube.001 by the icon to the left of it's name and drag it on top of the LeftEmpty.  It should then seem to disappear from the hierarchy view, but if you click the little + beside LeftEmpty, you'll see that it's there as a child of the empty.

Unfortunately pivot point is still in the wrong place

If you're exporting "selected objects", be sure to have the empty (parent) selected too, not just the cube.


text:
How can I increase reference image quality?
How can I increase the quality of reference images in Blender 2.8? The image I downloaded for reference is high quality, but after importing it as the reference image, it appears blurry when zoomed in. Is there any way to increase the image size in Blender?

Any image, outside of vector images, will appear blurry/pixelated when you zoom in. It sounds like you're dealing with a non-vector image here

I know this question is for an obsolete version (2.8), but for Blender 3.2 I came across the same problem, that reference pictures appear too blurry.
For my case I found the solution how to increase the quality of reference pictures imported into Blender by going to
Edit > Preferences > Viewport > Textures > Limit Size [x]
If the texture size is too small, like in my case 256, the reference picture will be blurry, pixelated and unusable. Increase x at least to 1024 or more and the quality of the reference pictures will increase as well. Blender treats them inside the viewport as any other texture.

Make sure image is selected. Go to Object Data properties and change the color space from sRGB to Linear.

Click on the Add menu in the Sequencer Editor and select Image.
Navigate to the location of your image file and select it.
In the Add Image dialog box, make sure the Fit option is unchecked.


text:
Are there faster ways to switch pose modes? Am I missing something?
Here's the problem I'm having with weight painting;
Typical operation:

Object mode
Select rig
Select edit
Select multiple bones
Object mode
Select mesh
Select weight paint mode
Use a function, like auto weights.

Oops, I'm in pose position. I need to be in rest position to use auto weights.

Object mode
Select rig
Go into data object properties
Change to rest
Select mesh
Weight mode.

You have to click like 8 things just to change one thing sometimes. Is there a faster way to change between all these modes?

Personally when I do weight painting (or any rigged mesh work really), I split and pin the Pose/Rest controls in their own pane at the far bottom right, with bone layers and IK toggles in the same pin. That way it's just a single click to get to rest pose and back no matter what objects I have selected.
In addition, this workflow might help out a bit:

Object Mode
Select Rig
Shift-select Mesh object(s)
Weight Paint Mode.

This should allow you to select any bone in weight paint mode, pose them and paint the related vertex weights in real time, with the armature panel pinned it makes it a lot easier to do operations that require rest pose.


text:
Glue 2D mesh on a 3D model?
I'm totally new to blender and I start trying to do a wizard hat. Since I started, I manage to do pretty much every thing I wanted to do. But I'm starting to struggle.
So what I'm trying to do is pretty obvious, I'm trying to "glue" my plane star on my 3D hat.
I tried "Boolean Union", big failure. And I didn't try to merge on vertices because I don't know how to create a 5 vertices stars on my rounded 3D model.
I didn't find any tutorials or documentation, that's why I writting here, I tried to do it my way but maybe it's not a good one.
If any of you got an idea on how to do that, I'll appreciate !
Cheers.

It depends .. do you want the star to be rigid, like a metal badge, with some independent movement? do you want it to be part of the color of the fabric? Or like it's stitched on? All possible, all different.

Ok I reallize that I'm really a beginner....
I'm not sure of what you mean by the second and third  possibilities but I think I will prefere it to be independant, like a metal badge.
thx for the answer.

Yeah it should be good ! Thanks guys and sorry for repost so. I probaly don't have the right vocabulary...


text:
Why do I keep getting a 'No faces filled' error when using the Face-fill tool?
I'm new to Blender (yes, I'm working on a donut) and I'm trying to get my head around the Face-fill command.
I cleaned up an SVG of a logo and imported it to Blender, then converted it to a mesh. Now I'd like to create faces from the logo so I can extrude it and use Boolean tools to essentially 'cut' the logo into a shape. No problem with the part of the logo which was originally just a vector shape drawn in Illustrator and passed to Inkscape. The part of the logo which started as text is a total nightmare, though. I was trying to do it with the F (create face) command and it was creating faces without leaving holes (as in letters like 'b' and 'a').
Reading around in the Blender 2.82 manual I discovered the Face-fill command. I even created a shape similar to what the manual shows (by adding a single vertex then extruding it numerous times and setting Snap to Vertex, thereby creating the required continuous perimeter). It just gives me the same (sorry, useless) error 'No faces filled'. Does anyone have any idea how to go about filling more complex vector shapes made up of many vertices?

Try ALT-F as Ray says.

I ran into a similar issue but was mixing up the "Make Edge/Face" (F key) command, and "Fill" (Alt F keys), "Make Edge/Face" was working

Hi Hugo! Thanks for that, I'd moved on to other things, but that's great to know. Alt-F never worked for me before, but in 2.92 it's working fine!


text:
Why is the transform gizmo not aligned correctly to my Python created object?
I am having a little confusion here. Some background: the user perspective faces in a direction, I am trying to make a box that faces the user perspective. That I have been able to achieve (pic below)
Side view after creation, arrow shows perspective view:

User perspective on creation:

Where the red arrow is the normal view of the user perspective - all good.
The problem is when I try to resize the box into a rectangle, as you can see the transform coordinate does not align well on creation of the cube. I get something like this:

Here is the code I have come up with so far:
world_view = bpy.context.space_data.region_3d.view_rotation
local_view = Model_hollow.matrix_world.inverted().to_quaternion() @ world_view
view3d_rot_matrix = local_view.to_matrix().to_4x4()

bpy.ops.mesh.primitive_cube_add()
cut_box = bpy.context.object
cut_box.name = 'cut_box'
bpy.ops.object.select_all(action="DESELECT")
cut_box.select_set(True)
bpy.context.view_layer.objects.active = cut_box
cut_box.location = Model_hollow.location

bb = Model_hollow.bound_box
dx_local = max(bb[i][0] for i in range(8)) - min(bb[i][0] for i in range(8))
dy_local = max(bb[i][1] for i in range(8)) - min(bb[i][1] for i in range(8))
bpy.ops.transform.resize(value=(dx_local, dy_local, 1), orient_matrix=view3d_rot_matrix.to_3x3())

cut_box.data.transform(view3d_rot_matrix)
cut_box.data.update()

I do supply the orientation matrix.

Apply the object scale. Rotating the mesh of the object scaled causes the object to squash.
bpy.ops.transform.resize(value=(dx_local, dy_local, 1), orient_matrix=view3d_rot_matrix.to_3x3())

#=== Appry object scale =====
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
#----------------------------

cut_box.data.transform(view3d_rot_matrix)
cut_box.data.update()


text:
How to copy data from one armature to another POSE MODE
I want to copy one armature as the pose of another armature.
Lets call my left armature A and my right armature B.
In the picture below, my armature A is originated by code, and my armature B is imported from Makehuman. A looks the same in the edit or pose mode. My goal is to transform B armature to look like the A armature in pose mode (i.e, deforming the mesh)

Here is my desired result (I changed my A armature by hand to achieve this effect, but I want to generate it by code).

I found here (How to copy position, size from one armature to another?) a way to copy them trough EDIT mode, but that does provide me what I need, since it would deform the skeleton B in the edit mode, and what I want is to deform it in the Pose mode.
Does anyone have an idea to help me?
Thank you =)

Is your rig A a bvh rig? If so, do a search on makewalk for makehuman.

Thanks for helping me!
It actually did not work since I had to make everything only in scripts, and the bones does not have the same rest pose (EDIT) mode, to achieve my goal, firstly I translate the head of my hip of arm. B to the same pos as the head of my hip of my arm B.
After that, I got how much my hip A is different (in scale) as my hip B - to   get this result, I calculate the Eucledian distance between head A tail A and then head B tail B, with these results, I got the percentage of how much should I scale my hip B for get the same size as my hip B.
Finally, I got the angles between both hips, and the axis that I should rotate for then to be in the same direction, the axis I got from cross product, and the angle you can easily find it online (how to get angle between two vecs), and its done, my hip B now in the same direction, same position, and same size as the my hip A! After that, I apply only the scale and rotation to the rest of the bones! =)

This should work: go in pose mode (arm. A), edit the pose then select all bones, and use ctrl-c to "copy pose", then select the other armature (arm. B), go in pose mode, select all bones and press ctrl-v (paste pose). Edit mode af arm B remains the same as before.
I tried on simple armatures, but I suspect it needs two armatures with the same bones and structure...
if you need to make arm A like its pose, start from pose mode, and then select all bones and press ctrl-A > apply pose as rest pose: it will stay the same in edit mode...


text:
Cycles and OSL Render - Weird Seam
I'm trying to make a rock stick out of the sea, and want to blend from a wet rock to dry rock using cycles nodes.
I use a mix shader to blend between two shaders based on the Z position. The mix factor is obtained by calling smoothstep in an OSL script.
My node setup is like so:

However, for some reason I'm getting a sharp seam along Z positions where the blending ends:

Anyone know what might cause this, or how to fix it?
Thanks!

I was not able to reproduce your issue. I don't think the problem is caused by the OSL script. Texture? Could you upload your blendfile for deeper inpection?

Just uploaded it. :)

OSL Shading issue with Diffuse Roughness > 0

By dupilcate the Diffuse shader as in the node setup belowe an lowering the amount of the second Diffuse Roughness to something like .95 you should get the expected result.
There seems to be an issue in the usage of that parameter. It leads to strange behaviours. Note that if you don't double the node but just try to lower the Roughness of the Diffuse shader node, you'll need to set it lower than 0.5 to achieve the given result.

Notice that is not related with the use of the OSL script because it still happens even with default nodes...

..when the same scene, rendered with OSL Shading disabled, gives expected results.


text:
Pointiness factor from bump maps
I have a material I am creating that has a bump map and I am trying to add grunge to the edges of the holes created by the bump map, any ideas how I could achieve this? thanks for any help you can offer.

I want the grunge to be along the lines and around the edges of the darker portions

Could you post your bump map and show where you want to have grunge there?

It propably depends on the geometry you're working with, but you might have a chance in abusing the fact that normal maps are indeed just encoded direction vectors, which are assigned to the R, G and B color slots. If you try a node setup like this (so feeding the normal output into an emission shader and previewing that) on your texture...

... you'll see the famous mostly blue normals texture:

Add two more nodes afterwards to split up the three channels into its components. One is a SeparateRGB node, the other one an invert node. You'll need the invert just on the B channel, not on the other two:

The result of that separation will be this:

Whereas the original texture which I was feeding into the whole chain was simply this:

The background is, in the R channel or a normal map, the perturbation amount of the normal in U direction is stored, whereas in the G channel the V perturbation is recorded. B is - I believe - a factor of how unperturbed the normal is. That's why you need to invert it, as you're interested in the bumpy areas only.
With your provided texture, the setup produces this:

Late to the party, but this is an incredible answer. This method actually works better on the baked out normal than the pointiness from the geometry node did on my high poly!

You can use bump maps for this. The node setup I used is

Notice how I used the same image twice; both for the texture and the bump map.
Without bump map:

With bump map:

Open the images in full view to view the details
Hope this helps.

i was wondering how to add grunge to the edges, not how to use bump maps, sorry if I didnt convey this clearly.

Ah (Not a native English speaker, so had to google "grunge"). You can achieve this with multiple methods. The easiest would be to use your texture. Blur it with nodes, invert the colors, and use it as a mask texture for your grunge. I can't show an example right now since my cycles is messing up, so have to troubleshoot that. But I'll see if I can edit my answer when I get it fixed if no one else beat me to it.

In the case of the bump map you provided, I would simply run an edge-detector over it in an image editor of your choice and then alter the generated texture (blur etc) to suit the look you are going for.
This is obviously not a procedural solution and does not behave the same way as the pointiness-input, but it can provide a similar effect.


text:
Motion Blur problems with wheels and Rigacar
I am currently trying to learn how to use rigacar to create a scene of a car racing through the tunnel. I am having issues when I try to add motion blur to the wheels. With no motion blur, the wheels spin fine as seen below. But as soon as I add motion blur the wheels start to become transparent in some sections. This is not desirable because it makes the car seem to jerk around as you can see in the second video. It also isn't physically correct because the tire occupies the same space frame to frame, just different parts of the tire.

No settings have been changed between the renders besides motion blur. I have done tests without denoising, that isn't the problem. Increasing the sample amounts from 128 to 512 had no effect. The wheels are centered at their origin of rotation. I am using Rigacar car generator. The wheels are instances of a separate collection to speed up viewport rendering. With larger shutter settings (increased from .5 to .8) the effect becomes worse.
Edit: I have attached the blend file for anyone who can take a look at it.
Edit: I have done additional tests.
Removing the mesh lights and replacing them with actual lights does not fix the problem.
Removing all lights does not fix the problem.
Hiding the tunnel and rendering it against a blank background does not fix the problem.
Changing the camera angle does not fix the problem.
The wheels do not wobble in the viewport

The issue appears to be with the way that I created my instances. The origins of the instances of the wheels are at the center of the instances making them move smoothly in the viewport. However, the source of the instances has the origin of the tire set not at the center of the wheel.
To fix the problem: I applied all the modifiers on the tire tread and centered the tire's origin.
I also had to rebuild parts of the scene and the following paths in order to implement the new instances.


text:
Soft body to keyframes script crash
i am trying to use the script from another post. It works as it says, The problem is when i try to render the blender crashes. The frames are about 100. I have about 1200 frames of soft body simulation and i want in the last 100 frames to control better the animation.I think the script is perfect.But i do not know if there are to many frames to convert in shape keys or maybe the shaders.
I have a scene with some thing like an inflate mass that transforms after 1200 frames. I have made a falling and rolling simulation, but I want this inflate mass to be in complete rest position.But because of the movement momentum, this isn't happened inside the simulation, it's keeps somehow moving,and I cannot animate the mesh like the simulation, to make it look like resting.So I was thinking to keyframe the last 100 frames, scale them, so it is like it stopped

Assuming you have used script in this answer.  How big is the mesh (vert / poly count), run from console look for error messages, look in tmp folder for blender.crash.txt text file and post here.  A workaround would be to split into smaller files.  Say 12 100 frame files.  Would be 1100 less shape keys in each file.

I try to avoid that because it will be a workflow mess

Have you tried the mdd cache suggested in answer?  To have a workflow that leads to monstrous blend files that crash your machine... you might want to invest in hardware.

My hardware is good i think, 16gb ram gtx 1080 ti and intel i7 7800x.It is not the machine that crashes, but the blender.I think that mdd doesnt work in my situation. I have a soft body and make it look like rest-stops, the concept was to keyframe it and scale the keyframes

lol meant crash blender.  Haven't used mdd myself, in theory tho I thought you could edit the cache. Isn't it just like caching the shapekey mesh to disk.. if so surely you can edit it.  Could you elaborate on how last 100 frames will control first 1100? (edit into question rather than comment)

I have a scene with some thing like an inflate mass that transforms after 1200 frames. I have made a falling and rolling simulation, but I want this inflate mass to be in complete rest position.But because of the movement momentum, this isn't happened inside the simulation, it's keeps somehow moving,and I cannot animate the mesh like the simulation, to make it look like resting.So I was thinking to keyframe the last 100 frames, scale them, so it is like it stopped.


text:
Animate Curve along mesh surface
i am trying to find a way to aproach, animating a curve along a mesh surface, like having a wire creating a mesh.
I thought about having a curve snapped along the mesh and then animate the wires.
 Do you have any reference tutorial or any idea how to aproach it? Here is a reference image:
and here is a second:

Thank alot

I guess what you want is not clear and need a little bit more explanation

Yeah i know, i dont have even have a reference video, i was asked from aclient that has a ed model of a head. if there is a way somehow to be created from wires.

you mean a wire moves until it creates the shape of a head? With Empty Hook you can control the vertices of a curve

i mean having a wire going along the periphepy (maybe spiral move) of an object, untill it completes the shape. Here is an image that resembles it https://www.google.gr/search?rlz=1C1MSIM_enGR760GR760&biw=1920&bih=943&tbm=isch&sa=1&ei=WhqIW5qAAcedsAfZ05vIAQ&q=spiral+head+esher&oq=spiral+head+esher&gs_l=img.3...9006.11434.0.11948.9.9.0.0.0.0.128.1099.0j9.9.0....0...1c.1.64.img..0.1.122...0j0i30k1j0i10i30k1j0i8i30k1.0.wIvBJ6IXPSo#imgrc=aw971AknW-lDFM:

oh ok interesting

perhaps create a mesh for the head, then a bandage that will stick to the head with a shrinkwrap, then put some hooks or bones to control the bandage, and use the Projection Painting technique to paint the bandage? https://www.youtube.com/watch?v=eQy5jn9dWrs     https://www.youtube.com/watch?v=uxD0qaTFZnk    https://www.youtube.com/watch?v=sZDMFkj8GqA

it is not the exact image, i am still trying to find a better reference

I changed the reference we a much more acurate,This image was created with c4d

is it supposed to move and if so, how?

I think trying to fill the shape, having like an infinte cable tha goes all along the surface until it fill the shape.

Do you need to move the noodles or are they just lengthening along still curves? You can create some cylinders, then with Array + Curve modifiers, you increase the Count of the Array and the noodles will lengthen along the curves. If you put some Hooks along the curves you can also move the noodles if needed. Maybe those hooks could stick to invisible spherical shapes...

i thought about faking it, i dont think that i will do it for the client, it does not have good value for money, but i thought about creating a script. In pseudocode, it is like trying to connect all dots without overlapping.

So why not create spiral curves, then you duplicate a cylinders along them with an array modifier

Because it will not have the detail, of working with a head model or other more complex shapes.

You could create your shape, then create and extrude a curve along this shape with Snap enabled (type of element to snap to: face) so that it sticks to it. Then the animation will be the cylinder increasing its array count and following the curve.

This was my initial thought,I start doing it and it was like a helling boring work, doing all the head and my second thought was animation nodes, but I couldn't find any reference

yes a bit boring, but pretty easy to do, but maybe someone will have a better idea  ;)

Somewhat related .. this tutorial using Animation Nodes

yessss, just before going for sleep, i think it is a very good start.

If you succeed in putting some order into that approach, I would love to see your answer to your own question. :)

You need to clarify how should the wire animation look like, it's unclear. How to make the wire is here: https://blender.stackexchange.com/questions/94991/trace-visualisation-in-3d-how-to-wrap-curves-onto-a-3d-mesh.

I don't have much experience with it, myself, but it sounds like you should look into the Build modifier.

This tutorial deals with the animation of stuff along curves. Your model might be complicated to set up this up for, though.

https://medium.com/@behreajj/scripting-curves-in-blender-with-python-c487097efd13

Create a sphere.
Create couple of curves with depth
Use shrinkwrap modifier on each curve. In shrinkwrap modifier turn on "apply on spline"
on the top bar.
You can animate wires with bevel start/end option in curve panel.


text:
How to make liquid's color intensity less, where the geometry is thinner?
I created this ICE TEA. Now I'm after even more realism. I figured that the intensity of the liquid should be less, where the ice cubes are close to the glass, where the liquid is 'thinner'. How to achieve this effect?
Currently The liquid is Glass BSDF with IOR 1.33. I tried to subtract (boolean) the ice cubes from the liquid, to actually create the liquid thinner or thicker in certain parts. Only it gives a terrible geometry on the top surface of the liquid where the ice cubes stick out. I will probably have to model this surface manually, to get good geometry. But I figured I must do it, since I need thinner and thicker parts of the liquid. But even then, will it work?
I will be pleased also if you can advise me on other ideas how to make this ice tea more realistic. I'm thinking for instance bubbles along the top edge where liquid meets the glass. Anything else?
Edit: Ok, I used the Volume Absorption node. It works to some degree - the liquid seems brighter where the ice is. But now I want to put a gradient on the liquid, so that it goes from bottom of the glass to the top. At the moment I have a gradient going left to right. See my node setup. I suspect I have to feed the coordinates into the Vector plug on the Gradient node, I tried Vector Mapping node with various settings, but no success. How to change the coordinates of the gradient, so that it goes bottom to top?

You should not need to subtacr the cubes from the liquid, render engines compute surfaces only for volume, having overlapping faces is never good. Look into Volume Absorption and Volume Scatter nodes to take fluid density into account

Surface Color and Volume Absorption
I see you still have a rather strong surface color. In reality, liquids are not really colored by light loss on the surface, but ligh loss within the material. You should leave the color of the surface shader white and use the color for the absorption. The gradient may or may not be needed based on your initial intent with it. Experiment with the density of the absorption.
Refraction and Transparent
I am not sure why you mixed these two shaders. You should get a better result with simply a glass shader.
For Full Realism
You should note that only one surface should be between the glass and the tea and that should be a third material, with an IOR of IOR-tea / IOR-glass. This applies also for the ice cubes. This also means that the meshes will not be manifold, but this is how the render will be most realistic.
These are useful to read:

fluid in a glass
Liquid / glass interface IOR and normals in Cycles
http://adaptivesamples.com/2013/10/19/fluid-in-a-glass/

Alternative Solution
You can use the ray length to calculate the correct absorption, but this was useful only before cycles volume shaders was implemented:

http://blenderdiplom.com/en/tutorials/419-tutorial-absorption-in-cycles.html


text:
How to make a tetrahedron solid and grid?
I'm working on a build-up animation. See images. All the balls and cylinders have to follow a global equilateral triangle grid. But I don't have this grid and the result is not precise, it doesn't fit. My best solution would be to make a perfect equilateral triangle solid (4 equal faces - 3 verts each). But I can't find such a primitive in Blender, even in the extra objects add-on. Can someone help me out, how to build this solid, so I can replicate it further and make myself a 3D grid from it? Or maybe there is a clever way to make a grid like this directly, something I can snap to?
Ok. I got a "perfect" tetrahedron thanks to Grimm. But it is not perfect. I began making a grid, see 3rd image. But it is inaccurate. It doesn't fit. I need a perfect grid. Somebody knows how to achieve a perfect tetrahedron grid? Maybe there is a script somewhere that does it? All ideas welcome.

You are asking for the impossible. Equilateral tetrahedrons cannot tesselate a 3D volume by themselves.

This is fundamentally impossible because (surprisingly!) the platonic tetrahedron is not space-filling.
The dihedral angle of two adjacent faces of a regular tetrahedron is arccos(1/3) ≈ 70.53. So if you put 5 regular tetrahedrons together it makes 70.53*5=352.65 which is not quite the 360 you would need to fill space.

You could create such a triangle by adding Mesh -> Math Function -> Regular Solid and selecting there Tetrahedron.
I played around with array modifiers and it looks like what you probably wanted.


text:
Why can't I see any transparency on my material with Eevee?
This feels like such a basic question, but I can't work it out.  I need to render a semi transparent Lego block and see the back faces of the block.

I'm using Eevee in Blender 2.8 and have created a Principled BDSF texture with a mix shader and a Transparent BDSF.  I'm passing an RGB node with black colour (I tried white too) into the Transparency BDSF. I am seeing transparency, but I can't see the back faces and cant find an option for 2 sided material or mesh in this version of blender.

How do I do this please?

Besides what Andrey already stated in his answer, your transparent node has a solid black color, which essentially makes it opaque.

Thank you.  That's also very helpful.

First of all with Principled BSDF you don't have to mix it with Transparent because it already has its own transparency mixer, Alpha slider. The second - in material tab in settings make sure your Blend mode is 'Alpha Blend' and 'Show Backface' is enabled.
UPD. 'Show Backface' option indeed shows the back sides of the polygons but simultaneously stops to show the front sides. I guess in some cases it can be used as a kind of fake semi-transparency, but in fact it is not.

Thank you, this is exactly what I was after.  Problem solved.


text:
How to allow blender to only use part of your CPU computing power?
Is there a way to only allow blender to use part of my computing power?  For example, I don't want blender to use more than 25% of my CPU computing power.  Please make sure that it doesn't shut off when you use too much computing power but instead just keeps on running at 25% computing power.  Too clarify, I don't need this for rendering, I want it be for the 3d-view.

please clarify: do you mean that you are rendering and at the same time you would like to continue using Blender for modeling etc?

https://superuser.com/questions/214566/are-there-solutions-that-can-limit-the-cpu-usage-of-a-process might answer your question

@Bruno just for modeling

Under render > Performance >Threads,
set it to fixed and you can chose how many Cores Blender can use when rendering in cycles. Not sure for Eevee. This should also work for modeling

Also you can use Cpu affinity which limits how mnay core blender uses as a whole through
Task manager> Details>Blender.exe (Might be different I use .zip) > right click > Set affinity  ,  on windows
or using what is discussed here for Ubuntu Link to Ubuntu forums
Note: For this to work you will have to make sure the amount of threads in performance is the same as the amount of cores as you have set in the affinity, or it will be reset every time you go into rendered view or render.


text:
The 'BCRY Exporter' export button doesn't show up
I tried everything but BCRY Exporter 5 or any other version does NOT WORK! It does nothing and the button doesn't show up to export or use. The BCRY button doesn't exist and sadly I'm running out of time. This is my last resort to get some answers or I must, even though I don't want to, move on from this.

Hi. Please don't capitalise the first letter of every word. It took a while to correct.

Hello and welcome to Blender SE! BCRY Exporter 5.1 was last updated in December 2017. The last supported Blender version was 2.79 (Download it here).

God Bless Ray Mairlot! :)

Sorry thats just how i talk lol, didnt know you wold fix it xD

OMG Thanks So Much, Im srry its  how i show gratefullness, You saved my life! :D Thanks!

Thanks again guys, i appreciate all the guidance! srry about the caps lol


text:
What does Bmesh mean as opposed to mesh in animation nodes mean?
I tried to find the answer on Google and it did not give any answers for me. I also tried on this forum and I did not get any answers here either. So what is the difference between Bmesh and mesh especially with relevance to Animation nodes, but I assume it has relevance to whole of Blender?

Mesh (blue socket) is Animation nodes native representation, which is optimized for better performance. It is only available inside AN node tree. BMesh is blender mesh type, which supports many operators like smooth, triangulate etc. Manipulation of data is faster when using AN mesh than bmesh due to python overhead.

Hello @HariSreedhar, you could post this as an answer :)


text:
Why does my blender 2.8 not recognize the gpu?
I have AMD Radeon R5 M430 in my system and the blender version that I am using is 2.8 still it does not recognize the gpu.
At most of the places it is written that this gpu has GCN 2nd gen. The 2.8 version of blender support 2nd and above generation.
So why is this happening?
Has anyone else faced the same problem?

This tends to be a driver issue, but: 1) update your drivers and report your driver version and 2) detail what fails when your card is not recognized.

The Radeon R5 M430 has the GCN first generation micro-architecture and is therefore not fulfilling the minimum requirements for GPU rendering.

Modell: Radeon R5 M430[158](Exo Pro)
Launch: 15 May 2016
Architecture: GCN 1st gen (28 nm)

Requirements for GPU rendering from the manual:

AMD
OpenCL is supported for GPU rendering with AMD graphics cards. Blender supports graphics cards with GCN generation 2 and above. To make sure your GPU is supported, see the list of GCN generations with the GCN generation and supported graphics cards.
AMD OpenCL GPU rendering is supported on Windows and Linux, but not on
  macOS.


text:
Render not updating for me blend
Whenever I press the F12 key or click render, then render image my image doesn't update. While making the scene yesterday it updated every time I hit F12.
This is my scene, you can see there is a green thing and some other stuff changed:

This is when I hit F12. No Green thing, no changes or updates:

I'm not sure if you've found a solution yet but I had the same problem. I fixed it by clearing all the images in the Video Editing tab. Hope it helps Cheers

I had the same problem a few days back and clearing the image sequence in the Video Tab fixed it for me.

Go to the Video Editing tab in the top bar
Delete whatever video or image sequence you have in there
The preview should be empty now and you should be able to render the correct image

Hope this helps!

There is a layers list in the top right of the screen without the render window open

Try changing to the layer called "Render Layer".
Blender will render each layer independently so they may be combined in the compositor.
I'd recommend removing the layer which is out-dated to solve this or look into using the compositor.
It may be rendering into another image. By default it will render into an image called "Render Result". You can find this in the drop down menu at the top of the screen as shown below.

Sadly, I did not find it in rendering in any of the images in the drop-down menu. :(

Are you using either:
Compositor,
Multiple Scenes,
or Collections?

I'm new to blender, just 2 days. I don't know what the compositor is. I have just one scene and 3 collections: Scene Collection, collection, and collection 2.


text:
Emission material not showing in render EEVEE

I don't know what's wrong with it but I have gave it a emission but it doesn't show up in the render view.

You have to add Volume Scatter to the World or add a Volume object around the emissive meshes. If you add it to the world, the background won't be transparent anymore.

You can use the bloom pass and composite it in the Compositor.

Illustrate this if you could.

Hi. Please add some extra details as to how the user could do this. Thanks.

This video will guide you properly https://youtu.be/eQ1InBbRcco

Well eevee does not support true emmision
Either use cycles or use the bloom checkbox in the render setting to fake the emmision,it may work depending on the result you are going for


text:
Objects created with a specific size aren't coming out at that size when exported
new to Blender here and I'm trying to make an object of a specific size that I can 3D print. Here's what I'm doing:

File> New> General, select the cube and delete it.
Go to the Scene Properties tab and under Units, make sure the system is Metric and length is in mm.
Add mesh> Cylinder
In the Add Cylinder box that pops up, change the vertices to 64, radius 20mm, depth 4mm.

This creates an appropriate cylinder, but it's really tiny in the window and I have to scroll in a lot to see it. Once scrolled in, I have about 3 clicks of my scroll wheel before it goes from barely visible, to visible, to now we're inside it. Working with such a small object has been really difficult.
When I export the object as a .stl and open it in Chitubox, the cylinder is so small that it isn't visible. If I click to resize it, Chitubox tells me that the object is 0.04mm(x) by 0.04mm(y) by 0.00mm(z).
What am I doing wrong here?

Hi, welcome! You surely need to adjust view clip to 1mm (open options panel Nkey, and then switch to the side "view" vertical menu of th epanel), the tiny object displays well with that. Dimensions are expected ones, and I tried exporting and then importing as stl, it seems dimension are right for blender...

So I press the N key, click the View tab, and then what?

then you set the "clip start" to 1 mm, in this way you should be able to see entirely your object even at that tiny size

This made no change for me.

Did you try to create the object say 1000x then in the slicer, scale it down 1000x? It could work as a workaround. What you hit is probably a bug in the stl exporter. I only tried on https://www.viewstl.com/ though

Still not working? I'd temporarily abandon the object you are trying to print and start from a new file and try to print a small small cube say ... 10mmx10mmx10mm I'd check the 3D side of things. What do you import with and what file format? Is it possible to post an an STL file through StackExchange? (and the *.blend file while you are at it).

"The STL exporter doesn't take Scene Scale into account"... Does this answer your question? Scale settings for exporting to STL (for 3d printing)

I was hoping for an actual fix rather than a workaround, but I'll give it a try.

Then you'll have to fix the file format itself: https://en.wikipedia.org/wiki/STL_(file_format)

I had the exact same problem.

First, make sure your scale on the object is 1:1.
I Highly (x10!) recommend you abandon all thoughts of using English/Imperial units and go to millimeters.
In Properties Panel, Scene, Units, set Metric Unit to 1.000.  Length=Milimeters
The second image is the key that will open the city.   That little "Scene Unit" checkbox (Always check to make sure this is ON!).
Me?   I save these settings as a default startup file so I have these settings are correct to begin with.
Oh!   On the second figure... don't forget to also inspect the "Include, Selection Only checkbox"!
I use the Measure-It tool (to aid in displaying key dimensions 'say' overall height and width for example.
I personally export to Stl files.    On the 3D printer side of things, I recommend Simplify 3D .   It's good investment.  I forget the $ but it isn't much.    Stay clear of nylon filament (strong but doesn't stick to the build plate) but choose Raptor and other "Print in place" type filaments.   Raptor is stronger than ABS.  PLA is weak but good for practice runs.

I've double checked and done everything you suggested; it has made no difference.


text:
Why does an object travelling on a path start rotating the wrong way half way through?
I am using blender recently, I created a scene where there is a toy car that goes around a path (a simple oval path).
The problem is that the halfway wheels turn in the opposite direction. When the car starts the wheels turn in the right direction, then during the journey they slow down and completely change direction by turning in the opposite direction and then turn again in the right direction, how can I rotate the wheels in the right direction along the entire path?
I'm new to blender, thank you so much if you can kindly explain it to me as simple as possible.

hello, maybe share your file: https://blend-exchange.giantcowfilms.com/

It sounds as if maybe you've got keyframes set at the end of your range that are identical with keyframes set at the beginning of your range, with a new keyframe set in the middle somewhere that is providing the rotation information that tells the wheels to go in the appropriate direction. If so, then after passing that middle point, the wheels are taken over by the mis-set keyframe at the end of the range, which could be telling the wheels to go back to the starting orientation. Just a guess. Consider checking into this.


text:
Where can I find resources on how to animate/morph simple masses for architects?
I enjoy explanations to Blender modelling on youtube, but as an Architect i want to explain concept like the 'big companies'with the big budgets...
I want to be able to communicate concepts through video and simple 'morphing' animations as masses change in shape. Blender seems to be the perfect tool.
Please could I ask you to help me find the right resources to be able to achieve animations like these from HOK, BIG & Diller Scofidio + Renfro - lots of firms are doing this:
https://www.youtube.com/watch?v=DbPMor02ago
https://www.youtube.com/watch?v=ahbXjHFThvA
https://vimeo.com/173956112
I would really appreciate assistance if at all possible.
If there are already tutorials on youtube, perhaps someone could point me to them.


text:
Blender Eevee (and cycles) not rendering White as pure white
So basically, I've rendered a scene, and it looked rather dull than what the viewport showed me. Not knowing what exactly caused the problem, I opened up a new blend file and checked to see if my base setup was free of this problem, turns out it wasn't.

Seems the white gets ever so slightly greyish and it's very very annoying. I don't know what could possibly be wrong.
Tried to reset my startup file, only to find out, my startup file was the default! What do I do!
Blend file

Hi. In future, please use the built-in uploader when adding images. See: https://meta.stackexchange.com/questions/75491/how-to-upload-an-image-to-a-post . Thanks.

Okay, Looked around and found out the solution. It was a color management problem. Under render properties > color management > view transform, it was set to "Filmic" when it should have been standard!!


text:
Dynamics on surfaces in Blender render as in Unreal engine
How to set dynamics on the surface with some texure ?
1) How control the glare on this surface? (but not overall scene). If I set glare  node in compositor it affects whole scene.
2) How to set this moving/dynamics with  distortion noise/musgrave/magic texture ?
I want  to create this similar effect:
https://www.youtube.com/watch?v=e-BLfThM3JE

On this images are involved particle effects also. I know how to make it, I just need this dynamics on sphere. This transparent sphere  is not static, it scales to some value and some distortion noise is moving along them.
What I've made:
https://dl.dropboxusercontent.com/u/13451287/masseffectsurface.blend


text:
Cyclic animation and compositor
I have set a cyclic animation(it repeats itself) and I've done the compositor settings.
I want to change some compositor settings but after first repeat of animation.
Second repetition of animation will have for example different color.
So that I don't have to make another renderlayer and change it with new settings.
Can I set somehow the renderlayer so that it renders at different time with different compositor settings?
I hope I was clear.

save it as a different file? or you could copy your scene and add the new compositor settings.

If I would do that I would have to glue videos together. That not very good idea.  I want cyclic animation so that I can chage time of the cycle. It's bound to the scene to work for smooth transition due to other modifiers.


text:
Creating "wisp" materials in cycles
Could you tell me how make this materials?
1) whispy blue

2) whispy red with probably wave texture but I couldn't get it right

I would use a smoke simulation, but use an emission shader instead of the default volumetric scatter.

Some related links... http://imgur.com/a/RdXIF#0   ... and there are several threads on aurora-style lights for cycles and BI...  This one -- https://www.youtube.com/watch?v=wbPVgaydcjA -- Is Blender Internal, and had a file on blendswap, I believe. In cycles, allow lots of time for high-sample renders....   If you get something closer to fire. I would love to see it.

Without smoke, just a material in cycles.

Possible ideas: http://blenderillusionist.blogspot.ca/2010/08/goblet-of-fire-tutorial.html

@rcgauer I have made flame https://www.youtube.com/watch?v=OeHtvV2gWz0 using particles. Thanks for this aurora and goblet. Anyone knows how to make this material in cycles without using compositor to redefine the shape?

@PGmath I would like to make some mesh and then to apply this material as procedural texture on it. I've tried with smoke but it has hefty computational level.

Use the 'Generated' Texture Coordinates to create a Procedural Texture.
Ensure you're in Cycles or Eevee (not Blender Internal renderer) and create a new plane and add a new material. Rotate the plane 90 degrees around the X axis and apply the rotation. This will result in the Z coordinate referering to the 'height' and the X coordinate relating to the 'length' of the plane (I find this more intuitive).
The effect can be built up from a number of distorted 'beams'.
Remove the default 'Diffuse' shader and create an Emission shader. Add a Texture Coordinate node and link the 'Generated' output to the Emission 'Strength' input. The 'Generated' coordinates range from 0.0 to 1.0 along each dimension of the object. For the fuzzy edges of the 'wisps' you need a nice rounded beam that falls off at the edges and this can be achieved as follows :
Strength = 1 - (((Z - 0.5) * factor ) ^ 2 )

The ^2 function creates a nice soft edged symetrical beam centred around Z=0 while the '-0.5' effectively moves it to the centre of the material. The 'factor' can be used to focus it into a tigher beam (higher values equate to narrower beam) and subtracting from 1 results in a 'bright' beam rather than a dark one (and this step should be 'clamped' to ensure the end result is always within the range 0.0 to 1.0). The nodes should be something like this :

You manipulate the beam by changing the coordinate going into the function - in this case the constant '-0.5' is moving it down to the centre. To distort the beam as it travels across the material, use the X coordinate to generate a varying offset. You can use a 'Sine' function to add a wave to the beam, with multipliers to allow you to adjust the frequency and amplitude of the wave.

Similarly, you can add in the influence of a Noise Texture :

In a similar way you can add variation in brightness or width, apply a varying profile to the beam, adjust the phase of the sine waves, vary the intensity of the distortion as the wave travels from left to right, etc. My resultant node tree was too complicated to include in an image here - look in the attached blend file for details.
Combine the 'core' nodes (excluding the Texture Coordinates and Shader) into a group to allow re-use.

You can then duplicate the group and slightly vary the parameters for each group node to give a number of different 'wisps' and combine them, feed them through a Color Ramp node and use the output to drive a Mix Shader to mix between Emission (for glowing filaments - otherwise Diffuse) and Transparent shaders.

Either adjust the values to get the desired still image or drive the inputs via keyframes to animate the waves. It works quite well to vary the input Vector and wave phase so as to make it appear to progress forwards.

The Procedural Texture is considerably quicker to render than a smoke simulation (assuming you don't need accurate smoke) and can even cast and accept shadows (when using diffuse shader rather than emissive).

Using the colour ramp and using a combination of narrow bright beams and wide dim beams can give the effect of glowing filaments with surrounding wisps similar to the reference image (although this particular example is only a very rough approximation - needs more tweaking but it should give you a general idea of what can be achieved).

Blend file included here

Blend file link goes to a blank page.

Sorry - I'd mangled the link. Try this http://blend-exchange.giantcowfilms.com/b/2094/

Works fine now. Great shader!!!

Is there a way to do this for eevee?

@JukoThe10-Tails There isn't anything in those nodes that wouldn't work the same in Eevee so you should just be able to use the same material. The original answer was over 4 years ago before Eevee was available - so the comment about "Ensure you're in Cycles" refers to not being in the now defunct 'Blender Internal' render engine. Eevee behaves very similarly to Cycles and supports almost all of the same nodes. I'll update the answer to mention Eevee to avoid any future confusion.

Thanks and sorry for the trouble. I liked how it looked and wanted to play with it, but I'm focusing on eevee.

@JukoThe10-Tails - No trouble at all. Eevee is great and there are only a handful of Cycles nodes that it doesn't actually support (yet...?). If you get stuck, please feel free to ask.

@RichSedman After reading, I KNEW this was your answer before I saw your name at the end. :)

I can see other uses for your wisps. Imagine turning them into lightning.

@RichSedman thanks and will do.

and wow again and just another brilliant answer from Rich Sedman!!! +1


text:
Voxel data as image sequence in cycles
I have image sequence of an object. How to render it in cycles as voxel or volume?
Image sequence represents a slices of 3d object. Images are in .png. I would like to turn theese slices in 3d object in cycles probably using volume shader but I don't know how.
I have 900 images as slices.

Could you please add some more details as to what you are looking for?  I'ts kind of hard to tell what you are after.

I've updated it. Should I upload sequence to ?

Possible duplicate/overlap with http://blender.stackexchange.com/questions/16516/is-it-possible-to-give-a-texture-thickness

Voxel data should be read as volume material.

I have found how to do it in BR. https://mollermara.com/blog/blender-brain/ Could you tell me  ho wo to it in cycles?


text:
Connecting all vertices in polygon face
If you have some n-gon face, how to connect all the vertices so that you get all diagonals?
EDIT: n must be larger than 3.

@cegaton   , it can't be triangle because triangle does not have diagonals. I was asking how to get all diagonals in general n-gon.  I assumed n>3.

what do you mean by "diagonals"?

If you have an n-gon face, then you can get a triangulated representation of that face using the following method (Bridge Edge Loops):

Select the object with this n-gon face.
Go into edit mode (Tab).
Go into Face Select mode.
Select the n-gon face.
X >> Only Faces.
Go into Edge Select mode.
Select the edges that make up the perimeter of the original n-gon.
Visually De-Select two opposing edges.
W >> E.

After getting more feedback from the comments, Is this more along the lines of what you are after?:

This are not all diagonals, right ? Is there a way that you could do that in one click ?

Try selecting the ngon face in edit mode and pressing Alt + P > Poke faces


text:
Separation gap after subdivide
When you subdivide a cube into 9 smaller cubes,
how to separate them
so that between each smaller cubes is a gap ?
But, the mesh is whole so that each smaller cube is not represented by individual smaller cube meshes.

Could you explain how you intend to subdivide a cube into smaller cubes? Here's a related question Subdivide and separate face into different meshes

In edit mode or using sub. modifier.

If you want small cubes not to be as individual meshes but still to have a gap between them then I think you want to inset faces of original cube and extrude insetted parts.

Start with subdivided cube (3 times).
Select all, press I to activate Inset tool and then press I once more to inset individual faces.
To make extruded parts (which have gaps between them) not rounded but rectangular their base should be beveled. In order to do that select all small edges in between large ones by selecting several of them and then using Shift+G > Direction.
Press Ctrl+B and then C to bevel selection with Clamp overlap option turned on.
Select any large face (Ngon), press Shift+G > Area to select all these large faces by their areas. Set Pivot Point to Individual Origins for further actions. Extrude selection with E 3 times (or less, but it may lower quality of finished result).
Bevel Ngon once more with Clamp Overlap to make it more rounded. It would be a bit hard to get rid of this Ngons, however as long as they are inside of flat surface they shouldn't be a problem.
Add Subsurf modifier and inspect the result.

If you want individual smaller cubes it would be easier to generate them with an array rather than subdividing a large cube.  This is because when you subdivide, Blender doesn't generate internal faces.

Create a cube.
Add an array modifier with a count of 3 and an X
relative offset of 1.1.
Add a second array modifier with a count of 3 and a Y relative offset of 1.1.
Add a third array modifier with a count of 3 and a Z relative offset of 1.1.

At this point you should have something that looks like a subdivided cube.

To convert to a single mesh object, select the object then press Alt+C to bring up the Convert To menu then select Mesh from Curve/Meta/Surf/Text.

Hi, thank you, but I need the other way around. I already made a mesh which needs to be separated in the way I described.


text:
Toggle orthographic views opposite sides
How to ...
    ... toggle views with the opposite 3d space viewing side ?
e.g.
press key for front view and press again for back view

An half solution is to reuse the same hot key.

This method has the benefit of quickly reviewing the front and back side. You can keep the hot key pressed to see one side and press shift to see the other side and release shift to go back to the other view.
Another half solution might be to assign double click (possible with keyboard key) to go to the complementary side view.

When these half solutions work fine the operation still seems a bit complicated.

Why do you want to "re-invent the wheel"? In the default UI, to see the front view, one presses the "1" key on the numeric keypad; to see the opposite (back) view, one presses "CTRL-1" key on the numeric keypad; to see the top view, one presses the "7" key on the numeric keypad; to see the opposite (bottom) view, one presses "CTRL-7" key; and to see front right, one presses the "3" key on the numeric keypad; to see the opposite (left) view, one presses "CTRL-3" key .

In short, some key positioning doesn't work for me. And I do not try to reinvent the wheel. It's better in general to stick to default. I'm changing some keys (not all)  for my work flow.
(For further notice see also my last few comments at
https://blender.stackexchange.com/questions/78960/enhanced-border-select-hotkey/78987?noredirect=1#comment139053_78987
)

It is script chenge view to the opposite

import bpy
from bpy_extras import view3d_utils
from mathutils import Vector

def getView(self, context, event):
    region = context.region
    rv3d = context.region_data
    #coord = event.mouse_region_x, event.mouse_region_y
    #view_vector = view3d_utils.region_2d_to_vector_3d(region, rv3d, coord)
    return rv3d.view_rotation * Vector((0.0, 0.0, -1.0))

def findView(self, context, event):
    vector = getView(self, context, event)
    if vector == Vector((0.0, 1.0, 0.0)):
        bpy.ops.view3d.viewnumpad(type='BACK', align_active=False)
    elif vector == Vector((0.0, -1.0, 0.0)):
        bpy.ops.view3d.viewnumpad(type='FRONT', align_active=False)
    elif vector == Vector((1.0, 0.0, 0.0)):
        bpy.ops.view3d.viewnumpad(type='RIGHT', align_active=False)
    elif vector == Vector((-1.0, 0.0, 0.0)):
        bpy.ops.view3d.viewnumpad(type='LEFT', align_active=False)
    elif vector == Vector((0.0, 0.0, 1.0)):
        bpy.ops.view3d.viewnumpad(type='TOP', align_active=False)
    elif vector == Vector((0.0, 0.0, -1.0)):
        bpy.ops.view3d.viewnumpad(type='BOTTOM', align_active=False)

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

    def invoke(self, context, event):
        findView(self, context, event)
        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

If you want I can edit it was a ready addon

authors: Влад Киндюшов


text:
Utilize ['] key
How to use the ' key (next to 1 / ! key in English: ISO keyboard layout) within blender?
Normally you have to double press it to type it. For assigning and using the key this is not appropriate behavior.

huh? For me just pressing that key once produces ``` as expected.

THE SOLUTION

Changed the keyboard layout (not the keyboard model) into English US with euro on the 5 .
With this wrong layout the ' key does work. By doing so the key can be used within blender.
The problem has nothing to do with blender but seems to be an os configuration error.
(Now lets find the appropriate layout > It is strange; but with mentioned selected layout as wrong it does work correct and there is no euro on the 5 as.)
[threat can be closed]

for me it's shift + the key to use it

For me Shift+grave accent/backtic key gives me a tilde: ~

I think it depends on the operating system, and/or maybe my configuration is set differently or not correct. Have to press the shift + ´6' also twice to get '^' .

well ok then just thought that I could help


text:
How to get the truly width and height of frame when rendering? (It would be good if I can render without saving images)
I would like to know the width and height of frame when rendering.
And I found that someone has ask the familiar question, "How to access Render Result pixels from python script? "(see here)
So, I added some codes in the codes answered by wsfax (see original codes) , like this script(*).
import bpy

path_name = ''
file_name = 'test_2017'
file_path_name = path_name + file_name + '.blend'
bpy.ops.wm.open_mainfile(filepath = file_path_name)

# switch on nodes
bpy.context.scene.use_nodes = True
tree = bpy.context.scene.node_tree
links = tree.links

# clear default nodes
for n in tree.nodes:
    tree.nodes.remove(n)

# create input render layer node
rl = tree.nodes.new('CompositorNodeRLayers')
rl.location = 185,285

# create output node
v = tree.nodes.new('CompositorNodeViewer')
v.location = 750,210
v.use_alpha = False

# Links
links.new(rl.outputs[0], v.inputs[0])  # link Image output to Viewer input

# Render and save image
bpy.ops.render.render()

# get width and height
width_of_render = bpy.data.images['Viewer Node'].size[0]
height_of_render = bpy.data.images['Viewer Node'].size[1]
print("width: ", width_of_render, "height: ", height_of_render)

# get viewer pixels
pixels = bpy.data.images['Viewer Node'].pixels
print(len(pixels)) # size is always width * height * 4 (rgba)

What I mainly did is using bpy.data.images['Viewer Node'].size[0] and bpy.data.images['Viewer Node'].size[1] to get the width and height.
I tested a simple blender file (test_2017.blend) only containing a cube and executed it in command line, and got 262144(pixels), width = 256(pixels), and height = 256(pixels) in command line.
However, When I opened blender file (test_2017.blend) and executed script(*)(without line 3 to line 6) in blender, I got 2073600(pixels), width = 960(pixels), and height = 540(pixels) in console window.
I have no idea why they are different?
And then I saved image when rendering, the width and the height of the image were 960(pixels) and 540(pixels).
How can I get the truly width and height? (It would be good if I can render without saving images)

You can get the Python expressions needed by enabling Python Tooltips in the User Preferences, "Interface" tab. Then you can just hover over the resolution settings in the render panel, and see you can use bpy.data.scene["Scene"].render.resolution_x. It's better, though, to use the currently active scene, rather than hard-coding the scene name. Also you'll want to multiply with the resolution scale percentage. This leads you to:
render = bpy.context.scene.render
scale = render.resolution_percentage / 100
rsize_x = render.resolution_x * scale
rsize_y = render.resolution_y * scale

Thanks a lot, that's really helpful. I wonder that blender (in GUI) will draw a picture when rendering, so the script I used can be executed correctly in blender in GUI. But it executed incorrectly in command line. All in all, you really gave me a big favor.

well, that would be another issue for another question, not something to be handled in comments.


text:
Addon Collections/Groups
I am wondering if there is a way to have a specific selection of addons available when working through scene creation. Is there a way to dynamically load and unload a collection of addons? I would like to change the available addons based on the design task, layout, modeling, shading, etc.

You can filter addons for each workspace. In the viewport sidebar > Tool tab > Workspace panel > Filter Addon:


text:
I must be completely misunderstanding Mirror, because it doesn't seem to do anything?
As you can see I've got a procedurally constructed cylinder here, and I've turned on Mirror along every global axis and... nothing.

My expectation here is that selecting "Mirror along X axis" with my construct selected should create a second cylinder below the X-Y plane, and enabling all 3 axis of symmetry as I've done here should create a bunch more mirrors of this thing.
But instead, there's absolutely no impact on my file as far as I can tell, I've looked all around for mirrored cylinders and there's none. How is this supposed to work?

It’s across the Y-Z plane rather. X is red, Y is green, Z is blue and is the vertical.

The red and green lines you see are the world X, Y axes. The local axes go through the little orange dot marking the object's origin. Move your object in Edit Mode and everything will become clear:

You can add an empty in the middle and use it in the Mirror modifier  to get the intended result:

According to the blender user guide, the mesh->mirror option found in edit mode is "exactly equivalent to scaling vertices by -1 around one chosen pivot point and in the direction of one chosen axis, only it is faster/handier."
I see from your image that you have the transform mode set to median point of selected, so any mirroring will be done around the center of all vertices you have selected. I can't see if any vertices are selected, but it appears you have a cylinder, which is completely symmetric.
In order to see a difference, first add some asymmetry to your mesh. Then making sure all of the vertices are selected in edit mode, apply the mesh -> mirror operator. You will see the selected vertices mirror around their overall center along the axis you selected.

I can't see your mirror configuration as the object is selected in the right hand pane rather than the modifier tab.
You are also in edit mode which can affect mirror display.
In order to explore the mirror modifier, open a new general where you have a cube at 0,0,0 co-ordinates. The "origin" of the cube is in the centre and mirror uses the origin as the "mirror" if not otherise defined.
Edit the cube and select and delete five of the six faces leaving just the front face.
Go back to object mode and add a mirror modifier. Try the Y axis first.
Go back to edit mode and move the face around to see the effect.
Now try the other axis and move the plane around to see what happens remembering that the mirror plane is at the origin of the object.


text:
What's the correct way to manage an often-duplicated object in your model?
I'm making a machine of sorts, and there's this one hinge object that I'm basically using over and over again, for every joint.
It seems a waste to, for example, make a different UV map for each of these. Is there a good way to just use the exact same object in multiple different places on a model? Ideally this process would be non-destructive, so I can edit the "root" object and have the edit propagate to every instance of this hinge.

@RobinBetts is there a better term than 'instancing', now that Blender is using 'instancing' to refer to creating instances on the vertices or faces of an object?

@Marty Oops, you're right.. Blender calls it Duplicate Linked.. It's called 'instancing' everywhere else I've been :) I suppose you have to call one of those a 'Linked Duplicate'?

..@Locust  .. the by-hand way is Alt-D. You can also Ctrl-L link existing objects to the active object to make them share the same mesh-data


text:
How do I set scale when exporting to FBX for Unreal Engine 4?
So I've got two groups of assets in my Blender file:

An animation with associated objects
A set of static objects that will be attached in Unreal

I'm exporting these to FBX in two separate groups, and importing them as such, so I can keep the animation together and move the statics separately.
The animation gets imported to UE4 with a 100x scale modifier. I have absolutely no idea where that's coming from, I can't seem to edit it, but it actually results in a correctly-sized object so whatever.
The statics, however, don't get that 100x modifier so they're tiny relative to the animated structure, and I cannot for the life of me figure out how to increase their scale.
I've tried all of the following, none of which has any effect on the scale of the statics:

Applying scale before export
Including a scale modifier in the "Transform" section during FBX export
Toggling "Apply Unit" on and off (I don't even remember what it was originally, I've tried both ways)
Switching "Apply Scalings" from "All Local" to "FBX All"
Setting "Import Uniform Scale" in UE4 to 100 during import
Enabling and disabling "Convert Scene Unit" in UE4

Absolutely none of those things did anything and I feel like I'm losing my mind here.
This is my export and import settings as they currently are, though like I said I've tried all sorts of random things here:

In the editor select all and press Ctrl +  A Apply > Scale

Hi, thanks for the post. This site is not a regular forum, answers should be substantial, stand on their own, and thoroughly explain the solution and required steps. One liners and short tips rarely make for a good answer. If you can [edit] your post and provide some more details about the procedure and how it works, perhaps add a few images illustrating some steps and final result. See How to write a good answer?, otherwise it may be converted to a comment.

SOLUTION! May 17th 2023:
"How to solve the issue of blender exported skeletal meshes importing at tiny size"
(Using Blender Version: 3.5.1, Unreal Editor Version: 5.1.1-23901901+++UE5+Release-5.1)

In Blender, in the Scene Properties Panel, ensure the following unit settings are implemented:

Unit System: Metric
Unit Scale: 0.01
Length: Meters

In the blender FBX exporter, ensure the following nondefault Export Settings:

Transform > Scale: 1.0
Add Leaf Bones: False (Untick)
Limit To: Selected objects (Select your mesh and then your armature before exporting, nothing else)

Here are all my export settings:

In the unreal engine FBX Importer, ensure the following nondefault settings:

Import Animations: True
Use T0 as ref pose: True
Transform > Import Uniform Scale: 100.0

This should import your model perfectly, with its animations and armature, all at the normal size you expect them to be.


text:
What are the differences between Orthographic and Perspective views?
In risk of being off topic for broadness and discussioness... but I think in the end it's a question that can't be avoided.
Can someone please finally explain the difference and why we need both?

Orthographic is commonly used in engineering as a means to produce object specifications that communicate dimensions unambiguously, each line of 1 unit length (cm, meter..whatever) will appear to have the same length everywhere on the drawing. This allows the drafter to dimension only a subset of lines and let the reader know that other lines of that length on the drawing are also that length in reality. Every parallel line in the drawing is also parallel in the object.
If you are looking at a larger scene with buildings then orthographic rendering gives a clearer measure of distance between buildings and their relative sizes.
With perspective mode lines of identical real-world lengths will appear different due to fore-shortening. It becomes difficult to judge relative dimensions and the size of objects in the distance.
While modelling nothing stops you from switching between orthographic and perspective mode to get a better sense of the object.

Ok this makes sense as to why it does not look so 3d in orthographic mode and that seems good for ui to me...

In addition to the difference between the two in general, there's a practical difference specific to Blender where the orthographic mode allows for background images at views along an axis (functionally similar to a CAD program), while the perspective mode, at the same views, doesn't.

Orthographic is (according to Wikipedia):

... a means of representing a three-dimensional object in two dimensions...

Bascially, Orthographic is a fixed depth. You can't zoom in or out. There is no distance from the camera.
Perspective has depth. You can zoom in and out. You can judge distances. Cameras can be distanced from the scene.
Simply put, orthographic is what would happen if you squished everything in the scene (along the cameras view axis) and stuck it right against the camera.

Perspective on the left, Orthographic  on the right

In essence, pseudo rendering?

Kind of. Basically it flattens everything to the camera.

Orthographic view is a view that is not real world. It virtualy displays objects, such as a cube, in a way that it can be seen with out a paralax error. Paralax error is where you can see an object from a certain angle and it look like it is the same height as another object. Optical illusions take advantage of this concept. To clarify, if you were to stare at a clock in orthographic view you would see every thing lined up perfectly, no paralax error, you can see clearly, exactly what time it is. If you looked at it from Perspective you would be able to see under the hands, and if look at from a different angle other than head on you would see a different time other than what it really is.
So Why do we need those views?
Well, say you are creating an architectural visualization, and you needed to ensure that two sides of this building were exactly the same height. If you were in perspective you could look at it from any number of angles and it would appear even. But if you were in Orthographic you would be able to see it without, parallax you would see it straight on virtually no dimensions except for up and down, and left to right. This way you would be able to see that oh, they are not really lined up, or that they are. Hope this helped!

Orthographic - This is without perspective distortion. I use this when modeling. You can model more accurately, and align things in the scene easier.
Perspective - It will change depending on the 'focal length' you use for the camera when rendering or during animation, so this is best not used when modeling, but it can help you get a feel for the object while modeling.

This is true for many things, however one could argue that it is better to model in perspective view because that is how the model will be seen (usually) in the final render - thus allowing you to judge appeal, silhouettes and proportions the same way they will be perceived by the viewer. This mostly applies to character work though, I'm sure orthographic is much better when it comes to architecture and prop modelling.

Ok.
It is pretty much everyone said but with an example. (Correct me experts if I am wrong).
Imagine you are standing on a middle of the Train Tracks facing the direction of the track and looking as far as you can on the origin of Track. (Imagine without train as well :) ).
Track looks like it is coming from a single point  in your PERSPECTIVE. (http://www.animationbrain.com/one-point-perspective.html)
But Orthographic(ally) they are parallel lines as everyone knows.

Link is no more active.


text:
Temporarily disable add-on UI property update callback
I want to synchronize two properties (e.g. sizeX and SizeY) when a “lock size” property is enabled. I have the properties SizeX and SizeY update callbacks linked to separate methods: update_sizex and update_sizey. When the property “lock sizes” is enabled, I want my update_sizex callback function to update the value of the property sizey whenever the user changes property sizex and the update_sizey callback function update the value of sizex whenever the user changes property sizey. Obviously since both properties have update callbacks, changing the value of one property programmatically from within the callback of the other property will create a cascade of recursive callbacks. Is there a way to temporarily disable the callback of a property programmatically just so that its value can be synced with other property value? (think of this as the Photoshop resize width / height lock mechanism).
sizex = FloatProperty(name='Size X', description='Size of plane along X',
                      default=10.0, update=update_sizex)

sizey = FloatProperty(name='Size Y', description='Size of plane along Y',
                      default=10.0, update=update_sizey)

def update_sizex(self, context):
        if self.lockSize:
            # update self.sizey without triggering recursive update callback

def update_sizey(self, context):
        if self.lockSize:
            # update self.sizex without triggering recursive update callback

By synced, you mean you want them to have the same value, right?(just making sure)

or  If sizex is 1 and sizey is 4 and locksize is enabled, I'd assume if x is resized to 2, sizey is automatically resized to 8.

You can simply write your update functions like this:
def update_sizex(self, context):
    if self.lockSize:
        # update self.sizey without triggering recursive update callback
        self["sizey"] = self.sizex

def update_sizey(self, context):
    if self.lockSize:
        # update self.sizex without triggering recursive update callback
        self["sizex"] = self.sizey

This won't call the update function when writing to the property.

Beautiful! This seems like a more robust idiom in general than the if self.sizex != self.sizey answer, which could go into an infinite loop (or infinite recursion) in the case of trying to sync two properties of different types (say, float and string) with mutually lossy conversions, or two values related by a math function and inverse math function that aren't exact (e.g. exp and log).

Aww, I spoke too soon. When I tried it, it threw: TypeError: bpy_struct[key] = val: id properties not supported for this type

Only trigger the update when it makes sense, when the value will be changed. Otherwise then don't set the value to the counterpart.
sizex = FloatProperty(name='Size X', description='Size of plane along X',
                      default=10.0, update=update_sizex)

sizey = FloatProperty(name='Size Y', description='Size of plane along Y',
                      default=10.0, update=update_sizey)

def update_sizex(self, context):
    if self.lockSize and self.sizey != self.sizex:
        self.sizey = self.sizex

def update_sizey(self, context):
    if self.lockSize and self.sizex != self.sizey:
        self.sizex = self.sizey

You can also use a temporary property for this. But in my opinion that makes things too complex. Also be aware that the setting can be set incorrectly making the lockSize functionality not working.

from the outside the do_not_update setting can be altered making the whole lockSize button broken.
when an exception happens during updating.

This can be fixed by a using finaly
try:
    self.do_not_update=True
    self.sizex = self.sizey

finally:
    self.do_not_update=False

You can simply test in the update function if the other value is different. If it is, you update.
EDIT:
I allow myself to edit my answer, sorry, I had misread the question.
For the example, we said that I modify the variable "value_x" and that the variable "lock_value" is activated.
At the beginning, I get the old value of "value_x" with the set function of FloatProperty to store it in a variable I called "old_value_x".
Then, the updating function of "value_x" is called. To prevent the update function from the "value_y" variable from working after the new value has been assigned, I use a boolean which, if true, will simply stop the update.
I assign the new value to "value_y" by doing the calculation with the old "value_x" value stored previously and passing my boolean "lock_value" to false to find my function update for subsequent changes.
import bpy

def get_size_x(self):
    return bpy.context.scene.new_size_x

def set_size_x(self, value):
    bpy.context.scene.old_size_x = self.size_x
    bpy.context.scene.new_size_x = value
    if value == 0:
        bpy.context.scene.lock_size = False

def update_size_y(self, context):
    scn = context.scene

    if not scn.do_not_update:
        if scn.lock_size:
            scn.do_not_update = True
            scn.size_y = scn.size_x / (scn.old_size_x / scn.size_y)
            scn.do_not_update = False

def get_size_y(self):
    return bpy.context.scene.new_size_y

def set_size_y(self, value):
    bpy.context.scene.old_size_y = self.size_y
    bpy.context.scene.new_size_y = value
    if value == 0:
        bpy.context.scene.lock_size = False

def update_size_x(self, context):
    scn = context.scene

    if not scn.do_not_update:
        if scn.lock_size:
            scn.do_not_update = True
            scn.size_x = scn.size_y / (scn.old_size_y / scn.size_x)
            scn.do_not_update = False

class TestPanel(bpy.types.Panel):
    bl_idname = "test_panel"
    bl_label = "Test Panel"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"
    bl_category = "category"

    def draw(self, context):
        scn = context.scene
        layout = self.layout
        row = layout.row(align = True)
        row.prop(scn, "size_x")
        lock_icon = 'LINKED' if scn.lock_size else 'UNLINKED'
        row.prop(scn, "lock_size", text = "", icon = lock_icon)
        row.prop(scn, "size_y")

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

    bpy.types.Scene.size_x = bpy.props.FloatProperty(name = "Size X", get = get_size_x, set = set_size_x, update = update_size_y)
    bpy.types.Scene.old_size_x = bpy.props.FloatProperty()
    bpy.types.Scene.new_size_x = bpy.props.FloatProperty(default = 10.0)
    bpy.types.Scene.size_y = bpy.props.FloatProperty(name = "Size Y", get = get_size_y, set = set_size_y, update = update_size_x)
    bpy.types.Scene.old_size_y = bpy.props.FloatProperty()
    bpy.types.Scene.new_size_y = bpy.props.FloatProperty(default = 10.0)
    bpy.types.Scene.lock_size = bpy.props.BoolProperty(name = "Lock Value", default = False)
    bpy.types.Scene.do_not_update = bpy.props.BoolProperty(name = "Lock Value", default = False)

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

if __name__ == "__main__":
    register()


text:
Sound real-time spectral analysis frequency peaks
Is there a way to analyze a sound file in blender (preferably in real-time) to identify the peak frequencies so that I can map certain frequencies to certain object attributes (e.g. material color)?
I know that the animation nodes addon provide nodes that analyzes sound and can bake frequencies to frequency ranges (EQ) which can be used to create "spectrum analyzers", and even blender itself provides a way to bake sounds to f-curves, but I am rather interested in being able to do some sort of Fourier transform analysis of a sound and extract the first N higher amplitude frequencies.
For my project I have a sound file that has a certain, discreet set of frequencies (f1, f2.. fn), and some of them sweep from one frequency f1 to frequency f1' over time. I want to be able to identify the EXACT frequencies f1, f2,...fn in the sound file at any given time.
These frequencies are to be mapped to specific colors in my scene based on a pre-selected frequency-to-color map.
Note: I know the Animation Nodes audio analyzer node allows to bake frequencies into EQ bins of arbitrary sizes, though in order to identify precise frequencies in the sound at any given frame these bins would have to be made extremely small in order to detect variations in the frequencies as they sweep through the spectrum. However, the smaller the bins, the larger the baking time. Because of this I am not sure if the NA are the proper tool for the task in question.

You can add a script node in animation nodes to define custom functionality. I think the other option will be a custom script - you may want to look at using subprocess to run an external command.

If you are familiar with python, i suggest you have a look to the scipy.fft module.
To use the scipy module inside blender you need to install python3.x on your computer and then pip3 install scipy. Then in a terminal, lunch python and type import scipy; scipy. If everything went well, you have the path to the scipy module.
Then in blender, type:
import bpy
import sys
sys.path.append(PATH_TOSCIPY')
import scipy
from scipy.fftpack

Then you'll need to compute the fft and do you stuff (see more details for this here https://stackoverflow.com/questions/23377665/python-scipy-fft-wav-files)
Cheers

The function to use to find peaks after the FFT is done is likely signal.find_peaks (finds all local maxima by simple comparison of neighboring values). peak_prominences is the second candidate, there are other.


text:
How to add custom icon to EnumProperty in add-on
I have a custom add-on and I would like to create a dropdown list based on an EnumProperty, but I want the items in the list to take custom icons rather than the icons available within blender. I know that you can use import bpy.utils.previews to load custom icons into add-ons and set label's icon_value to custom icon ids, but I would like to be able to do the same with the items in a drop down list built based on an EnumProperty.
I have the following case for an add-on defining a class that will have a drop-down lists in which I want to have custom icons added to EACE item in the list. I want custom icons to show next to each item in the list as the drop down list is open (not just next to the closed drop down list: see image below):
# defined globally
easingItems = [
    ("EASE_IN", "Ease In", "", "", 0),
    ("EASE_OUT", "Ease Out", "", "", 1),
    ("EASE_IN_OUT", "Ease In-Out", "", "", 2)]

# prop defined in the addon/node class
easingType = EnumProperty(
        name="Easing",
        default="EASE_IN",
        items=easingItems,
        update=updateNode)

# then, in the draw UI
def draw_buttons(self, context, layout):
    # this is when I want the enum property to be displayed with custom icons (how?)
    layout.prop(self, ‘easingType', expand=False)

Left: This is a drop down list based on an enum property with some default blender icons.
Right: This is a drop-down list based on a list needing custom icons (displayed as having default blender icons)

The result after Jerryno’s solution looks like this:

For each enum item an icon can be specified. You just need to edit this part of your code:
# defined globally
easingItems = [
    ("EASE_IN", "Ease In", "", customIcon["MY_EASEIN"].icon_id, 0),
    ("EASE_OUT", "Ease Out", "", customIcon["MY_EASEOUT"].icon_id, 1),
    ("EASE_IN_OUT", "Ease In-Out", "", customIcon["MY_EASEINOUT"].icon_id, 2)]

Thx @Jerryno. Could you be more specific ?  (see my latest comment). And by the way, I want all the items in the drop down list to have icons, not just the collapsed drop down list.

@DolphinDream Hi, thanks for the edit, hopefully now it fits your case better. But I am not sure if it will work, because I don't know where in the ui and how you are using this. draw_buttons and accessing the enum through self indicates it is not an ui panel. Try this and if it does not work I could improve it by seeing a piece of code I could test this on.

I tried it and it does’t quite work. I think the icon_value expects a single int value, thus your second line does change the icon only for the item currently selected in the drop down list, and only show on the closed drop down, not in the opened drop down (e.g. items in the open drop down do not show an icon).

@DolphinDream now it should work

Awesome, @Jerryno ! :) sweet! The only thing I have to be careful though is that the customIcon is automatically loading the icons from disc (call to loadIcons) since this list may be defined outside of the class and perhaps registers before the custom icon module is registered (and icons loaded). Thanks again!

This thread is unfortunately out of date,
since then, developers chose to use __annotations__ space to define bpy.props in PropertyGroup,
therefore getting custom icons id is significantly more challenging as the properties will be registered before the icons.
there are two solutions to this problem :

using a function instead of a a tuple for your enum items see docs https://docs.blender.org/api/current/bpy.props.html?highlight=enumproperty#bpy.props.EnumProperty (has downsides)
patching annotation space right before the propgroup are being registered

this 2nd solution looks like this

class MyPropGroup(bpy.types.PropertyGroup):

    my_enum : bpy.props.EnumProperty(
        default="one",
        items=( ("one","One","","PATCHME:MY_ICON1",1),
                ("two","Two","","PATCHME:MY_ICON2",2),
                ("thr","Thr","","PATCHME:MY_ICON3",3),
        ),
        )

def patch_custom_icons(cls):
    """because properties are defined in __annotation__ space, we cannot get custom icon value as icons are not registered yet
    thus we need to re-sample the icons right before registering the PropertyGroup, this function will patch EnumProperty when needed"""

    from .myplugin.icons import cust_icon
    #gathering icon id integer is done with a function here
    patchsignal = "PATCHME:"

    def patch_needed(itm):
        """check if this item need to be patched, if the icon element of the item has a patchsignal"""
        return type(itm[3]) is str and itm[3].startswith(patchsignal) #3rd element of an item is always the icon, see blender doc

    def patch_item(itm):
        """patch icon element of an item if needed"""
        if patch_needed(itm):
            return tuple(cust_icon(e.replace(patchsignal,"")) if (type(e) is str and e.startswith(patchsignal)) else e for e in itm)
        return itm

    #for all EnumProperties initialized in cls.annotation space,
    #that have more than 3 element per items
    #& have at least one icon str value with the patch signal

    for propname,prop in [(propname,prop) for propname,prop in cls.__annotations__.items()
               if (repr(prop.function)=="<built-in function EnumProperty>")
               and (len(prop.keywords["items"][0])>3)
               and len([itm for itm in prop.keywords["items"] if patch_needed(itm)])
               ]:

        #if found monkey-patch new items tuple w correct icon values
        prop.keywords["items"] = tuple(patch_item(itm) for itm in prop.keywords["items"])

        #print(f"icon patched: {cls}{propname}")
        continue

    return cls

def register():

    #register classes
    bpy.utils.register_class(patch_custom_icons(MyPropGroup))
    #...


text:
Lock Front/Top/Left views from entering User view when dragging mouse
Is there a way to lock the top/bottom, left/right, front/back views (ortho or perspective) rotation so that these views don’t accidentally move out into the user view when dragging with the mouse ?
note: this is particularly useful (to me) when using these views to do (blackboard/whiteboard) annotations and I don’t want to accidentally have these  top/left/front views be rotated out of their orientation when I drag the mouse.

Well. it turns out there is an add-on for this already that lets you lock/unlock any 3D view (top/bottom, left/right, front/back views.. and also the user view.. in orthographic or perspective modes). The add-on is available on Blender Market:
https://blendermarket.com/products/wlock-pro---an-addon-which-allows-to-lock-3d-view-rotation


text:
Cycles shader multiplexer node?
Is there some way to select one output from a number of inputs with a Fac, like a Mix shader, but instead of a 0-1 slider, use an integer index (for more than two inputs)?
Example (in Quartz Composer):

If possible, I would like to use an arbitrary number of inputs (e.g. with Python somehow), but I don't know if that is possible.

No, I don't think there is any way to do as you describe, at least not directly. Maybe using some python scripting or PyNodes.

@seaturtle You should add this as an answer rather than an edit to the question - it's a good solution and will be useful to others. You will then be able to mark it as 'accepted'. There is no way currently to do this with an arbitrary number of inputs - I think you've hit upon the optimal solution.

Thanks, @FarewellStackExchange! And @Duarte, that's what I was wondering (I wasn't asking specifically about node groups).

Thanks for the info, @RichSedman. I was afraid of that—but maybe someone will come by and invent something brilliant. (:

I found a way to do this that takes a fixed number of inputs (it also has the useful property of mixing its inputs given a non-integer):

This is extensible, but only by manually editing the node group.