text:
How do you make an object completely invisible from the outside?
I have this half-sphere that I want the inside to be visible and the outside to be invisible. I've been trying to do this with blackface culling, but at certain angles, I can still see the inside from the outside.

image from the front view

image from the back view
As you can see, from the back you can still see some of the inside. Is there a way to make it non-visible from the back? Is it possible to mask the material?

You might need to use camera angle and compare it with the object to make it disappear when looking it from back

https://blender.stackexchange.com/questions/70576/transparency-masking-see-through-an-outer-sphere-and-see-inner-sphere-in-true/70619#70619

@DuarteFarrajotaRamos I think the OP is aware of Backface culling. The problem come to the half sphere will let part of the ball being front-face, which are not desired result.


text:
How to achieve anime-like smears in blender?
So I'm trying to do an anime-styled animation. I want to do something like a smear over the character when they move really quickly. Something like this:

Is there any way to achieve something like this in blender?
Edit: I've just tried something that kinda gets the effect I'm looking for. I took a plane and gave it a glass bsdf and then a noise texture, connected that up to a mapping node, and then altered the scale to give it this stretched look. I then put the glass in front of the model. Having the plane would help me animate this effect. The problem is that it affects the background as well. I'm wondering if there is a way to isolate this effect to just the model.

you could try using motion blur.

I'm trying to get an anime aesthetic. Also, motion blur does not work in Eevee.

See the answers to my thread: How to distort gif animation? https://blender.stackexchange.com/questions/158950/how-to-distort-still-image-or-gif-animation

It's not an image I want to distort. It's more like putting a lens up in front of an object and when you look through it the object becomes distorted... and then it only distorts that object and nothing else which loses the real-world comparison.

An easy way would be to separate the render into 2 passes. 1 with the glass and the smeared model, 1 with only the background, then combine them when compositing.

@covector How would you do that in 2.8?

Using view layers, you can first make a foreground layer which has your model and a plane behind your model with holdout shader node, then make a background layer with everything hidden, then you can composite all of it in the node editor, but since glass shader will not show transparent background, I would do the smearing in the node editor (at least idk how to make background appear transparent in glass shader, if there is a way to do so, you would include the glass in the foreground layer too and no need to do the smearing in node editor)

@covector I'm sorry. Thank you for all your help. I've never done work with other layers and compositing different layers together. I think I would need to see the process you've just mentioned so that I could follow along.

So after experimenting a bit with what covector said, I believe I have arrived at a solution. By using a combination of layers and scenes, I can now have an isolated "smear" effect on one object without affecting the other objects in the scene.
I will continue to experiment with this to find a workflow for animation.

Note: Use the displace node to keyframe the effect.
I used two scenes: The first scene for the models and the second scene for the world texture. I then used the node setup provided by covector for the effect. After that, I used different render layer nodes and a z-combine to combine the layers into one composite. Thanks to everyone who helped out with this question.

Has anyone found a real time version of this for 2.9 or no, because I'm struggling with this one too. Trying to avoid the compositor as much as I can.

In node editor:
You could try using the displace node which moves each pixel according to an input rgb, where red is how much the pixels will move in the x direction, and green is how much pixels will move in the y direction.

(I didn't change any settings for the cloud texture, I just use the default values)
Edit:
In 3d editor:
If you want to do it directly on a 3d model in the 3d view, you can use the displace modifier.

create a cloud texture and make the size very small.
Then add the first sub-surf modifier if your model don't have enough geometry.
Then add the displace modifier under, and change the direction to only 1 direction (X, Y or Z)
Then add 1 more sub-surf modifier to smooth things out.

Is it possible to get this effect over just a character model?

@JayPig i edited the answer and added how to get this effect only over a 3d model.

source: Stack Exchange

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

sort: votes


text:
Trying to render an animated shiny metallic surface (chrome) w/ transparent background
I have accomplished rendering the same animated 3D object with a shiny black surface (with transparent background). But when I switch the surface to chrome, it renders as patches of grey - black - white. The material preview shows the chrome, but the rendered view shows the patches.
To create the chrome effect, I did not use the nodes (don't know how, yet). I changed the effect in the Material Properties section under "Surface."
Any help is greatly appreciated. Thank you so much.

Hello, some screenshots of your object would help, or even share your file: https://blend-exchange.com/

Okay, picture is uploaded. You can see the rendered view on the left, and the material preview on the right.

The render preview is using a built in hdri that provides an environment to reflect on the surface.  The F12 render doesn't use this, instead using the world shader which is gray by default. - https://blender.stackexchange.com/questions/128499/how-to-use-built-in-default-hdris-in-renders

Activate the Node Wrangler addon, witch the Shader Editor window from Object to World, select the Background node, press Ctrl T to create the Environment node, in this node select an HDRI

Thank you. Followed you directions (as far as I can tell!). The results are posted above: Turned my object to hot pink.

To further clarify the above comments - an HDRI World Environment image (present in Material preview, but hidden from view) is necessary to reflect anything other than "grey patches" (or whatever your background color is). Shiny, reflective surfaces basically need an HDRI to look realistic.
Blender comes with some HDRI backgrounds, and they can be found in the Blender folder at .../3.4/datafiles/studiolights/world. The one being used in Material preview mode is Forest.exr.
Go to your World Shader, add an Environment Texture, click the folder icon on the node, then browse your pc to find the HDRI.

If you want the reflections, but not the background, use this setup which uses a Light Path node to separate the reflections from the background image:

Works just as well with Transparent enabled:

If you did a default install, the full path should be: C:\Program Files\Blender Foundation\Blender 3.4\3.4\datafiles\studiolights\world   (assuming program version 3.4 on Windows).

I just checked my install files, and they are all empty. I am on a Mac --(macOS Monterey; version 12.6). Should I uninstall, then reinstall?

Honestly, I'm not familiar enough with how blender stores things on mac to properly guide you there. Though, empty folders does seem like a bad thing...?

Agree. Thank you Christopher. Really appreciate your help.

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


text:
Rigging/Animating this "EggOnSpring" isn't working how I want it to
I'm trying to make an animation of this egg and spring that makes it spin in a circle like a spring rider toy at a playground. I'm using automatic weights and when I try to move the armature bones it doesn't deform just how I want it to. I animated it with a curve to show what I'm trying to do but I need it done as a rig and don't know how to do that correctly.

Here is the blend exchange file: https://blend-exchange.com/b/32N5xKQx/

https://blender.stackexchange.com/a/166253/2214

Can you use Bendy Bones that work only in Blender or do you need to export the armature? How to Rig and Build an Advanced Bendy Spring in Blender

For the spring armature there is a great addon Armature from Mesh (by Liero) ... still works under 3.4 (a bit weirdly located under View 3D > Properties > View > Bones from Mesh > Create Armature) Advantage of it is a mesh doess not deform thickness of wire.


text:
Material turns pink after any normal map is attached to it while the normal map works on other materials
When I attach a normal map to a specific material, it turns pink while the normal map works on other textures. A bump node is currently being used for the normal map. The image source is not missing.
Nodes:

Running the texture through a normal map does not work either.

This is not the correct way to use a normal map.  A normal map needs to be run through a normal map node.  Generally speaking, you use a bump map or a normal map, not both.  A normal map is dependent on mesh and UV map, and they do not necessarily work right when used on a mesh/UV for which they were not designed.  If what you've been doing has worked elsewhere, that's just luck.

@Nathan Thanks a lot for replying but if I understood correctly (img --> normalmap --> principled BSDF) it still has the same output

Solution after randomly playing around in the editor I have found out that switching to Cycles from Eevee fixed the problem. I still have no idea on why it only works on cycles but not in Eevee.


text:
How can I give an internal extrude with proportional offset that does not change the global z axis?
Initial mesh

Objective partially achieved through Extrude Faces Along Normals or pressing E > Esc > Alt + S

How to avoid displacement in the Z axis so that everything is aligned?

Note: I need a proportional offset

Add Shift-Z after your Extrude along Normals hotkey. I.e: E > Esc > Alt + S >Shift + Z. That will exclude extrusion on the Z axis but allow it in the X and Y directions.

Hello friend, thank you very much for the answer. In this sequence of shortcuts Shift + Z has no effect.

I think we'll need to see your Blend file in that case. You can share it via https://blend-exchange.com/ following the instructions there to copy the link on that page. Then edit your question here and paste the link into it.

The file is now available

Ok. The Extrude along Normals won't work in this case because the normals on the sloping faces aren't horizontal so those faces are naturally extruded up at an angle and I guess the scaling is giving different results because the size of each ring of faces is different on the sloping section of the object. Does E > S > Shift-Z (without Enter) and then dragging the mouse give you the result you want? It's a bit difficult to tell but the ring sizes look pretty consistent to me.

The problem in this case is that the offset is irregular. I would like to keep the offset at the same value for all faces. Just for context, I'm trying to reproduce this model in low poly
https://sketchfab.com/3d-models/mp9-counter-strike-2-3dbcae165cb64385b83bf620b1803c80 (perhaps this model can help in finding a solution to this problem)

As @moonboots says I doubt it's possible. In any case, who is going to notice small inconsistencies like that?

True. Shift-Z after extrude gives a satisfactory result. Thanks a lot for the help.

Press EEnter then SShiftZ.................

A few seconds too late! :^)

eh eh ;) ..............................

Hello friend, thank you very much for the answer. The Shift + Z shortcut blocked changes to the Z axis, but the offsets were different sizes.
For me, the idea would be for the Shift + Z shortcut to work in conjunction with Extrude Faces Along Normal, but that doesn't happen.

OK you want the same offset for all the extrusions, not sure how to do it...

That's right. I made the .blend file available to better understand the problem.


text:
I extruded the edges, and I want to return to the initial shape
I would like what I have selected to go back to how it was before? But how to do it ? so that there is no extrusion and it is just a smooth shape

like this

with decimate it's not pretty*

You could select the faces ring, then press M > Merge by Distance:

Then increase the threshold in the Operator Box until the vertices merge:

If you want an even space between the vertices, select the edges (you can use ShiftG to quickly select the whole edge loops) and right click > LoopTools (you need to enable the LoopTools addon) > Space:

Don't forget to remove the inner faces that it has left: ShiftG (Select Similar) > Perimeter to select them all, then X to remove:

EDIT: From your version, merge by distance with a value of 0.038:

