text:
Need advice: Rigging 2D wing
I'm trying to rig this 2D wing to animate it as if it was flapping like a real wing.
So I imported the SVG and converted it to a mesh.
1. I tried to use bendy bones but the result is not satisfying and makes the edges look broken and jaggy (see gif here)
2.  I tried to rig the entire wing with bones, but I don't know how to make one bone move the others with it, so I don't have to move individual bones one by one.
Here's a link to the .blend file... I'll be super happy to hear your advice! :)
Thanks,
Netanel.

Please include a link to something that is similar to the result you desire. Please show your work in movie format or gif. We should see some motion in your example, whether it meets your standards or not.  If you feel you need assistance in producing motion, a suggestion is to see a video tutorial series. Show the contrast between what you have accomplished and what is the desired result.

Video tutorial series.  Bones.  https://www.youtube.com/watch?v=GvG39bGEsKI&list=PLda3VoSoc_TR7X7wfblBGiRz-bvhKpGkS&index=35  .  You can inspect and determine if you would benefit from watching the whole series.  You have not explicitly asked for a tutorial.  Beginners and many others can benefit greatly from a tutorial series.  Typically this site is not focused on tutorial information.  Video can do a useful job for tutorials.

Objects converted from curves have bad topology, they are not good for animation. Try re-modelling it with clean topology


text:
How to effectively animate a "lasso"?
I am currently making an internship in the field of chemical research, and as part of this internship I want to use Blender to make presentations.
I recently started using Blender, I understood some basics but not everything ..
For example, I would like to animate a "lasso" but I think to do it very badly because I spend a lot of time to have a very imperfect rendering and I am sure there is way to make much faster and much more effective.
Here is what it gives in frame 1:

http://i64.tinypic.com/2dj0yrl.jpg
Then in frame 94:

http://i67.tinypic.com/2r2y9uq.jpg
Well, here we are very far from a pro render (the axis in gray should be fixed on the torus, the curve is ugly ...) but the overall idea of what I would like to do is present.
For now I tinker (it's really the impression that it gives me) with a bezier curve and hooks. Can you tell me how to get to my goal?
I thank you for your response in advance,
Rota.

Could you add some pictures or indications to clearly understand what your are aiming? I ask because I see no 'loop' in the images you provide here... is it a 'lasso' or a 'whip'?

Thank you for your answer, I hope you will understand better thanks to this image (http://www.mdpi.com/1420-3049/18/9/11553/ag) or again this one: http://i68.tinypic.com/a4v18m.jpg

I propose to use curves, parenting and hooks to do that.

The red ring have to move along (say) X
The gray tube is like pushed and unbent to the horizontal
The blue tube is translated along the gray tube

We can use a curve modifier to constraint both tubes to follow a curve.

But we also want that it unbend along its own size.
So the circular part of the curve have to be pushed on right. We do that using a hook to the ring of the corresponding control points.
The hook influence is set to 0.2 in order to avoid these points to be pushed right at the same speed as the other objects (an influence of 1 would have been the same speed).

From that, the blue tube is simply parented to the ring.
But the gray tube needs to move along from the ring but except its last part which needs to stay stuck on the black sphere.
So instead of parenting it, we use a hook again on all vertices except the last ones (the one near the black sphere which is simply placed near it). These vertices are set in a vertex group used in the hook modifier:

Though, this setup is very specific to this left/right movement.

It's perfect, that's exactly what I wanted to do! Thank you very much.
Now, I have to understand how to do it and get there by myself.
I have a last question, is it possible to use the same procedure with a "lasso" with a more "real" shape, a loop more rounded and less in the form of "trombone"?

@rotavap, yes, you can change the shape. The only constraints here is probably to keep the left part stuck to the sphere and maybe to adjust other objects positions so that they are placed at the starting point of the curve. For the other aspects, all may be the same, I think. If not, please comment here.

In complement. I've just seen the last image added by @cegaton: concerning the station/barrier you'll also have to make it follow the curve (I did not know that and this is not done in the answer)

I replied below, I do not know if you saw this answer. In doubt, I comment here as you had advocated.

@rotavap. I did not delete your answer but it has to be deleted as this is not an answer. Concerning the new issue you have, this is probably because of a scale/rotation or origin alignment problem: hard to say from just this image.

I try to transfer the file, it may be easier to understand the issue..

OK, two things: in edit mode for the curve, use 'switch direction' (a button in the toolshelf). Then, move the curve origin to the curve first control point (to do that, select this point, snap the cursor to it, then in object mode, use the object/transform/origin to 3D cursor). . You'll have to adjust the amount of the vertices of the tube, though

source: Stack Exchange

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

sort: votes


text:
Update pynodes after user action on custom Node Tree
I try to execute update on my custom pynodes when user performs action: delete links, add link, removes node. From Animation Nodes or Sverchok I could figure out i can use NodeTree -> update() method to execute changes (way better than using scene_update_post handlers, because it fires only on events performed on node tree).
Is there way to get what kind of element user removed/created (link, node) from that update() method? So that I can execute update on affected nodes?
Example of my problem below (Alpha Channel wont get updated on socket connect event):

For now I'm thinking of creating global cache_links, that will contain previous state of all links in node tree. From that  I could possibly compare what link got added/erased on update() event.  And then do node updates on affected links from_nodes and to_nodes...

You probably already figured it out, but all you need to do is to declare an update(self) function in your node class. Blender will call it automatically when nodes connected or disconnected.

Thanks @VSB, I haven't figured this out myself. I will test this when I will have more time.

I used the update() function, but the problem was (in blender 2.79) that it would cause whole node tree to update, even if given node was not affected  directly by connected/disconnected node. But the good new is, it update() is not required in blender 2.8. Node affected by socket connection, is updated  properly.

Hmmm that is interesting about 2.8 I did not know that. The way I have it working in 2.79 is checking if the node data needs to be recomputed and of it doesn't I just skip over it, but I might have to change this behavior a bit for 2.8

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

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


text:
Is it possible to export a program created with the animation node as a python script?
Is it possible to export a program created with the animation node as a python script?
I would like to convert an animation node into a python script.
I am not familiar with Python script, so I would like to do it automatically if possible, but you can do it manually.

Animation Nodes provide operators that provides the execution code of the current node tree. You can find that operator under the Developer panel, by pressing the Write button, the execution code of the selected node tree is written to a text block called Execution Code. For instance, the following node tree:

Have an execution code:
import numpy, sys, bpy
import itertools
from time import perf_counter as getCurrentTime
from mathutils import Vector, Matrix, Quaternion, Euler
AN = animation_nodes = sys.modules.get('animation_nodes')
from animation_nodes.data_structures import *
from animation_nodes import algorithms

nodes = bpy.data.node_groups['NodeTree'].nodes
_y52bwsmno0e080h = nodes['Random Vector']
_csk7p8pg5vv2v5d = nodes['Vector Math']
_8aspl5k05rbhwxn = nodes['Separate Vector']
_seed_y520 = _y52bwsmno0e080h.inputs[0].getValue()
_scale_y521 = _y52bwsmno0e080h.inputs[1].getValue()

# Node: 'NodeTree' - 'Random Vector'
_seed = _seed_y520 + 25642 * _y52bwsmno0e080h.nodeSeed
_randomVector_y522 = algorithms.random.getRandom3DVector(_seed, _scale_y521)

# Node: 'NodeTree' - 'Vector Math'
_result_csk1 = Vector((abs(_randomVector_y522[0]), abs(_randomVector_y522[1]), abs(_randomVector_y522[2])))

# Node: 'NodeTree' - 'Separate Vector'
_x_8as1 = _result_csk1[0]

# Node: 'NodeTree' - 'Viewer'
_38xn88352kup1e3.execute(_x_8as1)

Notice that variables like _seed_y520 and _scale_y521 needs to be substituted with the seed and scale of the Random Vector node respectively.
Another example, a subprograms like this group:

Have an execution code:
import math, numpy, sys, bpy
import itertools
from time import perf_counter as getCurrentTime
from mathutils import Vector, Matrix, Quaternion, Euler
AN = animation_nodes = sys.modules.get('animation_nodes')
from animation_nodes.data_structures import *
from animation_nodes import algorithms

nodes = bpy.data.node_groups['NodeTree'].nodes
_o7ggcrgv1v0zeqz = nodes['Group Input']
_71b912e7wlqq8tj = nodes['Float Math']
_uyl54rvlbgh0b0p = nodes['Group Output']
_b_71b1 = _71b912e7wlqq8tj.inputs[1].getValue()
__socket_False_1_uyl = None

def main(group_input_0):
    global _b_71b1

    # Node: 'NodeTree' - 'Float Math'
    _result_71b2 = group_input_0 + _b_71b1

    return _result_71b2

The output code will not work out of the box as you might expect it, it depends on the animation_nodes module, functions defined by subprograms as well as values defined in the node tree interface.

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


text:
Editing posed mesh for blend shapes
I have rigged, weight painted, and posed this model so that the arm is raised.  I have the Display Modifier in Edit Mode and the Adjust edit cage to modifier result turned on.
My question is, when I go into edit mode of the mesh for my blend shapes, I select a vertex to move via pressing G, I move left, and the vertex moves in a different direction (as illustrated in the screenshot below)

It gets worse for the legs, especially legs in a folded position.  The vert flies sometimes in the opposite direction.  I tried to translate along the axis by pressing z x or y, but their local axis are all different due to the mesh posed in different positions.
I just want to move the vert along the standard global axis.
Is there any way to do that?  It has been a very tough time editing posed meshes.

I've tried to recreate the conditions of your problem, but I failed: my vertices go exactly where I want them to go. I think you should upload your .blend file, to get examinated.


text:
Cycles displacement mesh alignment
I have an heightmap generated with world machine that I am using to displace a plane using the experimental features for micro displacement in 2.78c. Similar to that :

I want to use a mesh representing the same terrain to be able to place additional objects on my scene without having to do it via the rendered view (since the displacement is not visible in the material view).
I figured I could do it with a mesh of the same heigthmap generated with world machine, but I have to eyeball it to align the two terrains since I'm not sure which values I have to put in the nodes of the displaced plane to get the exact same displacement.
Is there a way to have an accurate alignment of the mesh and the displaced plane without having to visually align the two objects ? Can I do it with a displace modifier with the same heightmap (how can I get the same displacement in the nodes and in the modifier) ?


text:
How do you make holes in a cylinder sharp using subdivision surface modifier?
I am making high poly model for a gun using subdivision surface modifier, in the pic you can see the barrel with a hole in it but the control loops deform the curvature of the barrel as in it isn't round anymore. How do you make holes in a cylinder sharp using subdiv? Or you shouldnt use subdiv?

You need more holding loops. There are also problems with the cylindrical part, because as you mentioned, some of the loops there are flattening the cylinder into an octagon(?). LaserMan's answer is on the right track, although a bit simplistic. Subdividing too much could introduce different problems. Maybe do like one more level of subdivision first and then refine by adding more holding loops. Or you can create a circular 16-gon, and using vertex snapping, align existing geometry to it. It's challenging because I know what I would do, but I can't put all of it into words comprehensively.

I've looked at a lot of similar questions on here, and it seems the only answer is to fill in your holes, then do your subsurf modifier and apply it, and then cut out your holes afterwards.


text:
Topology question regarding vehicle
I am struggling with modeling the roof and keeping it in clean topology. The problem is that I can't find a way to get the roundness and smoothness of the roof to match the real reference. How should I go about it?

This is what I am trying to mimic.
Thanks in advance.

Looks like you are using Bevel on all of your corners?
Another method would be Extrude, Spin and Tweek. Lots of tweeking needed  :)


text:
Blender Arrow when rendering
When I try to render some scene for some reason I can see arrows around object, how can make them not to show at render?

blender does not just randomly add arrows to your scene. There must be arrow objects in there somewhere. Find them and either delete, or hide for rendering.

Are your arrows objects? If so, uncheck their camera icon in the Outliner.
If you want to render to OpenGL make sure to mark "Only Render" under /Display in the 3D-view Properties window, too.


text:
Rendered Preview window not accurate at all
I'm having real issues lining up the rendered preview to my animated render and I was wondering if anyone has any ideas why? I'm 'projecting' a video onto the screen using a transparency and a spot light which looks great in the preview but turns to crap in the render. I'm also losing a lot of contrast and perhaps gaining some fireflies.
3 things that could be the issue is that I'm using a volumetric box for the light effect, I'm using depth of field and also motion blur but when I turn them off and on it doesn't fix it.

Any help would be hugely appreciated. I'm pretty close to screenshotting the whole sequence at this point lol.

The file (minus the plugged in video Resizor>Drone>Spot>Cube>Trailer into Thumbnail [the video is the nodes]): https://drive.google.com/open?id=0B31B18vkzFfyVFRLZW9lZEpjMVU

Unfortunately, the video is not included so it looks all white for me in render and preview.

Yeah that's true. Obviously the video is big but here is the frame to plug in https://drive.google.com/open?id=0B31B18vkzFfyaUpBQzdKMGI3VGM

Render and preview look pretty much the same for me. Maybe you had accidentally turned off something for the preview?
https://www.dropbox.com/s/q8u4m4z9e42qg3v/preview.png?dl=0    https://www.dropbox.com/s/zfqk3d9wf30moww/render.png?dl=0


text:
How to learn to move objects by means of a script in python?
I'm learning how to handle the blender program. I do not know anything at all. I would like to know how to draw the panel and most importantly, how to control objects using a python script, and the video game engine blender game logic; Where can I get the information?
i like to do this
https://www.youtube.com/watch?v=sVtZPQGt5PM

if you don't know anything at all as you say, i suggest you that search tutorials on YouTube (there's a lot) and you can found information about Blender game Engine in the Python API documentation Python API bge.KX_GameObject where you would see the functions that handles and object like:
move object:
from bge import logic
logic.getCurrentController().owner.localLinearVelocity.y = 0.5
## also localLinearVelocity = (0,0.5,0) or setLinearVelocity(vector, local=True)

