text:
trouble learning to model in 2.8
I have been watching YouTube videos for 2.8 modeling and they are helpful but they are quick and assume I know stuff I don’t.  I can’t fine some of the menus etc. they quickly access, and I can’t fond the tools the access there.  I need documentation, the lists the menus and how to access them, and the tools they contain and what they do, and how to use them.  It has to be for 2.8 because so much has changed -for example, tracing images are now drag and drop.  I have a very old “For Dummies” book.  I downloaded the “Manual” but that is harder to follow than the program it is supposed to explain.  I am only doing modeling to make 3D stuff to export as .stl files to use with my CarveWright CNC.  I don’t need animation or staging.

In case you have not seen them I would suggest Blender's own tutorials https://www.youtube.com/playlist?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6 and also Grant Abbitt may be a good place for modelling http://gabbitt.co.uk/2.8-beginners-course-1.html This forum is super helpful if you get stuck. Good luck

Agree with above .. also, Flipped Normals have started making Blender tutorials

Videos are helpful, but if I get to a point when I need to know how to do a particular thing; I want to be able to go quickly to some reference then back to do it.  If I do it right away, I have a better chance of remembering how next time.  I am 81 and my brain gets full fast. (I started working with computer stuff in 1969 at the beginning of computerized phone switching.)


text:
Can not select faces or edges in 2.8
Trying to learn blender using 2.8.  Using the book Blender Quick Start Guide.  Stopped at the start because I can't select faces or edges, only vertices. How do I make it select faces?

In edit mode, press 1 2 3 on your keyboard (not numpad)  can switch between vertex, edge, face select mode.

Thank you - what I was looking for!

There are icons to the right of the Edit Mode option box.
You can also use the hot keys 1 for vertices, 2 for edges and 3 for faces.
Next time don't give up so quickly

In my case, the solution is to turn off the toggle X-Ray (Alt + Z ). In X-Ray Mode, one sees through the faces, thus cannot select them.

source: Stack Exchange

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

sort: votes


text:
Curving a bevel? How to creature a unique radius on a T-junction?
first time posting here since trying to figure this out on my own, and googling it has yet to give me a satisfactory answer.
I'm am trying to get more into hard surface modeling, so I thought I give myself a challenge, I probably bit off more then I chew at this moment.

I am trying to create a bevel to fit around this unorthodox t-junction between a cylinder and a cube. I've tried regular beveling but it isn't quite giving me the results I want.
I'm more or less attempting to create a beautiful bevel similar if not exactly like this one in a video showcasing MESHMAchines Offset cut (The plugin I have purchased, it is really a brilliant plugin, still much to learn with its complexity)

So any recommendations on how I should approach this to figure out a solution to this puzzling bevel question?
Regards,

You could begin by a boolean, then work a bit with the knife to make sure that you only have quads, then bevel the welding, then the rest of the object, and bring some corrections to keep quads again:

An approach using Bridge Edge Loops.. this may or may not be the style of fillet you're looking for, but the tool gives a lot of flexibility.

.. arrange isolating face rings either side of the junction, looping all the way round on the cuboid, and 'tied off' at the corners on the cylinder.

.. delete the isolating rings, and bevel the convex edges of the cuboid, Segments 2, (this example has set Profile 1, and added holding edges at the top and bottom of the cylinder).
This restores the match of vertex-counts on both sides of the gap, as if the cuboid had been a straight extrusion from the cylinder, so you can..

.. Bridge Edge Loops, (Blend Surfaces),  with a couple of cuts, adjusting Profile and Smoothness to the desired result..

.. and it will Catmull-Clark subdivide smoothly.

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


text:
Glowing lines via nodes
How do I add glowing lines on a cube or anything that have vertices on Blender 2.8? I'm a beginner so I thought adding material should work. There is another thread where it explains that but I cannot make only the vertices glow. Also it would be great if I could make the lines a bit thicker. I'm trying to make a on/off button which has glowing lines around.
Thanks!

You can use Pointiness from the Input Geometry Node
But as you can see here from these wire-frames the geometry plays a big part.

Using a Mix Shader with a BSDF Shader and an Emission Shader and controlling the effect with a Color Ramp

Of course, you could remove all the extra geometry that does not affect the effect.

For better/other results then pointiness node you can do it with bevel node minus normals setup:

Material Setup:

Compositor Setup:


text:
In Blender 2.8 can I render an image in SVG format?
I need to render an image in SVG format and I don't see the option any where but I know you can do this in 2.79 using freestyle or addons. How do you do this in 2.8?

SVG is a vector format and Blender creates bitmap images. They're very different, so I would think not.

You can use Freestyle in Blender 2.8 just like in 2.79. The svg export for freestyle has to be activated in the preferences (Edit > Preferences > Add-ons).


text:
Python - Render object with transparent background
I want to render an object with transparent background with blender-python script, but I don't know how to get the transparent background.
My script is:
context = bpy.context
bpy.ops.import_scene.obj(filepath=file_loc)
scene = bpy.context.scene
scene.render.filepath = 'my_render.png'
bpy.ops.render.render("EXEC_DEFAULT", write_still=True)

Thanks

You need to enable the Transparent option that you would normally activate in the Film panel which can be found in the Render tab, if you where using the GUI.
bpy.context.scene.render.film_transparent = True

You can also access the parameter using the scene name (case sensitive) :
bpy.data.scenes["Scene"].render.film_transparent = True

Also make sure that the file format stores the alpha channel.
bpy.context.scene.render.image_settings.color_mode = 'RGBA'


text:
Different Smooth Shading in Edit vs. Object Mode
I've modeled this phone and wondered why the shading looks right in edit mode and wrong in object/rendered Mode. (Top ist Object Mode/Bottom is Edit Mode).
I'm using eevee and the Boolean Modifiers won't change anything on applying them.

Welcome to Blender Stack Exchange Simon! Edit mode does change a few things, like disabling certain modifiers. A quick way to see if it's a mesh or setting issue is to make a new mesh object (can be anything) then in the Object Data tab of the new mesh go to the top and in the little menu at the top choose your phone mesh data. This will make the new object have the same mesh, but without any modifiers or settings that edit mode might be changing or disabling. If the problem still exists, we know it's not a setting or modifier issue.

Are you sure you are changing settings based on the appearance in Render mode and not Look-Dev mode? Look-Dev mode has fixed lighting settings that are not realistic in order to save memory while previewing. It ignores all of your lights. Those viewport modes are the square buttons in the top-right of the Blender 2.8 viewport and are (in order) Xray, Wireframe, Solid, Look-Dev, Render

@Brenticus shouldn't this be an answer rather than comment?

@hatinacat2000 shouldn't this be an answer rather than comment?

Not necessarily. What I wrote was more of a guess that could be looked into. After looking at your image closer, it's definitely something to do with a modifier. I'll try and give a proper answer when I have a chance.


text:
Why be formed face to split when apply the Solidify modifier?
I'll make the modeling by two axis Mirror modifier. But, when, apply Solidify modifier, Its has be formed face split at meeting point vertex of the Mirror modifier.
Show you next pictures:
 - When apply the modifier not yet:

When apply the modifier:

Q. How to remove the faces?

blender_2.81

Hello :). Just disable the Mirror modifier and delete the face in the middle.

@JachymMichal There isn't another ways for automation?

Hello :). Well, if you apply your Mirror modifier first, no inner face will be created.

@JachymMichal But, It's still do not remove the faces although apply the modifier.

Of course. You need to apply the Mirror modifier before the Solidify modifier :). That way, no inner faces are even created.

@JachymMichal Thank you I solved that.

You need to enable the "Clipping" option in the mirror modifier. If you don't, the two halves of the model are treated as if they're disconnected at the seam in the middle.

Hello :). Clipping only merges the center vertices, but the face stays - try it for yourself.

@JachymMichal Thank you for your answer. But, I wanna remove the faces with separated. Clipping is not removed the faces.


text:
Why does the mesh look complicated when I import the SVG file?
I think there is some conversion error when importing SVG into blender. As you can see in the picture, the mesh is complex, so I think, it's hard to make a material. is there a way to remove the dirty mesh inside the shape?

could you please share the original svg file? Yes it often doesn't give good result when you convert from curve to mesh, you need to make some corrections afterward if you want something cleaner

https://blender.stackexchange.com/questions/66738/after-importing-svg-mesh-from-curve-creates-annoying-results/66742#66742

If you have created svg file in Inkscape, you may need to covert strokes to paths beforehand. Blender doesn't recognise strokes in Inkscape.

@RitaGeraghty I don't use inkcape, I use Affinity Designer. However, Adobe Illustrator is the same result.

@moonboots Can I upload the file here? I didn't see the ability to upload files.

copy paste the address of this page then upload here: blend-exchange.giantcowfilms.com

@moonboots Thank you for your kind.

@DuarteFarrajotaRamos As a beginner, it's a little difficult for me. I solved this problem by using the shortcut "F". However, there was another problem. If you don't mind, I hope you can help me through the link below. https://blender.stackexchange.com/questions/151357/why-is-the-thickness-of-the-object-bent


text:
Exporting Blender smoke simulation
I'm new to the Blender world. I've created a simple smoke simulation that I'd like to export and import into Keyshot. Is it possible to export the animated smoke as an alembic file?  Under Smoke Domain, I have "baked all dynamics". But when I export the .abc file Keyshot says it's empty and file size is tiny.
What am I doing wrong.
Thanks in advance.
Wayne


text:
How to fake reflective caustics in Cycles?
I have learned how to fake refractive caustics, but I still want to know how to fake reflective ones. Like the ones in the picture. Is it the Light Path node?

I hope someone has an answer to this.

There is no out-of-the box fake.
2 possibilities.
Paint them in any drawing app.
Bake them, so you only need to calculate them once and use them for as many frames as you like.

Cycles does render caustics. But since the light is traced from the camera to the lights the probability that caustics are rendered is very low.
When they are rendered most people call them fireflies or noise.
That's why the Filter Glossy in the Caustics tab is set to 1 most of the time.
When you set it to a low value (or even zero) you will see the noisy caustics.
To fix the noise you now have the option to:

Use an extreme high number of samples
Turn up Filter Glossy
Turn on denoising in the Layers context

So Cycles is capable of rendering caustics but they will always be very noisy.