Select the top and bottom edge loops and LoopTools > Circle:

Remove the inner faces:

that's perfect, thank you, it will help a lot of people

Also don't forget to remove the inner faces at the end, see my edit

but it's breaking my mesh, look at the 3rd image :/

Please share your object (before the operation)

it's done, can you go see please

don't you have a previous version? Also why don't you simply use a cylinder? is it not supposed to be the metal ring?

no, in fact I've already found it, but I wanted to know how to fix a shape, but otherwise I've already found it, but I wouldn't be able to fix it if the shape was more complex

I've edited my answer, I was able to fix your version


text:
how to duplicate shapes, in a circle?
how to duplicate shapes, in a circle?
I would like my pillars to be all around the circle, without doing one by one... thank you!

On the circle, under Object properties, Instancing, enable Vertices or Faces, and then select a single pillar, then shift_select the circle, and parent to object. If you have too many faces or vertices on the circle, add a more simple "Add :: Mesh :: Circle" and parent to that instead, after aligning the circle (radius and position) to that of the circular object:

You can control the number of vertices around the circle during the Add process (default is 32).

Also, you'll see that if you uncheck "Show Instancer", "Render" the child object (your pillar model) won't show on the final render.   You might also move your model (circle and circular wall) away from location 0/0/0, if you are "bothered" by child pillar in the viewport (I think there's a bug; unchecking Viewport should make the child disappear in viewport)

How do I remove the middle object when finished? or deactivate it but without deactivating what surrounds it?

@Fopsi -- on the circle object, uncheck the "Show Instancer" for Viewport and/or Render.  blender is like a hide-and-seek game!

but the problem is that it displays the circle but not the object in the middle, or the reverse the object in the middle remains and it removes everything that is around? I tried with your model too

because for me it's not for rendering but it would be to export it in OBJ

@Fopsi - I'm sorry but I don't understand. You wanted the "pillars" to be distributed around a circle, and then I though you didn't want to see the original pillar in the middle.  If you then want to "realize" the instances, then the obj will indeed import as several "pillars" in a circle.  Sometimes, there nothing like a real-time voice conversation that is not possible here.

yes it's not obvious especially since I don't speak English fluently

in fact, I'm trying to make ramparts around a house, but the problem is that with your technique, I can't remove the rampart that's in the middle

I have published an image below to show you what I would like to do but in a precise way?

@Fopsi -- there may be a bug where unchecking Viewport isn't making the child pillar disappear, but it definitely doesn't Render.  I edited my answer above.

Let us continue this discussion in chat.


text:
Problem with Loop Cut (2 faces selected with a cut in the middle)?
on the left it's good because I created extrusions even if I think it's not the right solution but on the right it's impossible to detach the 2 sides

[enter image description here]

You have an Ngon on the right side of the object (the second middle edge that does not loop fully around the object is the cause of this.)
You need to select the knife tool
(K) and manually complete the loopcut around the object so that the object is able to recognise and allow loopcuts normally again.
I would suggest watching a tutorial on Ngons and how to fix/prevent them.

no there's nothing to do I searched and I still don't understand what are the points that appear? when I click on the first one it selects several faces outside :/

That is caused by duplicate faces.


text:
Rotating several planes on their x axis by the same angle
I created 5 squares from planes.
I placed four of them around the fifth, forming a cross.
The question is: how can I rotate the four squares along their respective axes at the same time so that they start forming the sides of a box around the fifth square?
See picture...
This is only an example. In reality, I want to do that with pentagons and rotate the now five pentagons surrounding the central one so that they form a "vase", that is when the vertices of adjacent pentagons come to touch each other.
.
Thank you @Rick T for the hint about uploading a blend file...
Here it comes!

It might be helpful to people trying to help you if you uploaded an example blend file to the site https://blend-exchange.com and add that link in the question.

Hello, have you thought about parenting to some bones or empties? Then you could just rotate one and the other would rotate as well with some constraints

@moonboots that sounds great, and, because I am rather of a beginner, could you expand a little on the procedure or give links to some tutorials I could get inspiration from. I have never used bones and rigging...

You should find several tutorials on this topic, if they don't properly answer don't hesitate to explain where you're struggling: https://www.youtube.com/results?search_query=blender+rigging+a+box

@moonboots Well, thanks a lot: the first video I checked, "How to rig opening a box," seems to be doing precisely what I am looking for!

First thing we'll do in your file is enable the display of axes on your objects:

We can see that the objects do not have consistent axes relative to their geometry.  We can adjust those to eye by enabling "affect only origins" in sidebar/tool and then rotating each.  We'll rotate each to match the origins displayed on the active element above, with X being the desired rotation axis:

We'll change our pivot point to individual origins and our orientation to local, and disable "affect only origins".  Now we can select all of the objects we wish to rotate and r x to rotate each in its individual X axis, about each's individual origin, at the same time:

You may notice that the rotation isn't perfect.  That's because I aligned the axes to eye rather than being very precise.  While it is possible to create precise local axes, it is usually more difficult than using bones rather than objects to do the transformations, where we can just snap our bones heads/tails to cursors (and recalculate roll to cursors), cursors that we can snap to geometry.  I would personally use bones (armatures) for this purpose, but you might not be ready for that yet, I don't know.

Thank you so much. The method you provided me, because it is so basic, has taught me so much I can use in many other situation. Now I have full control of how to rotate these hexagons!
And I will also check out what rigging can do for me...


text:
Trying to build a flow map driver with Geo Nodes
I'm trying to capture an image sequence from file and make Blender understand the directions the white color is going. I've extracted the image sequence from the Dynamic Paint simulation and basically I have to compare the current frame with previous frame and localize the white color upon the mesh surface, and figure out at which direction (X or Y or both) it is going in order to build a flow map - which is basically a normal map that indicates direcion where sth is going. Is it doable?
I imagine I have to use capture or transfer attribute somehow, pick the frame difference between the current and the previous frame and see where the white color has gone, but I'm too stupid to build it alone. Can somebody help me?
Flow map in a nutshell:

This sound like a raster based problem. (Dynamic Paint can be an image sequence.) Why do you want to use geometry nodes instead of the compositor?

Hi! It's because I want to compose a texture upon the trail, say a noise or musgrave for example, so it would follow the flow map path.

Before some smart user here figures out how to do that, you could simply prerender the sequence with the compositor, then load it into geo nodes as an image sequence.

That's exactly what I'm asking, but I want Blender to understande left and right and draw the different directions that the dynamic brush went on, in order to build a flow map.


text:
Script to wipe out every Vertex color
Please can somebody help me with a script that wipes out the vertex color attribute from every mesh in the scene? I need to get rid of them so when I export to .gltf the textures won't get multiplied by the vertex colors. It happens that almost all my meshes have vertex colors on them.

You can disable the "Data > Mesh > Vertex Colors" options in the export window when you export to glTF instead. Does that work for you?

Oh damn, didn't spot that! Thanks!


text:
Problem with ID mask and glow effect
I've tried numerous answers on this forum and tutorials, but for some reason I can't get this light to hide properly and still perform a glow effect.  What I need is for the light (highlighted with a green rectangle) to hide properly, but still allow the blur and glare effect to show in the foreground.
Here is a screenshot of the node setup in the compositor:

And here is a screenshot of the issue:

EDIT: my attempt at LukeD's answer for reference.

Check my fresh answer from here: https://blender.stackexchange.com/questions/88584/creating-a-planet-atmosphere-blurry-edge/88602#88602

Thanks @LukeD!  However, I wasn't able to achieve that effect.  I've posted my revised node setup based on your solution.  Could you tell me where I went wrong?

First method (recommended):
This one is pretty simple, you can use Z-Depth value to 'hide' layer (yellow) behind mesh.

Second method (with manual Glare control):
If you for some reason would like to hide Glare effect from the front part of the mesh you could use Mask and manually place it on your image.

That did it!  The first method was exactly what I was trying to achieve.  Thanks again!

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


text:
How to make all faces the same dimensions?
I notice a when I model, a lot of times the faces will be different lengths and widths even with extrusion.  Or even if you made a mistake and need to clean up a mesh, is there a way to select faces and make them all even in size compared to the surrounding faces?
Another example would be making the crooked faces on the right of this picture the same as the even ones on the left:

EDIT: This is what happens when I scale to 0:

Oh right yes that works for the second example, but for the first how would I do that?  Because in the first example if I do that all the faces go completely flat on the x axis (i.e. if I were to select all the pink parts the would just go flat instead of staying where they are, but becoming uniform in size).

I tried that and it messed up the faces.  I posted screenshots.

So there's nothing that sort of averages out the dimensions of a number faces selected and makes them more or less the same size?  I tried space in loop tools but that didn't work.


text:
Problem rigging BB8 in a diagonal direction
I've been following this tutorial by GiantCowFilms How do I rig a BB-8 robot? and it works fine from a front and back direction starting in the centre of the grid, but when you move diagonally, it starts to rotate almost entirely on the Z axis.  I'm not sure what I am doing wrong here.  I've posted the .blend.
Here's a screenshot of the him moving properly:

And this is the issue moving diagonally:

EDIT: I found a workaround that utilizes the above method with another.  I don't quite understand the math behind it but it works.
1. First, go to blenderartists.org and check out Rigging a Rolling Sphere (BB8) and download the file roller.blend (important: to actually make the sphere move in this file, I had to click "update dependencies" in the driver panel for each axis (W, X, Y, Z)
You should see a screen like this:

And this is where you would update dependencies:

2.  There are a number of ways to do this I'm sure, but what I did was to copy the sphere (ctrl + c) to buffer and paste it into my file with BB-8.

3. Then copy the code in text editor and paste into your file or save it as a text document and open it in your new file. Now run the script (also make sure you have "auto-run python scripts" enabled under file in your user preferences) and update your dependencies.  It's important to note this script can only work with one sphere at a time...you must manually make the settings of your BB8 body the same as the sphere you pasted in your BB-8 file.  This will be outlined in the next step.

4.  Now here comes the tedious part.  To add the correct drivers to your BB8 body, you need to make sure you are using Quaternion rotation or else this won't work.  Go into your rotation options in the Transform panel and change it to Quaternion.  Click in each coordinate and type the # sign and enter.  They should all be zero and purple.
Then in the drivers section of the graph editor go in to each axis  (W, X, Y, Z) and add your scripted expression and variables exactly as shown.  Also make sure that the variable type is set to the Transform Channel and that the object is your BB8 body, not the cube as is shown (that is your original sphere you copied from the roller.blend file). It's pretty complicated to explain every single step, but basically you just need to manually duplicate all the settings of the sphere (confusingly labeled cube) in the roller.blend file in your new file to your BB8 body.  And don't forget to update dependencies when you are done!

5.  If you followed GiantCowFilm's method like I did earlier, just parent the circle empty around the body of BB8 to the body itself.  Everything should move properly now!

Again, if you have a hard time with the instructions, you can refer to the original forum posting I found this from Blenderartists Rigging a Rolling Sphere (BB8)
And for those of you who want to torture yourself with the math behind ezaacque's code:
"I am taking each change in position, and calculate the cross product with a vector straight up, to get the vector perpendicular to these two, to get the axis for a wheel, following that change in position. Also, from the distance the wheel rolls, I calculate the angle the wheel needs to turn, in radians. From axis and angle I create a Quaternion rotation, which is then fed into the rotation of the sphere. In fact, I add up all rotations of all changes in position."

To quote my original answer: After writing this, I did a couple tests, and I am now convinced that the above method of driving rotation produces incorrect results. I am still searching for a definitive answer to this, at least the above method has the benefit of producing reasonably convincing results, so it is being left in. You did nothing wrong, my method is flawed. Still not totally sure how to fix this :/

Ah I see.  Too bad...it's a very cool method.  Hopefully one of us will find an answer :)

@GiantCowFilms I figured it out...see my edits above.

@lakerice Shouldn't all that just be an answer to your own question, not an edit?

@ScottMilner it should be, but for some reason I was criticized on this forum when I formally answered my own question so I edit now.

@lakerice You were criticized for answering your own question? That's not cool! Answering your own questions is explicitly encouraged.

@SilverWolf that's good to know, thanks. I think I've seen the whole "don't answer your own question" on other posts before too and I think it is misinformation. Not sure what they were thinking when they said that anyways.

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


text:
Fixing jagged knife project circle
I'm trying to think of ways to fix a circular shape that I projected onto a half sphere and I can't seem to be able to fix it using circle tools or modifiers.  If you look closely you can see the faces are uneven.  Is there a way to fix this, and if not, how can I fill the sphere again in the problem area without having to start all over again?
Here's the problem:

Here are the modifiers:

EDIT:
I may a found a solution...it's tedious, but seems to be smoothing things out.  If anyone finds an easier workaround, that would still be welcome :)
Basically, I find the problem areas like this:

Go into edit mode and dissolve (not delete) the edges causing the distortions like this:

It's not perfect, but it would look like this:

NOTE: It's important to note that removing doubles helps, but doesn't necessarily get rid of these problems, hence why I had to manually dissolve the edges.

What is the vertex group "Group.001" that is being used for your Cast modifier?

https://blender.stackexchange.com/questions/70575/how-do-i-fix-a-boolean-bisected-surface-edge

@risingfall it's all the faces of the head until it gets to the grey ring near the bottom of BB8's head.  When I applied the cast to the whole head, it deformed the bottom severely.

@DuarteFarrajotaRamos Yes I tried the edge split modifier (I should have mentioned that) and all it did was make the ripples and distortions even more pronounced.  The auto smooth in data didn't have any effect unfortunately.

@lakerice yes I think you've hit upon one of the reasons ngons usually should be avoided, especially when using a modifier like a subsurf

@risingfall agreed.  It's strange knife project doesn't work more predictably with circles.  At least in my experience, even a heavily subdivided circle can make more primitive looking cuts.


text:
How to change Vertex Selection to Face Selection?
How to change any selection mode to a different mode? Vertex selection to face selection or edge, edge to face, etc.

on the top of the 3D view, the 3 icons, or shortcuts 1, 2 and 3

Keyboard shortcuts are going to depend on the initial interface choices you made when you ran Blender for the first time.  They also depend on what mode you're in-- changing to weight paint/vertex mode is different than changing to edit/vertex.

On the top of the 3D view, the 3 icons:

Or shortcuts 1, 2 and 3:

..Taking  BSE answer illustration to a whole new level :D

I felt it was necessary as I don't know how these keys (not numpad numbers) are called  ^^

Nice idea :) Actually I don't know the name either. I usually expect that when someone says press 1 he means I shall press the "standard key", not the numpad key (or it doesn't make a difference, maybe in a different program than Blender). I think in keyboard layout the "normal" numbers belong to the Typewriter keys, but I never heard someone say something like this.