rotate object:
from bge import logic
logic.getCurrentController().owner.applyRotation((0,0,0.02))

where owner is the object who has the Python controller (currentController) linked in it logic editor like this image:


text:
How to un-mirror an objects sides?

Apologizes for the terrible wording in this! I am unsure how I got to this point but my garment seems to be mirrored on both sides. I've tried to texture one side different so that maybe that will give me both sides of the garment in the UV map area- but it seems to paint on both sides when I do this.
I'm very new to blender so perhaps I have something turned on that is doing this? Any ideas or assistance would be greatly appreciated. Thank you so much!

The question requires more information. If object while texture painting it has strokes being painted on both sides at the same time while all the modifiers were applied and texture paint brush doesn't have symmetry options enabled then islands on UV map intersect.

You most likely have "X" Symmetry enabled in the tools panel if you are experiencing this issue while texture painting in Blender.

Hi there! I must have a different version of blender as my texture paint mode does not have symmetry options. I turned it off regardless to see if that would help me see both sides of my garment on the UV map and unfortunately it did not.

@Damuko How did you turn it off if you don't have symmetry options?

I turned off the symmetry in sculpting mode. That is the only location that had the symmetry mode on it.

@Damuko That won't matter for texture painting. What version of Blender are you using?


text:
Cycles Viewport render ( Shift + Z ) is much brighter than final render
I am new to Blender and this was my first project. I got the lighting to look ok in the viewport render preview (Shift + Z ) but then i do the final render ( using cycles) it is incredibly dark.
Viewport:

and final render :

I have tried rendering on GPU and CPU with the same result.
As this is the first time i've ever used Blender, it's probably something stupid, but any help would be greatly appreciated. Thank you.

Your area lamp is disabled for render (last icon on the first line):

Somehow I had made one of the lights only visible in the viewport and not in the final render. I fixed it from the outliner and now everything is fine. As I suspected, silly mistake.


text:
How can I have a light that casts no shadows?
Is it possible to light an object from three locations using emitters but only allow two of those emitters to cast a shadow from the object? I have an emitter from above, right and left. However, I do not want a shadow to be cast from the light on the left but retain the shadows being cast by the other two lights.

It is possible if you're using lamps, not objects. Simply remove the check for "Cast Shadows" under the lamp material settings.


text:
Can a cycles material input a texture from outside of the material?
I'm creating a Blender cycles material that combines a mesh's vertex colors with a texture.
I use the Attribute node to get the vertex colors, and the Image Texture node to get the texture:

I want to link this material to other Blender files. When I do this, the nodes become unchangeable. I don't want to make the material local if possible.

For the vertex colors attribute, it still works; whatever the mesh's vertex colors are will show up correctly.
For the texture, I simply cannot add a texture as the options are disabled.
Is there a way I can set a texture on the mesh that the linked material will read as input (or some other way to "plug-in" any texture to the linked material) rather than have a specific texture be a part of the material itself?

Group material nodes except for the texture and plug texture in the end file. Related - https://blender.stackexchange.com/questions/81/how-can-i-reuse-existing-materials-objects-etc-from-an-existing-blend

Could you elaborate on how to plug the texture in the end file? In the end file the nodes are all locked of the linked material, so I can't attach anything to the node that receives the Image Texture currently, unless I make the material local.

I meant not linking material rather than linking node group and adding that into the material. So yes, material will be actually local in the end file. There will be image texture node (local) with texture, then linked node group and then material output. Other than that there indeed might be no other way

I understand now. It's a little inconvenient, but it works well enough. Thanks!


text:
Blender Cycles Bake Not Looking Like Object in Rendered View
I have a couch in Blender that looks like this in rendered view.

I baked it with a combined texture and this is what it came out to be.

This is what it looks like added to the mesh.

Why does the view with the baked image not look exactly like the rendered view?
Does it have something to do with my mesh and faces?
This is my mesh.

This has never happened to me before as I baked a couple things before this which came out perfectly.

Same problem here https://blender.stackexchange.com/questions/94947/how-do-i-bake-textures

Did you use Blender to UV the model? It looks like it is UV'ed, but somehow the point order has changed and the UV's and Verts no longer match up.
I sometimes get this problem when I go back and forth between Zbrush and Blender and mess up point orders either during import or export. The UV's may look correct, still, but each polygon in UV space doesn't correspond to the 3D space polygon it was originally assigned to anymore.
Do a simple UV again in Blender and see if that solves the problem.

that did not solve the problem. I uv unwrapped it with smart uv project and baked it again over and over and it has not changed

i go back and forth between blender and unity. would that mess it up? But i always unwrap it again

@Repardeimaj I'm facing this same issue and spent lot of time to fix this but still havent found a way to fix it. Did you find the solution?

@ChiragMS Did you delete all pre-existing UV maps?

@JakeD Actually I only have one UVmap. I doubled checked this as many of the other posts mentioned this issue.


text:
Bevel not working on joined edges
I'm trying to bevel the edges of the head on this screw.
It seems to work for the most part, but the edges that have been joined together from separate shapes don't seem to work.

I've tried removing any extra faces inside, hiting the "remove doubles" button and joining the two shapes by the corners / edges so it's one solid shape.

Any ideas how I can fix this so I get a smooth, even bevel on the corners around the screw head like this?

you have inconsistent normals, recalculate them (ctrl-n)

add bevel modifier

Jaroslav, please make that an answer so I can give you proper credit - that fixed it!


text:
Delete file names from search line
How to delete these Warehouse.jpg names from the list?
I want to pack extra files, but get errors because these files don't exist
I use X sign, but no result

See https://blender.stackexchange.com/questions/100/how-do-i-completely-remove-an-image-from-my-blend-file or https://blender.stackexchange.com/questions/13849/delete-all-unused-textures-from-blender-using-python

Yes, this helped even without Python!


text:
Dark areas appear after extruding
Novice in Blender, sorry:)
Why do I have this view of chimney on the house?
I've extruded the hollow region. On the video tutorial that I followed, everything is ok with chimney view
What may be the problem?

This is Z-fighting between possibly extrusion and previously existing geometry there, see https://blender.stackexchange.com/questions/5441/cause-of-black-artifacts-in-render. There is some geometry either in Edit or Object mode in the same place. Alt+H in Edit mode and try to find it or in Object mode

It looks like you have two faces on top of each other. Try selecting the face (the dark-ish one) and deleting it (x > faces). Is there still a face there? If so, then most likely you extruded, then left clicked or "undo"ed, but an artifact of the extrude was left over. From my limited experience, when you extrude, Blender seems to do two steps... First it creates the new verts and edges, then second it "pulls" them up. If you then "undo" the extrude, it sometimes only "undoes" the pull, not the creations of the new verts and such. If you then extrude again, it may pull up two copies  of everything, or something like that. I am just speaking from my own experience, not from any inside knowledge of how Blender works, so good luck.

That looks to me like the normals are inside-out.  The first thing I'd try is to select the face then ALT-N.  But then I'm a beginner, so after that, I'd be lost.