Edit: the example above is rendered with 10000 samples, 0.5 Filter Glossy and 2px denoising.
Edit 2: It also can help to set the clamping of the direct and indirect light. This will reduce the noise of caustics but also make them less bright.

This example uses a different IOR but you can see by setting clamping of the light fireflies are less visible.


text:
How do I display the Stereo Interlace effect in the viewport
when enabling stereocopy，  it displays red and blue images， but I want it to display interlace real time.   how do I  get it to display the effect I want? I need to have the thing playing real time，then I can wear my 3D glasses to watch it.

Have you tested that your graphics card and monitor can properly display interlaced 3D? According to the docs setting the Stereo Mode to Interlace should work https://docs.blender.org/manual/en/latest/render/output/multiview/usage.html

Not yet，but I think it won't work，since the red and blue color is still there.

I figured it out，I need to click the top left "window" menu "set stereo system 3D" instead of the stereoscopy in the "output", it's working now


text:
Joining two parts of a mesh
I have a mesh of a ring-like topology. Due to technical reasons, there is a cut in the ring, like at the top in the following picture. right and left side of the cut are not connected here; moving the edges would leave a gap in the ring. I want to remove this cut, such that the top part of the ring will be connected just like the bottom part. How can I do this?

Some more context: The cut is there because I'm importing my geometry from a .dxf file. In a next step, I extrude the mesh (and perform further manipulations), but I assume that it's easiest to remove the cut beforehand, which is why I'm asking about the planar case. The cut matters because I will render using a Grease Pencil with a Line Art modifier, which of course strokes the edges of the cut. That's what I need to avoid.
Here's an example file containing the geometry depicted above.

Make a plane.

Inset the face inwards ( I )

Delete the middle face ( X  ->  F )

In Blender mesh objects cannot have faces with holes in them. At least 1 edge needs to be connected to the hole, however in this particular case automatic triangulation of the resulting polygon that happens in order to display the geometry fails that you can see if you merge the vertices by distance:

So you need to have more geometry. The most logical geometry would avoid having concave n-gons that have problems with various algorithms in Blender(like triangulation or subdivision):

As long as you keep their vertices connected, you still have the option to only draw GP on the silhouette or contour of the object which you seem to do in your attached file anyway:

If you want to fix some geometry that you import from elsewhere, there is no real single workflow for everything. The solution is fixing it using modelling tools and techniques appropriate for each situation.
In the case of geometry in your shared file you can join some vertices with Connect Vertex Path(Vertex menu or  J ):

Then merge vertices by distance( M  ->  B ) to merge the ones you have at the connection. It's OK to do that with all geometry selected( A  to select all), and then dissolve the edge( Ctrl  +  X )(that's probably optional, nothing would happen if you left it, it's just not needed):

But you may encounter other types of situations and should probably get yourself familiar with at least basic modelling functionality. In this case, I would imagine most useful functions would probably be these:

Auto Merge functionality might be useful:

Understanding how transforms ( G ,  R ,  S ), transform orientations, transform pivot point and snapping works would be useful. Holding  Ctrl   down temporarily enables snapping while in transform operations.

This is just so you can manipulate the topology comfortably to get it to match the patterns you want(like making holes where they need to be and so that right parts are connected, maybe cleaning it up a bit if needed)

The final result is what I want (the extra edges are no problem), but I need to get there from what I have now. (My true geometry is much more complex and I don't want to re-draw it from scratch instead of just importing the pre-existing .dxf.) How can I do that?

I'll attempt to update the answer best I can.

Perfect, thanks a lot for the detailed answer!


text:
I can't find the Create [Insert Shape Name] button in Blender 2.9
So I'm trying to create a hexagon in blender by changing the amount of vertices to 6. I've looked at some Youtube tutorials and they all had a "Create circle" button and I can't find one on my end. I selected the circle and I can't find it.

you see it if you just created the circle in the lower left corner. If you did any action in between - it's gone.  Depending on the action you may be able to get it back by typing F9.

The "button" is called the "Last Operator Adjust panel" in the blender literature. It is also sometimes called the "Redo" panel. It shows up in the lower left corner of the 3D Viewport whenever you execute an operation in Blender.  If you click on it, after adding a circle, it opens to this menu:

If you happen to click away from the object you've created; the button/panel will disappear.  However until you do something else you can get it back by typing F9  (That's the F9 function key.)


text:
How to change method of selection back to box/rectangle
I think I may have pressed some wrong button but minutes ago I used to be able to drag my cursor around and it would create a box for me to select vertices in edit mode. Now when I press down my mouse, it only selects the vertices my cursor passes through. I miss the box/rectangle selection option so how can I convert it back?

Press and hold down on the Select Style for the menu:

Keep pressing W to toggle between the various selection methods. The icon will change each time you press it.


text:
How to make this motion graphics effect using geometry nodes?
I have tried to recreate an effect similar to this one (in the 3:30 minute) https://www.youtube.com/watch?v=iqMVl2F1d4A using blender's geometry nodes.
The basic shape is an extruded circle mesh with the geometry nodes modifier.

The idea was to animate the circle using some texture and bind this to the frame value. Other circles are just a repetitions of the same geometry and texture but offseted by a few frames. It basically works, but the problem comes when i want to add more circles - the node tree is just getting huge. Can anyone help to make it more efficient?

I got this effect by displacing an array of circle meshes by a 3D noise texture and animating the Z position on the texture.
This is my Geometry Nodes tree :

This is the Material Shader :

This is the result :

Thanks. It's a very nice result. I tried to do it with a Mesh Line node to get more circles but I never moved a noise texture i the Z position.

You can make a stack of lines using instances on points and then use realize instances to convert them back into lines:

In this case, all points from different circles will be in one set. So to get line index you need to do a simple math: divide point ID by count of the vertexes in row:

I'm using Scene time, it's 3.1 node. In 3.0 use driver as you used to use.

Scaling instances by it's ID is very helpful with animations. The final result is what I asked for but sometimes the lines take some strange shapes from the top view. Adding Combine XYZ node after the Scale node (and set Z value to 0 to ignore the Z axis movement) solves the problem.


text:
How to strengthen the Tension of part of clothing
I will cover the fabric on a curved frame. However, problems arise where the tension of the fabric is not sufficiently implemented, such as:

To be exact, I want the fabric not to lean inside the frame and the fabric would stretch out.(like a sky-blue marked)

To implement what I want, I have to partially strengthen the sewing tension of the fabric. However, although I tried many ways, including overlapping edges to a verties, was not able to strengthen tension in part.

Q. Tell me how to strengthen the tension of the clothing in part.


text:
How to pin cloth object to another object

I'm trying to pin a cloth object to another object.

I tried to fix it through the Vertex group. However, because the two objects are dissimilar objects,  cannot try to pin them together into the same vertex group.
Also, tried to fix the object using the sewing function, but the cloth object subdivision was done through the modifier, so it is difficult to cover the curve of the fixed target object.
And, I'll fix the cloth to the object and add another frame bottom of the frame.


text:
How to naturally connect objects of different shapes
I want to connect objects of different shapes naturally. The part I'm going to connect to is the edge that has an empty face.
Edge bridge does not apply because it has different shapes.

Grid Fill would fit your needs, however, it requires to have somewhat even number of edges on each side so you'll need to subdivide the simpler side https://docs.blender.org/manual/en/latest/modeling/meshes/editing/faces.html#grid-fill

Here is a way using Grid Fill.
UPDATE: check out the "Bridge Edge Loop" option proposed by @RayMairlot in the comments. It may be best suited to your need.
ref: https://docs.blender.org/manual/en/latest/modeling/meshes/editing/faces.html#grid-fill

Subdivide the side to match the number of vertices on the other side
Create supporting Edges
Select edges on both sides
Grid fill
repeat for the other sides.

After subdividing you can just select the loop of vertices on the cube and the loop on the cylinder and choose 'Bridge Edge Loops' from the Edge menu. Increase the number of cuts for a a smoother result.

Thanks @RayMairlot  I must say I don't like the end result so much with a weird bumpy profile that sticks out so using Bridge Edge loop might be a better option, specially when a Subdiv Modifier  is used on the object.

Thank you for your kind answer. I have one question for you. After connecting the edges of the two objects, the cube cannot apply the loop cut to faces of the entire cube. More specifically, only one side, not the whole side, applies the loop cut. Is there any way to solve this?

I noticed that too... this is due to the imbalance in vertices creating weird topology on the cube. I think the only way to fix it is to subdivide the entire cube instead of just the connecting edgeloop.


text:
The Bevel is not normally applied to a specific edge of the connected edge with Subdivision surface
Some problems arise with the application of the Subdivision Surface modifier when trying to create the following model:

If you look closely at the picture, the bevel did not apply properly on only one edge.

I also put a set value in the Crease for the edge. However, the edge is described as strange as follows.

Q.Is there a way to make the edge look like any other beveled edge?

This happens because there are two large n-gons, and the Subdivision Modifier doesn't like it.
Just cut them into quads, and everything will be fine.
Connect vertices to make quads.
Vertex > Connect Vertex Path
Shortcut: J

Compared results:

But why not connect all vertices of n-gons?

@bakuiseok Look carefully at the gif. I connected vertices so they form quads. There's no need to connect more of them, it would just form triangles :).


text:
Cryptomatte has gaps between them
So when i composited my render, i noticed my cryptomatte somehow have some gaps that cause glitches

the soldier and the wood has noticeable gaps
and after i checked the cryptomatte data, it does have some gaps

Is depth of field turned on?

Aha, it looks like the motion blur’s causing the trouble. Hmm, don’t know much about cryptomatte myself, but I prefer view layers.


text:
How do you texture a large objects without the texure being blurry?
Whenever I add a texture in my large object (a large and long platform), the texture, when viewed close, is blurry. The only thing I can do is use a very large texture. Is there any other way?

Hello :). The bluriness is to prevent low-res textures from looking pixelated. Do you want the texture visibly pixelated? It will make it sharp.

You can use repeating texture.

@FFeller: I've seen that recommened on some threads but I'm not sure how to go about it. Do you have any link that I indicating how this is done? Because i have a seamless texture but it seems it just stretches to the whole object.

related, from BlenderGuru: https://www.youtube.com/watch?v=-VgtSL5ZpYc