you're right, standard vs numpad is a good idea

+1 For the illustration. Isn't it just called Number Row?

Hold SHIFT while hitting 1, 2 or 3.
For example, if you selected two faces, and want the 8 verts selected instead, hold Shift while those faces are selected and then hit '1.' Your face selection will change to vertex selection(s)

Why hold Shift? Just press 1, 2 or 3.

Holding Shift is used for combined selection mode where you can select two types of geometry like Vertex and Faces, or Edges and Faces at the same time

Right, I know this - but maybe not the OP and it's not stated in the answer, and since the question asked for switching modes, not combining them it is first of all more inefficient to hold Shift while pressing the number if the number would be sufficient and secondly (but of course that's a matter of taste) it can lead to errors sometimes if you accidentally select wrong things with more than one mode at once. Maybe no problem for experienced users, but this should be helpful for beginners as well.

In case it wasn't clear I was backing your comment, @GordonBrinkmann. I was just pointing out to FunkyKong that while this may be useful, it is not as far as I can tell what the OP asked about.


text:
Does anyone know how to make my 3d model's outline look like a boiling line animation effect? like Ed, Edd n Eddy
I'm trying to make it look like a boiling line animation like "Ed, Edd n Eddy" from Cartoon Network or "Cuphead." I have an outline now, but how do I make this boiling line? If you know the question, please answer it. here, for example.

please add sketches, images how it should look like. You shouldn't prerequisite that everybody knows the Cartoon you are talking about...

You could probably get the effect you are looking for by making the outline of the character (not the "fill") a grease pencil object (either by drawing it as a grease pencil object, or by using a line art modifier ), and then adding a Noise Modifier to it.

 (It's 6 frames but looks like 2)
Looking at your example GIF, the line isn't changing randomly, it's two outlines alternating. You can achieve that by adding noise to your freestyle thickness, and animating this noise with a driver. If you want this noise to be repeatable, use fmod(frame, x), where x is the number of unique deformations (in your GIF it's just two). Below the process of creating the animation seen above:

Please note that you need to add something to the result of fmod, as the result sometimes is 0 and it seems there's a bug in Blender currently, crashing Blender for the 0 seed.


text:
Extruding geometry along normals
I'm trying to figure out a method how to extrude along normals as the Square Example which shows the extrusion mesh going along perfectly its geometry axis.
On the shape which I'm trying to extrude no matter if I choose to extrude faces along normals, or try to hit E, S then Shift+X to extrude, it's distorting the extruded faces like the example in the screenshots.
So what's the best method to get the extruded mesh to follow correctly along its original geometry axis?

hello, could you please share your file?

Here's the file:

Your selection looks like a curve, so the extrutions is going to be curved, you could move the vertices to make a straight selection and then extrude.

I think he precisely wants the extrusion to follow the original curvy shape, not sure it's possible, as extrude along faces normal do not give the good result

Which method would be correct to follow for this type of extrusion?


text:
How to apply physics on instances of group?
I have a group of multiple objects. I make a couple of instances via Shift + A and shift them along Z. Then I try to drop them using game engine and I have Record Animation turned on. While in play mode, everything looks like it should. But when I stop it and move animation crusor, for some reason only one instance is at its position, others are shifted. E.g. if I shift them 60 units upwards from original group before playmode, then all instances except one are 120 units upper than original group after I quit playmode. How do I do it correctly?

you don't need to use the BGE to get a rigid body sim, that is build right in to blender.

Thank you. But problem is still there. Maybe it just isn't allowed to use instances for that...


text:
Same UV map for whole and shattered versions of object
I have 2 versions of the object: whole and shattered. How can I use the same UV map (same texture) for both so I won't have to draw same thing twice and so textures match when I break the object in game? I understand that the shattered one will have extra polygons, but still both versions will have most parts in common. What is the best practice for this? Do I have just to match them all manually or maybe there is some addon that automatically creates UV for shattered version using UV of whole or else?


text:
Switch controlled drivers
I have a surface in an object that I want to be a light, one that can be turned on and off, not blinking, but more like a light switch.  I have figured out how to drive the light, the emission value, using an another objects attribute as a driver.  So if a Plain Axis X position is 0 the light is off, if it is 1 then the light is on.  However this is cludgy, when I want to append the object with the light into another blend I have to remember to bring the Plain Axis object as well.
Is there a better or more tidy way of bringing a driver driven surface (or any driver driven thing) into another blender and bring the source driver with it? Even as a switch some where?

You can add a custom property to the light object, and refer to that in your driver. That way you don't have to depend on another object.

This will largely depend on how you set yourself up to re-use assets.
I personally like to put this kind of stuff in its own file, and create a group of everything needed. Save Save Save.
Then in my main working file I use Shift+F1 browse to my particular asset file. Double click on it. Then double click on groups. Then select my desired group name and pull it in.


text:
PYTHONPATH extension?
I am trying to write some scripts to test blender.  I have developed some helper tasks that I would like to use from a common module.  However when I move the task from the working script into a different file and try and get the script to import from the second file it does not work.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "E:\blender-addons\test\test_import_obj.py", line 14, in <module>
    import test_helper
ModuleNotFoundError: No module named 'test_helper'

So I figured that I needed to at least set the PYTHONPATH to the current directory.  However when I do that then the blender bit stops working
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "E:\blender-addons\test\test_import_obj.py", line 214, in <module>
    main(infile, module)
  File "E:\blender-addons\test\test_helper.py", line 22, in copy_plugin
    bpy.ops.wm.addon_install(overwrite=True, filepath=zfile)
NameError: name 'bpy' is not defined

I am using windows to develop my scripts.
What am I missing?

Please read the docs on blender paths  Eg put your test helper module in USER/scripts/modules/ folder and it can be imported  with import test_helper

I was hoping to avoid having to copy the files over to the install, they are test files for testing

Please read the docs. The USER path is outside the install path.

@batFINGER So how are multi-file add-ons normally developed? You have to develop inside the scripts/addons folder?

@RayMairlot on linux for instance I  develop addons in my user folder /home/batfinger/.config/blender/2.80/scripts/addons/test_addon/__init__.py  I can re-install blender without fear of that user folder being touched.  In reality test_addon/ is symbolically linked from elsewhere, but for all extents and purposes is in my user addons folder. Reload addon scripts using F8 shortcut to bpy.ops.script.reload().    Crunch bpy.utils.script_paths('addons') into the python console and it returns a list of locations where blender expects to find addons.

OK copied file over to C:\Users\abc\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\modules, it seems to pick up the file for import but then I get the second error about not being able to find bpy

The second error looks like you are missing import bpy.  Little confused by "I am using windows to develop my scripts."  Unless you have built blender as a python module and installed in your system python, bpy is only available to scripts run from within blender.

I am calling blender from a prompt: blender --background --python "D:\storage\3D\import_obj\import_obj.py"

Gah that was it! I also forgot to import bpy into my file.

And as a result of that, you can set PYTHONPATH to the local directory and it will run, you don't have to copy it over.

I consider a script called via srtarting blender from CLI  "running from within blender".

Don't set PYTHONPATH, but rather add your script's path to sys.path. You can do that manually in Blender's Python Console, in a script you embed in a blend file via Blender's Text Editor, or in a small add-on that you place in a path that's already searched for by Blender.
Non-scripting approaches would be to set an alternative scripts folder in the user preferences, or to use symlinks to make Blender find your code.


text:
Return the current release of blender on command line
Is there a way to poll the blender download website to return the current release candidates paths for blender.
At the time of this writing there is a release for both 2.79 and 2.80 so i would like a way to, from command line, find out that the downloads currently available are:
https://builder.blender.org/download/blender-2.79-e6acb4fba094-linux-glibc224-x86_64.tar.bz2
https://builder.blender.org/download/blender-2.80-430cf7e15eef-linux-glibc224-x86_64.tar.bz2
without having to scrape the download html page to extract the full names

Using akira's idea, you could use wget --spider to search the web page for links without downloading them. Then you could use something like awk or python to filter the output for the desired urls:
% wget -r -np --spider https://builder.blender.org/download/ 2>&1 | python -c "import sys; print(''.join([line.rsplit(' ', 1)[-1] for line in sys.stdin if all(term in line for term in ['http','linux'])]))"
https://builder.blender.org/download/blender-2.80-430cf7e15eef-linux-glibc224-x86_64.tar.bz2
https://builder.blender.org/download/blender-2.80-96f762500ef9-linux-glibc224-i686.tar.bz2
https://builder.blender.org/download/blender-2.79-e6acb4fba094-linux-glibc224-x86_64.tar.bz2
https://builder.blender.org/download/blender-2.79-e6acb4fba094-linux-glibc224-i686.tar.bz2

That's a bit webscrapy, I was hoping there was a more elegant way.  but i think/fear this is the way to go


text:
Not able to render eye gaze animation on sheepit

First image is the sheepit rendered image

Second I have rendered on my machine, macbook pro
I have created this human modal in makehuman and imported as .mhx2.
for setting the animation
I key the head before and after rotation. This works fine on my machine, eyes rotation follow the head, but on sheepit eyes are at the same place and only head is moving.
Also, I am using mhx rig. This provides an option "gazefollowshead" under section "mhx control". when set it to 0 it renders in the same way as sheepit does. I am guessing this is the issue, not sure though.
please help me, I have completed the whole animation and now I am not able to render it.

@cegaton Thanks a lot for your comment, I have updated my question with more information. If it is not enough pls let me know, thanks again. Sorry for the inconvenience I am new to it.

1.) Using object type eyes. 2.)  I have packed all the files in .blend, does that ensure all the cache object copied?. 3.) On uploading .blender file on sheepit it doesn't show any warning. thanks again for your replies.