Recalculating normals is done with Ctrl+N. Even then note that while those seen on the screenshot are normals oriented inside there isn't any reason to recalculate them since that's another layer of geometry atop of main one and its orientation might not be changed.


text:
BGE Scripting minimap issue
I am doing minimap and with script it should show You-are-here point with current position
the only problem is - the red point is always shown outside of the minimap region, although it is moving correctly.
but it should be on the location of a minimap!
what should i add to the simple code?
screenshot attached

Could you provide a blend file? This screenshot doesn't provide enough information, like the scene structure, what exactly is the globalDict["Pos"] (a list? If so, why dividing it?), etc.

sorry for the size. Character from Scenebasic sceneuses script1 and the red pointer from HUD Screen scene uses script2. You may wait for up to a minute when press P. https://drive.google.com/open?id=1KxQPyPqYQFPLVRw-2kdhVNrswGzgyKQx

. in script1 i take worldposition xy axes of a Character and save it to a global variable Pos.

provided blend file

I've tried your blend file, but it's too heavy to work with. I've made an example file exclusively to answer your question. Download it here.
What you need to create a minimap is understand the concept of a viewport and make both minimap and game map the same size, so the dot position will work as expected.

How It Works
The basic concept of a minimap is:

Create a Minimap scene, and the minimap object must be the same size as the game map. In this example, both have 200 meters on each side (delimited by the black borders).

Add the Minimap as overlay scene.

Set the viewport from Minimap scene's camera. Everything is detailed on the script minimap.py.

# Enable viewport use on map camera
camera.useViewport = True

# Pre process the viewport pixel coordinates
left = getWindowWidth() // 2
bottom = getWindowHeight() // 2
right = getWindowWidth()
top = getWindowHeight()

# Set viewport coordinates
camera.setViewport(left, bottom, right, top)

Store the player's position and rotation on globalDict.

# Store player position and rotation on globalDict
globalDict['position'] = list(own.worldPosition)
globalDict['rotation'] = list(own.localOrientation.to_euler())

Update the arrow representation from minimap based on values from globalDict.

# Check if values are present in globalDict
if 'position' in globalDict.keys() and 'rotation' in globalDict.keys():

    # Update arrow's position and rotation
    own.worldPosition = globalDict['position']
    own.localOrientation = globalDict['rotation']

Additional Notes

Every object from Game scene is a group instance from scene _LibScenery.
The Minimap is added as overlay scene automatically at game start on object PlayerCollision from scene _LibScenery.

thank you. but how do i set the camera so high that to have the whole gameworld in aerial perspective like in your example? My gameworld is big and when i set the camera high, it stops showing anything on some altitude

@ArtemKuzmin Simply increase the camera clipping distance (Properties editor > Camera tab > Set to Orthographic and Clipping End to to a high value).

thank you. i am doing something similar right now. could you probably help with this - https://blender.stackexchange.com/questions/146546/blender-2-79-camera-ortho-doesnt-show-some-roofs-but-top-ortho-view-does

hey could you tell me please how i can change moving the player from WASD keys to updownleftright keys

@ArtemKuzmin Go to the scene _LibScenery and switch the layers to find the original player, the one on the game scene is just a group instance.

hey man i mentioned you in my Acknowledgement section here for my thesis. thanks. https://drive.google.com/open?id=1ehDAAdBpWApNsSO-4U3joegglQrTq4uT


text:
Project road on a landscape
Need to project mesh of the road onto landscape that is not flat

Tried Shrinkwrap modifier and the result is as on the 2nd screenshot

If nothing works, how can i just draw the road on the landscape with a brush?

Shrinkwrap with a Solidify modifier below seems like a good solution, but you need no subdivide your road a bit:

I suggest using Knife Project as it gives the desired result and is fastest. Use it and give the highlighted faces a new material then delete the mesh you projected. Shrinkwrap is, too, about shrinking which, in your case, is not needed. Is it OK?

The simplest way I can think of, is extruding both the floor and the road along the z-Axis and using the boolean modifier in order to copy the environment's surface to the road. You might have z-fighting, so I recommend to move the road slightly up.


text:
BGE app doesn't work properly with eye-tracking screen recorder
It is my master thesis project where i want to investigate the gaze fixations with Tobi eyetracker
i created everything in Blender and it works perfect but as soon as i turn on the screen recorder of eye tracker - it performs horrible, sensitivity increases 10 time and you can't walk in the 3d environment
here is the video have a look please
any ideas on how to solve this?
https://drive.google.com/open?id=1V3K7h8lCE3sjECoyh7WtxYG0gnwLFN4A

Sounds like the eyetracker and BGE want the same resources. Can you use a more powerful computer or run the eyetracker on another system?