text:
Texture painting using Stencil is blurry on some models (Blender 2.82)
I know I'm probably doing something wrong or not understanding something but when I try to texture paint using Stencil on 3 objects, 1 flat circle, 1 plane, and 1 long rectangle (long cube), the texture is appearing blurry on the rectangle. The details:

All of them are unwrapped using Smart UV Project
All of them uses the same Texture and settings upon painting
All the texture they use (Base Color) are 2048x2048 (I also tried 4096x4096, it seemed to improved but still blurry for the rectangle)

Here are some screenshots:

As you can see in the screenshots, the last one (rectanlge) is blurry. The image texture is 3264x2448 if that helps.

But the first two that are okay, look at how much pixel real estate they are giving to the painted area, and then compare the third that is blurry - look at how little fo the image is being painted for the same are almost in the 3d view. I would try another unwrap on that one to see if it can be given more pixels per face so that the paint to target ratio is smaller.

Try to give it a little more geometry.


text:
Do you sculpt a character for a game with the clothing as one object or separate
So I'm just beginning to try character modeling out for a game and I'm currently modeling an enemy. This enemy I plan to have some different variety: same body but different clothing. Problem is I am unsure how to go about it.
Do I sculpt the enemy without clothing and then make copies of that corresponding to how many variety I want? Or can I create 1 body and then I can create clothing separately? If that's the case, how does the retopology happen? Do so for the body and for any clothing separately?
If im asking some wrong question (because of unfamiliarity), please let me know.

Well, you could do it either way. However the usual approach is to have any changeable clothing be separate..
Often you wouldn't sculpt the clothing any way, because the shape of the mesh isn't important and will get deformed instead by the things under it using a simulation. As I said in my comment it's a bit complicated, so you really need to learn more about the cloth simulation system.
If you didn't want to use the simulation, either because you have very rigid clothes/armour or it's super tight against the character then I would probably model and retopo the character first plus rig it. For tight stuff, just duplicate and lift the retopoed surface from the relevant part of your character. Since it's tight fitting you can use the same bone weights for the most part and save a bunch of time.
But it all depends on what you need. For realistic clothes and armour it's best to model the body and then put the bits on of top of it. If you don't care then you could skip making any parts of the body that are fully covered.
If for example your character appears in three different sets of full plate/powered armour then you're probably better off just making three entire characters that just share a head or something. They may even need different animations if the clothing is sufficiently different.
There isn't really one right or wrong way. It's just having a base body that you can put different clothes on is more flexible and extendible, especially if they can share one animation set.

Hi, can you explain a bit more about your last sentence? "Often you wouldn't sculpt the clothing any way, the shape of the mesh isn't important and will get deformed instead by the things under it using a simulation". If you wouldn't sculpt, lets say a shirt, how would you do it? Just model it over the body? Also, probably unrelated, lets say you do model it separately over the body, how will that follow the work when you deform the body?

@g_b So a shirt for example could be two T shaped planes on each side of the body, joined along the appropriate edges and subdivided enough times to allow deformation. You could then add a cloth simulation to the shirt and a rigid body to your character. The simulation will update for any animations you make. It's a bit complicated, you may need to use 'pins' to attach some parts of the shirt to bones, very tight parts may not need simulation. You will need to watch/read a bunch of tutorials on cloth simulation.


text:
Blender using sculp mode change show in sculp and object not showing in edit
I am playing with adding eyebrows. I used the sculp tool and drew a eyebrow, but when I go to edit mode to move the eyebrows the  image is flat.
Sculpt mode;
Object mode

Edit mode ( no eyebrow , image flat

You are using a Multires modifier, it fakes a higher resolution mesh, and if you sculpt it won't affect the mesh itself.
If you need to change the mesh for real, disable Multires and activate Dyntopo.
If you want to keep a low-resolution mesh and just want to bake the normals of the sculpt you've made, you can keep the Multires, and at the end bake on the same object, or you can duplicate your object, use Dyntopo on one version, then bake this Dyntopo version on the other one.
But maybe you can simply create another mesh for the eyebrows?


text:
Blender object and armature jumps up from surface
I am working on animation and I have an object and an armature. When I go from object to edit mode the object moves up above the surface. And when I go from edit to object it moves down. See images and mode.
Object Mode

Edit (move up from plane)

POse mode moves down same as object.

could you please share the armature? https://blend-exchange.giantcowfilms.com/

Found Ctrl + A  on pose resets the position.


text:
How to extract multiple curves from surface?
I'm trying to create a model of a fishing net and in order to achieve a deeper level of detail I modelled a small section of the rope that makes the fishing net. I then wanted to create a group of curves that the rope section can follow (curve modifier). Is there a way to extract the subdivide curves of the final shape of the net instead of creating every single curve?

Image would have been helpful here. You may use wireframe modifier for this? If you want few of them then shift select edges and duplicate them and while being in edit mode, you may separate them using P command!

Thank you very much!

What worked from the above?

Selecting the edges in edit mode and then spectating them.


text:
How can I remove the top mesh whilst leaving the bottom one fully intact and as it was before?
I'm following the blendrGuru donut tutorial and when duplicating the top half, the two meshes have remained as one layer. I hadn't realised and saved so I can't undo, regardless this is something I'd like to know how to fix anyway. I've used control L to select the top mesh to separate it but it remains linked by one vertex as you can see. I can only use rip to separate 2 of the edges from the vertex, getting an error when I try to rip the 3rd edge away from the vertex.

Deleting this top layer deletes the linked vertex for the bottom mesh too as you can see. How can I remove the top mesh whilst leaving the bottom one fully intact and as it was before?

As far as I can see in the screenshot, the vertex connected to the top mesh is originally from the bottom mesh and moved up there, the bottom mesh is already broken there. No matter what you do, the vertex is missing in the bottom mesh and won't fall back in place anymore.
However, what you could work is you select this vertex and press V, this separates it into two vertices - one belonging to the top mesh and one to the bottom. But you have to move it manually back in place. After that you can delete the top mesh.
Or you delete the top like you did, then select the edge of the hole in the bottom mesh and do Face > Grid Fill. But this will not exactly recreate the original mesh either
Another possibility: if the above mesh is an exact duplicate of the one below (and not rotated, scaled or anything), you could recreate the original mesh. Go to Face Select mode, select the 4 faces that are missing in the bottom mesh. Set the Snapping Tool to Vertex. Duplicate the selected faces with Shift+D and move it down until it snaps into the correct position, so that all edge vertices sit on their corresponding counterparts and left-click or hit Return to place it. Delete the top mesh, then select all with A, then M > Merge > By Distance.


text:
Parenting rig to empties
I am trying to parent individual parts of a rig (bones) to specific empties which are already animated so I can get the rig to be moved by the animated empties. I have attached a screenshot. The empties are in the form of an animated face. Problem is, when I click on  the rig to parent to an empty, it is selecting the whole rig rather than the part of the rig I want. How do I make it select a specific part of the rig and not the whole thing?
Thanks in advance.

You can parent empties to bones, but not the other way.  If you want the bone to follow the empty,

go into pose mode,
select the bone,
go to Bone Constraints in the properties panel
Add a Damped Track constraint
Select the empty as the target


text:
Render time being wasted on empty frames
Can someone please explain to me why blender is spending time on empty frames? I literally spent ages reducing the number of frames to less than a half so I can speed up my rendering time. But all that work is just useless because it is just spending time rendering the empty frames anyway? Any suggestion please?

https://blender.stackexchange.com/questions/15649/can-frames-with-no-animation-be-automatically-skipped https://blender.stackexchange.com/questions/32127/is-there-a-way-to-have-cycles-skip-rendering-alpha/  https://blender.stackexchange.com/questions/48902/how-to-stop-blender-from-rendering-world/

Sorry I don't understand the question. The empty frames are just parts of the animation which are not keyframed. When I am watching the live render, they seem to be rendering along with th keyframes. I can see the frame count and each frame being rendered. I don't expect empty frames to render so I am just confused why as it is eating into render time.


text:
Armature and mesh out of alignment
So I made a hand in Blender, added an armature and an animation which worked perfectly. I went back to edit the mesh only slightly (just some smoothing), and afterwards the mesh is deformed when playing the animation. I am very new to Blender so I could have overlooked something obvious.
Any help is appreciated.

Hello, maybe you've reworked while the armature was in Pose mode with the On Cage option enabled? So when back to rest pose it gets deformed...

@moonboots I've had a look and I'm not sure where to find the On Cage option to check, where would it be?

in the object Armature modifier, one of the top small buttons on the top

@moonboots Ah, I found it. And I think I've realized where I went wrong.  I applied the Armature modifier to the object previously, then realized that was a mistake and just added another one, which causes the issue you see in the image. I think applying the Armature made the first frame of the animation, the original pose for the object. So I think I need to adjust the animation to work with the second armature maybe. Since I applied the original so I cannot get it back to make any changes.

sure, if you've applied the modifier it has changed the shape of the mesh

@moonboots Thank you for your help :)


text:
bpy.data: how to update location for rigid body physics animation?
I tried to get the location data of a falling cube in a rigid body
simulation. Therefore I added a post-frame-handler:
  bpy.app.handlers.frame_change_post.append(my_handler)

and the handler should only print the location of the cube:
def my_handler(scene):
    print("Post  Frame Change", scene.frame_current)
    cube = bpy.data.objects["Cube"]
    print(f"{cube.location}")

When the animation is played (just by starting timeline animation in Blender),
the location will not be updated (in Blender 3.3).
Now my question is:
How can I force Blender to update the location data?
OR
Could one read other object properties which already are updated while
calculating the rigid body simulation
(obviously this data must exist, cause they are calculated within the animation) ?
Thank you!
The blend-file of the simulation is here:

You'll have to use the dependency graph   https://blender.stackexchange.com/questions/216149/how-to-get-frame-by-frame-object-location-in-blender-2-8

Thanks a lot! That's exactly what I was looking for.
Please post it as answer, if you want!

I just saw that I asked this some time before:
https://blender.stackexchange.com/questions/274779/animation-locations-with-python
Meanwhile I was working on other stuff so I simply did forget the solution.
Nevertheless I think your hint with the dependency graph is so useful, that it is worth to mention it
here again.

All good mate, not my answer so I can't take the credit


text:
Why move all objects when press 'G' key
I definitely chose one object and I don't know why it's all moving together. I want to move one object, and I never set up a parent.