text:
Rendered animation is all white
I had made a basic smoke and fluid simulation, and after applying necessary textures, I wanted to save the animation as a video file. After rendering each and every frame (till 150) for around 2 hrs, the animation was finally saved as a video format. Now when I open the video file, all I can see is a white screen, nothing else. Why?

Edit: Sorry for the late response. Here is the link to my blend file: https://drive.google.com/open?id=1mA6utHHBe1YqzVaXOU6mNeSS1KQNfoOO
Even if I render it in PNG format, all the individual PNG files come out to be completely white.

try rendering a few random frames from the whole video directly to PNG if they have the same result then it is not a video encoding issue.

Was doing that just now, the result's the same. All the PNG files are white. What's wrong?

It’s good practice to always render to individual images (PNG or EXR) rather than direct to video format. This way you can more easily check progress (by opening individual frames to check the result), you can stop the render and carry on again at the frame you stopped at, or even re-render any sections you aren’t happy with. You can even use the compositor to adjust effects without having to re-render. You then combine the separate images into the final video at the end. It’s impossible to determine what’s gone wrong in your case without more information. Perhaps share your Blend file.

Here is the link to my blend file: https://drive.google.com/open?id=1abTHIhMfwBIQRX4wRcyGx6nWZElsRQ1h


text:
How to cut a mesh outline on another plane
I'm going to be printing a prop gun in two halves and in order to glue it together perfectly, i want to print an outline mold of the gun so both halves can set straight.
I tried using the knife project tool but it doesn't cut the outline of the gun.
This is what using the tool normally is like:

It only cuts the trigger guard portion.
And this is what i would like to do:

I would like to cut only the outside of the of the mesh model onto the plane in the back, is there any way to accomplish this?
I can upload the file of the half gun if requested.
Here is the finished product, thank you:

I'm sure you must have taken this into account...If your model has undercuts , the seam in the plane X=0 may be smaller than the silhouette. So your guide mold would have to be shallow enough for the projecting parts to lie outside it, or the mold enlarged in those areas to accommodate.

I assume that the half-gun has a flat face on the side it's cut.
You can extrude that face out so that it goes through the plane and then subtract the gun from the plane.
Here's an example with a half-suzanne. With a bit of imagination, it looks a bit like a gun :-)

And here's the final result

This worked perfectly. With a little fiddling around tinkering I got exactly what I wanted, thank you.
oops idk how to add a pic here to show but it looks great


text:
Vertex dots disappear after using knife project but edges remain
Let me start by saying im still learning and have been designing very simple stuff learning as I go. This has been giving me some trouble but I've always just kind of worked around it. There was a similar question to mine in the search but i wasnt able to have an answer for it.
[1]:
Selecting both the item using to cut and the item to be cut
[2]:
Before cutting the object, the verticies are clearly visible and selectable
[3]:
Selecting the knife project tool
[4]:
Object has been cut and I checked cut through to cut both sides
[5]:
As you can see, vertices are clearly gone, but edges remain intact and are now the only way I can edit the object.
This is my first post so please forgive any formatting errors.

In edit mode, use ctrl+tab, so that you can choose/come back to vertex edition (or faces, or edges)

I didnt even know this existed, thank you so much.

FYI this corresponds to the 3 buttons which are on the right of the manipulators on the bottom bar.


text:
Sun Rotation and Texture Swapping
Hey I was looking into a bit of npr and was wondering if there was a way to swap out image textures based on the current rotation of the sun. I haven't studied blender drivers like that so if possible How would I go about doing this?

Hello, could you add a bit more information about your current setup so it's easier to find a solution ? Thanks

Hi, Rocket. By 'the sun' do you mean a Sun Lamp, somewhere in the scene? Please illustrate with, at least, a toy example

So right now i have a sun lamp and a character with a toon shader in the scene i want to swap either normal maps or base color image textures based on the sun lamps  rotation.


text:
How do you manipulate pose bones using python?
I'm trying to render different images of hand gestures using python, but for some reason, I'm unable to get the hand armature bones to move. I'm using Manuel Bastoni for the model. http://www.manuelbastioni.com/
Here's the code that I have right now:
bpy.ops.object.mode_set(mode='POSE')
for bone in bones:
    x = bone.location[0] + random.uniform(-0.2, 0.2)
    y = bone.location[1] + random.uniform(-0.2, 0.2)
    z = bone.location[2] + random.uniform(-0.2, 0.2)
    bone.location[0] = x
    bone.location[1] = y
    bone.location[2] = z
    bpy.context.scene.update()
bpy.context.scene.render.filepath = outfile_name
bpy.ops.render.render(write_still=True)

I saw that in the python console, bone.location = (x, y, z) works perfectly fine to manipulate the bones, but it's not working here.
Please let me know what I can do to manipulate the pose bones through a python script!
Thanks!

I'd avoid using ops to set the mode to Pose Mode.
Access the bones directly through the hierarchy as it is exposed through the api.
import bpy
import random

armature = bpy.context.scene.objects['Armature']

for pose_bone in armature.pose.bones:
    x = pose_bone.location[0] + random.uniform(-0.2, 0.2)
    y = pose_bone.location[1] + random.uniform(-0.2, 0.2)
    z = pose_bone.location[2] + random.uniform(-0.2, 0.2)
    pose_bone.location[0] = x
    pose_bone.location[1] = y
    pose_bone.location[2] = z

Hi, I was already accessing the bones using the following:
rig = bpy.context.scene.objects['f_ca01_skeleton'] bones = list(rig.pose.bones)
Is there any other way for me to access the armature? Thank you!


text:
How do you access and set a specific bone animation fcurve in python ? e.g. set pinky02_L z rotation = 8 degrees
I want to access the keyframes for a specific bone in animation_data.action, just so I can reset them to a default value.
My main problem is I dont know how to just access a specific bone.
The general purpose of this is to automatically reset the hand positions of bvh animation loaded onto a manuelbastionilab model. The bvh animation loads it in fine, but because there isnt really any hand data, it sets the animation to a default splayed out position. And because it assigns it to the wrong bones, it comes in with a crooked little finger. So I just want a simple python script to reset any animations I load in to a good default.
I think I should be able to get to the animation data for the keyframes with
myaction = bpy.context.active_object.animation_data.action