but with a simple screen recorder that works great :( https://drive.google.com/open?id=1mD_e6X2Fk3xR_YiL_rMvAUX4LfUVoi5o


text:
Geometry Nodes: Instance on Points
I'm trying to figure out how Instance Index on Instance on Points works. I have an example here:
Currently, instance index is fed by a Random Value node, which gives me random selections from a collection of cube, star, and torus objects, on the tips of 3 cones. What I would like is to feed instance index with a sequence, so that one each of the Toppers collection is chosen per cone.
Whatever choice I make to feed instance index, besides random value, gives the same item on each cone. I could fix this by using multiple instance on points nodes, but my hope is to use this setup without a limit on the Toppers collection. Also, I want to know why random value is the only node (so far) that can produce differing instances on the cones.

I'm not sure if I understood completely what you are trying to accomplish, so I don’t know if this setup will satisfy your necessity.

The limitation that I found is that you need the same number of point to instance and objects in the collection, otherwise you will start to have duplicates.

This answers the question fully.  Thank you.

did you try this?
This gives you all parts...again and again.
I think what is a bit confusing here, that although there is no value plugged into "instance index", internally they plug in 0,1,2,0,1,2... and so on if you have 3 instances.
But Blender does this pretty often. E.g. in texture nodes.

The root of my problem, I think, is that I was using "Selection" to isolate the vertices needed. When that's disconnected, I had instances blooming all over the cones.


text:
Is it possible to have Blender orbit with pivot point the mouse cursor?
Often, I use the 3D cursor as my orbit pivot, via "Lock to Cursor".  This is great, but frequently I need to use the 3D cursor for something else.  For example, shifting the 3D cursor to the origin if I'm not at the origin will upset my perspective and I have to re-navigate back to where I was.  Even if I simply uncheck "Lock to Cursor", I may be transported to an unrecognizable location, but at least, it'll be somewhere I don't want to be right then.  Sometimes, I can select a particular object for my orbit pivot point and hit "," to set that as orbit pivot, and that's fine and good.  But if I'm in pose mode, I may not have something good to select, and this doesn't seem to work at all usefully in weight paint mode.
What I'd like is to have the projection of the mouse cursor onto the closest entity be the orbit pivot point.  Barring that, I'd like a way to use two 3D cursors.  Are there any good options here?

Do you have the option Cursor Depth under File > User Preferences > Interface > View Manipulation* active? That should give you the closest projection of the point under under the mouse cursor over the closest mesh surface. Other than that I know of no way to do what you want.

You can use Shift+B shortcut (Zoom To Border) in any interaction mode to change both pivot point and depth of field of cuurent viewpoint. You still will need to press that shortcut and draw rectangle though; so that's additional operation.

There can be only one 3D cursor. However, you can create different empties, and snap the 3D cursor to them. That way you can easily store and retrieve cursor positions.


text:
Trackpad Navigation: Invert Pan Direction
Is it possible to invert or reverse the orientation of panning with a laptop that is using blender numpad emulation? Currently, I use the shift key and two fingers to pan left and right: Sliding to the left moves the scene to the right, and vice-versa. I would like to invert that orientation, so that sliding to the left moves the scene to the left, and sliding to the right moves the scene to the right.
I have searched "Input" and "Navigation" in the preferences, and hunted through "Keymap" to find something that might apply, but with no luck.
Using macOS 13.4.1 here, with Blender 3.6.

I would also love this feature, it's so weird having godot be reversed from blender


text:
Can't rotate view around selected object (macbook pro)
So I'm trying to figure out how to rotate my view around an object. When I press and hold the 3rd mouse wheel button to rotate my view, it freely rotates around a non-existent point rather than my selected object. This makes it very difficult

have you enabled the Rotate Around Selection option in the Preferences > Interface?

This has moved in 2.83 to Preferences > Navigation > Orbit around selection

Blender rotates its view around an invisible, non-consistent point in space, which can be changed through several operations, including shifting the view with shift+mmb.
You can precisely position that point by

moving the view to the selected object (view > align view > view selected)
centering the view to the 3d cursor (view > align view > center view to cursor)

You can add a single-button shortcut to both these options, allowing you quickly set the center point with high precision.

A good thing to do is to find your favorite vertex and tap the numpad's period key. When doing this, you're zeroing in your view to that specific vertex, as you're now zeroed in, you'll be able to orbit around it.


text:
Render light reflection to overlay onto video
I am working on a stopmotion video, and I wanted to ad some Cg elements that we don't have because of budget reasons. Ambient lamps and other lighting objects. I roughly reconstructed the set that we have, and I wanted to render out the reflection of the light on these objects, without rendering the actual Objects, so that I can overlay these in my Video editing software to add the effect.

Yes or no questions are not a good fit for this site, as it stands this is too broad. What you ask is possible, but you should focus your question on specific parts you are having trouble with

@cegaton Reopened


text:
Render Reflection in Blender 2.8 Cycles
I am having trouble my reflections only with cycles in Blender 2.8.
With the interface change from blender 2.79 to 2.8 the layers concept is a little different, and I don't know how to render an object with its reflection, without rendering the material it is reflecting off of.

The question is a bit unclear. What do layers have to do with reflection? Can you provide a concrete example from 2.79 of something specific you're trying to do? Is it that you want a reflective object whose reflection shows various other objects which don't actually appear in the scene themselves?

My guess @acro: How to get reflections from 3D to show up on real images?

@acro Yes, exactly what p2or said. Sorry if I was unclear. But in the new blender update I can't find this layers option. Is there a better/different way to approach this problem?


text:
How to engrave an object that has a subsurface modifier?

I create a smooth gold brick using shade smooth or subdivision surface modifier.
I then try to engrave on this brick ("fine gold") using the Boolean modifier process.
The result is the process significantly destroys the smoothness of the brick.

Any suggestions?

I guess you have something like this:

If so, just add an Edge Split modifier at the bottom of the stack, so everything will look fine again:


text:
Geometry Nodes: What Does Capture Attribute Add to Geometry?

In the depicted geometry nodes setup, capture attribute is used with the "position" field added as input, in two nodes. I expect that this gives no new information to the geometry that is passed through capture attribute, since it's simply declaring properties inherent to the geometry.
Yet, when I route the mesh output from split edges directly to set position (and bypass the capture attributes, which still supply data to the mix node), the top viewer node displays nothing. The bottom viewer node displays a cube with disconnected edges and faces of variable size. I would expect these two to be identical.
What are the capture attributes nodes adding to the geometry output that causes the viewer nodes to differ?

Capture Attributes captures attributes in the domain you specify in the currently evaluated geometry. Since you are not capturing attributes in the upper geometry (trace the green line backwards from the Viewer node), they cannot be read. If you want to transfer attributes from one geometry to another, you would have to do it with Sample Index.

TLDR: if you skim through and search for a bold text like this paragraph, it might be enough to explain what's going on.
This will be a third post in my series on how to read geonode trees [links at the bottom]. In both previous I recommend reading the node tree ⬅ from right to left, however there is a limitation within which you can read fragments from left ➡ to right: a circular socket  generates a single value (it's calculated for each tree user once per frame), so it calculates a value based only on inputs from left, regardless of what is connected to the outputs on the right. The only caveat is such a node won't run at all if it's not connected (directly or indirectly) to the Group Output - but it hardly matters, due to the purely functional programming nature of geonodes; there are no side effects (other than performance related: memory usage, execution time, crash risk), so you can reason about your node tree by assuming every such node actually runs.
Since your node tree consists mostly of nodes outputting such 'constants' in the form of Geometry, it's a good opportunity to try to read it from the left ➡ to right.

I numbered some nodes to represent steps.
1 Cube
"Cube" node generates and outputs mesh data in the form:

Index
Vertices
Edges
Faces

coords xyz
vertex indices
vertex indices

0
-0.5, -0.5, -0.5
0, 1
0, 2, 3, 1

1
0.5, -0.5, -0.5
0, 2
0, 1, 5, 4

2
-0.5, 0.5, -0.5
2, 3
4, 5, 7, 6

3
0.5, 0.5, -0.5
0, 4
2, 6, 7, 3

4
-0.5, -0.5, 0.5
1, 5
0, 4, 6, 2

5
0.5, -0.5, 0.5
4, 6
1, 3, 7, 5

6
-0.5, 0.5, 0.5
5, 7

7
0.5, 0.5, 0.5
2, 6

8

6, 7

9

1, 3

10

4, 5

11

3, 7

There's more data than that: UV map (that's face corner domain not even mentioned in the table above), edges contain information like sharpness, faces contain information like material slot index etc. This data also is stored a little bit differently, for example in case of vertex coordinates it's just a one-dimensional array:
>>> import numpy as np
>>> d = C.object.data
>>> coords = [0.0]*len(d.vertices)*3
>>> d.vertices.foreach_get('co', coords)
>>> coords
[-0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5, 0.5]

Still, the table is useful to get the point across: It is this table, not some kind of a pointer, handle or name of the geometry, that is passed around in the  green geometry links. The entire geometry is copied in each link, that's why the following doubles geometry:

2 Split Edges
"Split Edges" node gets the table, splits all edges and outputs altered mesh:

Index
Vertices
Edges
Faces

coords xyz
vertex indices
vertex indices

0
-0.5, -0.5, -0.5
8, 10
8, 12, 14, 10

1
0.5, -0.5, -0.5
8, 12
9, 11, 18, 16

2
-0.5, 0.5, -0.5
12, 14
17, 19, 22, 20

3
0.5, 0.5, -0.5
9, 16
13, 21, 23, 15

4
-0.5, -0.5, 0.5
11, 18
0, 4, 6, 2

5
0.5, -0.5, 0.5
17, 20
1, 3, 7, 5

6
-0.5, 0.5, 0.5
19, 22

7
0.5, 0.5, 0.5
13, 21

8
-0.5, -0.5, -0.5
20, 22

9
-0.5, -0.5, -0.5
10, 14

10
0.5, -0.5, -0.5
16, 18

11
0.5, -0.5, -0.5
15, 23

12
-0.5, 0.5, -0.5
9, 11

13
-0.5, 0.5, -0.5
0, 2

14
0.5, 0.5, -0.5
13, 15

15
0.5, 0.5, -0.5
0, 4

16
-0.5, -0.5, 0.5
1, 5

17
-0.5, -0.5, 0.5
4, 6

18
0.5, -0.5, 0.5
5, 7

19
0.5, -0.5, 0.5
2, 6

20
-0.5, 0.5, 0.5
21, 23

21
-0.5, 0.5, 0.5
1, 3

22
0.5, 0.5, 0.5
17, 19

23
0.5, 0.5, 0.5
3, 7

You can imagine this table being put inside the socket:

And once this socket is filled with this table, it is sealed, and the table can't be replaced with another, nor can the contents of this table be changed.
3 Capture Attribute
"Capture Attribute" node is set to operate on points, so it creates a new column of data, and on reach row stores a calculated value. So it sets the context to vert#0 and requests data from the field link, which is connected to Position node, sending -0.5, -0.5, -0.5, then it stores this data on the first row of the new columns, sets the context to vert#1, requests data, Position node reads current vertex position and sends 0.5, -0.5, -0.5 and so on until the column is filled:

Index
Vertices
Vertices
Edges
Faces

coords xyz
anonymous attribute
vertex indices
vertex indices

ID # 9192631770

0
-0.5, -0.5, -0.5
-0.5, -0.5, -0.5
8, 10
8, 12, 14, 10

1
0.5, -0.5, -0.5
0.5, -0.5, -0.5
8, 12
9, 11, 18, 16

2
-0.5, 0.5, -0.5
-0.5, 0.5, -0.5
12, 14
17, 19, 22, 20

3
0.5, 0.5, -0.5
0.5, 0.5, -0.5
9, 16
13, 21, 23, 15

4
-0.5, -0.5, 0.5
-0.5, -0.5, 0.5
11, 18
0, 4, 6, 2

5
0.5, -0.5, 0.5
0.5, -0.5, 0.5
17, 20
1, 3, 7, 5

6
-0.5, 0.5, 0.5
-0.5, 0.5, 0.5
19, 22

7
0.5, 0.5, 0.5
0.5, 0.5, 0.5
13, 21

8
-0.5, -0.5, -0.5
-0.5, -0.5, -0.5
20, 22

9
-0.5, -0.5, -0.5
-0.5, -0.5, -0.5
10, 14

10
0.5, -0.5, -0.5
0.5, -0.5, -0.5
16, 18

11
0.5, -0.5, -0.5
0.5, -0.5, -0.5
15, 23

12
-0.5, 0.5, -0.5
-0.5, 0.5, -0.5
9, 11

13
-0.5, 0.5, -0.5
-0.5, 0.5, -0.5
0, 2

14
0.5, 0.5, -0.5
0.5, 0.5, -0.5
13, 15

15
0.5, 0.5, -0.5
0.5, 0.5, -0.5
0, 4

16
-0.5, -0.5, 0.5
-0.5, -0.5, 0.5
1, 5

17
-0.5, -0.5, 0.5
-0.5, -0.5, 0.5
4, 6

18
0.5, -0.5, 0.5
0.5, -0.5, 0.5
5, 7

19
0.5, -0.5, 0.5
0.5, -0.5, 0.5
2, 6

20
-0.5, 0.5, 0.5
-0.5, 0.5, 0.5
21, 23

21
-0.5, 0.5, 0.5
-0.5, 0.5, 0.5
1, 3

22
0.5, 0.5, 0.5
0.5, 0.5, 0.5
17, 19

23
0.5, 0.5, 0.5
0.5, 0.5, 0.5
3, 7

4 Another Capture Attribute
Right "Capture Attribute" node works very similarly: it gets the table from above (the one with one anonymous attribute column), and adds yet another column, this time for the face domain. First it sets the context to face#0, asks the field for data, "Position" node hears this request over the field link and given the context is face#0, it sends the position of the face, however it is implemented to obtain it: 0, 0, -0.5. Then the "Capture Attribute" node saves this data, changes context to face#1 and repeats until all faces have been evaluated.

Index
Vertices
Vertices
Edges
Faces
Faces

coords xyz
anonymous attribute
vertex indices
vertex indices
anonymous attribute

ID # 9192631770

ID # 299792456

0
-0.5, -0.5, -0.5
-0.5, -0.5, -0.5
8, 10
8, 12, 14, 10
0.0, 0.0, -0.5

1
0.5, -0.5, -0.5
0.5, -0.5, -0.5
8, 12
9, 11, 18, 16
0.0, -0.5, 0.0

2
-0.5, 0.5, -0.5
-0.5, 0.5, -0.5
12, 14
17, 19, 22, 20
0.0, 0.0, 0.5

3
0.5, 0.5, -0.5
0.5, 0.5, -0.5
9, 16
13, 21, 23, 15
0.0, 0.5, 0.0

4
-0.5, -0.5, 0.5
-0.5, -0.5, 0.5
11, 18
0, 4, 6, 2
-0.5, 0.0, 0.0

5
0.5, -0.5, 0.5
0.5, -0.5, 0.5
17, 20
1, 3, 7, 5
0.5, 0.0, 0.0

…
Skipping
the rest
with dedication
to
mouse wheels

5 Set Position
"Set Position" node iterates over points (here: vertices). For each point it evaluates "Selection" - if it evaluates to *True", the two vector sockets are evaluated and added together, the position of the currently evaluated point is set to the result and the context is moved to the next point, until all points have been evaluated.
⚠ This is the moment when you have to again read the nodes ⬅ from right to left❗

Set the context to vert#0.
"Selection" by default is True.
Evaluate "Position" field.
"Position" field leads to "Mix" node, so execution goes there. ⬅
"Mix" node evaluates the "Fac" to be the default 0.322.
"Mix" then evaluates "A" connected to "Capture Attribute" (3) node, so execution goes there ⬅
This is the crucial part. "Capture Attribute" node is not a sampling node, it doesn't change context when asked for a value of the attribute. It simply shares the ID of the anonymous [it's like on the Internet, you're never truly anonymous] attribute: 91926317701.
The execution returns to "Mix" ➡
"Mix" accesses the anonymous attribute column #91926317701 for the first row (because currently vertex 0 is evaluated). But there is no such column! The mesh data being evaluated is the mesh data passed to the upper "Set Position" (5), which never had this column created. Here are some examples how Blender devs could implement resolving such a conflict:

crashing Blender,
displaying a warning ⚠ sign on the top of the "Set Position" (5) node with a tooltip "Can't evaluate nonexistent attribute",
have AI rewire the nodes internally in hopes it achieves the result the user intended,
set the value to NaN or 3 or 4 NaNs for vectors or RGBA colors and maybe -1 for integers,
set all values to 0;
and they decided to use the last option.

"Mix" treats "B" similarly to "A" in points 6-9 which this time tries to read from also non-existent column ID#299792458, and also evaluates to <0, 0, 0>.
"Mix" makes a calculation $(1-\mathtt{Fac})×A + \mathtt{Fac}×B = (1-0.322)×0 + 0.322×0 = 0 + 0 = 0$ giving the same result for each of 3 vector components.
The result <0.0, 0.0, 0.0> is sent back through the field ➡
"Set Position" receives the vector <0.0, 0.0, 0.0>, adds default <0.0, 0.0, 0.0> offset vector, which results again with <0.0, 0.0, 0.0> - that's where the currently evaluated vert#0 is positioned. Everything is repeated from point 1. except now for vert#1, then for vert#2, vert#3 and so on until #vert23 is evaluated.

Index
Vertices
Edges
Faces

coords xyz
vertex indices
vertex indices

0
0.0, 0.0, 0.0
0, 1
0, 2, 3, 1

1
0.0, 0.0, 0.0
0, 2
0, 1, 5, 4

2
0.0, 0.0, 0.0
2, 3
4, 5, 7, 6

3
0.0, 0.0, 0.0
0, 4
2, 6, 7, 3

…
…
…
…

6 Another Set Position
This answer's length got out of hand so let's just mention how this time the context goes through a table that actually has two anonymous columns ID#9192631770 and ID#299792458, and in the latter case has to interpolate from faces to vertices, which is simply an average of all faces connected to (built upon) currently evaluated vertex. since non-zero values reside in this column, the "Mix" produces various non-zero colors and the lower "Set Position" (6) node therefore positions the vertices differently

More reading:

Combine two position nodes from different mesh primitives inside a geometry node tree
Raycast + Align Euler to Vector. Wrong Hit Normals
Understanding how "vertex of corner" works in geometry node
Passing Data Into Simulation Zone

This answer is very illuminating. The concept of the table that's passed between nodes with a specific, anonymous, additional column is something that I had entirely misunderstood.

I would give you an award if I could. Thank you!

The Capture Attribute node passes the attribute values stored within the geometry and they are assigned to the index of the vertices or faces. And though the geometry entering the first Set Position node has 24 vertices indexed 0 to 23 and the geometry entering the second Set Position also has 24 vertices indexed 0 to 23, they are not the same. Those are not global indices. Each geometry output creates geometry with its own index starting at 0 (but in case of successive geometries they are passed on from one to the next).
But altogether, for example if you use a Join Geometry node, you have 48 vertices and joined they have indices 0 to 47. The problem is, the Capture Attribute node assigns the result of the Mix node to the second 24 vertices. For the first 24 it holds no results, so they all get a default 0. Hence you see nothing from the first Viewer node.
If you use Join Geometry and the Spreadsheet to see the values assigned to the vertices, you can see that one half of the vertices carries results and the others are all 0. If indices 0-23 are carrying the results or indices 24-47 depends on the order in which you plug them into the Join Geometry node.


text:
Grid Settings for imperial
I am trying to create an 11x14" plane and would like to snap circles onto it in 1/4" spacing. I change the grid to inches and imperial and the scale automatically changes to .0254, which apparently reflects that 1 inch is .0254 meters. Not sure I understand why inches scale is reflected in meters, but I would like have a snap grid for 1/4" increments. The blender grid does not seem to change at all regardless to the scale setting. Zooming in or out does not change the grid lines. Does this work in Blender? If so, can anyone explain how to create a grid that would work for 1/4" increments?
Should I be using meters and converting inches?

I don't really get where scale automatically changes to 0.254.. Once you change scene scale to Imperial one unit of the grid will be 1 feet by default, like https://i.sstatic.net/1I8Pz.jpg. You can then make scene Unit Scale 12 times smaller (1ft = 12 inches) and will get inches for one grid unit, https://i.sstatic.net/wOtcf.jpg. See https://blender.stackexchange.com/questions/274/how-to-model-effectively-using-exact-measurements

The value in the unit scale field in the scene properties changes to .0240. And I haven't discovered how to get the grid snap to 1/4" intervals.

Blender is not the very best for modeling with flexible precision. Default snapping (Shift+Tab, Increment mode) will use 1 grid unit as a snap interval. Pressing Shift with Ctrl will invoke 1/10 step precision. 2 ways to get 1/4 step - either change grid size via Scale setting in the scene properties or model kind of a hacky grid which will be used for measurements, also https://blender.stackexchange.com/questions/15847/how-to-change-the-snapping-increment-in-different-units.

Ok, but what are the metric and imperial for if they do not work? And why is it supposed to be the best at modeling for 3D printing?

Can I model everything with 1" and higher dimensions and then scale down when complete? I am trying to model something that I eventually want to 3D print for a prototype.

Metric and Imperial work, they are used for modeling taking into account scale of the resulting model to keep track size and proportions. Blender wasn't supposed to be the best for 3D printing, although it's possible to use for that. To model using 1'' scale you'll need to calculate how much will new scale differ from actual one, model mesh with new scale and then scale it down with S in Edit mode (if in Object mode, apply scale with Ctrl+A).


text:
Making several holes in cillinder that are offset from cylinder center
I'm looking for a reliable technique of creating a 3D printable base for my Z5740M Nixie tube. The base it requires is called B13D but it was never actually sold. It's just a 3mm tall cylinder with 13 holes that are offset from center by 9.53mm. Holes are spaced by exactly 25.7° with two of them being farther apart.

Making holes is easy. Just add another cylinder and then use Boolean modifier set to subtract. But the precision is the key. I would like to ask if there is a technique I can use to keep that 25.7° separation exactly right. I was even thinking about using python to script the scene, but maybe there is a faster "manual" way to keep the angles and distances exactly right?

Add your cylinder, and make it the proper size for the baseplate.
After that go ahead and add another cylinder. Go into edit mode (Press Tab), select all vertecies with A and then move the cylinder out to the first hole position, and scale it properly. Exit Edit mode when you're done. Your thing should look like this now.

Add an empty next. (Shift A -> Empty and select whatever you want). Select the small cylinder now, and go to the modifiers tab. This will be on the right hand menu and looks like a wrench. Hit "Add Modifier" and select "Array". Uncheck "Relative Offset" and check "Object Offset". Set your empty as the object, and set the count to whatever you desire. This is what the modifier should look like.

Select your empty again, and rotate it around the Z axis by 25.7° (Hit R, then Z, then type in 25.7). Leftclick when you're done. After that select the big cylinder again, and add a boolean modifier. Set the type to "Difference" and in the objects section select the small cylinder. If you're not happy with the positioning at this stage you can move the small cylinder around in edit mode to get it lined up properly. Hit "Apply" on the boolean modifier of the big cylinder when you're happy. You can delete the small cylinder and the empty after that, if you want to. This is what I'm left with.

To recap what we've done: We've taken a small cylinder, and copied it 13 times (that's the count in the array modifier). After that we've told blender to offset it based on an object, and selected an empty for that. We've rotated it by a desired angle, and the small cylinder copied that angle as well. After that we substracted the small cylinder from the big one and are left with the final product.


text:
How to get round "salient" shape of building
I am trying to model that building (red arrows)

Using Simple Deform modifier on a ordinary rectangle building allows bending "outside", but not "inside" as i need on the picture.

Any ideas how to to do that to have the result from the pic?

try curve modifier

In whichever space is specified, the Simple Deform > Bend modifier progressively rotates elements about Z, by a factor of the element's X distance from the origin.
(The X distance is normalized, so there is 0 rotation at X=0, and min_X -> max_X is mapped onto the total angle of bend)
The direction of rotation is determined by Y of the specified space. The 'inside' of the bend is in positive Y.
By default, the modifier's space is set by the pivot of the modified object, but you can set the origin and orientation of the modifier to the pivot of any other object by allocating it as 'Axis, Origin' in the modifier. (Usually using an empty)
This object was created with its ridges up in world Z, its length down X.

The object bent around its own pivot, aligned to world

Using an Empty as the modifier's origin, with its local Y rotated to world positive Z

Using an Empty as the modifier's origin, with its local Y rotated to world negative Z


text:
Can I sculpt a mesh with another mesh in Blender?
I do a lot of boolean operations on meshes during my design.
I was thinking about writing an add-on similar to Multi Tools, that would allow me to use actual meshes, not just (rectangles and polygons like in Multi Tools) to carve other meshes.
Here are some possible use cases:
- Add a mesh to the scene and set it as a Carve Tool in the properties window (on the right). The carve tool changes color in object mode to become red (all red).
- Move the carve tool towards another mesh. When the carve tool intersects the other mesh(es), they too becomes red. Validate the modification by pressing ENTER.
- Change the current operation using the spacebar between Union/Intersect/Difference.
Constraints:
1) The carving/sculpting operation preserves the modifier stack.
2) The carving tool should allow future reversals. One way to do this is as follow: the carving adds a Boolean modifier to the stack, hides the carving tool mesh (including rendering), renames it and parents it to the modified mesh.
Is there already such an add-on?
Thanks.