because you've enabled the Proportional Editing option (blue circle icon on the middle of the top header)

There must be duplicates of this but the question is always different

@Jackdaw I think so. It's hard to find the right case because things are different even if I try to find one.

@moonboots What circumstances do you usually use the Proportional Editing feature?

usually in Edit mode when you want to smoothly deform the shape of an object, you move a vertex and the other ones follow...

@moonboots Thank you!

You have accidentally manage to enable Proportional Editing.
Toggle it with "O" key or click this button.


text:
Weird cloth behavior: why does my cloth diverge on collision?
Earlier I've animated simple collision with a cloth-modifier. (I've compressed it to a 2MB mp4, but I don't know how to upload it). It shows a face moving along a path through a (pinned) cloth, so that the contours of the face come through. Like this:

Currently I'm trying to achieve the same effect in different scene, but now the cloth seems to 'explode' even before the face hits it. For some reason the cloth seems to diverge into infinity, even though all the settings (at least in the cloth-physics tab) are the same as in my previous animation.

My question is: why? What causes this behavior?
I've tried to remove and add the cloth serveral times, but I keep getting the same results. I've checked:

The normals (are pointing all in the same direction);
Remove doubles (or 'merge by distance' as it's now called);
Apply all transforms to the cloth;
Increase the quality steps both in the cloth- and collisionstab;
Increase and decrease the subsurface levels of the clothobject;
Check and uncheck 'self-collision'.

I get the impression that the behavior has something to do with the last two, for sometimes it works okay (though undetailed) with subsurface level 2, but not with level 3. Similar with the 'self-collision' check. The behavior isn't consistent though.
Finally, here is a screenshot of the cloth-settings:

And one of the (subsurface) modifier(s):

I hope anyone can help me to understand this behavior.

What are the dimensions of your cloth in scene units? Cloth simulations tend to get glitchy and unstable at small scale factors like 0.1 units and below. It is best to scale everything by a factor of 10 run the simulation then scale back down if all you need are static frames.

The dimensions of my cloth are X: 1.725, Y: 0, and Z: 0.898. I'm trying to figure out how to scale up everything with the same factor, while keeping all the proportional distances between the objects the same. When I have, I'll let you know whether it solves the issue.

@Duarte Farrajota Ramos You were right! I scaled everything up with a factor 5 and that seems to resolve the strange 'diverging' behavior. I hope it stays this way on subsequent simulations, but it seems promising. Curious that the scale can have such an impact. // The remaining problem is that with the exact same cloth-settings the current cloth-simulation turns out much coarser than the one I'm trying to remake, but perhaps that's just because I've changed the cloth from a square to a more rectangular shape.

FCOL, after adding a new cache and adjusting the mass of the cloth, it starts all diverging again :( The cloth dimensions are now all above 5, so the scale cannot be the problem anymore.

The cloth precision also depends on the scene units. https://blender.stackexchange.com/questions/149885/are-cloth-simulations-affected-by-scene-units


text:
Blender moving f-curve Z location moves object diagonally instead of on the Z axis
This is what I have
As you can see in my case when I move the Z location in the F- curve it moves it diagonally for some reason. I want to move it on the Z- axis. What am I doing wrong?

if the object is parented to another, it will change its global axis

I made sure the object is not parented but the issue is still there

could you please share the file (at least your cube)? https://blend-exchange.giantcowfilms.com/

Is rotation involved?  Fcurves will move object on local z axis.  Using GZ (global) and GZZ in 3dview willl display the axis.  Ok having looked at your gif that's exactly what it is. The local Z axis of default cube is the normal of top face.  That's where it's heading.

Is there a way to change to global Z-axis? or do I have to manually keframe it?


text:
Script working on an object but not on another
I downloaded a blend file from another user here with a script (for drivers) and a mesh + armature.
On the driver of said mesh it says Error:invalid Python expression. I couldn't get it to work for so long although it worked for the user that sent it to me. However after a while I figured out a really odd fix.The fix is to move the armature then ctrl+z after I do that, the driver no longer shows an error instead it shows slow python expression which is fine as long as it works I guess.
Now I tried applying the script to a personal mesh+armature I copied the same exact drivers+variable. I get the Error:invalid Python expression. I tried doing the same odd fix that worked for some reason on the other mesh+armature but it didn't work in this case. Here's the script
import bpy
from mathutils import Vector

def left(self, z_rotation, speed_low, speed_high):
    prev = self["prev_z"]
    self["prev_z"] = z_rotation
    delta = z_rotation - prev
    if delta > 0:
        self["z"] -= delta * speed_low
    elif delta < 0:
        self["z"] -= delta * speed_high

    return self["z"]

def right(self, z_rotation, speed_low, speed_high):
    prev = self["prev_z"]
    self["prev_z"] = z_rotation
    delta = z_rotation - prev
    if delta < 0:
        self["z"] += delta * speed_low
    elif delta > 0:
        self["z"] += delta * speed_high

    return self["z"]

bpy.app.driver_namespace["left"] = left
bpy.app.driver_namespace["right"] = right

Here's the driver of the mesh I downloaded from the other user.

And this is the driver I applied to my own mesh(the exact same thing)

I have no clue why this is happening the issue is just really weird and very frustrating.
Help would be immensely appreciated.

See https://blender.stackexchange.com/questions/165093/use-self-doesnt-work  Make sure auto run is set, you have run the script that registers to the driver namespace.  Look for errors in the console.  It appears the driver code requires the object with the driver to have the "prev_z"  and "z" custom property.  If not the first line prev = self["prev_z"] will throw an error.  https://blender.stackexchange.com/questions/6173/where-does-console-output-go

yep I didn't add custom properties adding it fixed it. Post it as an answer so I can accept it

Custom properties not set
The driver script as is will throw an error if the custom properties "z" and "prev_z" are not set on the object.
Look for errors in the console.
Where does console output go
Add the appropriate custom properties to the object being driven for it to function as expected.
Note.
The object referred to as self in a driver is an  evaluated copy of the object.
Silly test script to ensure the original object has a custom property "foo" set from within the driver.
Returns the evaluated value of the custom property, if it exists, else 0.0.
from bpy.app import driver_namespace as dns

def test(ob):
    ob.original["foo"] = ob.original.get("foo", 0.0)
    return ob.get("foo", 0.0)

dns["test"] = test

copy and paste this driver into any object to create a "foo" custom property if one does not already exist.


text:
Parenting and animating Bone to an empty without going to pose mode
So I wanted to parent an empty to a bone, so i can pose/animate the bone without going to pose mode.
is there a way to do this ?
So when i move the empty in object mode, the bone will follow and following with IK

That’s not parenting the empty to the bone, but as you said using IK or possibly a track-to constraint on the bone with an empty as a target. Parenting the empty to the bone, thus the empty is the child, would make the empty follow the bone around instead.

@Fernaldy Wiranata, so what you want is more parenting the bone to the empty  ;)  have you tried a Child Of constraint? But actually you don't tell a lot about your current rigging

If you want to be able to pose the character and still be able to select and maniputale other objects in the scene without going back and forth between object mode and pose mode you can just go to the top menu and go in Edit > lock object modes (uncheck it), than you will still be able to select everything even when in pose mode.
It's not a direct answer to your question but might help anyway.

I'd say @ZargulTheWizard has summed it up pretty well.  It's a very convenient way to manipulate limbs etc with few if any restrictions.
Everything is IK'd as normal but (as mentioned above in the comments) the target as selected in the IK's "Target" slot is your Empty.  Dragging the Empty will force the bone to "look at", (track it), but not be attached to it.

This method allows hands to appear to be holding objects when in fact they're not.  They are instead, tracking the object that's being animated, e.g.  when throwing a basketball.

Empties for both arms can be parented to the ball (empties = child) so hands not only appear to throw it, but additionally track it momentarily after it's launched.
Because the Empties are external to the rig and therefore independant, they can themselves be parented to the ball but each kept to one side so hands don't penetrate the ball's surfaces.
The Empties can in other instances, be parented to a character's "Master" Nav(igation)-Empty, along with the armature, so all will move as one unit when the Nav-Empty is dragged around the scene and yet still able to similtaneously move arms and legs.


text:
Do i need to apply Boolean before animating it
So I'm very new at rigging and animating,
i made a model with alot of booleans. now i want to rig and animate it,
i'm confused wether i need to apply the boolean and make every changes destructive or rig and animate WITH the boolean parented to the object
sorry im very new in this category

I would say yes, apply the boolean, what kind of object is it?

its a hard surface object with alot of boolean decals to add detail and some cut out to make the model more interesting

the question would rather be: do you have any good reason to keep the boolean?

yes, the client might want to change it later, this is the first iteration of the object

in that case keep the boolean, does it cause problems for the rigging?

thats what i dont know, i tried but it makes the viewport really heavy on solid mode playback

I think you should keep a copy of the non-destructive version, duplicate, apply the modifiers, parent to armature, etc... but maybe show some screenshots, show the wireframe, etc...

If you parent the Boolean objects to their respective bones on the mesh, you might be able to get away with keeping the modifiers active. Otherwise, you'd be better off just applying them.


text:
VDB render in cycles has blocky artifacts
so i used this VDB on my scene, and rendered it with cycles.
but somehow it has this blocky artifacts

what is the cause and how do i solve it ?
I rendered it with 1024 samples and denoised it with optix.

i'm rendering with cycles so i dont have that options, the options you mentioned is for eevee

You're right. In this case it is probably that the resolution of your simulation is too low, but you can also test if reducing the Step Rate Render (Render Properties > Volumes) helps.


text:
I changed some of the colors of my video but now I can't revert them back to the original
I changed the saturation of the colors in my video clips. I rendered the video, then I decided I didn't like the colors. But now I can't change the colors back to how they are originally. Trying to set saturation back to 1.00 and right clicking and also clicking on 'reset to default value' but it isn't changing back.
I am also working with a proxy. The video is quite long and there are alot of edits I don't feel like doing again if I started a whole new project again.

Post some screenshots of what you are doing, please and describe how exactly you are doing it.

https://imgur.com/a/vCJgll5
I click on the video strip, and change the saturation under filters


text:
Shadow catcher blocks background image in latest builds of 2.8
This question has been asked before but not properly addressed.
In the latest beta builds of Blender 2.8 including the release candidate, the shadow catcher is acting in an unexpected way in the rendered view in the viewport, blocking out the background image.
The screenshots below are from the same .blend file, opened first in blender 2.80.0-git.806d4fbc5e40 (3rd of June Release) and second in blender-2.80rc1-windows64 (the release candidate) I have also found the same effect appears in the 1st of July Release.

As you can see, in the later versions of Blender, using the same file, the shadow catcher object blocks out the background image, which is very undesirable behaviour and makes working with the shadow catcher very difficult.

The node setup is the default generated by the Motion Tracking area's Setup Tracking Scene, and the objects are in the correct collections. Transparent Film is also selected.

Despite the viewport not working the same way as before, the render still comes out correctly.
What has changed through these versions that causes Blender to act in this way? Is it a setting that I now have to turn on, is it a bug, or is it a deliberate feature? Because of the amount of motion tracking I do, I will have to continue using the outdated June version of 2.8 until this is resolved, though I would rather keep my version up to date.

Could this be the same issue reported in this ticket? https://developer.blender.org/T66777 and https://developer.blender.org/T65988

I believe it is related. I get the same effect when testing their method (turning off camera ray visibility for the cube), which does not happen in the June version.


text:
Apply only one type of modifier on multiple objects at once
I have a multiple objects with many modifiers. Most of them have mirror modifier. Can I somehow select all the object and apply all mirror modifiers? Iam aware that there is a button to apply all modifiers, however, I would like only the mirror modifiers to be applied and the rest of it stayed intact.

Related: https://blender.stackexchange.com/a/76875/31447 Just replace 'ARMATURE' by 'MIRROR'.

Iam not familiar with scripting, but if all I have to do is copy it to editor type, change armature to mirror and then run the script, then it does not work.

No issues here, works like a charm. Head over to the scripting workspace, copy and paste the code by lemon for 2.8+ into a new text document, replace 'ARMATURE' by 'MIRROR'. Select all objects, run the script, done. Works, doesn't it?

Yep, sorry. The problem was between chair and keyboard

You cannot do that if the mirror modifiers are not on the top. Blender apply the modifier on top if you are not select first modifier.

modifier tools addon comes with blender it can help you maybe https://www.youtube.com/watch?v=kaiBJMZkInQ

You can try to apply once to one object then use Shift+R to redo the last action while selecting the other objects. It's still one by one but faster.


text:
Undesired different results with bevel modifier and vertex group
iam using bevel modifier on simple model that looks like window. I want beveled edge only on window corner so iam using vertex group. The problem Iam having that on one side it looks clean and straight as well as the corner is ok, the opposite side is beveled differently with bad results. How is that? Normals are ok, no double verteces.

Should use bevel weights https://docs.blender.org/manual/en/latest/modeling/meshes/editing/edge/edge_data.html#edge-bevel-weight as limit method instead

Worked ok, thank you, I didnt think of using weights. If anyone would know why the vertex group behave like this, let me know, just curious.

Are the weights in your vertex group all over .5? I don't know why, but that qualifies for inclusion in the bevel. Why aren't the vertex weights just used as vertex bevel weights? Makes not much sense to me....

I found a reason.
Its because I have another window right next to this. So the vertexes are connected and take the edge in count when beveling so I would have to add another edge between them to separate or the better solution was as @lemon wrote to use edge weight.
Beveled by edge weight

When add a weight between the windows it makes the same artifacts like when I used vertex group that counted in that edges between windows.


text:
Generated rig controls dont control the bones
Iam not sure if something has changed, but when I create human (meta-rig) and use Generate Rig the controls does not move the bones. I think in previous version it was just as simple as that to create working rig. Do I missing something? [

Those bones are the bones of the Meta Rig. Once you generate they are not used anymore. There are other bones that are hidden in the control rig. Unhide layer 29,30,31 and you'll see them.

Ah ok, so after generating the rig, you can just delete your skeleton  and unhide the generated one and parent it to the geometry? Seems little bit confusing to me, but ok. Is there a way to edit the controls as some of them are small or hidden in geometry and when I enter the edit mode, just the bones are visible and the controls disappear.


text:
Coming from MODO - why is X mirror not selecting the other side of this disconnected geo?
My first post, i'm totally new to blender, SLOWLY leaving modo.
First question.
I selected the faces on the left side and nothing selects on the right side. i'm GUESSING it's because the mesh is broken up? In modo it does not work this way. Please tell me i can still select stuff with symmetry even though the mesh is several meshes? I'm totally stuck. really appreciate any info on this.
Cheers

x-mirror does not mirror selections, but it mirrors the transformations you do

You could delete all mesh on one side, then add a mirror modifier by going to the properties panel on the right, under the modifiers tab.  This makes it so that you have one side to work with, and the other side is created by the modifier.  This means that when you select mesh on one side, it is essentially selected on the other side.  Try it out, and you'll see what I mean.

Thank you guys for your replies. A friend from work who knows a bit more about blender showed me today that the geo on the other side IS actually being affected, but the selection does not show up on screen? I find that confusing as it's so easy to break symmetry. i like seeing my selection on the mirrored axis so i know symmetry is working. so...yeah, seems like this does work, just no selection mirroring as well? I'd like to request this as a feature somehow?


text:
Can i convert the new hair curves to regular curves?
I'm slowly trying to work with the new hair curves and i for our game we have 'stylized hair'. So i have a profile shape for each hair curve but i'm not able to twist the curves anymore and for the life of me i can not find a way to convert this to regular curves so i can then later twist them.
Can anyone tell me if this is possible? I'm assuming there's a way with the geometry nodes but i have no clue and this is driving me bananas.
Much appreciate any help with this.

Try the Set Curve Tilt node. Please note that the new Curves will replace the existing Curve objects in the future but Blender 3.3 is still under development. Not everything is implemented yet and there might be bugs. For example, there is no Edit mode available yet for the new Hair Curves. Do not use alpha versions for production!


text:
Blender 2.8 sometimes freezes with imported file
i work as an 3d artist with 3DS Max; and i thought to give Blender a try.
My problem started that Blender doesn't seem to have native import for IGS/IGES or other CAD files. I solved that by importing the object into 3DS Max and converting it into a OBJ file. (No big deal)
Trying to open the obj file is very slow and sometimes it seems Blender just gave up; but in the end it opens.
File size is 1.53Gb and the model has around 15.858.388 triangles.
As you can see the models i work with are quiet heavy.
But know i got my main problem; that's where my question is...
When i try to work with the model; even isolating an object; Blender sometimes freezes for a few seconds.
Am i doing something wrong?
Do i need to enable or disable some settings?
Can it be the obj file i exported?
Because everything works fine with 3DS Max; and i want to have the same experience with Blender.
I use the same PC for both programms, so i don't think it's the problem.
Intel Xeon v4 @ 2.20GHz
NVIDIA GeForce GTX 1070 Ti (MSI)
32GB RAM

15,858,388 is a quite large number for polygon model, Blender are not good at dealing with that much of data in one operation(due to the core structure performance).

The viewport is slow and even after the implementation of eevee, the viewport is still slow for millions of polygons. Unfortunately, we have to deal with that limitation so I don't think that you are doing something wrong. I guess that max got some kind of level of detail-optimization for its viewport and in fact that's a missing feature of blender since the beginning. However, when it comes to modeling or look development there are a few advantages (IMO) so giving blender a whirl is definitely worth it for archvis or whatever you do. See: https://blender.stackexchange.com/a/116521/31447

"Blender sometimes freezes for a few seconds" Sounds like a totally reasonable thing to happen on a 1.5Gb model

I've just noticed that 3DS Max has an option to export OBJ file optimized for Blender.
That seems to be the solution apart from lowering the polycount on import from IGS file.
EDIT
After some tests i’ve got the following results:
Default import option: 15.858.388 triangles
Optimized import option: 557.088 triangles
Export to OBJ for Blender:
Default import + default export: 1.53Gb file (that’s a killer for Blender)
Optimized import + optimized export: 58.9 Mb

The importer is written in python: <blender>/scripts/addons/io_scene_obj/import_obj.py, which theoretically isn't bad thing but it is slow as hell (no multithreading). However, there are some efforts making a C-module out of it as part of google's summer of code which hopefully will be part of blender in the next weeks - .ply seems to be done already.

Did you manage to keep the materials while exporting from 3DS max ?

@Gorgious all the models i work with have procedural textures, so i really didn't test that. Sorry for not being of more help.

No problem, you made me discover the blender optimization thing. The method I use currently is to save as a .3ds file and use this add-on to import. It kinda works for simple materials, but I can't manage to import materials with textures. Cheers


text:
Grease pencil seems to not care about the material
I have this "x" as a grease object. For some reason, it does not want to render with blue border, and red fill:

Render result:

Any idea of what is wrong?

Uncheck Holdout in the Fill section. See Blender docs: holdout is meant to create 'holes' in your shapes.

And in the layers panel, uncheck Use Lights. When this is checked and there are no lights in the scene, all strokes and fills will be rendered in black, since there is no light to illuminate the colors.
Or you could add lights to your scene, of course, that's the other way to solve it.

Thanks for the suggestion, but it did not work sadly. I still don't see the colors rendered. Src file: https://we.tl/t-quIbQBHm5D

I've updated my answer. When you uncheck Use Lights in the layers panel, the colors will render.


text:
Is there a python script to see which objects are intersecting?
I've been working on a plant with particles and want to convert the particles to objects and then delete the leaves that intersect. Is there anything that will find the objects?  FYI, I have tried another person's script from 2017 but it gave an error
    line 109, in poll
    AttributeError: 'bpy_prop_collection' object has no attribute 'active'

location: <unknown location>:-1

This is the link for the script: Can I select every object in the scene that is touching the active object?

Does this answer your question? Can I select every object in the scene that is touching the active object?

Unfortunately not because it indeed only finds the objects that are touching the active object. What I am looking for is a way to find all the objects that are intersecting with each other, regardless of whether or not they are the currently selected object.

Well, I think the provided code is a base to start what you want to do. Why don't you try to improve it?

I don't know how to code :p but I could give it a shot

ok, but also, if often people are helping here, they can't "do it for you as you just ask"... sometimes it can happen... but... hope you understand.

Not sure what you mean by that. If I knew the answer, I wouldn't ask.  If I figure it out, I'll post it for everyone...not sure what you are implying here.

I'm implying that I don't have it in my pocket: need to spend time (for you) to have it. and don't always have this time or eventually find the subject interesting enough. Hope someone else will do for you.

Additionally for this purpose, I don't think this is the good way. Try softbodies instead. Blender should do the work for you.

Try softbodies... If particles are softbodies, they won't intersect.

OK sure that's a good idea.  I did try cloth with self-collisions but that didn't work.  I'll try soft bodies thanks


text:
Combining an image sequence into a single image
I would like to combine an image sequence into a single image in a quick way.
I tried adding all the images into the compositor manually

But it will take a long time to add each node one by one.
This is what type of result I want.

Possible duplicate: http://blender.stackexchange.com/q/5017/599, possibly related: http://blender.stackexchange.com/q/3720/599

It would help if we knew what kind of information the images contain (renders of the same frame with different noise seeds? Or..?), and what you want the result to be

The images contain different frames of animation. And for the result I would like to average the frames together

A timelapse or a long exposure effect?

Long exposure effect

There is an exposure setting, and there is a motion blur setting. I'm not exactly sure how to get the result you want though.

Looks to me like you have the solution already (plus the video you linked described how the effects were achieved). What about your result are you unsatisfied with?

The problem is that I had to add one image node for every single image

You can't really do recursive operations (loops) in the compositor, but in this case there is a sort of hack you can do (a bit like this or this).
You can apply this to the animation as it's rendered, but I preferred to render everything to .exrs and composite afterwards.

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

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

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

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


text:
Loopcut won't go through
Hi I'm a new at Blender can anyone help me?
I'm practicing to create an anime character, I clicked Ctrl + R to make a line to connect on the hand (as picture) but doesn't work, it doesn't go through on the back.
Does anyone know what should I do ? Please help me
I am sorry for my English

Also loop cuts will only go through connected quads (4 sided faces) there seems to be a gap on the bottom of your mesh (no pun intended)

It can be a combination of both, as @DuarteFarrajotaRamos pointed out, loops don't work on n-gons or tris, but it definitely appears there are some artifacts caused by doubles higher in the collarbone area of the neck.

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


text:
why is beveling working differently on these objects?

so i have these two objects, which are structurally basically the same.
If i select the first object, tab into edit mode, select the highlighted edgeloops (shown on the left), and add a bevel with Ctrl + b with the shown settings, I get the result on the right.
Now, if i tab out of edit mode, select the second object, and apply the same procedure with the same settings, I get the result on the right, as you can see, the results are different.
Now, in object mode, if I had selected the second object first and first object second, hit Ctrl + J to join them, tab into edit mode, and apply the procedure again, I would've gotten this in this case, the result is similar to that of the first object.
If i select the second object first and first object second when joining the objects, the result is reversed:

Any idea why this is? Both of them are simple objects made using the same procedure.
thanks!

Welcome to Blender.SE! Do both test objects have the same object's scale values?

As carlo said, make sure the scale is 1, just apply the scale, with Ctrl A > Scale.

i feel a bit stupid now. that worked. thanks, guys! :]


text:
Is there a way (may be an addon) to resize textures in batch inside blender?
I use asset libraries and some assets comes with ridiculously large textures for my specific scene. Imported about ten assets(grass and props) and now I have hundreds of 8k textures.  My Vram is full and renders are very very slow now. Is there a way to select and resize hundreds of textures to a certain size?

In Properties Editor > Render settings tab > Simplify panel, there is a texture resolution setting:

Automatically scales textures down so that they are no larger than the values chosen. This can help reduce computer memory resources when rendering large scenes with huge textures.

Source: Simplify — Blender Manual

Does this affect all images? Can I make it not affect certain images (like background textures and textures that are close to the camera)?

It limits all textures' resolution.


text:
Texture painting add-ons? adding levels ? straight lines?
So I was texturing this sword to learn how handpainting works, and now that I have kind of got how it works. I was wondering if there was a list of add-ons to make texture painting faster in blender. I don't like using gimp nor any other external tools, I prefer colouring directly on the model. I'm particularly interested in adding transparent levels to the UV and maybe some addons that allow drawing in geometry, like adding straight lines of color or different 2D shapes.

Addons for painting in Blender have had a hard time because of the changes in the python, but one of the best that might still be supported is BPainter https://blendermarket.com/products/bpainter/

For straight lines, look to the Stroke types where you can use Curve, Line, Drag Dot etc. https://youtu.be/nW-MaJ99IxU


text:
This mathutils related code stop working correctly in 2.8
I ported an old 2.78 addon and was faced with a strange thing, the results in 2.78 and 2.93 are different. In 2.93 the result of the multiplication of matrices is always remaining the same as Matrix.Translation((0, 0, 0)), however in 2.78 it looks like multiplication by zero is simply ignored. How can I mimic the behavior of the 2.78 version?
wtm = Matrix.Translation((0, 0, 0))
for bi in reversed(chain):
    b = mod.bones_array[bi]
    wtm *= Matrix.Translation((b.location_x / 100, b.location_z / 100 * -1, b.location_y / 100))

https://blender.stackexchange.com/questions/129473/typeerror-element-wise-multiplication-not-supported-between-matrix-and-vect/129474
Looks like 2.80 "*" for vectors was replaced with "@" but 2.93 doesn't see any error with it fro some reason.

There's no error, because * multiplication is supposed to work like Vector multiplication (where each field is multiplied by corresponding field), whereas @ is proper matrix multiplication

authors: Ігор Спасівський


text:
How to get bpy.data.textures from the scene material?
I'm writing a script that creates a few bpy.data.textures objects, adds textures to them then adds a few custom properties. These textures will then be applied to the materials in the scene but before export, I need to get those properties again.
I found a code that gets all texture nodes from scene objects but I don't understand how to get the data object from the 'TEX_IMAGE' node.
import bpy

textures = []
for ob in bpy.data.objects:
    if ob.type == "MESH":
        for mat_slot in ob.material_slots:
            if mat_slot.material:
                if mat_slot.material.node_tree:
                    textures.extend([x for x in mat_slot.material.node_tree.nodes if x.type=='TEX_IMAGE'])

print(textures)
```

I came up with a rather cumbersome solution, first, create a set with all bpy.data.textures , then create a loop where image_texture_node.image compared with  data_texture.image

I came up with a code similar to this that at least works
import bpy

def get_textures_from_the_material(blender_material):
    textures = []
    if blender_material:
        if blender_material.node_tree:
            for tn in blender_material.node_tree.nodes:
                if tn.type == 'TEX_IMAGE':
                    textures.append(tn)
    return textures

texture_data = [td for td in bpy.data.textures]
textures = set()
meshes = {ob.data for ob in bpy.data.objects if ob.type == 'MESH'}
for ob in meshes:
    obt = get_textures_from_the_material(ob.materials[0])
    for tn in obt:
        for td in texture_data:
            if tn.image == td.image:
                textures.add((td))

I think this is the preferred way to do it. You could shave off a few lines in the algorithm but all in all this looks to me like the most straightforward way to achieve your goal.

authors: Ігор Спасівський


text:
Blender won't save custom texture data to the blend file
I have an addon that creates texture data, adds a few custom properties and an image, but after saving there is no texture data is here. Blender 2.93

Okay, I see blender doesn't save textures that are "unused" but how to change it?

Outliner Editor > Orphan Data to click Fake User (x icon) .... alternatively if you don't care the file size ... External Data > Pack all into .blend

Thanks, it's working

authors: Ігор Спасівський


text:
How to add a driver by python for a custom property?
I just want to link a custom property from the texture data to a mapping node Scale input in the material but I can't get how to do it from examples
material_basic = bpy.data.materials.new(name = "Basic")
material_basic.use_nodes = True

mapping_node = material_basic.node_tree.nodes.new('ShaderNodeMapping')

texture_data = bpy.data.textures.new("test_TX_DATA", "IMAGE")
texture_data["Map"] = 60 # my custom property
texture_data.driver_add('["Map"]')
```

I wrote a mockup code to show the problem.  I already have custom properties in material and texture data and I only need to know how to link these properties with nodes in materials. The same is what I could do with UI by "Add Driver" - "Paste Driver" but with python.

Okay, I figure out what I did wrong. The main problem was I added a driver to the custom property instead of the node input
material_basic = bpy.data.materials.new(name = "Basic")
material_basic.use_nodes = True

mapping_node = material_basic.node_tree.nodes.new('ShaderNodeMapping')

texture_data = bpy.data.textures.new("test_TX_DATA", "IMAGE")
texture_data["Map"] = 60 # my custom property

d = mapping_node.inputs[3].driver_add("default_value", 0) # add a driver to Scale X input
var1 = d.driver.variables.new() # add a driver variable
var1.name = "detail_multiplier" # add a name to this variable
var1.targets[0].id_type = 'TEXTURE' # set ID type to a target object with the custom attribute
var1.targets[0].id = texture_data # set the object as ID
var1.targets[0].data_path = '["Map"]' # link the custom property
d.driver.expression = var1.name # set the variable with the custom attribute value as an expression

authors: Ігор Спасівський


text:
convert to grease pencil changes the mesh
I have this sqrt of 2 and a plus as an imported svg mesh:

(yes I know the sqrt is weird, it's a confirmed bug in blender)
If I convert that to grease, the mesh changes: it fixes the bug and adds some noise on the plus symbol:

The result adding a material + stroke looks weird now:

Is there another way of doing this? File project is here.

What is your goal? You tried to convert Curve > Grease Pencil to fix the sqrt? Or you need to continue your work with Grease Pencil object? Why don't merge sqrt before import to blender ... it is a one click.

Hard to say if the issue will occur on every curves.
A manual way to do it:
Go in edit mode and switch the curve direction ("segments/switch direction" menu). Then convert it to grease pencil.

That could be automated. But how to know this is necessary or not or counterproductive before trying to convert: I don't know.

Thanks @lemon - how does the final result look in edit mode? for me your solution fixes the +, but not the sqrt overlap problem

in edit mode, still has separated splines. Here is a test file:  and that cannot do more than that, as the original has several splines

You can select the grease pencil object, go to Edit mode (point selection mode), select all, choose from menu Stroke > Subdivide, then manually select and delete the unnecessary points.
I also trimmed the x location of a couple of points and added a thickness modifier to set a constant line thickness of 24.

Thanks for the suggestion - looking for an automatic way of doing this, as I'll have many equations


text:
Material not rendered transparent
I have this font object

According to the material, it should be partially transparent

But it gets rendered as:

I tested going 0 % alpha, still the same. What could be wrong in my settings?

If your material is a Principled BSDF in Blender just adjust the transmission setting to 1.00.If this does not accomplish what you are looking for: If you are using Eevee, scroll down on the material properties page,  set the blend mode to "alpha blend" not "opaque".   If this is the answer I will post it.

Thanks Goldfish. Alpha blend did not work. Scene file: https://we.tl/t-Aop6CUUVE5

The Alpha of the color itself won't be used (I hope someone will tell how and when it is used). If you want transparency you need to play with the Alpha value (a bit below). If you're using Eevee, don't forget to choose Blend Mode > Alpha Blend for example, otherwise your object will look opaque:


text:
Blender Python controlling add on
I'm using an add-on (latex2blender).

If I change one parameter, it will show me in the console how it was done it was done in python. Here I am changing the input to "$ x $":

Now I know I can use that in python, i.e. writing:
import bpy
bpy.context.scene.my_tool.latex_code = "$ x $ "

But how can I use python to click the button "Compile as grease Pencil"?
The console just spams custom commands the plguin is using. I was hoping it was possible to do something like "scene.my_tool.button_x_click = True" or something.
Do you have any idea?

First, add to your imports import latex2blender so you can have access to all of the classes of the add-on. After setting the LaTeX code, you can then use latex2blender.classes[5].execute(latex2blender, bpy.context) to compile your LaTeX as a grease pencil. Using classes[4] would compile as mesh and classes[3] would be as a curve.
If you open the latex2blender add-on by right clicking it, going to "show more options", and then "edit with IDLE", you can explore the add-on and see where this all comes from. My file path to the add-on is C:\Users\myUsername\AppData\Roaming\Blender Foundation\Blender\3.2\scripts\addons and I had to go to View -> Show -> Hidden items in my file explorer to get AppData to appear.
Her're those classes in the add-on:

It's unfortunate that these buttons don't appear under scene.my_tool.. I think there could be a way to modify the add-on if you really want them to appear there.


text:
latex2blender latex installation
Hi I'm trying to use the wonderful package
https://github.com/ghseeli/latex2blender
But I'm not sure how to tell the plugin where the latex program is.

Do you have an idea? I have latex installed but I'm not sure what file exactly or path the program is looking for. I tried a lot of different stuff, such as /usr/bin/latex. I'm using a Linux Mint sytem.

Since that's an external addon and not part of Blender you'll have to ask the author directly. I assume you've seen the installation instructions here? - This Q&A site can only help with questions about using Blender itself and its built-in addons.

You are right @JohnEason I'm trying my luck on unbuntu stackexhange. I was hoping someone here might have tried the plugin as well

Solution:
In linux, I had installed latex via apt install, but blender was installed differently. Installing blender though apt as well fixed this.


text:
How to transfer the shader group node creation code to a class?
I need to create a node that will hide unnecessary information from users and started to transfer material node creation code to the group(it creates the group by pressing the button on a panel) but I need to register it with an addon.
import bpy
from bpy.types import NodeTree, Node, NodeSocket

class NODE_PT_MAINPANEL(bpy.types.Panel):
    bl_label = "Custom Node Group"
    bl_idname = "NODE_PT_MAINPANEL"
    bl_space_type = 'NODE_EDITOR'
    bl_region_type = 'UI'
    bl_category = 'New Tab'

    def draw(self, context):
        layout = self.layout
        row = layout.row()
        row.operator('node.test_operator')

def create_test_group(context, operator, group_name):

    bpy.context.scene.use_nodes = True

    test_group = bpy.data.node_groups.new(group_name, 'ShaderNodeTree')

    group_inputs = test_group.nodes.new('NodeGroupInput')
    group_inputs.location = (-850,0)

    # Create group inputs
    test_group.inputs.new('NodeSocketColor','Diffuse BM')
    test_group.inputs.new('NodeSocketColor','Specular MM')
    test_group.inputs.new('NodeSocketColor','Normal NM')
    test_group.inputs.new('NodeSocketColor','Detail NM')

    # Create group outputs
    group_outputs = test_group.nodes.new('NodeGroupOutput')
    group_outputs.location = (300,0)
    test_group.outputs.new('NodeSocketShader','Surface')

    # Shader node
    node_shader = test_group.nodes.new('ShaderNodeBsdfPrincipled')
    node_shader.location = (0,300)

    # RGB nodes
    rgb_separate = test_group.nodes.new('ShaderNodeSeparateRGB')
    rgb_separate.location =(-860, -550)

    rgb_combine_node = test_group.nodes.new('ShaderNodeCombineRGB')
    rgb_combine_node.location = (-670, -500)

    # Create an invert node
    invert_spec = test_group.nodes.new('ShaderNodeInvert')
    invert_spec.location = (-330, 60)

    normal_map_node =  test_group.nodes.new('ShaderNodeNormalMap') # create normal map node
    normal_map_node.location = (-200, -260)

    link = test_group.links.new

    link(node_shader.outputs[0], group_outputs.inputs[0] )
    link(group_inputs.outputs[0], node_shader.inputs[0])
    link(group_inputs.outputs[1], invert_spec.inputs[1])
    link(invert_spec.outputs[0], node_shader.inputs[9])
    link(group_inputs.outputs[2], rgb_separate.inputs[0])

    return test_group

class NODE_OT_TEST(bpy.types.Operator):
    bl_label = "Add Custom Shader Node Group"
    bl_idname = "node.test_operator"

    def execute(self, context):

        custom_node_name = "MT Framework shader"
        my_group = create_test_group(self, context, custom_node_name)
        #test_node = context.scene.node_tree.nodes.new('ShaderNodeGroup')
        #test_node.node_tree = bpy.data.shader_node_groups[my_group.name]
        #test_node.use_custom_color = True
        #test_node.color = (0.5, 0.4, 0.3)

        return {'FINISHED'}

def register():
    bpy.utils.register_class(NODE_PT_MAINPANEL)
    bpy.utils.register_class(NODE_OT_TEST)

def unregister():
    bpy.utils.unregister_class(NODE_PT_MAINPANEL)
    bpy.utils.unregister_class(NODE_OT_TEST)

if __name__ == "__main__":
    register()

I found a Blender example how to register a node but I have no clue how to combine them, also with bpy.types.ShaderNodeCustomGroup as a parent the node just lose all connections
import bpy
from nodeitems_utils import NodeItem, register_node_categories, unregister_node_categories
from nodeitems_builtins import ShaderNodeCategory

#class MTFrameworkShaderNode(bpy.types.ShaderNodeCustomGroup):
class MTFrameworkShaderNode(bpy.types.ShaderNode):
    bl_name='MTFramework RE5'
    bl_label='MTFramework RE5 Node'

    my_string_prop: bpy.props.StringProperty()
    my_float_prop: bpy.props.BoolProperty(default=False)

    # === Optional Functions ===
    # Initialization function, called when a new node is created.
    # This is the most common place to create the sockets for a node, as shown below.
    # NOTE: this is not the same as the standard __init__ function in Python, which is
    #       a purely internal Python method and unknown to the node system!
    def init(self, context):
        self.inputs.new('NodeSocketImage', "Diffuse BM")
        self.inputs.new('NodeSocketImage', "Specular MM")
        self.inputs.new('NodeSocketImage', "Normal NM")
        self.inputs.new('NodeSocketImage', "Detail NM")

        self.outputs.new('NodeSocketShader',"Surface")
        node_shader = self.nodes.new('ShaderNodeBsdfPrincipled')

    def draw_buttons(self, context, layout):
        layout.template_image(self.node_tree.nodes['Image Texture'], 'image')

    # Copy function to initialize a copied node from an existing one.
    def copy(self, node):
        print("Copying from node ", node)

    # Free function to clean up on removal.
    def free(self):
        print("Removing node ", self, ", Goodbye!")

    # Additional buttons displayed on the node.
    def draw_buttons(self, context, layout):
        layout.label(text="Node settings")
        layout.prop(self, "my_float_prop", text="Alpha Transparency")

    # Detail buttons in the sidebar.
    # If this function is not defined, the draw_buttons function is used instead
    def draw_buttons_ext(self, context, layout):
        layout.prop(self, "my_float_prop")
        # my_string_prop button will only be visible in the sidebar
        layout.prop(self, "my_string_prop")

    # Optional: custom label
    # Explicit user label overrides this, but here we can define a label dynamically
    def draw_label(self):
        return "MTFramework RE5 Node"

def register():
    bpy.utils.register_class(MTFrameworkShaderNode)
    newcatlist = [ShaderNodeCategory("ALBAM", "Albam Nodes", items=[NodeItem("MTFrameworkShaderNode")])]
    register_node_categories("ALBAM_NODES", newcatlist)

def unregister():
    bpy.utils.unregister_class(MTFrameworkShaderNode)
    unregister_node_categories("ALBAM_NODES", newcatlist)

if __name__ == "__main__":
    register()

```

Custom nodes are not possible in the existing node_tree i.e. ShaderNode, CompositorNode, TextureNode and GeometryNode.

But I don't need a custom node, I need to register my shader node group with an addon properly, not by a function running by the operator from a UI panel.

authors: Ігор Спасівський


text:
How to get vertex colors efficiently?
I need to export vertex colors from Blender to a custom mesh format. To do it, I need to create a dictionary where the vertex index is a key and color is a value, as proof of concept I wrote this but it's extremely inefficient. How can this be implemented better?
def _get_vertex_colors(blender_mesh):
    mesh = blender_mesh.data
    colors = {}
    try:
        color_layer = mesh.vertex_colors[0]
    except:
        return colors
    for poly in mesh.polygons:
        for loop_index in poly.loop_indices:
            b = round(color_layer.data[loop_index].color[0]*255)
            g = round(color_layer.data[loop_index].color[1]*255)
            r = round(color_layer.data[loop_index].color[2]*255)
            a = round(color_layer.data[loop_index].color[3]*255)
            colors[mesh.loops[loop_index].vertex_index] = (r,g,b,a)
    return colors

Hello, what version of Blender are you using ?

Hi, version is 3.1

My friend helped to get rig the nested loop and this reduced the execution time of the function in extreme cases from 0.5 to 0.3 seconds
def _get_vertex_colors(blender_mesh):
    mesh = blender_mesh.data
    colors = {}
    try:
        color_layer = mesh.vertex_colors[0]
    except:
        return colors
    mesh_loops = {li: loop.vertex_index for li, loop in enumerate(mesh.loops)}
    vtx_colors = {mesh_loops[li]: data.color for li, data in color_layer.data.items()}
    for idx, color in vtx_colors.items():
        b = round(color[0]*255)
        g = round(color[1]*255)
        r = round(color[2]*255)
        a = round(color[3]*255)
        colors[idx] = (r,g,b,a)
    return colors

authors: Ігор Спасівський


text:
How to get UV layer data by layer name?
I have a code that works with this line:
uv_layer = blender_mesh_object.data.uv_layers[0]

But I need to expand this for 2 more UV layers with the names "lightmap" and "data", they both are optional so knowing the layer name is mandatory. I tried to get a layer with the name but got a KeyError.

# Check if layer name exists
"lightmap" in blender_mesh_object.data.uv_layers

# Get layer by name (raises KeyError if doesn't exist)
blender_mesh_object.data.uv_layers["lightmap"]

# Get layer by name (None if doesn't exist)
blender_mesh_object.data.uv_layers.get("lightmap")


text:
How to use correctly uv.seams_from_islands()?
I wrote a simple code based on this answer python: Split mesh by uv islands that should convert UV island borders to seams and then select them as edges but it worked unstably. To make uv.seams_from_islands() work

UV sync selection should be enabled
All faces should be selected

Is this how it should work?

I made the code in the connected question work successfully after adding a selection of all mesh elements and all UVs:
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.uv.select_all(action='SELECT')

Before running bpy.ops.uv.seams_from_islands()
Here is the full modified code:
import bpy
import bmesh
context = bpy.context
obj = context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)
# old seams
old_seams = [e for e in bm.edges if e.seam]
# unmark
for e in old_seams:
    e.seam = False
# mark seams from uv islands
bpy.ops.mesh.select_all(action='SELECT')  # NEW LINE!!!
bpy.ops.uv.select_all(action='SELECT')   # NEW LINE!!!
bpy.ops.uv.seams_from_islands()
seams = [e for e in bm.edges if e.seam]
# split on seams
bmesh.ops.split_edges(bm, edges=seams)
# re instate old seams.. could clear new seams.
for e in old_seams:
    e.seam = True
bmesh.update_edit_mesh(me)
To obtain separate mesh objects for each newly splitter section, one can add this line at the end:

bpy.ops.mesh.separate(type='LOOSE')


text:
How to store custom properties that use int and float vector property to json?
I wrote a simple code that gets the custom properties I've added to materials and stores them in a dictionary, then this dictionary I write to json file. And it worked until I added IntVectorProperty and FloatVectorProperty params and gotTypeError: Object of type bpy_prop_array is not JSON serializable
params = {}
custom_props = active_mat.my_custom_properties
for attr_name in custom_props.__annotations__:
    params[attr_name] = getattr(active_mat.my_custom_properties, attr_name)

with open(self.filepath, "w") as file:
   file.write(json.dumps(params, indent=4))

It didn't look like something hard to fix but I've failed, I've found some old implementations on the internet but they didn't work because bpy_prop_array object does not support indexing anymore or so

You can turn them into normal lists with list(prop).

Well, it's a possible solution, but it leads to another problem - filtering custom attributes by type because there are string enums for example. I didn't come up with an idea of how to implement it correctly.

authors: Ігор Спасівський


text:
How to upload videos from Blender to Youtube (and other things)
Yes, I have checked the other threads. Yes, I looked at the online tutorials. Yes, I tried converting it to an AVI file, but instead of getting what I want, I got either a very slowed down version of my video with no audio, or one with normal speed except my video is only 3 seconds long.
I even downloaded ffmpeg to try to "convert" the video, but I can't find any of the saved copies of my videos that I have.
I posted some of my settings down here.
Also, the video is showing up on a weird 90 degree tilt. So, how do I rotate it?
(from the .AVI one, to the .blender one, to the five other formats that I tried saving it under).

I find the "FFMpeg Video" with the Encoding -> Audo set to AAC works best. Uploaded a simple video using that to YouTube a few days ago without issue.

There seem to be several problems in your project:

File format is not the right one for YouTube
The frame rate is set to 32767
The camera might be rotated by 90°

Regarding 1): You probably want to use FFmpeg video as output format, with the Container set to MPEG-4, Video Codec set to H.264 and Audio Codec to AAC. This will create a lossy compressed video file. This seems to be one of the standard configurations that YouTube recommends.
Regarding 2): The frame rate should likely be 24/25/30/60 fps depending on the speed of your animation and the desired output frame rate.
Regarding 3): It could be that your camera is rotated 90° or it's because another setting in the video export was causing the issue. Check in the viewport that the camera perspective is correct by pressing Numpad 0.

I did number one, but the the video is still only half the speed. Also, by "frame rate should likely be 24/25/30/60 fps depending on the speed of your animation and the desired output frame rate" do I just go under frame rate and change it to one of those numbers? I only see one unit, instead of 4, units in which I can divide that ratio into. And, sorry, I  don't know what you mean by "viewport", this entire app is just one big Gordian knot to me.


text:
What is causing this artifact, when exporting from blender to ue4 as fbx?
Im new to blender and i literally have no clue, what is causing this problem :c

It looks like it could be z-fighting (an issue where multiple textures are close to each other so the camera doesn't know which one to render) Check the model in blender to make sure there are no faces stacked on-top of each other or close to overlapping. If you are unsure I would advice searching for a more in depth explanation of z-fighting it's causes and how to avoid and/or fix them.

i will make sure to check this out, thank you :D


text:
Japanese in text object
I can't seem to type or paste Japanese characters into a text object. Is there a way or is is this just a known deficiency or bug? ありがとう。 Thanks!

It seems like you just need to select a font that has japanese characters. I downloaded NotoSansJP-Regular font and it seems to work just fine. With Text object selected in Object Data Properties (The a tab) under Font you can select the font you want to use.

Thanks - it was actually a combination of issues. The font I had DID have Japanese characters, but seems damaged. When I tried another it was fine.  The text had to be pasted in (I assume you did that) It would not accept (ignored)  typed input. Not ideal, but workable. Thought I had tried another font, but I guess not - thanks for idea.

also I think you need a certain format (OTF?)


text:
Where to find information about used algorithms behind blender functions?
Currently I am interested in fixing holes in meshes. Unfortunately I could not find any information or reference to the algorithms that are used in Blender.
It would be great if somebody could point me into the right direction.
Kind regards,
Leszek

A starting point https://www.blender.org/get-involved/developers/ . But your question should be more specific about the functions or data structures you're looking for.


text:
Detect alpha present in image in script
So I have some models that have some transparent textures but they will appear black when imported, now I can easily fix this by using the names of the objects and then settings material to alpha blend and connecting the alpha nodes.
Thing is I wonder if blender has no knowledge whatsoever about wether an image/texture contains alpha?
I've seen something like this, where you make a new image one yourself:
bpy.data.images.new("albedo", width=1024, height=1024, alpha = True)

But I guess the imported images don't have the alpha option set to true by default, otherwise I would've expected Blender to already configure it correctly.
I also believe the only way to know this for sure would be to scan each pixel? As each image (rgb in my case) supports alpha but is not guaranteed to have alpha so I can't just "fix" all materials for transparency.
If I could just know what images were transparent I could just loop through all meshes, check textures, and if they have alpha fix the blend mode and link the nodes without relying on object names.

I currently use (image.depth == 32) to detect alpha, but I'm interested in better solutions too.

Oh alright, but does this detect wether it has alpha support or if alpha is present?

It should detect whether there is an alpha channel at all, ex. a JPG has depth==24. image.depth == (128 if image.is_float else 32) should handle 16-bit RGB{A} PNGs too, but there are still eg. grayscale+Alpha PNGs....

Alright this appears to work quite well for me, I am not sure what  you mean by a better solution?

It's been a while, but I'll promote this to an answer. This is what I'm using to detect presence of an alpha channel.
def image_has_alpha(img):
    b = 32 if img.is_float else 8
    return (
        img.depth == 2*b or   # Grayscale+Alpha
        img.depth == 4*b      # RGB+Alpha
    )

This should work for most common cases.

Btw, I noticed the FBX importer just uses my original suggestion, img.depth == 32.

any way to get this with multilayer exr files?


text:
Rotate angled plane in animation keep original angle (script)
I have a propeller as a 2d plane that is angled forward, I need to automatically animate an animation onto these propellers.

Thing is that at 180 degrees the whole plane get's rotated and makes the animation wobbly.

animatedPropellor.rotation_euler = startRotation
animatedPropellor.keyframe_insert(data_path="rotation_euler", frame=0)

animatedPropellor.rotation_euler = (endRotationX, endRotationY, endRotationZ)
animatedPropellor.keyframe_insert(data_path="rotation_euler", frame=animationFrameEnd)

Is there any way to set the pivot of this object in script in such a way that I can rotate it while keeping it at this angle?

What if you give it the desired angle rotating it in object mode, so it mantains its own coordinate system and then you rotate with Python on his own euler Z axis?

Thing is I am not really supposed to do anything to it by hand

Oh... I understand. Can you provide the Python script you used to create the propeller?

It is not created by a script, it is a collada import

Oh! Ok! In this case you should try (with Python) to calculate the rotation of the plane's big face (using trigonometry) add an Empty object rotated exactly at the plane's angle, parent the plane to the Empty and rotate the Empty instead of the plane. Sorry. in this moment I have no time to write that script, but I'm quite sure it can be done entirely in a python script.

Mh I think I have a solution with parenting it to an empty object and then angling that to the angle of the normal but I for some reason I can't set my newly created object location, it's as if it is just ignoring the obj.location = newLocation line

Do you maybe have time to show me a basic example of what you mean? I am not sure right now if only the angle of the normal will work for any situation.

If you provide the file I'll be able to write a complete answer with the code you need.

Alright I replaced the heli's mesh with a cube and removed textures and just left the rotors in place how they are supposed to be.
https://we.tl/t-sIQzg7hPVe