But I dont know what comes next, I dont know how to access the fcurves for a specific bone like a joint / bone in my little finger called pinky02_L
This seems incredibly basic but Ive spent ages googling it and failed miserably.
I suspect I might have problems with setting the data too !
I am using quaternions and so I want to access say the z rotation quaternion.
So how do I access the z rot channel, I think its some array offset for the fcurve or something ?
So once I have found the fcurve for pinky02l (pinky02lfcurve = ?), is it something like curve =  pinky02lfcurve[6] to access the z rotation channel ? Or have I got it all horribly wrong ?
keyframePoints = curve.keyframe_points
    for keyframe in keyframePoints:

And Once I have a keyframe how do I set it to a value like :
keyframe.value = math.radians(8.0)

. Is it that simple ? I bet its not!
Any answers to any parts of this would be great !
p.s. thank you to batFinger and Scott Milner for answering my question about it setting it to the wrong degrees the other day.
So from the post lemon refers too I if I am understanding it correctly if I use:
for curve in pinky02lfcurve
       if curve.data_path.endswith('rotation_quaternion')
        if curve.array_index == 2 # or is it 3 for z with quaternions ?
            keyframePoints = curve.keyframe_points
            for keyframe in keyframePoints:
                keyframe.co[1] = math.radians(8.0)

Ok so re writing to take into account batFingers post I think the following should do what I want !
myaction = bpy.context.active_object.animation_data.action
fcurves = myaction.fcurves
rot = Euler(0,0,8)
myquat = rot.to_quaternion()

pinkyb = bpy.data.objects['MyArmature'].pose.bones['pinky02_L']
dpath = pinkyb.path_from_id("rotation_quaternion")
fc = fcurves.find(dpath, index=0)
keyframePoints = fc.keyframe_points
for keyframe in keyframePoints:
    keyframe.co[1] = myquat.w

fc = fcurves.find(dpath, index=1)
keyframePoints = fc.keyframe_points
for keyframe in keyframePoints:
    keyframe.co[1] = myquat.x

fc = fcurves.find(dpath, index=2)
keyframePoints = fc.keyframe_points
for keyframe in keyframePoints:
    keyframe.co[1] = myquat.y

fc = fcurves.find(dpath, index=3)
keyframePoints = fc.keyframe_points
for keyframe in keyframePoints:
    keyframe.co[1] = myquat.z

So I hope this should be good apart from the curve control points which are still at their original positions I think. Though I also still need to work out what angle I actually want to set it too ! Thanks again batFinger and lemon.

related https://blender.stackexchange.com/questions/74773/how-to-get-xyz-coordinates-from-f-curve/74776#74776

Thanks lemon, if I am understanding it correctlyif fc.data_path.endswith(('location','rotation_euler','rotation_quaternion'

Didn't used it myself with quaternion (so you'll have to check how it is organized... 4 data rows??). But yes 'rotation_quaternion', it should be. To check that, simply print the curve names.

Just to say my last comment didnt go quite as planned, I pressed return to add a line break and arrange some code and it submitted the comment, then I deleted all the characters and submitted that and it ignored me and left the comment there !  Anyway I amended the end of my original question, though I think lemon might have replied to the comment that went wrong. So Im still hazy on the usage of data_path.endswith (is it used with curves or fcurves or are they the same thing) and Im still after a way of finding the fcurve(s) associated with pinky02_L. Thanks

Some py console code.
Below are some ways to find an fcurve for specific pose bone, and pose bone property.  In this example the context pose bone, and rotation_quaternion.
>>> ob = C.object
>>>
>>> action = ob.animation_data.action
>>> pb =  context.active_pose_bone
>>> pb.name
'Bone'

>>> # could query the pose bone  from collection via its name
>>> ob.pose.bones.get(pb.name)
bpy.data.objects['Armature'].pose.bones["Bone"]

>>> print(pb.path_from_id.__doc__)
.. method:: path_from_id(property="")

   Returns the data path from the ID to this object (string).

   :arg property: Optional property name which can be used if the path is
      to a property of this object.
   :type property: string
   :return: The path from :class:`bpy.types.bpy_struct.id_data`
      to this struct and property (when given).
   :rtype: str

# get the path from pb.id_data
>>> dp = pb.path_from_id("rotation_quaternion")
>>> dp
'pose.bones["Bone"].rotation_quaternion'

>>> # could also build this from name
>>> 'pose.bones["%s"].rotation_quaternion' % pb.name
'pose.bones["Bone"].rotation_quaternion'

>>> # use find for one offs
>>> print(action.fcurves.find.__doc__)
ActionFCurves.find(data_path, index=0)
Find an F-Curve. Note that this function performs a linear scan of all F-Curves in the action.
# find rotquot[3] aka rotquot.z
>>> fc = action.fcurves.find(dp, index=3)
>>> fc
bpy.data.actions['ArmatureAction']...FCurve

>>> fc.array_index
3
# use list comp to find them all for for each index
>>> ["%s[%d]" % (dp, fc.array_index) for fc in action.fcurves if fc.data_path == dp]
['pose.bones["Bone"].rotation_quaternion[0]', 'pose.bones["Bone"].rotation_quaternion[1]', 'pose.bones["Bone"].rotation_quaternion[2]', 'pose.bones["Bone"].rotation_quaternion[3]']

>>> # get the value from ob using dp
>>> ob.path_resolve("%s[%d]" % (dp, fc.array_index))
-0.43060973286628723
# ie ob.pose.bones["Bone"].rotation_quaternion[3] = -0.43
>>> pb.id_data.path_resolve("%s[%d]" % (dp, fc.array_index))
-0.43060973286628723

Links
Get bones associated with specific action in python
How can I tell if a bone property has a keyframe on the current frame using python?
How can I access bone's 'animation_data.action'?
On rotations, here is the quaternion for an xyz Euler rotation of degrees (8, 8, 8)
>>> rot = Euler((radians(8) for axis in "xyz"))
>>> rot.to_quaternion()
Quaternion((0.9930493831634521, 0.06456293165683746, 0.07427114993333817, 0.06456293165683746)) # wxyz

To set the defaults to above would set each keyframe.y of keyframes in fcurve  fc with array_index=3 to 0.06.. etc.

Thanks batFinger I think that sort of works, though boy is it confusing. Ill amend my orig post with what I think is working code in a bit. The one prob I still appear to have is that the curve control points are maybe still at their original positions. So despite setting all the points to the same value I dont end up with a straight line ! Getting the data path  from the pose bone and using it to find the fcurve in the action doesnt make a lot of sense to me, but it appears to work, so thank you. P.s. thanks for the tip about quaternions as Im not sure I ever did fully understand them :)


text:
How to switch directly from Sculpt mode to Object mode?
How do I make it so when I press Tab in sculpt mode I go to object mode?
I press Tab in sculpt mode and it goes to edit mode. No matter what I do Tab is a combo of edit mode and any other mode. To go to object mode from sculpt mode I have to go to the dropdown menu every time. I want to get rid of edit mode from sculpt or just make it so Tab goes between sculpt and object mode. Any help with this stupid problem would be greatly appreciated.

That is normal. I honestly would like it if there was such a function, but this is normal.

Hi Joey !! You can follow Emir`s method or you can follow this one. Just in case you find it annoying to press tab and then 4 again and again if you want to open sculpt mode then follow this one ;)
STEP 1: Edit>preferences>keymap>check the option 'tab to open pie menu' (as Emir said)

STEP 2: The quickest way to set a shortcut key in Blender is to right-click the operator(in your case the operator is sculpt mode) you want to set a shortcut for it so select 'Assign Shortcut' now press the key combination you want as a shortcut for that operator(eg. C)

NOTE: the key that you will press will be your future shortcut for sculpt mode.
You can't assign it with a shortcut like 'tab' 'ctrl' or 'shift'.I would recommend the shortcut to be one of the alphabets eg.'S'('S' for sculpt mode as it so easier to remember). Also if you move your mouse away from the 'assigned shortcut' option then it will disappear.
How do I check whether I have assigned my shortcut?
you can ensure by selecting the dropdown menu and beside sculpting mode, your desired shortcut key should be there in grey text.
REMEMBER STEP 1 MANDATORY
I hope this answer adds up to something useful and is comprehensible for you

How to reset a shortcut key in Blender?
You can reset a shortcut key in the user preferences. Go to Edit->Preferences and find the keymap section.
If a shortcut has been changed from the defaults, a restore button will appear just above the shortcut key on the right side in the user interface. Press it to restore the operator to its default hotkey.

I appreciate the responses! Two quick questions on the shortcut thing; 1) what if i press s to go into sculpt mode but then when i press tab to go to object mode, it takes me to edit mode once again?(i think my main problem is I cant get tab to be a combo back and forth of sculpt and object).  and 2) how can I see what keys arent assigned to anything so that i make sure im not overwriting something important? thank you :)

Your welcome :) joey happy to help. I know you have a few questions in mind, for the first one I have an answer that you may be interested in, but you cant press Tab to travel to object mode and back to sculpt mode, unfortunately. Shall I post another answer as an alternative for pressing tab to travel back and forth as that is not possible(I think) or are you better of without it?  ;)

sure id be happy with any solution so i dont have to keep using the dropdown lol

Ha Ha Ha  ok great!

One option that you could use is CTRL + Tab to open the pie menu and then 4 to switch to object mode

There is also an option under Edit > Preferences > Keymap... To use only Tab to open the pie menu and then you just need to press 4

If all you want is to switch objects when in sculpt mode, all you have to do is to hover your mouse over the object and press D (Blender 2.9) or Alt+Q (Blender 3.x). The new object now will be the new focus for the sculpt mode.
If you want a quick way to alternate between the two, then Ribbit12's approach is spot on.

the shortcut to "switch objects" has been changed to Alt+Q in one of the Blender 3.x versions. The shortcut works not only in Sculpt mode but also in the other modes (Edit, Vertex Paint, Texture Paint, Weight Paint, etc). The focused object lights up briefly.

Hi again! so I have a pretty simple answer in mind but I am not sure you will be satisfied by it. Now let me answer both your questions!
So, basically, you just need to repeat the same process of assigning a shortcut to an operator but in this case, you want the operator to be the object mode. I am going to carry on this answer by assuming that you have assigned a shortcut for sculpt mode (if you haven`t then please do).
1) What if i press s to go into sculpt mode but then when i press tab to go to object mode, it takes me to edit mode once again?(i think my main problem is I cant get tab to be a combo back and forth of sculpt and object).