Done!
The BoolTool Addon fulfills all the use cases presented above and more.
Youtube tutorial: https://www.youtube.com/watch?v=Vf2M1bxZYk0


text:
Is it Possible to have Two Alternating Pistons in Blender Physics?
I am trying to do a two-slider animation using Blender Rigid Body physics.
I want each slider to go on opposite direction at any time.
I tried using Force fields but to no avail. Almost every video on youtube about Blender Physics is about Demolition.
This model is for the ailevon (aileron+elevator) mechanism for a jet aircraft I am designing.

Currently, with the current settings, the ailevon (the Green cube on your left), is only going up, that is, in one direction. I want it to swing up AND down.
I first tried using only one slider. But it didn't work. So, I thought using two sliders would. That too is not working.
Am I missing anything.
Any idea is welcomed!

I don’t really understand the motion you are describing. Could you provide some images with it moved in each direction to make it clear which bits are moving when the pistons move?

Is it important that this is a physics simulation? Could it be a rig with drivers/constraints instead?

Related https://blender.stackexchange.com/questions/102990/how-can-one-rig-a-stirling-engine

outside of being an academic exercise, using physics is definitely not the best way to go about this. Look into drivers if you haven't already. Basically you're trying to simulate where you should be rigging instead.

Robin Betts comment was probably the closest I was looking for.
However, in the meantime I have switched to  a more simple mechanism proposed by the students of Delf TU in Holland.
Here is how I rendered it.