you should have something like this**(after assigning a shortcut to object and sculpt mode)**
Now you can easily alter between both the modes by just pressing O and S or any two key combinations!!
or you can go to the dropdown right click on object mode and sculpt mode and select the 'add to quick favourites' option.

now press Q on your keypad so that the 'Quick favourites menu' can show up and both the modes should be there.

2) How can I see what keys arent assigned to anything so that i make sure I'm not overwriting something important?
There are two answers to this question. You can either go edit>preferences>keymap>3d view

or you can try experimenting by pressing various shortcuts on your keyboard and check whether the shortcuts have an operator and perform an action or not.
Hope this answer was useful!! :)

Under Blender Preference > Keymaps search for set object mode >
Change Mode to Object Mode
Just exactly what you want

You can change the Tab shortcut to toggle Object Mode. Search for Set Object Mode in Settings > Keymap to find the relevant shortcut and edit it.


text:
Rigify error: Generation has thrown the exception 'None Type' object has no attribute 'bones'
I have the same problem, but here the spine bone is set up correctly, so are all the other bones. This MetaRig is made of 2 rigs, a face rig that I did earlier, then I made a new MetaRig which I combined with the face rig correctly. Earlier I was getting the error saying spine.004 was disjoint, but I fixed that by connecting it to spine.003 using the connect button.
Any suggestions? As you can see it is set to spine.basic_spine:

Your fix for "Spine.004 is disjoint" was not exactly a fix. It just removed the error message and created further problems. It's not your fault, Rigify setups are just easily messed up with by making small changes.

parent the neck back to Spine.004
snap the neck bone to the end of the spine

If you have trouble snapping the bones together, here is how to do it:
https://youtu.be/ILDdIbAwxJM?t=490


text:
Umbrella animation, cloth penetration
I'm triyng to animate an umbrella like a folding fan, i've hooked the cloth to the rods, it follows the rods and makes good folds after the solidify and subdivision modifiers, but the cloth is penetrated by the rods. I don't know how to solve this problem.. i've tried to change some physics value but the bake always went bad.
Images:

Thats a challenge :) When comes to collision with thin collider ... try to add two extra lines (loops) from sides of each rood and weight paint to red ... probably better to share your file via https://blend-exchange.giantcowfilms.com so we can check what you already tried. And please attack your images into your Q via edit. Don't use external links. Thank you

Some general tips: the quads in the topology should be as close to squares as possible. Adding extra geometry (subdividing) helps. Adding extra simulation steps helps (the idea is that the more steps per frame, the less likely something is to have enough speed to teleport across a collision barrier and get stuck, or to collide so deeply that the bounce is very fast). This of course increases simulation time.

I have been having the same problem, and already spend some nights of the last week on this. The best solution i found was to export and import the cloth simulation as described in this link. After that i put the fabric a little bit higher so that it doesn't collide anymore.
It is the best thing i come up with, but i hope someone comes with a better solution.
How can I bake the cloth simulation into keyframed vertices or shape keyed vertices?