They key in making this happen is by setting the piston to Animated and building keyframes on it. The rest moves by itself through Physics.
Thanks to all!


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

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

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

Wow! Works perfectly! Great thanks!


text:
Can Blender 2.79 Fluid Physics act on Rigid Body objects?
I'm trying to have a flow of water rotate a solid-body propeller in Blender 2.79.
But before I went any deeper, I got curious about a comment by a Blender Artist saying this:

The fluid simulation does not interact with other objects but other objects can interact with the fluid sim. Set an object to be an obstacle in the fluid settings and you'll have to keyframe animate it's movement. It's movement will then interact with the fluid.

This was back in 2013. Is this statement still true today. If fluids can't help, can I use Particle Physics, or do I need to extend the current Physics Engine by code?
Thanks in advance.

Sadly it's still valid. Nothing particularly important changed since then. Maybe Mantaflow fluid simulation could change something in the future: https://developer.blender.org/diffusion/B/browse/fluid-mantaflow/

Yes!!!
After 2 days of work, I can finally say: It is Possible!
See the picture below.

You can watch the full animation Here on Youtube 11s Video
By the way, no it is not a keyframed animation of the turbine that you are seeing. It is pure physics.

The author wrote under the linked youtube video:

In Blender, Rigid Bodies effects on Fluids are very to implement. However, for long, the reverse interaction was dubbed impossible. No more! Using Blender Particles to emit particles, then converting them to rigid bodies and finally applying Cube Suffer on the resulting animation.
In this video, I'm using a modified version of Cube Surfer to make able to utilize simple meshes (not particles as in the original version).
If there's enough likes, I might post a detailed tutorial.


text:
Removing an area from a cuboid shape
I'm trying to model a Bar top and it has an indentation on its underside, I have tried to set loop-cuts and extrude all relevant pieces but it keeps coming out less than stellar. What are some faster ways to remove an area from a shape in blender?

Looking at the dark silvery colour under the countertop
As you can see below, I tried using loop cuts but it hasn't lead to any success for me.

⎈ CtrlR  to add a loop cut.
G, G to edge slide.
G to move/grab.
G, Y to move along global Y axis.
⎇ Alt RMB to select an edge loop.
E to extrude.
⎈ Ctrl↹ Tab to switch the selection context.
B MMB to box deselect.

Double Geometry  (not that good)

Add two loop cuts. Edge Slide the lower loop cuts upwards. Deselect the back vertices and select the lower ones. Move them back along Y.

N-Gon  (not that good)

Delete the side faces, add two loopcuts and move the vertices together. Move the lower face along Y. Make the missing face F.

Extrusion

Add one loop cut. Select the upper face. Extrude the upper face.
Multiple meshes

Duplicate the geometry, move and scale it accordingly.

Now, although you probably had #3 in mind, I'd advise you to think about the benefits of #4. In the real world, these object would be two separate pieces as well, with separate materials.

Hey, thank you for the tutorials, I was thinking about using 3 but 4 seems like a shout!


text:
animation nodes random color setup not working
I am trying to replicate the effect of random colors from this setup using set vertex color node:

but my setup is not working, it just changes the color of the original object:

Found a solution but it only works in the render view.
Inside the cycles material I just had to plug the vertex color in the color on the material using the attribute node (input/attribute) and it works!!!

Please accept your answer if it answers the question.


text:
How to make particles collide on face instead of median point?
I made a scene where particles collide with a plane, but the particles seem to collide on their median point:

i want it to collide with their faces, so their faces don't go through the plane... is that possible?

Enable "Size deflect" in the "Physics" tab of the particle system

Result with randomly rotated Suzannes:

the mesh stil goes through the plane... maybe because i use dynamic rotation?

You're right: I can see that dynamic rotation and size deflect have some weird interplay. I'm afraid I don't know how to make they work as you expect. That being said, I believe that if you don't have too many particles, actually converting them to mesh and tweaking with Rigid Body parameters gives you more control over collisions


text:
Loop crossing over itself
Im trying to make a cutout in a ring but I keep having the problem that the loops cut over themself at some point near the edge...

...and the question is..? answers could be a) change topology or b) use a different way. About b), if you're using loop cut (ctrl-r), try knife tool instead.

Another solution would be to hide a part of your object before applying loopcut. But this will create ngons.


text:
Font that looks as if made out of ribbons?
Can I use blender to create and render something like the text in the image below? If I were to make my name, using this type of ribbon "font". How can I create these letters?

If you see an answer that works for you, please accept it.

You can use a curve object that uses a second curve as a bevel object, and you can rotate the control points with Ctrl+T and move them in 3d space.

Bevel object allows to bend the ribbon inward to itself, straight extrusion doesn't.

You can use an array along a curve. This way you can easily rotate your ribbon. Like here
A perhaps more intuitive Alternative would be to just model a long stretched plain and add  the solidify and subsurface modifiers. Like here


text:
polar array w/empty plane axes
First sorry for my english, i'm trying to create a polar array of a cylinder around another cylinder, i've seen some tutorials about polar arrays using an empty plane axes object to do that, however in my case i cant obtain the result i want, the first image shows the original array of objects, i have a small cylinder on the sufface of the bigger cylinder, i've located an empty plane axes object in the same plane that the small cylinder then i define the array modifier, i want 3 small cylinders around the bigger cylinder, i'm getting 3 cylinders but not around the surface of the bigger cylinder, the first one is the source object, the 2nd is rotated 90º over Z axle, the 3th is rotated 90º respect to the 2nd and around Y axle, , i'm guessing that the problem is in the orientation of the axes of the empty plane axes object, can you help me to solve this??? Thanks in advance:
LS

i want to add, the items are scaled on each item i add to the array...

From explanation it seems to be unapplied scale on cylinder which is arrayed

Place the 3D cursor in the center
Add your empty and the cylinder you want to clone
Go to edit mode and scale and position your cylinder at the First position
back to Object mode and create an array modifier on the small cylinder relative to the Empty and bump count up to 3
Rotate the empty 90°

A lot like here.


text:
Blender Edit mode not working correctly with OBS
I've been having this issue were in blender edit mode would randomly stop working. I couldn't select anything (verts, edges, or faces) unless I went into wireframe mode. Edit mode simply wouldn't allow you to select anything while in solid mode.
After throwing a tantrum and asking "why" about 100+ times, I think I finally figured out something.
So if you're running Blender and OBS (streaming software) at the same time errors start to crop up just like this one. I tried restarting Blender, my computer, and OBS, but the result is still that same. As long as I'm streaming with OBS blender's edit mode stops working correctly.
Are there any fixes for this?

What OS, Blender version, OBS version?

OBS 20.1.3 _
Blender 2.79

Do not tick multi-adapter compatibility. A friend helped me solve it.
Hope this helps guys.


text:
Is the Bullet physics engine completely deterministic?
Suppose I set a wrecking-ball to crash into a configuration of stacked cubes. Now I set the scene in motion and record where each cube settles. I then create exactly the same scene again, with cubes and the wrecking ball in exactly the same configuration as before. Will the data I collected on the first simulation about the final position of cubes be EXACTLY the same as the data I collect the second time around, or will there be fundamental uncertainty?

From what I have observed: Yes, the Bullet physics engine is completely deterministic. What you describe with "create exactly the same scene again" is a pretty common use-case where we use a Python script to build the scene.


text:
Compute on all points in geometry nodes
I try (for a while now) to make a gravitation simulation with geometry nodes. The computation is not complex, and I get something that is almost OK.
The problem is that it seems that it's not possible to make a computation from the entire points. We only can get the "nearest" point position.

So, the simulation works only partially, the gravitation is applied for all points with its neighbor, but it should be computed with all the others points.
I provide the example blend file.
https://drive.google.com/file/d/19iRfLL1_WBIOQFTdYoSAAh9RkzFrNNlT/view?usp=sharing

(Using Blender 3.6.8)
Let $N$ be the number of bodies. Gravity acceleration for body $i$ due to bodies $j$ is a function of
$$ \forall i, 1 \le i \le N, \ \vec{a_i} = \sum_{j \neq i}^N \frac{\vec{M_i M_j}}{\|\vec{M_i M_j}\|^3} \simeq \sum_{j}^N \frac{\vec{M_i M_j}}{\|\vec{M_i M_j}\|^3 +  \varepsilon}$$
where $M_k$ is the position of body $k$ and $\varepsilon$ a small positive not zero value.
As a conclusion, two loops over $i$ and $j$ are required.

The following approach is using a Simulation Zone for the $i$ loop, and an Attribute Statistic node for the $j$ loop. From Blender 4, a Repeat Zone should be preferred over the Simulation Zone.

The following approach is using a Cartesian grid to mimic the $\left[\vec{M_i M_j}\right]_{N \times N}$ matrix. The doublet $(i,j)$ is encoded in the grid points index $n$ as $n=i+j \times N$. Furthermore, $i$ specifies those points ID used by the Accumulate Field node, which is then computing the summation over $j$ for each $i$. The double-loop over $(i,j)$ is performed through the Set Position node.

Resources:

Damned, I just found approximately the same solution using a repeat zone inside the simulation getting the domain count and sampling index. Thanks a lot for your answer, I'll take a look on your method to see if it's not more optimal.

The Attribute Statistic node should be optimized compared to a Repeat Zone. An Accumulate Field could also be tested as it is dedicated to summation; but it is producing extra data not required in this case.

I don't know how this node works ;), I will check the documentation. Just one note: you don't need to sample index for the current point, the "position" attribute is the current one. At least, on my setup, it works. Thanks again for your advices, I'll check the attribute statistic.

The second solution based on a Cartesian grid is most likely redundant with Markus von Broady's proposal  from a mathematical point of view. But as the grid could be permanent outside the simulation zone, the creation/deletion time of the point cloud could be saved. Unless Blender is caching in memory every iteration...

As I'm working with a points cloud, I need to iterate over the points IDs, so at this time, a repeat zone is (I guess) mandatory.
I'm currently testing Accumulate Field node to understand what is the usage.

(if you're using this as a template for your gravity sim, notice I don't use a gravitational constant)
Repeat Zones are a bit slow, not sure if the Stef's answer would be slower than mine, worth to check… Meanwhile here's an answer using the "quadratic geometry explosion" (just made that term up) pattern, that I also recently used here. And, like there, I'm optimizing distance checks by applying negative $-100 \%$ scale, so that the point I compare to is at origin, and position vector length equals distance to that point. Not sure if this is actually a useful optimization here, though. I also capture radius on the parent-point so it transfers to a spawned instance, and upon realizing instances transfers to the children-points. Now I can easily access the radius of a current point, and a parent point (captured). I use radii to store point masses (could use a separate attribute, but that would increase cache size)
The Attribute Statistic node returns a single value, but an Accumulate Field node also sums up values and can be separated by group. The positioning on index to sample nearest at that index could be optimized away as well as the last Capture Attribute node could be removed…

Notice this relies on the input geometry. I prepared two examples of input geometry for testing:

Test #1: Two-body problem

Test #2: Unstable Constellation

This is why triple-star systems don't exist: there's no stabilizing mechanism that puts bodies back at equal distances when two of them get closer than the other due to some external chaos (here the chaos is just floating point datatype inaccuracy).

Your approch works but the problem I mentionned uses a volume of points. I also (later) add different masses and radius to points.
At this time, a repeat zone is the more "readable" method that allows me to computer gravitaion between each points.
Anyway, I keep your answer to make some tests. At this time, I'm not sure hwo to understand how the "Accumulate field" works, I'm currently testing :)

@Markus von Broady: would you mind if I write an explanation of your brilliant (and dense as a neutron star...) approach ? It took me some time to "unwrap" it. I am planning a post like this: https://blender.stackexchange.com/a/310561/177431.

@StefLAncien I know very well what is obvious to me can be very hard to understand for others, but I stopped thoroughly explaining my node trees when I realized the walls of text likely repulse people from an answer rather than making it more attractive :D But if you want, feel free to make edits, I'm not defensive when it comes to my posts (I have a feeling this is not the case with many other users on BSE).

@StefLAncien or feel free to write a separate answer as well like you did in the linked post (have just read it). Just don't write "it's not an answer", as it is (and otherwise would be against the site's rules, though mods are lenient for high quality content)


text:
How to extrude the faces roundly?
I follow the tutorial on youtube https://www.youtube.com/watch?v=-2uY7rjhhMs .
At 7 min of the clip, he extruded the faces with rounded corners. Everytime I try, it doesn't look like that one. I think the way I did is pretty much right, maybe that guy using some kinda, trick or something like that.
How can I extrude faces roundly like that guy?

I believe he has the subsurface modifier (Subdivision Surface) turned on (around 2:00).  He did not apply it so it's dynamic.


text:
I can't choose render device in property window
I'm using Blender 2.78. I choose CUDA (Nvidia Geforce 940MX) as compute device in User preferences > System > compute device.
But everytime I render, blender uses CPU instead of Graphic card for rendering.
Then, I searched around the web, and I found out there is an option to choose render device in property window in others, but not mine (As shown in picture).
Is there any other way to use GPU for rendering, or is there any other option to choose render device.

P.S
Geforce 940MX support CUDA.
My graphic memory is more than rendering memory.
I already chose CUDA as compute device and made default, in user preferences.
I have latest graphic driver.
I am using Windows 10 v1703.
I tried to run as administrator and run with graphic processor.
Thanks.
Alexander Beatson

You will see some CPU usage even when using the GPU to render. You didn't mention, are you using cycles or internal engine?

What render engine are you using? Only Cycles can use GPU rendering. Also besides the setting in User Preferences you have to actually choose the GPU as device in the render panel.

Thank you so much. I used default render engine, and now I change it to cycles. I didn't know only cycles engine support GPU rendering.

Change Blender Render to Cycles Render

Hello and welcome to Blender StackExchange. This is a Q&A forum and you have asked and answered the question yourself in the original post. Also, it helps to add description of the question to help ascertain the need for the question.

the same thing happened to me but my solution was quite easy. i had disabled the GPU in it's settings. i turned it back on and everything was ok again.


text:
Script to copy all materials from one object to another, slot for slot.
Looking for a way to copy materials from one object to another. so I have an object that I imported. a daz character to be specific. I have made shader for all of the materials. This character is now setup and ready to go.
Now I have to import him multiple times into blender in different poses etc. so i am looking for a way to apply all the materials I have already made to the new import. Since the new import has the same material names as the old blender appends everything .001 so  I now have torso and torso.001 as available materials. So Im looking for a script which will go through all the material slots on the character and set the active material from the .001 to the original one. can anyone help me out here?

CTRL+L > Materials (provided they already have the same number of material slots)

That works great thanks!  But is there a way to make a script that does it based on material names?  Because when I import diff generation characters, the material slots change. They have the same number of slots, and the same material names, but the slots are not in the same order. So there the torso ends up getting applied to the arms. So looking for a script that looks at the material name, and replaces the name.001 with name.

Search is your friend https://blender.stackexchange.com/search?q=replace+material+script

I have tried everything I could find in the search. Either there from older versions and wont run at all, or they just copy slot to slot, same as Ctrl+L.

I use this as an add-on to deal with duplicated materials, node groups and textures ending in .001, .002, .003... after copying objects from one file and pasting them to another.
You can save it to .py file and install it as an add-on or just run it in the Text Editor and you will have a menu that you can call with ctrl+alt+shift+z with options to remove duplicate materials. It also removes duplicate textures, and duplicate node groups in materials as well(this can cause trouble if you have different textures with the same name or different node groups with default names, please see the info in the Info Panel after you use the functions and make sure you are OK with the textures and node groups replaced) It also checks for differences in the node trees of the materials so if the materials are different it can leave them alone as it was made to deal with duplicated materials that are the same after copy-pasting objects from one .blend file to another.
bl_info = {
    "name": "MZ Addon",
    "author": "Martynas Žiemys",
    "version": (0, 4),
    "blender": (2, 78, 0),
    "location": "alt+ctrl+z",
    "description": "Operators",
    "warning": "",
    "wiki_url": "",
    "category": "Operators",
    }

import bpy
selection = list()

def materials_same(mat1,mat2):
    #Check if nodes Match
    if mat1.use_nodes and mat2.use_nodes:
        if len(mat1.node_tree.nodes) != len(mat2.node_tree.nodes):
            return False
        for everynode in mat1.node_tree.nodes:
            if not(everynode.name in mat2.node_tree.nodes):
                return False
        #if nodes match carry on to closer inspection
        for everynode in mat1.node_tree.nodes:
            for everyinput in everynode.inputs:
                if hasattr(everyinput, 'default_value'):
                    if hasattr(everyinput.default_value, "__len__") :
                        for i in range(len(everyinput.default_value)):
                            if everyinput.default_value[i] != mat2.node_tree.nodes[everynode.name].inputs[everyinput.name].default_value[i]:
                                return False
                    elif everyinput.default_value != mat2.node_tree.nodes[everynode.name].inputs[everyinput.name].default_value:
                        return False
            #lets check links
            n=0
            if len(mat1.node_tree.links) != len(mat2.node_tree.links):
                return False
            else:
                for everylink in mat1.node_tree.links:
                    if (mat1.node_tree.links[n].from_socket.name != mat2.node_tree.links[n].from_socket.name
                        or mat1.node_tree.links[n].to_node.name != mat2.node_tree.links[n].to_node.name
                        or mat1.node_tree.links[n].to_socket.name != mat2.node_tree.links[n].to_socket.name):
                        return False
                n=n+1
    if mat1.use_nodes != mat2.use_nodes:
        return False

    print('Material \"' + str(mat1.name) + '\" is the same as \"' + str(mat2.name) + '\"')
    return True

################ Operators ################################################

class MZRemoveDuplicates(bpy.types.Operator):
    """Remove Duplicate Materials, Textures and Node Groups That End in .001, .002,..."""
    bl_idname = "material.mz_remove_duplicates"
    bl_label = "Remove Duplicate Materials, Textures and Node Groups"
    bl_options = {"REGISTER", "UNDO"}
    ignore_changes = bpy.props.BoolProperty(
        name = "Ignore Material Cahnges",
        description = "Ignore difference in materials and replace all matching names with the first one",
        default = False
    )
    @classmethod
    def poll(cls, context):
        return context.object is not None
    def execute(self, context):
        mats_removed = 0
        mats_unnamed = 0
        node_grp_removed = 0
        texture_nodes_removed = 0
        for every_object in bpy.data.objects:
            for every_slot in every_object.material_slots:
                part = every_slot.name.rpartition('.')
                if every_slot.name[-3:].isdigit():
                    if not(every_slot.name[:-4] in bpy.data.materials):
                        bpy.data.materials[every_slot.name].name = every_slot.name[:-4]
                        continue
                    if materials_same(bpy.data.materials[every_slot.name], bpy.data.materials[every_slot.name[:-4]]) or self.ignore_changes:
                        every_slot.material = bpy.data.materials.get(every_slot.name[:-4])
                        mats_removed += 1
                    else:
                        every_slot.material.name = str(every_slot.name[:-4]) + ' unnamed!'
                        mats_unnamed += 1
        for mat in bpy.data.materials:
            if mat.node_tree :
                for n in mat.node_tree.nodes:
                    if n.type == 'TEX_IMAGE':
                        if n.image == None:
                            print(mat.name,'has an image node with no image')
                        elif n.image.name[-3:].isdigit():
                            if not(n.image.name[:-4] in bpy.data.images):   # in case there is no more original without numbers
                                  n.image.name = n.image.name[:-4]          # rename the first one
                                  continue                                  # and carry on to the next
                            n.image = bpy.data.images[n.image.name[:-4]]
                            texture_nodes_removed += 1

        for every_node_group in bpy.data.node_groups:
            print(every_node_group.name)
            if every_node_group.name[-3:].isdigit():
                if not(every_node_group.name[:-4] in bpy.data.node_groups): # in case there is no more original without numbers
                    every_node_group.name = every_node_group.name[:-4]      # rename the first one
                    continue                                                # and carry on to the next
                bpy.data.node_groups[every_node_group.name].user_remap(bpy.data.node_groups[every_node_group.name[:-4]])
                node_grp_removed += 1
        if mats_removed + mats_unnamed + node_grp_removed + texture_nodes_removed == 0:
            self.report({'INFO'}, 'No duplicating materials, node groups or textures found.')
        else:
            self.report({'INFO'}, str(mats_removed) + ' material(s) replaced. ' + str(mats_unnamed) + ' different material(s) had the same name. ' + str(node_grp_removed) + ' node group(s) replaced. ' + str(texture_nodes_removed) + ' matching texture file(s) replaced.')
        return {'FINISHED'}

################ UI ################################################