text:
How would you make a toon glass shader in Cycles?
I saw plenty of Eevee toon shaders (and let's be fair, Eevee is just better for toon shading), but how would you go about making a Cycles Toon Glass Shader? I tried making something that I'm linking below, but it just doesn't look as good.
I found a shader test video here that uses Cycles (you can tell from the thumbnail). The shader looks awesome.

How would you recreate the shader from the video, or do you have any solutions for Toon Glass in Cycles yourselves?

How do you know it was rendered with Cycles? The thumbnail of the video looks similar to the screenshot. Where is there a hint about Cycles?

@Blunder it says path tracing done in top left corner and the glass is noise as well. .

Ah, thanks! I've overlooked this line

Break it down into the different elements you would expect and tackle each one separately. For example, the video you provided appears to be made up of the base glass colour (volume?), the surface reflection and the “refraction” moving in the opposite direction. Those three elements could all be produced separately and then combined for the full effect. Perhaps start by defining how you expect it to look and behave and try and achieve each effect separately.


text:
How to amimate bristles vibrating on water surface?
I'm trying to recreate this kind of animation (reference video below) but I'm wondering the best way to animate the water at the bottom and the water drops. It could be, particles, fluid simulation, geometry nodes(?), or even shape keys. Focusing on that I need it to be "real".
You can see the reference in this youtube link:

https://youtu.be/mlTCZDiB_VQ

What do you think is a better way to animate this ? Some tutorial links could help a lot.
Thanks in advance.

You could create a particle system for the droplets. For the water you could use a Displace modifier with a Cloud texture controlled by an empty that moves on Z, and a vertex group to keep the displacement where you want. For the whole water give it a material with Transmission at 1, and with a Noise Texture as bump that also moves on Z:

You can create a plane that will have Collision and enable its Kill Particles option so that all these particles don't go through its surface. Under the surface you can create another particle system for the bubbles, with bigger particles:


text:
How to create an infinity mirror effect in Eevee?
I've been able to do this in cycles fairly easily with a mix of glass and mirror material, but obviously eevee has it's own challenges with reflection and glass. However, with some tweaking and using nodes, I was able to get a close approximation of mirror and glass in eevee. The issue is though that it doesn't even come close to the effect that cycles produces. Screenspace reflections and refraction is turned on. The effect is produced with a mirror and glass plane with another plain mirror plane and Suzanne sandwiched in between. Any thoughts on how this could work?
Here is a sample render in eevee:

Here is how it looks in cycles:

Node setup for the mirror film glass:

Simple node setup for the regular mirror:

I've attached the .blend


text:
How to stop feet from going through floor with movie clips?
I'm trying to get this walk cycle to work with a movie clip and it's hard to stop the feet from going through the floor. However, when I keyframe the clip to move up when the feet go through, and down when they are parallel to the floor, it has this weird hopping effect.
Here is a gif of it keyframed (sorry about the quality...this site has a 2mb image limit):

Here is what happens if I leave the z location constant

Here is a link to the .blend
https://drive.google.com/file/d/1ZUTU2ZJkQT7UCdWYh2Z8MXgfY-HB-3vU/view?usp=sharing
Here is a link to the .mov file (couldn't pack it)
https://drive.google.com/file/d/1hBfK1ik4euPLOrHYDmD_DM19IxidOQAS/view?usp=sharing

Hello, I can't see any character in the file you share

Sorry I forgot to pack all into the .blend. Here is a new link: https://drive.google.com/file/d/1ZUTU2ZJkQT7UCdWYh2Z8MXgfY-HB-3vU/view?usp=sharing

oh ok it's a movie on a plane, but the movie is not seen, you can't pack a movie, you need to share it as well

Sorry again, didn't realize you couldn't pack a movie file. I have shared the file now. Thanks

Your perspective (i.e. camera location and rotation relative to the floor) doesn't seem correct, you need to make sure that the vanishing lines match the perspective of your original movie

Even then, your character in the video is moving. It will be hard to put it in a 3D scene and move it in the 3D scene while also preserving the visual foot contact on the ground. It would work way better if you overlay it on top of the rendered scene in compositing.

For the moment the video and the 3D scene perspectives don't match. Also you move the plane with the movie which makes him slide on the floor and make his feet go under the floor. You can fix it if you keep the plane still and move down the floor:


text:
Is it possible to use different compositor settings for different layers?
I'm trying to render a second layer and every time I change something in the compositor, it makes the same changes for all layers.  Is it possible to have certain settings in the compositor for one layer and different ones for another layer?
Essentially, I am trying to get one object to have a certain colour and effect with the compositor, and the background object to have different settings in the compositor.
In this picture I have the node setup for scene 2, which is the same setup as scene 1.  If I change anything in scene 1, the exact same nodes will show in scene 2.  I want different nodes in the compositor for different scenes.

Thanks

You can use different scenes with linked objects but different settings, then pull all renders from different files into the compositor

Ok I've edited the question to be more precise.  I'm guessing different scenes then would accomplish this?

What do you mean by compositor? World material nodes? Or actual post processing nodes? Can you post your node setup? Each renderlayer can only be imported in the compositor as a single layer.

I mean compositing screen layout for post processing nodes.  The picture I've added is the node setup I don't want for scene 2.  But any time I change or delete any nodes in scene 1, it makes the same changes in scene 2.

Ok I figured it out.  I didn't select the right scenes in the Render Layers node.


text:
Trying to understand a passage in Python code
I'm a 3d artist trying to understand Python for Blender and develop a buttons plugin for the n-menu. I'm trying to understand a line in the code below, I adapted it so it shows only the interesting parts.
    import bpy

class BakeTool_Settings(bpy.types.PropertyGroup):

    profile_type_enum =[        ("EASY","Easy","",1),
                                ("EXPERT","Expert","",2)]

    profile_type : bpy.props.EnumProperty(name="PassMode",default = "EASY", items = profile_type_enum,description="Select the Pass Bake Mode")

class BakeTool_JobSettings(bpy.types.PropertyGroup):
    name : bpy.props.StringProperty()
    enabled : bpy.props.BoolProperty(default = True)
    job_settings : bpy.props.PointerProperty(type=BakeTool_Settings)

class BakeTool_Jobs(bpy.types.PropertyGroup):
    Jobs : bpy.props.CollectionProperty(type=BakeTool_JobSettings)
    index : bpy.props.IntProperty()

Job = bpy.context.scene.BakeTool_Jobs

ActiveJob = Job.Jobs[Job.index]

def register():

    bpy.utils.register_class(BakeTool_Settings)
    bpy.utils.register_class(BakeTool_JobSettings)
    bpy.utils.register_class(BakeTool_Jobs)

def unregister():
    bpy.utils.unregister_class(BakeTool_Settings)
    bpy.utils.unregister_class(BakeTool_JobSettings)
    bpy.utils.unregister_class(BakeTool_Jobs)

if __name__ == "__main__":
    register()

It's further on used to draw a panel row:
layout.prop(ActiveJob.job_settings,"profile_type", text="Setup Mode",toggle = True, icon = "LIGHT",expand=True)

The thing I wanted to know is what is the 'ActiveJob = Job.Jobs[Job.index]' poiting to? In my perception the bracketed content is a synonym of 'bpy.props.IntProperty()' but I don't understand what is it doing. Thanks!

a collection property is a list, and [] is the python syntax to access a specific item of a list by its index. I can only recommend you follow a few crash courses in python where you will learn all of that :)

Oh I see! I've done some beginer courses already, but I stumble on semantics every now and then. But in this case, I'm a little more confused because it points to a list index, but what exactly is pointing that index? An IntProperty? What is defining that IntProperty?

I think this is just a convenience property to achieve the notion of "active" job. The index points to the job that is considered active in whatever context of the addon. It is used for example in the UI List feature


text:
Trying to build my first add-on
I'm trying to build an add-on that creates buttons in the viewport depending on the selected object/rig. I'm quite new to that and I'm not a dev but I really wished to be able to do it.
I've just started the coding and already have my first headache. I'm creating a enumarator panel and wish that it appears in the viewport panel, the script runs but the enumarator isn't there. What am I doing wrong?

Any advices in how to understand coding in Blender will be greatly appreciated! So far I'm watching tutorials (including scripting for artists) and looking for info in the api reference.
Also, any advices on how to produce this custom button add-on (which sort of simulate the custom properties of an object data) will be appreciated! Cheers!

I'm not a Python user, but I don't know whether looking through the Templates > Python section in Blender's Text Editor menu helps at all? There seem to be quite a few UI examples there.

Also, look on YouTube. There are many creating Blender Python addon tutorials.

All right, I've been doing this. I just watched one and followed exactly, but with my own words. I'll update the image above. It doesn't execute because of the 'enum' prop. It says, 'p_type EnumProperty couldn't be registered'

Enum Property items should be a enumerable of at least size 3 : (identifier, display_name, description). Description can be an empty string "". see https://docs.blender.org/api/current/bpy.props.html#bpy.props.EnumProperty PropertyGroups don't support bl_idname, you can remove this line. You should unregister your classes in the reversed order from which you registered them, to avoid dependency clashes. (for cls in reversed(classes):

Wow, was that it? Thanks very much! Is there a platform where I can present sort of 'work in progress' for people's appreciation?


text:
Popup during an import as a result of an exception
Is there an example of a popup window been spawned as part of another process?
In my case I want to write an importer that will invoke a popup if an image path can not be found and allow the user to browse to another path, this path can then be used to search for the image at a different location.  When the file first cannot be found, the main addon raises an exception, I want this exception to cause the popup.
I don't know addons well, but the popup itself is not a menu option just something that is a result of another menu option not been able to complete.

Prefered way is to use Operator.report() method (Popups blocking the user interface, which is against Blender's UI paradigm): https://blender.stackexchange.com/questions/717/is-it-possible-to-print-to-the-report-window-in-the-info-view Also have look into: https://blender.stackexchange.com/questions/73286/how-to-call-a-confirmation-dialog-box/73548#73548

It is not clear how to input something to an Operator.report, and have that value be available to the whole of the blender project.

You can use a PropertyGroup: https://blender.stackexchange.com/a/57332/31447


text:
Is there a way to access a bpy.types.Operator value
I have a popup that can allow the user the set a value.  I can see that the value is getting set correctly as it reports it to the console.  However after the function that calls the Operator completes how is it possible to access values that we set inside the Operator class?
class OpenBrowser(bpy.types.Operator):
    bl_idname = "open.browser"
    bl_label = "Select Path"
    bl_options = {"REGISTER", "UNDO"}

    directory = StringProperty(subtype="DIR_PATH")
    cancel_search = BoolProperty(
        name="Cancel Search",
        description="If no further images are to be found",
        default=False,
    )

    def execute(self, context):
        display = "dirpath=" + self.directory
        print(display)
        return {'FINISHED'}

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

bpy.ops.open.browser('INVOKE_DEFAULT')

How do I access the value that was set for directory following the the completion of the last function call?

Window Manager keeps track of registered operators
Lets say we add a property to the simple operator template, and make it register - undo
class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"
    bl_options = {'REGISTER', 'UNDO'}
    xxx : bpy.props.StringProperty(default="foo")

Invoke it from the UI

Then in python console use WindowManager.operator_properties_last
>>> op = C.window_manager.operator_properties_last("object.simple_operator")
>>> op.xxx
'ggggg'

There is a also a collection of operators used in WindowManager.operators  If the operator has register undo we can find the value used, for example having invoked bpy.ops.object.duplicate_move() in the UI
>>> C.window_manager.operators['
                                MESH_OT_snap_faces']
                                OBJECT_OT_duplicate_move']
                                OBJECT_OT_editmode_toggle']
                                TEXT_OT_run_script']
                                VIEW3D_OT_select']
                                VIEW3D_OT_select']
>>> op = C.window_manager.operators['OBJECT_OT_duplicate_move']
>>> # how much did it move
>>> op.macros['
               OBJECT_OT_duplicate']
               TRANSFORM_OT_translate']
>>> op.macros['TRANSFORM_OT_translate'].properties['value'].to_list()
[0.7582358121871948, 1.8491952419281006, 0.10750504583120346]

The collection is keyed using the idname
>>> bpy.ops.object.duplicate_move.idname()
'OBJECT_OT_duplicate_move'

Note that the value of properties here will be the as used only if the operator has 'UNDO' option, otherwise it will return the default value of the property.
Note the template class name is SimpleOperator but really should be OBJECT_OT_simple_operator to match its id name "object.simple_operator" as per the naming convention
From https://blender.stackexchange.com/a/159444/15543

Best I can think of is:
Register new property:
bpy.types.Scene.directory = bpy.props.StringProperty()

and copy contents of Your self.directory to this property while executing (in execute method):
context.scene.directory = self.directory


text:
Parent a shader node
It there an example of setting the parent of one shaderNode with another?
Here I am trying to make the Bsdf Principled Node  the parent of the Material Output node.
    mat = bpy.data.materials.new(mat_name)
    mat.use_nodes = True
    nodes = mat.node_tree.nodes
    m = nodes['Material Output']
    d = nodes.new('ShaderNodeBsdfPrincipled')
    mat.node_tree.links.new(d.outputs['BSDF'], m.inputs['Surface'])

    d = nodes['Principled BSDF']

    m.parent = d

When I check the value of m.parent before the assignment and after the assignment the value returned on None
I would have thought that the parenting and child process of Node should be intrinsically built into blender and if something has an output that comes from an input the parent/child relationship. I suspect blender only fills that in when you edit it through the GUI and not via python.

The parent property just reflects whether the node is parented to a backdrop aka Frame node within the node editor, in fact there is no parent-child relationship. If you want to manipulate a shader via python have a look into: Control Cycles material nodes and material properties in Python

OK maybe I misunderstand how some one else is using parents in an addon


text:
Inverse Kinematics, spins wildly
I am trying to make an inverse Kinematics between the leg IK.L and the lower leg.L, thsi also has to have a pole target of Knee.L

The problem is as soon as I move the leg IK.L part the rest of the leg starts spinning uncontrollably, and even if I try to move it back to the starting position it just continues to spin

I really need help on this as an hour long tedious search has turned up nothing relating to my problem, these are the settings for the IK.

Have you followed the rigging tutorial from BlenderGuru? I believe he covers this issue. Warning: it's an hour and a half of video. I think your issue is covered in the 3rd video. http://www.blenderguru.com/videos/introduction-to-rigging/

You have to unparent the IK bone from the rest of the rig. Once you have the bone selected in edit mode go to the armature settings and at the top of that menu there's the parent options choose 'clear parent'. That should fix it.

Before you enable ik have a driver that bends the bone like how you want this should help. Also set the chain length to 2 and play around with the pole angle.


text:
Bpy blender 3.1 geometry nodes set property in python

I'm trying to set "Rotation", I can set a keyframe, but want to set it to (1,1,1) as a vector, but I cannot do it.
The keyframe insert works:
bpy.data.node_groups['Geometry Nodes'].keyframe_insert(data_path='nodes["Instance on Points"].inputs[5].default_value', frame=2 )

but that's it

nvm, Zanqdo on Blenderchat told me to copy full data path and that would be where i set the value.

If you want to just set the value without adding a keyframe
bpy.data.node_groups['Geometry Nodes'].node_group.nodes["Instance on Points"].inputs[5].default_value = ROTATION

replacing ROTATION with a 3-tuple of (x, y, z) rotation values would work.

that's the full data path, yes.

but note that the above code only works if you don't change the name of the modifier or the name of the instance on points node; and will stop working if the devs reorganize the inputs to the instance on points node.  the bpy api for accessing nodes is very fragile.


text:
How to change euler to Quaternion?
I found out my problem. I didn't change XYZ Euler to Quaternion.

It is easy to do it when you use Rigify to rig your character.
However, I use "Auto-Rig Pro" to rig my character.

I don't know there is any way to fix my problem.

You can open your file with Blender 2.91 and use the Rigify Quat/Euler converter, which works on any rig, and I hope it will be reintegrated in newer Blender version also (I discovered yesterday that it was missing from 2.93 and 2.92).
Be careful because ARPro can go crazy when edited (it doesn't allow visual keyframing, constraints on control bones, baking of animations and others advanced stuff).

Thank you very much!!!

You're welcome, please mark the answer as accepted if useful.

"Be careful because ARPro can go crazy when edited (it doesn't allow visual keyframing, constraints on control bones, baking of animations and others advanced stuff)."
Not sure what you are talking about? Works great here...

Probably it got fixed. Back in 2021 it had thoose kind of problems.


text:
cloth simulation stuck in between two objects
Here is a monkey chef character I made.
This is his elbow.

I model the basic body then add some extra fur on his elbow.

Everything was fine when I finish the animation.
I try to add the cloth simulation to him.
The sleeve's cloth stuck between the body and fur.

This issue will kill me.

A cloth simulation with animated characters is very challenging. Do you need this level of realism in your animation? A simpler approach is to run the cloth sim for the posed but not animated character. This way you get the wrinkles and nice appearance of the cloth. Then duplicate the cloth and apply the cloth modifier. Finally, rig the cloth with the character and you can animate it. If needed you can add corrective shapekeys, adjust weights or add helper bones for better deformation.

Are you simulating the entire shirt or just the sleeves? If it's just the sleeves then it might be easier to archieve whatever you want, but still difficult though because there are many ways it could go wrong during the simulation as you've probably experienced.


text:
How to add 2d styled brush effect to 3d model?

This is a 3d rock model, I compost it with a 2d background.

I want to ask is there any way to add some 2d styled brush texture to this rock? Not too much, just a little bit to make the rock fit the background.

What do you mean by "2d styled brush texture"? Something like a toon shader for the rock so the style of the rock matches the background?

like oil painting


text:
About UV unwrapping
After unwrapping and adding a checker texture, I get this issue. The retopology if the face is dense but the UVs seem like they are stretching. Whereas the retopology on the body is not very dense quite low. This is how it looks like in the uv editor:
poly still the body has a good UV and no stretch. Why is this happening?

I think you need more - or more efficiently - placed seams. The stretch is because the head is occupying a smaller amount of UV real estate than the rest of the model. Place seams in such a way that Blender can unwrap with less stretching. That means more seams in most cases.

Okay didn't know that, I'll try it


text:
Gradient Fill not working in Grease Pencil in 2.83 update
I just updated to 2.83 and got very confused when all the gradient fills in my Grease Pencil drawing were gone I opened my blender model, it just showed a flat fill of the primary color. I tried to recolor them but found out that no matter how much I tweaked all the settings on the gradient options I was not getting gradients between the primary and secondary color.
Is there something I am missing? I am new to Blender and started the drawing in 2.82a. When I opened 2.83 I opted for the 2.83 preference when it prompted if would like to retain 2.82 version or not.
Is it something that setting that needs to be turned on to display gradients? I tried going to Draw, Edit, Object, Sculpt modes and all showed me the same no gradient fill.
Anyone has any pointer I could try? Very frustrated and lost.
Current Setup In 2.83

Previous Result In 2.82a

Trying With Another Color

There isn't a gradient being applied between the blue and yellow colors.

were you using an addon?

Hi susu, nope no addons. Just the regular gradient fill. I've attached an image if that helps.

Switch to Vieport Shading Mode


text:
Why I can't paste a mirrored version on certain axis?
I am new to blender and started creating a character of an online template some time ago. I am currently on the animating phase and I am making a walk action. I was following an online tutorial [Video]. I was going to paste the mirrored copied key frames but I could only paste it mirrored on the x-axis, and not on the y-axis which is what I need.

change everything to be symetric on the x axis since that is the standard. I really dont know if there is a different solution

so I just rotate the entire figure?

yes you do. But keep in mind you have to do it in editmode

Can you make it a post so I can mark it as done.

To use the Mirror Copy, your model needs to be symetric along the X-axis. To achieve that you have to rotate your model and your armature in Edit Mode and possibly change your Mirror Modifier on your model to mirror along the X axis.


text:
How to make tracker on footage A pan footage B's XY position?
If I track the same point on two footages, or just one, can I either: 1. use that tracker to parent to an X-Y transform node of a video or image in the compositor? or 2. make the same tracker on two different videos follow on top of each other? I'm trying to mimic footage A's active camera motion to a relatively static footage B without using a 3d camera if possible, obviously if footage B were a single image on a plane I know it would be easy to use a 3d camera how this guy does it (https://www.youtube.com/watch?v=Wf6fQSI-WVk) but I'm not sure if it would even be possible do do that with footage, so if it can be done at all or inside the node editor even, that would be great to know!
tl;dr I want to make tracker on footage A be responsible for panning+position of footage B.


text:
EMF - Radiation Pattern
how to render a radiation pattern like following with blender?

Here a short video:
https://www.dropbox.com/s/rzdsl56rnbgjpzf/iFlexio_StaticImage_VFX_Test_1.mov?dl=0
Thanks for your support.
LS

There are too many ways of doing this, but probably the best solution is to do it in the compositor.

@cegaton It is a movie file... so he'd need to turn it into a gif. That is not trivial.

Hi guys, anyone who could provide a template to work with?


text:
Change item list of Search Popup at runtime
I created a search popup panel with a enum-property which holds a list of colors. The list gets populated with the "fill_item_list()" function and that works quite well. The problem is that this list only gets updated once in the beginning. Is there a way to make it update again e.g. in the invoke-function?
Here is the class:
class MYCAT_OT_search_popup(bpy.types.Operator):
bl_idname = "object.search_popup"
bl_label = "Color Search"
bl_property = "my_enum"

my_enum: bpy.props.EnumProperty(items = fill_item_list(), name='New Name', default=None)

def execute(self, context):
    context.scene.PM_MatProp.color_enum = self.my_enum
    return {'FINISHED'}

def invoke(self, context, event):
    wm = context.window_manager
    wm.invoke_search_popup(self)
    return {'FINISHED'}

class ColorButton_Operator(bpy.types.Operator):

    bl_idname = 'opr.color_button_operator'
    bl_label = 'Color Button'

    def execute(self, context):
        params = (
            context.scene.my_enum
        )

        return {'FINISHED'}

Thanks in advance.

fill_item_list() will asign the result of the function to items, which is valid but will yield a static list.
You can't update a static enum item list once it has been setup at register.
If you want a dynamic item list, you must assign the function, not the result of the function. eg items = fill_item_list where fill_item_list takes two inputs : self, and context, which are automatically provided when the items are feteched when the enum field is displayed.
So that would look like that
def fill_item_list(self, context):
    if context.my_condition:
        fill_item_list.items = ("item1",) * 3
    else:
        fill_item_list.items = ("item2",) * 3
    return fill_item_list.items
fill_item_list.items = []

and in your operator
my_enum: bpy.props.EnumProperty(items=fill_item_list, name='New Name', default=None)
You do not have to use the default parameters. Using a lambda expression you can keep your function as is.
def fill_item_list():
    if my_condition:
        fill_item_list.items = ("item1",) * 3
    else:
        fill_item_list.items = ("item2",) * 3
    return fill_item_list.items
fill_item_list.items = []

and then
my_enum: bpy.props.EnumProperty(items=lambda self, context: fill_item_list(), name='New Name', default=None)
More information in the docs :
https://docs.blender.org/api/current/bpy.props.html#bpy.props.EnumProperty
Also be aware of the dynamic enum items bug
Is there a workaround for the known bug in dynamic EnumProperty?

Thank you very much, Gorgious. I didn't know that just the brackets would make the list static. That seemed to work and updates the list during runtime. However now I have the problem that some entries are displayed as cryptic signs for names that have "umlaute" or special signs in it. Also it crashes Blender when I type something in the search field. Maybe a text encrypting/encoding issue or something. But thanks for the help so far!

Glad it helped ! Please refer to the last link in my answer and the warning in the documentation :) dynamic enum items must be stored in a permanent variable.

@Braindrain85 I've updated the answer accordingly


text:
Arrange nodes with python
I am trying to get my dynamically created material nodes aligned per script.
Since the "Node Arrange"- Addon does a good job at aligning nodes I would like to use that. I have managed to get it activated with
addon_utils.enable("node_arrange")

But I don't know how to go from there. I just want to execute the "Arrange all nodes"-button from the addon, but I don't know how to do it without getting any errors.
When executing bpy.ops.node.button() I get an error:

'SpaceView3D' object has no attribute 'node_tree'

Any advice?

https://github.com/JuhaW/NodeArrange/issues/10

Hey JuhaW. That unfortunately doesn't do anything for me.


text:
Looping Animations with Curve Modifier
I'm using the curve modifier to animate objects along a path. I know that there are other modifiers that do this but I am specifically using the curve modifier because I want the geometry to morph as it moves along.
I'm struggling to find a way to loop these animations along a bezier curve that is looping (cyclic flag enabled in the bezier panel). What I noticed is that the animation speeds up at the beginning and slows down at the end. Also, there is no obvious way to match up the beginning and the end of the loop. Is the distance the object has to move along one axis related to the length of the curve?
I've attached a gif of the behavior I'm seeing.

Thanks in advance for any tips or other paths to take.

Quite likely related re the slow / fast / slow nature of your animation. Can you provide a sample file?

@batFINGER just added it to the post. note that i just added keyframes for location. and didn't change the animation curve at all.

This looks like an issue with keyframe registration handles / extrapolation.  By default, Blender uses Bezier handles with constant extrapolation to ease in and out of animations.  This is usually what you want.  But not for simple loops like this.
There are two solutions.  One is to change the handles.  Switch to the graph editor, move to your initial frame, ctrl-k select all this frame, jump to final frame, ctrl-k select all this frame.  'v' change handles -> vector.
Alternatively, change the extrapolation mode.  Switch to the graph editor, select your channel (probably X location here), shift-e extrapolation mode -> linear.
As for finding the exact start of the curve, there are a number of plugins that can give you curve length, including the popular Animation Nodes plugin.  This curve length could then be used as the translation of the object.  But at this speed, it should be safe to eyeball it.  What I would do is plop a cursor on one corner of the object on the initial frame, just as a visual marker, and without changing my view, jump to the final frame.  Then I would advance my object along the proper axis until the appropriate corner was located at my cursor.

Thanks++ @Nathan, changing the extrapolation mode did the trick. Will check out Animation Nodes.

I ended up using this script to calculate the length: https://gist.github.com/zeffii/3449664

make the first keyframe and the last free handle type to free (press v), then in the n panel set the handle y to the same value, also need to make sure the  x locations of the handles are the same distance from their keyframe for both the first and last keyframe too (handles are the same length).


text:
Mesh displacement and normal map artifacts in Eevee
In my project, I'm using Geometry Nodes to displace a mesh and then, in a shader, adding additional texture via a combo of Noise Texture, various mapping nodes and then Bump.
I'm seeing all sorts of unusual artifacts in the material. I'm guessing it's because the tangents are not recalculated after the geometry displacement ... or perhaps it's using the original normals.
Here's a picture of what's going on and a (simplified) project file is attached as well.

Is there a way to make this look better?
TY!

(Blender 3.6+)

The main issue is the strength of the bump.  You are starting with a bump ranging from 0  to 5.0 (object space blender units, obj space meters; this combination of inputs and distance is appropriate maybe for asteroids in 1:1 scale, not for your 2m square); you are then interpolating the normal away from the base normal ten-fold with your strength.  This is probably interacting with some bugs, already reported, regarding the use of custom normals, but you're already way out of reasonable values for your bump.  (Bump does not depend on any kind of tangent, and it's not using pre-GN normals.)

Thank you @Nathan. I wasn't thinking that these were object space units, so it makes perfect sense that the values in my shader were outside of a reasonable range. In my mind, I'm picturing that I'm trying to display Pinocchio's nose on a surface using normal mapping.