class MZ_menu(bpy.types.Menu):
    bl_label = "MZ Menu"
    bl_idname = "MZ_menu"
    def draw(self, context):
        layout = self.layout
        layout.operator("material.mz_remove_duplicates", text = 'Remove Duplicate Materials, Textures and Node Groups').ignore_changes=False
        layout.operator("material.mz_remove_duplicates", text = "Remove Duplicates - Ignore Material Difference").ignore_changes=True

def draw_item(self, context):
    layout = self.layout
    layout.menu(MZ_menu.bl_idname)

########### REGISTRATION ###############################

def register_MZkeymaps():
    global MZ_keymaps
    MZ_keymaps = []
    new_keymap = bpy.context.window_manager.keyconfigs.addon.keymaps.new(name = "Window",space_type='EMPTY', region_type='WINDOW')
    new_keymap_item = new_keymap.keymap_items.new("wm.call_menu", type = "Z",alt=True, ctrl=True, shift=True, value = "PRESS")
    new_keymap_item.properties.name = "MZ_menu"
    MZ_keymaps.append(new_keymap)

def unregister_MZkeymaps():
    register_MZkeymaps()
    for everykeymap in MZ_keymaps:
        bpy.context.window_manager.keyconfigs.addon.keymaps.remove(everykeymap)
        del MZ_keymaps[:]

def register():
    register_MZkeymaps()
    bpy.utils.register_class(MZRemoveDuplicates)
    bpy.utils.register_class(MZ_menu)

def unregister():
    unregister_MZkeymaps()
    bpy.utils.unregister_class(MZRemoveDuplicates)
    bpy.utils.unregister_class(MZ_menu)

if __name__ == "__main__":
    register()

Sorry about it not following pep8 guides. It's quite messy, but it saves a lot of time for me, so I hope it's useful.

FWIW not a fan of using every as a name for an iterator. A variable named every_object conjures up  a collection with every object, like every_object = bpy.data.objects[:]., whereas each iteration the variable every_object is only one object. Wouldn't  use for each_object in some_collection: either.  Why not something simple like for ob in some_object_collection.?

Yeah you may be correct there :D . It is just easier for myself to follow the code this way. Its personal. Like I said, I apologize it is messy. I did not write it with sharing in mind at the time. I am sure it could be improved and make more sense not only with variable names. The terribly long lines hurt my eyes as well now that I look at it. But it works. I hope it might be useful for somebody.

This is what I came up with. Select the object with the "wrong" materials first (like 'torso.001',...) and the object with the "original" materials last (like 'torso',...). Then run the script. It compares all material names and if one of the "wrong" materials starts with the name of one of the "right" materials, it will be replaced by this mat. (So the material 'torso.001' would be replaced by the material 'torso').
The script does not update the 3dView, so be sure to do some action (like zoom in, etc.) to update the viewport after you run the script!
Also this might not work correctly, if some names are combined of other names. E.g. if you have two materials 'torsoUpper' and 'torso'. If that is a problem, I can edit the script.
Hope this helps.
import bpy

c = bpy.context

# Select multiple objects.
# The last selected should be the object with the "original" colors
# The script loops through all materials of the other objects and compares
# them to the materials of the "original" object. If their names start with the same
# letters, the material is replaced with the original.
# HINT: The script does not update the 3dView!

print("---RUNNING SCRIPT---")
src = c.active_object

for i in c.selected_objects:
    if (i == src):
        continue
    for src_id in range(len(src.data.materials)):
        for replace_id in range(len(i.data.materials)):
            src_name = src.data.materials[src_id].name
            rep_name = i.data.materials[replace_id].name

            if (rep_name.startswith(src_name)):
                i.data.materials[replace_id] = src.data.materials[src_id]
                print("Replaced "+rep_name+" by "+src_name)
                break

Recommend using context.active_object for src rather than the last member of the selected objects list. This is usual blender MO to change settings of selected objects with those of the active. @steven850 if the answer works for you can accept and upvote.

@batFINGER Thank you, I edited the script.


text:
2.92 - keyframe not matching typed in value - bug or feature?
New to animating/ key framing.
Object selected, R (to rotate), Z (to lock), type "-370", press enter.
The object moves from 0° to 10° - I was expecting a full rotation and an additional 10 degrees.
Do I have something enabled causing this to happen?
Note; If I rotate the object using the 'Item - transform' panel, it seems to work just fine.
Thank you for any help.

That is no bug. When you go over a 360 degree angle, it completes its round and resets the rotation. That is why you only have 0-10.

It seems a little odd as you are forced to use the transform panel, but at least I know why it is happening now. Thank you.

Strange. I can't reproduce this, in 2.92.

Perhaps I should try a fresh install. I'll do that after this project.


text:
How can I reproduce in Blender face shading effect produced by Meshlab?
I have two models loaded in Meshlab:
M1) A ply file containing vertex-painted mesh representing a human face.
M2) An obj file representing a quadrilateral stored as 2 faces (triangles) texture mapped from a jpeg image.
From a specific view using an orthographic camera, the rendering of the vertex painted mesh (M1) almost exactly matches the contents of the image mapped onto the quad (M2) as seen in the first image (attached). This matching was achieved by setting the selection of the "Color" property of M2 (quad) to be "Face".
If the "Color" property is set to "Vert", as shown in the second image, we clearly see the boundary of M1 against the background of M2, due to M2 being darker. We want to use Blender to produce the same result achieved in Meshlab by the "Face" setting, but by default the Cycles renderer produces a result very similar (if not exactly the same) as that achieved in Meshlab using the "Vert" setting.
Is there a way to achieve in Blender the result produced by Meshlab using the "Face" setting?

Do the colors of the vertex colored ply file come from the same image as the background plane?

Yes they do come from the same image.


text:
Particle System interact with objects
I'm currently working on a carved wooden heart lying in a field of grass using the grass essentials you can grab from Blender Guru and as you can see there is some clipping that occurs. I know how to make sure grass wont appear from under the wooden heart, that is not the issue. What I want to do is make it so that the grass around the edge of the heart is slightly bent, that you can actively see the grass is being pushed aside by the object. Is there a way to do this in the particle system? The only thing I can think of short term is to apply the particle system and just do it manually, but with so many vertices that would be an absolute pain to do.
Any help would be greatly appreciated.

The Particle Edit Mode could be quiet handy for this. The settings can be found in the left menu (shortcut T). Also there is the option to just edit the tips (see bottom toolbar).
For "real" interaction you probably need to use Hair dynamics and add a Collision component to the heart


text:
Different text size in panels
The panel on the left has small unreadable text and the panels on the right are readable. whats up with this? how do i get the left panel to be readble again. when I open a new file its normal but i cant adjust it in this file
[


text:
Object keeps vibrating at pinned edge during cloth simulation

Hi, I'm entirely new to blender and have been following a tutorial I found online for 3D modelling. To create a dress, I have created the object above and set it up with cloth physics. However it does not work as planned due to top of the dress getting distorted. The vibration/distortion around the waist happens to be were the object is pinned. I have made sure there is no clipping with the body already. But I cant seem to fix it. I would appreciate some help, thanks.

Try to increase the scales to huge values.

May I know what scales are you referring too?

Absolute object sizes in Blender units. Physics solver tends to have precision issues at very small scales

https://easyblend.org/html/editors/3dview/transform/basics/scale.html

Thank you both. I now better understand the limitations of blender and how to work around it.


text:
Hair disappears in particle edit mode
once ive got my hair all sorted i go to particle edit mode to position it and stuff but its all suddenly gone and all i see is the model the hair is on??
anyone help??

In Blender 2.8, to see the hair in Particle Edit mode you need to have overlays switched on.
To see the children in Particle Edit mode, open the tool bar (press N) and in the Tool tab there is Options. In that tab is Viewport Display where Children needs to be switched on.
The Path Steps will display less/more of the children hair length.


text:
How to Link/Append collections from a different blender file in 2.8
im trying to link some collections from python, and i was following the example from this post : How to Link/Append a data-block using the Python API?
but its not for 2.8 and it uses groups, how can i implement something like this in 2.8?
Kind Regards
Andre


text:
Why does the screen turn completely white in render view when using 2.8 eevee?
I know this version of blender is just a beta but this wasn't happening the entire time I was creating my scene. After adding in furniture from CGtrader, the rendered mode began showing up completely white.
I have tried deleting the furniture I imported and adjusting my lighting and bloom settings but that did not fix the issue.
When I switch to rendered view the scene stays in lookdev mode for a while before light slowing starts illuminating and eventually turns the screen white.
Any possible suggestions?

This may be too late, but someone might find it handy if a search lands them here.
I just had this issue. My computer crashed and when I re-opened the file I had been working on, everything was white. Zooming way out made it seem like it was a giant bloom effect in the middle of the scene.
I tried reopening the file multiple times without luck, but what did fix it was opening a different file. I spent a moment panning around that scene, switched render views, then re-opened the file with the issue.
The bloom was gone, so I assume it was just bug that was cleared when I opened the other file.

Didn't help me. :(

Opening a different or new file then changing switching to EEVEE render in the viewport will fix the problem for the old file.


text:
The top of the fluid disappears if I turn resolution above 80

Whenever I bake this fluid sim for a beach at a resolution lower than 80, it works fine. But whenever I turn the resolution of the fluid up to a number above 80, the top of the fluid disappears. Does anyone know why this happens/how to fix it? Here is the file:
I had another thread of this same question, but the suggestions did not fix the problem.

Hi. Isn't this exactly the same as your other question? https://blender.stackexchange.com/questions/141210/fluid-disappears-on-the-first-few-frames

@RayMairlot Yes, when I posted it the first time I was under a guest account so I could not edit it, so I created an account and reposted it. Also I was not aware of the fact that a lower resolution worked fine when I posted the first time.

@cegaton thanks :)


text:
Emit particles from plane with random velocity
I have a plane. I want particles emitted in the normal direction, but have some randomness to both direction and speed.
I can't seem to find any options to randomize initial velocity.
Blender 2.8.2

This Q&A may help: https://blender.stackexchange.com/questions/94859/how-do-i-evenly-emit-particles-from-a-surface/94860#94860

@MechtEngineer that question just says to add random velocity. It doesn't say how to do that.

In the bottom right hand corner of the image shown in the question, there is a "Velocity" panel, and in this panel there is a setting "Random". Therefore, I presume this controls the random velocity of the particles. There is further information here: https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Particle_Systems Please remember to post an answer if you find one!

Worked perfectly, thanks. Don't know how I didn't see that yesterday...