text:
Light goes through character
I dont know what exactly happen much. But I use shader node and use emission as light source on object. the problem I talking about is the light line that got through into character so anyway to fix shader?

Thanks so much for answer also.

Hello are you using the Compositor?

It looks like a composited effect, so it may be necessary to render the character (and everything in front of her) to a different layer and lay it on top.

I didnt use compositer. And I just know there is a compositer to adjust it. well thanks for answer so much!

In your render, we can see straight lens flares:

These are achieved from the compositor using a Glare node in Streaks mode:

If you don't want them at all, you can select the node and hit ⎈ CtrlX to "dissolve it" (aka remove it but preserving the connections).
If you want to keep this effect, but have it less pronounced, you could lower its Mix property in the negatives:

If you want to keep the effect but not have it shown in front of the characters, then as @Allen Simpson mentionned, you should layer things in compositor. One way to do that is by making multiple view layers, with each of them different visible collections, so that you can render things individually and layer them in comp. But a simpler solution is to use a Cryptomatte.
In your Viewlayer's pass properties, enable Object Cryptomatte:

Since it's a pass, we need to render it, but we don't need a full quality render, so to not waste time you can lower your render samples for a quick and dirty preview.
In the compositor, add a Cryptomatte node, to which you plug your Render Layer node's Image output:

It should automatically select the scene and layer type.
Plug your Preview node to the Pick output (⎈ Ctrl⇧ Shift LMB with node wrangler), it will let you see each object as a unique flat color and you can "select" them using the + button near the Matte ID text box, and then click the colors you want to add.

This creates an image of your selection on a transparent background, and a BW mask.
You can mix it with your glare node output using a Color Mix node, and enable the Alpha option next to the Mix dorpdown:


text:
How to fix these pixels in baking texture?
I used texture baking a lot in blender and this first time for this problem The edges between the two materials are pixelated.
I baking the texture 2K or 4K and no solution
used version 3.3.1 and 4.0.

so what is the issue here?

The edges between the two materials are pixelated.

We don't see two materials in your screenshot, only one material with one texture, all zoomed in. It's also normal to see pixels of a texture if you zoom enough. So please [edit] your question to provide more details about your situation, what you are trying to do exactly, what you expect to have and what you get instead. In addition, you can also share your file for us to better see what's going on.

This is the file. Is it normal for it to be pixelated like that? This is the first time I've seen it. It looks like I drew the texture in Paint.

Do the original materials use image textures? Because if material has low rez/low quality textures it doesn't matter if you bake in 2K/4K/8K if the source is low rez already it will remain that way after baking

No, it's not, it's a simple material like that.

Additionally to what Lauloque already wrote, you can optimize the UV layout. For example, align the UV faces to the pixel rows to minimize pixelation/aliasing.
Example 1, unwrap with Follow Active Quads option:

select a face (1)
make it a rectangle in the UV editor (menu UV > Align > ...) (2)
unwrap with Follow Active Quads option

The result will have minimal aliasing and stretching but a visible seam (3) if there is a pattern texture.
Example 2, alternative UV layout to get rid of the seam:

pin the UV verts (1) and unwrap it again to get this layout

The seam is gone, no visible aliasing, but there is more stretching and distortion (2).
Remember that you can separate UVs to have more than one UV island, which you can align and scale as required to suit your needs.

I think this will be the final solution, thank you for helping me.

So what you have here is a simple mesh with two materials assigned to different mesh parts, each being a Principled BSDF with different colors and other properties.
You are trying to bake the diffuse color from both materials into one texture. So what happens is for each pixel in the texture, the baking process will look from which material it belongs according to the UV unwrap, and from there sample the corresponding color. In this process of figuring out from which material to sample, there isn't an mixed answer, the pixel is always mostly from one face, so it will sample a color from only one material. Hence, the separation between the two will be pixel-perfect with no form of antialiasing.
One way to circumvent this is to bake at a higher resolution and then downsample, this is the most basic antialiasing method (MSAA).
Some addons such as Texttools have an option to do it for you.
That being said, it certainly doesn't help that your mesh's UV takes only a quarter of the whole UV space, you are effectively wasting 3/4 of your space, meaning each map wastes 3/4 of its computing time and its data load. And all the above is exacerbated since you have 4 times fewer pixels to deal with.

Using the menu UV > Pack Islands would automatically optimize that UV for you:

To give you an idea, this is what it looks like (in solid mode with a matcap for clarity) with a 1024px² texture with 4x MSAA (here done with Textools, but it would be the same with other tools or manually):

I will try this solution but I will unwrapping again to try to make the black line straight.
Thank you for your help.

source: Stack Exchange

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

sort: votes


text:
How to reset uv editing tab settings?

I was trying to give a wood material to a barrel but I kind of messed up the uv editing part and I was wondering how to reset it so I can do it again from scratch. also how do I make the material less random so it looks better? any tips on that?

hello it depends what you mean by "reset", but for a cylinder you could use the Cylinder Projection

reset it as if there wasnt anything changed. I tried cylinder projection but it isn't same as it was at the first place

Like keyboard ctrl + Z?

yeh I guess but its too late. also my problem is fixed now

"Reset like nothing's changed", sure, but changed from what?
There is such a thing as a UV reset, under the menu UV > Reset. But what that does is make your UVs "factory new", aka each quadrilateral is stretched on the whole UV surface. Example with Suzanne:

That's rarely used for a reason, and I doubt that's what you want. You probably meant to go back to some form of previous state where the UVs were already "changed", but not manually tempered by you sectioning and moving UV elements around. With Suzanne again, it could mean how to go back to this:

In theory, all you have to do is to select all your UVs and run the unwrapping again with the same method and same settings as you did before.
Unwrapping doesn't keep the manual transforms you did on the UVs so you will always end up with the same result when running it with the same settings.
Seam unwrapping
If you made the UVs by yourself using UV seams (marking edges to be cut in the UV unwrapping) all you have to do is select all your UVs and press U to open the UV Mapping menu, and hit Unwrap, which by default would have the following options:

Since Blender 4.3, we got a new unwrapping method, so the UV Mapping menu will propose all of three of them to you in an Unwrapping sub-menu, followed (but separated by a line) by the other non-seam based methods:

Chose angle based for the previous default. But feel free to try Conformal or Minimum Stretch too.
Other projection methods
Other projection methods like project from view, Cube/Cylinder/Sphere projection, and Smart UV Project, will not follow your UV seams and will cut the UVs wherever they want. So If you use such a method, so long you didn't add/remove mesh parts, it will give the same UVs any time you run one of these and discard any manual modification that was done after.
Primitive and imported objects
The primitive objects of Blender (Suzanne, Cube, etc) and some imported meshes have UVs done by manually cutting UVs, but don't have any edges marked as seams. This is because UV seams are not a standard data we can find in exchange formats. If you run any form of unwrapping on them, you will definitely lose the UVs they had.
To avoid that, you can select all the UVs in the UV editor, and then go to the menu UVs > Mark Seams From Islands, effectively creating the seams you need to obtain the islands.
Then, you can run the unwrapping methods as seen in the above Seams section.  But for the case of imported objects, if their UVs were done in another software, you might not get exactly the same result in Blender just because their algorithm are different. There's no way around that.
Save UVs
A way to avoid all of this, though rarely so crucial to be even needed, is to never do any changed on your UVs without a duplicating it first in case you want to go back.
You can go in the Properties Editor > Mesh data tab > UV Map panel, use the +- buttons to add/remove UV Maps, set the active UV channel (the one used by default in shaders) with the camera icon, and any new  UV channel will be a duplcate of the one you have selected.

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


text:
Automatic weights application issue
When I parent my mesh and armature with automatic weights, the weights don't work properly. I have tried recalculating normals, but it did not work.
This is my mesh and armature:

This is the way the automatic weights are getting assigned:

This problem is occurring for all bones. I also tried deleting the armature and used a new armature, but the same problem occurred.
Blender File

I just found out that I was making all the changes in one of the shapekeys and not in basis. When I tried to parent it again in basis it worked. But thanks for helping.

It seems that your mesh have some overlapping vertices that shouldn't be there, it confuses the automatic weighting, leading to the weights being erratic and inconsistent (which also explains why we don't get the same result on each weight generation).
To fix that: select your mesh, go into Edit Mode, hit M → Merge by distance
Set the distance to 0.0051 m (replace the last zero by five).
After that, go back into object mode. Select your mesh object, them ⇧ Shift select your armature and press ⎈ CtrlP → Armature Deform with automatic weights.
This should help. Though, the ultimate fix would be to have a correct topology for your model. But that isn't something that can be easily described in an answer, so I highly suggest you to get inform on the subject and find examples of cat mesh topology online to follow.

I had tried that but it did not work

I don't get the result you are showing there.
Try this:
In object mode: select your cat

now Shift-select your armature:

press CTRL-P -> with automatic weights
if you then move your bones, it looks good (to me):


text:
Information about the side of the mirror (left or right) while using mirror modifier?
Is it possible to obtain the information node (with value 0 or 1) about the side of the mirror modifier?
For example, I have a mirrored object and I'd like to have the possibility to use one set of textures on the LEFT side and another set on the RIGHT side of the object.
Let's say I'm using Mix Shader and have two different Diffuse Shaders plugged into it, the first with right side textures and the second with left side textures. I'd like now to have something that will give me the information (0 or 1) that I could plug into the factor socket of the Mix Shader. 1 would mean LEFT side and 0 RIGHT side (or the contrary, it doesn't really matter).
Is it possible to obtain that information somehow?

You can do this with the nodes pictured below.
click for full size

The gradient texture node is setting up the spiting left and right. The color ramp set to constant and with color stop #1 set to .5 gives half pure black, and half pure white. Which gives this.

You may need to use a Vector Mapping node to rotate where the split is located like in the image below.
click for full size

 Which gives this.

Clever method for static objects. If I understand correctly, it won't work correctly with meshes deformed through modifiers or armature - because it generates the object-based coordinates after the deformations?

@avvi You do not have to use generated coordinates, a UV map works great. As to the deforming, do you want a straight half and half (for example along the Z axis) no matter the deformation?

Whoa! It works with deformations :) Your method is perfect

you can select one part of the mesh by using a two-tone texture with halves along the axis, in this texture the x axis have the red tone, meanwhile the y axis have the green tone, in this way you can either select texture U ,V or both that provides the mirror modifier.

In material you put the above texture in the red node, in node green you use the node group setup of the second panel, and you must place the UV "mesh" in only one halve. With this node-setup you have the information of U texture or V texture, and you could also work with symmetrical or asymmetrical textures, like the example, in the blue node you have a symmetrical texture, meanwhile in the yellow node you have an asymmetrical texture.
UPDATE
Apparently there's no need for an auxiliary texture, the blend file with the groupnode is here http://pasteall.org/blend/index.php?id=46015, set 0-1 for bypassing the symmetrization of the UV coordinates, set 1-2 for U texture, set 2-3 for V texture, set 3-4 for U and V texture symmetrization. The node also gives you the mask of each coordinate.

The modifier's result is a new mesh. Cycles doesn't know which vertices are the original ones.
If you don't need UV texturing, then you can do a bitmap mask. Use 'U' option in Mirror modifier. Make an image that is totally black in left half and pure white in right half. UV of the mirrored vertices will get flipped around U 0.5, so left polygons will be black and right polygons white.

Generally, you can preserve the information through vertex groups. Make two vertex groups, GroupName.L and GroupName.R. Then assign all vertices to Group.L. In the Mirror modifier enable the 'Vertex Groups' option.
But as of Blender 2.71, I can't find any way to obtain vertex group influence values in a shader.

Thanks, but unfortunately I need U and V options in mirror modifier enabled.

Building off previous answers, with mirroring for the U coordinate on in the Mirror Modifier, you can feed the UV map into a color ramp to separate the two sides

Any problems this causes for your texture mapping can be fixed by using separate UV maps for each side.

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


text:
How to flip the view from the camera horizontally?
Many Photoshop concept artists flip their canvas horizontally from time to time during painting for a few seconds to better judge the composition. Is it possible in Blender's viewport, using the camera settings maybe?
Of course I could render the image first and then flip it in compositor or any external image editor, but it would be much slower solution than flipping the viewport live.

You can scale the camera negatively along it's local 'x' axis to acheive a flipped view (while looking through the camera).
Select the camera and press S,X,X,-,1
Pressing X twice will scale along the 'local' axis instead of the 'global' axis.
Alternatively just enter '-1' into the 'x' scale in the object panel:

That is cool! Like, way cool! Absolutely brilliant!

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


text:
How to Import Blender 2.79 built-in matcaps to Blender 2.80?
I'm missing my favorite matcap from Blender 2.79 in 2.80, this one on the left, indicated with a blue border:

Is there a way to extract matcaps from 2.79 and import them into 2.80? Or maybe there is a repository of old matcaps as images, somewhere in the Blender git?

OP's comment here reminded me that you could probably check the v2.79 tag (i.e. release) to find these files.
Here they are on the official repository:
https://git.blender.org/gitweb/gitweb.cgi/blender.git/tree/v2.79:/release/datafiles/matcaps
Here they are on the GitHub mirror:
https://github.com/blender/blender/tree/v2.79/release/datafiles/matcaps
The one you're looking for looks like Matcap 9:

Good call! I've mentioned your suggestions too now

Good idea, mine was slightly less convenient - download the whole archive and extract those files, eg. from there https://download.blender.org/source/blender-2.79b.tar.gz

If I remember correctly, matcaps in 2.79 weren't exr, which should mean that they were basically defined by their own preview image.
So what I'd do is:

take a screenshot of B2.79 (as you have already done)
cut just the matcap:

(( or better: use the actual 2.79 jpegs as Moira suggests! ))
save it (e.g. with GIMP) as an .exr
place it in the Blender folder, under 2.80/datafiles/studiolights/matcaps
voila

Thanks, I got another idea after some searching on blender git, the main problem was the "master" is now a 2.8 so I couldn't find those files there, but I found them elsewhere, maybe I will publish that as another answer later.


text:
is there an easier way to use a still from a movie as a texture?
I want to use a single frame from a movie as an image for a texture.  And I do NOT want to store the still in a file (I'll be creating hundreds of these materials using python).
If I give the material a texture from an "Image or Movie" and pick the movie file then blender automatically picks a different frame from the movie for each frame in the animation.  This is very convenient if you want the texture to play back the movie during the course of the animation.
If, however, you want to use a single still from the movie, the only way I have come up with to accomplish the mission is to put keyframes on the Offset property of the Image subpanel of the texture.  By making the offset decrement by 1 each frame you effectively freeze the texture on a single still.
I want to make sure there isn't a checkbox I overlooked or a simpler way.

blender internal.


text:
How to set up object material as from camera view
I want to set an object material as camera view. Is there any way in Blender to do this?
I don't have any idea so.
btw, I'm using Cycles render engine.

Does this answer your question? Setting to texture to a camera


text:
struct.error: unpack_from requires a buffer of at least 4 bytes
I have a script that imports .milo_wii files from The Beatles: Rock Band game (inspiration of my username). When I import the materials however, I get an error of "struct.error: unpack_From requires a buffer of at least 4 bytes". This is the line that gives me the problem:
mat_name_len  = unpack_from(">I", datastream, pos)[0]
I have tried renaming the 0 to 4, but that doesn't work. I have tried other solutions online, but I don't see how I could format their solutions into my line of code. If someone could steer me in the right direction, that would be great. Thanks.

The script expects there to be four bytes in datastream at position pos, but there aren't. This is a logic error in the script, probably the format of the .milo_wii file is not completely understood and accounted for. You can't fix it by tweaking this one line.

I just fixed the error by replacing pos with 4, (with having to replace other lines). But I am now greeted with this error on line 30: if os.path.exists(filepath): (ValueError: stat: embedded null character) I tried someone's tip online to replace with backwards slashes, but that didn't work.


text:
Blender hard freezes pc when rendering this file
I've been following a realistic earth tutorial (to learn the software), and attempting to render the image instantly freezes my pc so hard the only option is to unplug it. It has also just been crashing randomly, not just this file,  for absolutely no reason. I have attached the file here if you want to look for anything wrong. (hopefully, it uploads)

In this tutorial, two 8k and two 10k image textures are used. That's huge and consumes a lot of memory. I've just rendered the earth and Blender was at 12 GB RAM usage. If your PC does not have that much memory, you can scale down the images in an image editor like Gimp. A 8k image is 4 times bigger than a 4k image (because of width x height) and 16 times bigger than a 2k image which is roughly what a full HD TV screen can display. Try to scale the images down to 50% or even 25% and try again.

Here the comparison of the rendered image vs the 8k texture: https://ibb.co/HDTr3v6

Thanks! I tried using some of the lower textures and everything is working fine. My pc doesn't have a ton of memory so that was probably why.


text:
How to give an object the same shape of another that has a different number of vertices?
Basically, I have 2 premade human models, one of them is the original model, and the other one is an edited version that I sculpted some details on. For some reason, the edited version had a different number of vertices than the original version. I'm making a game mod and I need the edited version to have the same number of vertices as the original version for it to work.
I don't wanna have to sculpt the original version again cause that would take a lot of work, so is there any way to give the original version the same shape as the edited version?

Hello, maybe try a Shrinkwrap modifier?


text:
I need an animated text for a computer console / typing into a terminal
I need help. I want to animate a text, like a computer.
Like if someone were writing something in a computer terminal, but I don't know how to do that.
Please help!

Yes, this can be done with geometry nodes. I wanted this exact effect.

and what did u try so far? by the way: it can be done with animation nodes as well.

Hi, JuanJo 'writing in a computer'  can mean quite a few different looks.. do you mean:  'typing into a terminal'?  .. Could you include an image as a style-guide?

Yes!..RobinBetts, like typing into a terminal...... and TheLabCat and Chris thank you...I'd like to know if you have info about the  how to do it with animation nodes?

In Geometry Nodes, by animating the Slice of a string, you can introduce one character at a time.
This version:

Animates the Slice
Appends a space to the end of the sliced string
Transfers the position of the appended space, and puts a Grid there
Blinks the grid-object by scaling it to 0 for every other half-second

.. which looks like this with a green Wave texture, in Camera-space:

Oh my gosh that's beautiful. Well done, Robin!

@BlenderMaster15 Thanks! To you and other possible downloaders, I forgot to pack the font in the .blend. Should be fixed now.

Very nice solution. I don't want to nitpick, but it looks like the cursor is a little bit ahead and the letters appear a little too far to the left. Question about this: Why is the Position used as Offset for the cursor?

Ah, never mind. I missed the translation value of the Translation node. If you use 0.3 instead of 0.5 for the x value then it looks perfect.

That's fantastic. Love it! The wave texture finishes it off perfectly.

Hi. @Blunder.. Thanks! You're right. A true nerd-tree would automate the position and size of the cursor according to font, make it flash to the negative over letters for overt-typing. and have it blink only after a period of inactivity. (That last one really stumps me). I mentally went some way down those rabbit-holes. :) before concluding that the GN/shader trees would wind up too big for a compact answer, and  confuse a response to the original question. ( Not to mention being 3 days late )

@RichSedman ..if it was one of your answers, it would have the parallax behind the glass of a  crt, (ghosted with age,) a phase-flicker against the 'video camera' shooting it, and a reflection of the propellerhead in its slightly curved surface... :D

@RobinBetts This is awesome! Nice work. Just one question... how can we make it wrap words to a new line? A way to specify the line width, and parse words delimited by spaces would be stellar. But even basic support for pre-formatted multi-line text would be enough. I thought maybe I could paste in a multi-line string, but it didn't work. The String node is new to me - not sure if there's a way to match the newline character and instruct it to go down a line there...

@RobinBetts I realized that it was the String node that wasn't accepting newline characters, not the content of the datablock itself. So I wrote a super simple Python script to replace the datablock's contents: bpy.data.node_groups["TermType"].nodes["String"].string = bpy.data.texts["TextDataBlock"].as_string() I then redid the keyframing of the Slice String node, and in the String to Curves node I changed the alignment from top to bottom, to prevent text lines getting pushed up. Here's the .blend

One issue I noticed is that if center-aligning the text, its position jitters during playback as the string length changes. Maybe there's an easy fix, or maybe we can just manually type in the spaces to center the text, like back in the day. lol

@Mentalist Hehe .. interesting one! On my ol' Apple II.. fixed-width font in a fixed matrix of cells.  No half-cell adjustment, so if parity(n chars) <> parity(matrix-width), no perfect centering possible. So you would have to re-center manually every other character ... something like that.. add a space whenever necessary to keep the parity constant?

Correction: In a previous comment, I meant changed "from bottom to top", not the other way around. Also, regarding centering - there is always the option to center any left-aligned text using a function in the Python script - a function that pads text with space characters on each side before it gets written into the String node. Not the most elegant way, but would get the job done if nothing else does.

@RobinBetts You're right, no perfect centering in many cases (whether done using nodes or Python or manually typing). But maybe it can be set so that it leans one char further to either the left or right. That is to say, when 7 space chars need to be placed on the left and right of a line of text, it could be instructed on which side to place the 3, and which to place the other 4.

I've submitted a feature request to add multi-line input support for the String node. Just an idea to make this aspect of Blender a little more user-friendly. :-)


text:
Model gets pulled apart when Rigify rig is moved
I have been modeling a poly character. I made the wings separately from the model's body. Then I joined them using Ctrl+J as a union modifier making the wings disappear. The wings have their own armature, separate from the Rigify armature that is used on the body.
When entering Pose mode and moving the Rigify rig around the wings which were initially two separate parts that got joined together, get pulled apart into their original pieces even tho they have been joined into one object. (I couldn't use union as it would suck the wings into themselves).
The base model in Pose mode not moved:

Rigify hips moved forward:

Here is what is happening:
Each mesh object is attached to its armature through an Armature modifier.
When you joined the two objects together, only the Modifiers of the active object were preserved, so the wings lose their connection to the second rig.
Generally speaking, using two separate armatures on a single character is asking for trouble.
There may be a way to add the second Armature modifier by selecting the mesh, then shift+select the wing rig > Ctrl+P > With Empty Groups (this will keep the existing weights). Or you may have to add the second Armature modifier manually...
But even if you do this your rig may not behave intuitively.
Try joining the two armatures together instead. As a rule of thumb use one rig and one armature modifier per character. The character itself can be split into many mesh objects.


text:
Create a quadratic bezier from vertices of three different circles in Geometry Nodes
Im have three circles with the same resolution, and I was wondering how could I take a vertex from each circle and use it to create a quadratic bezier.
For example, take the first vertex of the three circles and make a quadratic bezier with the starting point, middle point and last point. Repeat that for every index.
I tried some different stuffs with the Transfer Attribute node, but the result is not what I was looking for.
This is what I achieved:

What I want is something like this:

These are my GeoNodes for it:

If I substitute the "Integer" node before the transfer attribute nodes for the "Index" node, it doesn't work.

Can u pls add a sketch how it should look like? Thanks

@Chris What I want is exactly what I show at the first image, but not just for one vertex, but for all of then.

@Chris I edited the question.

You can achieve this relatively easily by simply querying a certain position of each of the three circles.
The easiest way to do this is to use the node Sample Curve. It will directly provide you with the required positions for your curve.
After you have created your curve, you have two options (depending on what you really want):
Method 1
You can rotate and instantiate with Instance on Points along one of the circles to get exactly the shape you sketched.
If you divide $\pi*2$ by the number of points, you get the angle for a stepwise rotation.

Method 2
You can also create a mesh directly from this profile curve by using the node Curve to Mesh.
...and of course you can also use this method and remove the superfluous horizontal edges afterwards.

Here is the blend file:

This exactly what I'm looking for. I learned how to use the Sample Curve node as well. Thanks for your help :)

you can use this node setup:

to get this:

The quadratic bezierpath has 4 control points for its lowest resolution. So for 3 circles...you didn't define where the points should be. So i just set 2 points on the same spot.
And no, i won't change my answer if you want it another way (unfortunately i made this experience often here that people than "improve" their question to get what they really want, but i think the question shouldn't be changed but then they should ask a new more precise question)


text:
how to fix the error : Bone Heat Weighting: failed to find solution for one or more bones?
I have been getting the error (Bone Heat Weighting: failed to find solution for one or more bones
) when trying to parent with automatic weight. I have looked through my model to check if there are any disconnects and I couldn't find any. I have also used the cleanup tool to get rid of any duplicate vertices. I assume I have missed something, Could anyone help find where I went wrong?

File ------>

Try key 'M' > Merge By Distance. It removes 6 duplicated vertices with the default distance. After you got rid of them the operation 'parent with automatic weights' works.

https://blender.stackexchange.com/questions/15964/heat-weighting-failed-to-find-solution-for-one-or-more-bones?rq=1 has a variety of potential causes for this; I know of no cause that isn't listed in an answer on that page.  I'm voting to close this as a duplicate of that question (there are about a bazillion questions regarding this, and we try to keep it organized...)  That message above is BSE pretending it's me, I don't like it when it does that.


text:
Visualize rotational data from IMU in real-time
I'm looking for workflows to rotate an object in Blender in real-time with a stream of quaternion data from an inertial measurement unit (IMU). The quaternion data can be provided in whatever way or form is neccessary, so it will suit a proposed Blender workflow.

https://blender.stackexchange.com/questions/153079/object-controlling-using-arduino https://blender.stackexchange.com/questions/27959/controlling-drivers-with-data-received-via-tcp-udp/27960 https://blender.stackexchange.com/questions/27959/controlling-drivers-with-data-received-via-tcp-udp

This will highly depend on how you are getting the data from the IMU, whether the process is supposed to be automated and whether you know how to implement scripts with Python?

Dear Robert, I don't understand why you closed my question. Would you care to elaborate? I don't see why it matters how I aquire the data or if I know how to implement scripts with Python. The question is about the workflow and pointers to relevant documentation. Point is that I have quaternions and I'd like to feed them into Blender, so the cube rotates when I rotate the IMU. Kind regards

The approach and necessary steps highly depend on how you intend to get the quaternions from the IMU into Blender due to the requirement of updates happening in real time (IMU reports an update and the object is supposed to update the rotation). Generally, this could be done by implementing a Python add-on in Blender through its Python API. However, Blender does not provide support for IMUs out of the box.

I would suggest you try to break your question down into separate problems for which we could provide a precise answer to or point you to an existing answer that was previously asked (e.g. how to change the rotation of an object, how to continously run an operator, how to communicate over the network, ...). Depending on the context you are trying to use this for, there may be software other than Blender that is more suitable for this task though, for instance game engines (UPBGE, Godot, Unity, Unreal, ...).

@babe.schnitzel Thanks for the update. While answering your own question is entirely possible and even encouraged when find a solution, it should be done respecting the site structure. Could you break this up into two posts so the solution to the issue is displayed as separate answer in the proper answer section below, while keeping it distinct from the enquiry in the question section above? Perhaps add a few images illustrating the workflow and final results. See https://blender.stackexchange.com/help/how-to-answer

I learned from the comments and references here that the quaternion data could be provided to Blender via an UDP socket. Then a modal operator could be used to manipulate the properties of the object, which has to be written in Python, using the Blender Python API.
Unfortunately the approach given in Object Controlling using Arduino, which is using a modal operator, did not work for me. I adapted the script to process the rotational data but my version of the script failed because it tried to open the socket multiple times.
Later I came across a very nice blog post by Michał Ciesielski about using sockets in Blender. Instead of a modal operator he is using an application timer. I adapted his code a little to suit my needs.
Here's how I ran the code (on Linux) to make the little cube rotating, which sits there when you start a new project:

Create or open the Blender script in the 'Scripting' workspace.
 import bpy
 import socket

 HOST = '127.0.0.1'
 PORT = 65432

 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 s.bind((HOST, PORT))

 data = None
 bpy.data.objects['Cube'].rotation_mode = 'QUATERNION'

 def handle_data():
     interval = 0.33
     try:
         data, addr = s.recvfrom(128)
         if data.decode('utf-8') == 'quit':
             interval = None
             s.close()
         else:
             bpy.data.objects['Cube'].rotation_quaternion = list(map(float, data.decode('utf-8')[1:-1].split(',')))
     except Exception as e:
         print(e)

     return interval

 bpy.app.timers.register(handle_data)

Run the Blender script by pressing the 'Run script' button (triangle).

Run the client script from the command line. This script simulates the quaternion data which would come from the IMU.
 #!/usr/bin/env python3
 import time
 import socket
 import numpy as np

 HOST = "127.0.0.1"
 PORT = 65432

 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 sock.connect((HOST, PORT))

 try:
     while True:
         time.sleep(0.33)
         random_quaternion = list(np.random.uniform(-1, 1, size=(1, 4))[0])
         data = str(random_quaternion)
         sock.send(data.encode())
         print(data)
 except KeyboardInterrupt:
     # Stop with Ctrl-C
     sock.send(str('quit').encode())

Now you should see the little cube rotating. If you don't, check the error messages. To see the error message that the Blender script creates, start Blender from the command line and redo the above steps.

When I used an actual IMU I noticed that the latency, between rotating the IMU and the cube rotating on the screen, was rather big. I wonder why?! Will the latency shrink when I run Blender on more powerful hardware? Or is the approach to use an application handler very slow?
I'd like to leave the question open and would like to accept an answer that gives a better overview of all the possible workflows to get external (real-time) data into Blender to manipulate objects in real-time.


text:
How to get rid of UV-unwrap distortions on a curved object (sock model)?
I needed to have image patterns placed on the sock to generate a bunch of sock renders. So I made a model and got these strange distortions on UV-unwrap on the ankle level.
I tried to fix that in different ways by adding more or fewer seams, by pinning the vertices, but it still doesn't work and I keep getting this odd result on the ankles.
This is the best result I got so far -  by making the UV match square shapes, adding the seam on the back, two seams around the feet, and one on the toes level.
I would really appreciate a piece of advice from fellow modelers since I don't know how to go any further :)
The third image shows the default UV unwrap.

Something like this seems to work for me.

Use the UV sculpt tool to tweak stuff around to minimize distortion.
No matter what though you're going to have to compromise somewhere. Either things will be super perfectly aligned to your texture but slightly distorted in places, or vice versa. It's always gonna be a struggle trying to fit UVs to a preexisting texture. Especially one with such a distinct pattern like that.
I would look also consider looking at actual reference of some knit socks and try to follow the seams that they put in there. See if that works better. I did try it but couldn't get anything I liked. Keep in mind a lot of time when it looks "bad/not realistic" it's just because you're winging it when knit socks actually follow a strict pattern.


text:
faces of imported objects have different reflective properties
I've downloaded some car models, and after applying the scale on them, it became apparent that some of them have a narrower fresnel angle, so only the clearcoat is visible on most of the object.
I've made up a simplified .blend file, which i've uploaded here.
the two objects have the same topology, and are joined and using the same material slot, but the  left uses faces pulled from the car model, and the right uses freshly added faces.

It's also not affected by texture space, UV Mapping, or face orientation.
any advice would be greatly appreciated.

Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.

As you can see if you enable the display of the normals, the cube on the left have inverted normals, select all in Edit mode and press ShiftN to recalculate the normals:

It also has custom split normals data, which may create bad shading, maybe clear:

that's weird, I thought I'd checked face orientation, but obviously not; that seems to be the source of the problem.
thanks for your help!


text:
Blender Interior Faces Selection Behaving Unexpectedly
So the issue I am experiencing is to do with the Select > Select All By Trait > Interior Faces command. From the description it claims to select faces where all edges of that face are touching more than two faces each. This is a very logical and efficient way of performing this task. However in my experience it appears to be failing more often than not as showcased in the gif below.
Relevant Information

I am currently using Blender 3.2.0
This mesh was created by vertex snapping a bunch of primitive cubes together in the same object.
I have executed the Mesh > Clean Up > Merge By Distance command to remove all duplicate vertices.
I have executed the Mesh > Normals > Recalculate Outside command to ensure all of the normals are correct.
All of my faces are facing the correct direction. They are all drawn in blue when viewed with the Face Orientation Overlay.
I have tried executing the Select > Select All By Trait > Non Manifold command as well but that does not solve my issue because it still selects additional faces that are not interior faces. I have also tried every setting available in the Non Manifold selection command.

Relevant Topics I have reviewed during my research of this issue

How to fix exterior faces Blender thinks are interior faces
How to remove interior faces while keeping exterior faces untouched?
"Select Interior Faces" buggy and unpredictable? [duplicate]

None of the solutions offered in these topics have fixed my issue and I believe that this may be a legitimate bug given my experiences with trying to use the command as well as other user's experiences trying to use the command.

The one on the right works. But I had to align all the normals of the interior faces in the same direction (top and bottom).

How did you flip them exactly? I flipped all of the face normals so that they were uniform on the top and bottom but I'm still getting the same result. Can you link to your fixed blend file?

I will try to explain in more detail:

I selected all the exterior faces (using the views from the numpad: 1, crtl+1, 3... etc.)
I separated that selection (mesh > separate > selection or P+selection)
Then I aligned all the interior faces: mesh>normals>flip (as shown in the picture)
I joined both parts
Did a clean up > limited disolve
An another Clean up > merge by distance

That fixed the issue for me.
I forgot to unhide, so use alt+h in edit mod


text:
Emissions not working properly with alpha blending mode
I'm having some trouble getting this emission to work properly. I seem to have everything set up properly, but the emission is only glowing on certain points, as seen below:

I also have the PNG I’m using as the texture:

At first sight, this tree is a bit confusing.. can you show us a bit of the .png texture?

There i added it

There is no need to use both the Principled shader's Alpha input AND then mix it to a transparent shader. You are doing the same operation twice, one is enough.
If all you need from your material is Emission and Transparency, then you don't need a Principled shader in the first place. Replace it by an Emission shader mixed into a transparency shader, with your texture's alpha as factor.
If you need more things like specular, SSS or whatever, then use a Principled alone with your texture's alpha plugged into the Principled's Alpha socket.
As far as the Glow effect is concerned: it could be multiple things. The biggest culprit I can think of would be the texture file itself. A highly compressed picture file with lots of unwanted blocking and value shifts can lead to such issues.

I think the poster is talking about the artefacts caused by the Bloom effect, like this: https://zupimages.net/up/23/06/xole.jpg

@moonboots I think so, too.

Yes that's what I thought too, but I can get a similar result by generating a BW grid, saving it into a loosely compressed JPEG and then turning that into a transparentcy PNG. You can easily get similar looking files from poor sources on the Internet, and it's the variation of values introduced by the compression that brings the variations in bloom even if they might not be visible in the texture itself. But @GordonBrinkmann's answer sounds as good too.

The problems with the Bloom effect are most likely caused by those thin 1 pixel wide lines in your texture (or how wide they appear in the viewport)... the antialiasing effects result in slight variations of the intensity, then multiplied with an Emission Strength of almost 500 this results in brightness fluctuations which become visible in the bloom.
I cannot see your Bloom settings like Threshold etc., but let's say the intensity of the glow varies just between 0.7 and 1 - multiplied by 500 this is 350 and 500, the smaller the greater the gap. Depending on the threshold this can make quite a difference in bloom effect.
The glowing line itself will always be bright green or (if red and blue channels are > 0) get close to or reach white. But the image cannot have more than a value of 1 per channel, so the emission color might not show subtle differences, but they might affect the bloom.
Oh, and as @L0Lock says: when you use a Principled BSDF shader there is no need to mix with a Transparent BSDF shader.


text:
Branching and swirling mesh on a ring
I need help constructing this ring.
I thought it would be simpler, but the splitting and recombining of curves that swirl in variously symmetrical ways make the intricacy a little more difficult than I had imagined.
What is the most appropriate technique to efficiently model symmetric branching and swirling curves on a ring?
Real Information:
I am attempting to create a printable engagement ring with certain topological requirements.  Due to the symmetry and math involved, I have been attempting to create the ring band beginning with bezier curves, and then applying bezier curves to form surfaces for the mesh.  I am trying to do this completely with the python scripting language, such that I can alter any portion in a modular fashion.
One issue I have run into: branching is not possible with bezier curves.
What I have done:
   1) create curve as long as the ring
   2) bend it to circle
   3) apply surface as taper
After this I am stuck on trying to do the weaving, swirling, and branching around the stone.
I have attempted to apply another simple deform to bend around the top portion of the ring, but this fails miserably, as it does not proportionally fall off - i.e. the entire ring twists around.
I am attempting to emulate the images below:

These images are fom Robert Kohr (https://www.robertkohr.com/ring/engagement-ring-design/), but are highly similar to what I am interested in creating.
Here is the function for the band that I have so far:
import numpy as np
ring_size = 47

def create_curve_object(obj_name, coords):
    # Add the points to curve data
    curveData = bpy.data.curves.new('myCurve', type='CURVE')
    # curveData.dimensions = '3D'
    # curveData.resolution_u = 2

    # map coords to spline
    polyline = curveData.splines.new('NURBS')
    polyline.points.add(len(coords))
    for i, coord in enumerate(coords):
        x,y,z = coord
        polyline.points[i].co = (x, y, z, 1)

    # create Object
    obj = bpy.data.objects.new(obj_name, curveData)

    # make active and add:
    scn = bpy.context.scene
    scn.objects.link(obj)
    scn.objects.active = obj
    obj.select = True
    return obj
def ring_band():
    scn = bpy.context.scene

    # Make Backbone #
    #################

    # band length coordinates
    ring_points = np.linspace(-ring_size/2, ring_size/2, 100)
    coords = [(pt, curl(pt, start_curl = 0.9*ring_points[-1]), 0) for pt in ring_points]
    ring_band = create_curve_object('ring_band', coords)

    # turn the ring standing up
    ring_band.rotation_euler = (np.pi/2, 0, 0)

    # Surface creation #
    ####################
    bpy.ops.curve.primitive_bezier_circle_add()
    band_surface = bpy.context.active_object
    band_surface.name = 'band_surface'
    bez_points = band_surface.data.splines[0].bezier_points

    # Apply surface
    ring_band.data.bevel_object = band_surface

    # Shape surface
    def normal(x, std_dev, mean):
        return 1/(std_dev*np.sqrt(2*np.pi))*np.exp(-(x-mean)**2/(2*std_dev**2))

    def f(x):
        std_size = 1.5 # in mm
        deviation_left_side = 12 * normal(x,  std_dev = ring_size/10, mean = -Nda_size/2)
        deviation_right_side = 12 * normal(x,  std_dev = ring_size/10, mean = Nda_size/2)
        deviation_bottom = 20 * normal(x, std_dev = Nda_size/4, mean = 0)

        width_of_ring = std_size - deviation_bottom - deviation_right_side - deviation_left_side
        return width_of_ring

    coords = [(pt, f(pt), 0) for pt in ring_points]

    band_surface_contour = create_curve_object('band_surface_contour', coords)
    ring_band.data.taper_object = band_surface_contour

    # Bend around circle #
    ######################
    # Use empty circle to bend
    band_bender_empty = bpy.data.objects.new("band_bender", None )
    scn.objects.link( band_bender_empty )
    band_bender_empty.empty_draw_type = 'CIRCLE'
    band_bender_empty.rotation_euler = (np.pi/2, 0, 0)

    # TODO: How is this adding to a specific object?
    bpy.context.scene.objects.active = ring_band
    bpy.ops.object.modifier_add(type = 'SIMPLE_DEFORM')
    ring_band.modifiers['SimpleDeform'].deform_method = 'BEND'
    ring_band.modifiers['SimpleDeform'].angle = (2+1/4) * np.pi

    # add array mirror swirl modifier
    bpy.ops.object.modifier_add(type = 'ARRAY')
    ring_band.modifiers['Array'].use_object_offset = True

    # Mirror Swirl #
    ################
    bpy.ops.object.empty_add(type = 'PLAIN_AXES')
    empty_swirl = bpy.context.active_object
    empty_swirl.name = 'empty_swirl'
    # change scale X = -1
    empty_swirl.scale[0] = -1
    empty_swirl.scale[1] = -1

    ring_band.modifiers['Array'].offset_object = empty_swirl

will this tutorial help, https://youtu.be/gVUvnSJ-t3M also have you tried googling it? hope you have success.

I wouldn't do this all with a script because that kind of work takes a lot of time when you get into the nitty gritty parts like the ones you're stuck on. I would do this work manually from there on. It's been 1/3 of a year, is this question still relevant to you?

You considered this add on? https://www.youtube.com/watch?v=XZ6uIdNnrHk

This is not using Python code. I have to try that method on time, it seems interesting, but using the software itself, such a thing can be achieved.
This is not exactly your plan, but it is an idea and may help other people in modeling.
You can use Shift+A to build a cube as well as a path.

As shown in below figure, enable options Stretch and BoundsClamp for path. Also use a Curve Modifier for cube from the modifiers setting according to the right section of below image. Don't forget to set path as an object of Curve Modifier. Now you can bend the cube as a ring; but you need one more step for that to be happen (Remember this section later for making branches as well).

Now select the cube and go to edit mode and use Ctrl+R to add more edges to the cube. This helps the cube to bend more smoothly.

From now on, if you select the path and go to edit mode. By bending the path, you can also bend the cube.
So by editing the path, you can make something like this:

You can use Ctrl+R one more time, select faces from one side, use X + F to cut the mesh from half; Shear the rest of the mesh; and finally use Mirror Modifier.

Now by selecting one face and enabling the Proportional Editing Mode with O and using G or R keys; By rotating or moving one face according to other neighboring faces; you can make the surface of the ring.

You can use Mirroring again to make other side of the ring; and also ExtraMesh Addon to make a diamond quickly.

Now the question (Branching):
Select the ring; go to edit mode; Select a face and Extrude it using E; now you can have an extra object; select that object and extract that mesh using P key. Use Ctrl + R to make more Edges in new object. Here again, the same method of making a ring must be repeated from the beginning, and by making a path and curve modifier, you can create a new branch.

Now shape the new branch by editing the second path object:

Now you should merge the branch with the ring; select both of them and use Ctrl + J; and join verts by selecting each pair and using Alt + M

And the final result:

I tested Python in Blender for the first time and I can say it was great. It took me 2-3 hours to get used to it, but I was able to make branches randomly.
I did not try to make a complete ring with the code, it usually takes a lot of time, and later I test this on time and update the answer, but as an example, this code is not a bad idea for generating branches.
import bpy
import math
import random
import numpy as np
from bpy import context, data, ops
from mathutils import Matrix

#____________________________________________#

def eulerToDegree(euler):
    return ( (euler) / (2 * pi) ) * 360

#____________________________________________#

for material in bpy.data.materials:
    material.user_clear()
    bpy.data.materials.remove(material)

for obj in bpy.data.objects:
    bpy.data.objects.remove(obj)

for obj in bpy.data.curves:
    bpy.data.curves.remove(obj)

bpy.ops.mesh.primitive_cube_add(location=(0,0,0))
bpy.context.object.data.name = "RingMesh"
bpy.context.object.name = "Ring"

bpy.ops.transform.resize(value=(.3, .3, .1))
bpy.context.object.location = (0,0,0)
bpy.context.object.rotation_euler = (0,0,0)

bpy.ops.object.modifier_add(type='ARRAY')
bpy.data.objects["Ring"].modifiers["Array"].relative_offset_displace[0]=0
bpy.data.objects["Ring"].modifiers["Array"].relative_offset_displace[1]=0
bpy.data.objects["Ring"].modifiers["Array"].relative_offset_displace[2]=1
bpy.data.objects["Ring"].modifiers["Array"].count=100

bpy.ops.object.modifier_add(type='CURVE')

# Create path and enter edit mode.
ops.curve.primitive_nurbs_path_add(radius=1,location=(0,0,0),enter_editmode=True)
bpy.data.curves[0].name="RingPath"
bpy.context.active_object.name="RingPath"
bpy.data.curves["RingPath"].use_stretch=True
bpy.data.curves["RingPath"].use_deform_bounds=True

# Means no subdivision
ops.curve.subdivide(number_cuts=0)

# make a random deformed branch
# ops.transform.vertex_random(offset=1.0, uniform=0.1, normal=0.0, seed=101)
ops.transform.vertex_random(offset=1.0, uniform=0.1, normal=0.0,       seed=random.randint(1,1000))

ops.transform.resize(value=(2,2,2))
bpy.context.object.rotation_euler = (0,math.radians(90),0)

# Return to object mode.
ops.object.mode_set(mode='OBJECT') #exit edit_mode

bpy.data.objects["Ring"].modifiers["Curve"].object=bpy.data.objects["RingPath"]

And this is the result of random branches (Blender 2.79):

I would think that the best way to do this is to make a bezier curve to use as a guide and then add points to the original torus.
I would also try to not build the whole ring and instead split the ring into symmetrical pieces and then press Alt + D to create a duplication.  If you change one part of the symmetrical pieces the others will change with it and it will make the job much easier.
With using Python scripting, I do not know how to use this to your advantage.


text:
How to create scales on an dragon egg?
TLDR
How to add scales to an egg in Blender? They need to be correctly around the egg and change size depending on where on the egg they are (largest scales around the fat part of the egg and smallest on the top).
Context
I am trying to learn blender for 3d printing, and I am having trouble figuring out how to add scales to an egg so that they wrap around the egg and change size depending on the position on the egg (largest scales on the widest part of the egg and smallest on the top of the egg).
I know how to model scales and how to group them. I tried this YouTube video about using point projection with geometry nodes
Blender 3.3: Point Projection for Making Scales, Petals, Sequins, and the Like - YouTube
But I am not able to correctly position the points of the scales (they need to point up and bend somewhat with the shape of the egg) and they also need to change size depending on where on the egg they are as described above.
I am guessing that using geometry nodes is the best way forward, but being fairly new to blender and 3d modeling, it’s not easy to figure out.
This is an example of what I would like to achieve in the end

Can you show your best result? Did you try the Tissue add-on?

If you feel comfortable with sculpting you could use this method explained by blender 52. You need to open the Symmetry panel and choose a number of Radial Z repetition (keep X symmetry selected if needed). You could also use a b&w texture as pattern (see the Blender Secrets tuto here):

Or create the pattern, mirror and array it:

Use the Simple Deform modifier (Bend mode, 360° on Z) to make it circular:

Duplicate to keep a non-destructive version, edit with the Proportional Editing activated:

In combination with the upcoming VDM brushes, sculpting something like this would take just a minute or two. Great answer.

Oh ok I haven't heard about these brushes

I think they'll be introduced in the next release (3.5), you can try them in the beta but here you can see the Z-Brush equivalent tool: https://www.youtube.com/watch?v=r4zg_95mbEI

wow that's impressive, thanks


text:
How do I use python to get the dimensions of a text object immediately after it is created?
I'm creating a text object using Python and I'd like to do a non-standard align (something other than left/right/center).  To accomplish this I need the dimensions, but the dimensions.x is 0 at the time the python is running.  It becomes non-zero later
import bpy

name = "text1"

t1 = bpy.data.curves.new(name, 'FONT')
o1 = bpy.data.objects.new(name, t1)
o1.location = (0,0,2)
bpy.context.scene.objects.link(o1)

t1.body = "Hail Bob!"

c1 = o1.constraints.new('TRACK_TO')
c1.target = bpy.data.objects["Camera"]
c1.track_axis = 'TRACK_Z'
c1.up_axis = 'UP_Y'

if False:
    t1.align = 'RIGHT'
else:
    print (o1.dimensions.x)
    t1.text_boxes[0].x = o1.dimensions.x * -0.3

Is there a blender API that will trigger a calculation of the dimensions property of the object so that I can use it before returning control to the UI?

Since there's no .update() method for Curve objects, you need to trigger a scene update:
t1.body = "Hail Bob!"
bpy.context.scene.update()
print(o1.dimensions)

Result:
<Vector (3.6080, 0.7000, 0.0000)>

For 2.80: bpy.context.view_layer.update()


text:
What are the formulas to define the camera's view cone?
What are the formulas to calculate the 4 half-planes that define the camera's view volume?
The inputs should be the camera's world matrix, focal length (and maybe sensor size?) and anything else I overlooked.  I am not interested in the clipping start/end, but extra credit if you include them.
I plan to use this to calculate if an object would be visible to the camera, (which is slightly harder since the origin could be off-camera, but polygons could still be on-camera, but I can fudge that).

You should cull the objects with bounding-spheres to avoid the origin problem, its fast. Search for frustum culling, this question is more for Game development stack exchange than blender..

It is not for game.  I want to add more objects (part of a lattice) to the scene, but not in places where they will never be rendered.  I could easily add 100,000 objects and only have 10,000 actually show up on camera, so I'd rather just add only the ones that will appear on camera.

After a couple of quick experiments I determined that for a square camera the following coordinates (expressed in the camera's local coordinate system) would appear in the corners of the image:
x = y = sensor_width/lens /2
[±x, ±y, -1]

For a rectangular image, whichever dimension is larger becomes sensor_width/lens/2, and the smaller dimension is proportionally adjusted.
To define the half-planes in the camera's coordinate system, it's enough to calculate the cross products of the vectors pointing at the vertices of each edge, so
lr = [ x,-y,-1]
ur = [ x, y,-1]
ll = [-x,-y,-1]
ul = [-x, y,-1]
n1 = | lr × ll |
n2 = | ll × ul |
n3 = | ul × ur |
n4 = | ur × lr |

We normalize the vectors to length 1 so that we can use them in distance calculations later on.
When you want to determine if a particular coordinate c is in the camera's view cone convert it to camera local coordinates using
M = cam.matrix_world.inverted()
c2 = M c

Now that we have c2 (in the camera's coordinate system) we can compute the dot product between it and the various half-plane normals.
zi = ni ∙ c2

If all those zis are >=0 then the point is in the camera's view cone.  If the original coordinate is for an object, it's useful to incorporate a fudge factor like the radius of the object's bounding sphere (centered on the coordinate) and make sure that zi >= -fudge .
And this is the python class based on all that math:
class CameraCone:

    def __init__(self, matrix, sensor_width, lens, resolution_x, resolution_y):
        self.matrix = matrix.inverted()
        self.sensor_width = sensor_width
        self.lens = lens

        w = 0.5* sensor_width / lens
        if resolution_x> resolution_y:
            x = w
            y = w*resolution_y/resolution_x
        else:
            x = w*resolution_x/resolution_y
            y = w

        lr = Vector([x,-y,-1])
        ur = Vector([x,y,-1])
        ll = Vector([-x,-y,-1])
        ul = Vector([-x,y,-1])
        self.half_plane_normals = [
            lr.cross(ll).normalized(),
            ll.cross(ul).normalized(),
            ul.cross(ur).normalized(),
            ur.cross(lr).normalized()
        ]

    def from_camera(cam, scn):
        return CameraCone(cam.matrix_world, cam.data.sensor_width, cam.data.lens, scn.render.resolution_x, scn.render.resolution_y)

    def isVisible(self, loc, fudge=0):

        loc2 = self.matrix * loc

        for norm in self.half_plane_normals:
            z2 = loc2.dot(norm)
            if z2 < -fudge:
                return False

        return True

this is great !

Small correction for the previous answer:
line "loc2 = self.matrix * loc" should be "loc2 = self.matrix @ loc" for the newer versions of Blender

This does not provide an answer to the question. Once you have sufficient reputation you will be able to comment on any post; instead, provide answers that don't require clarification from the asker. - From Review


text:
How do I make the operator parameters panel appear in the sequence editor instead of the 3d view?
I have an operator I wrote which adds letterboxing to VSE strips: letterbox.py
It has some parameters that I would like to expose to the user, but the operator parameters panel only appears in the tool shelf of the 3D view, which is not usually in use when doing VSE work.
How do I get blender to show these operator parameters somewhere that would be accessible to someone using a traditional VSE window layout?

Check out this tutorial:  After you create your panel, you can make it accessible via Hotkey for a quick popup.
https://cgcookie.com/blender/2013/07/12/creating-custom-toolbar-panel-python-scripting/

When adjusting options is support, pressing F6 will bring up the operator options in most blender windows.

Another option may be to setup a panel in the properties sidebar that shows your operator options.


text:
One animation is always played
I'm pretty new to Blender and totally new on Stack so forgive the newbie question.
I made a simple model on blender with one animation and now I want to create another animation. Unfortunately the first animation is always here even when I click on the little "x" in the action editor to unlink this action.
I mean when I select a frame, I got a pause from my previous animation even when I started a new one !
What am I missing here ?
the file :
https://www.dropbox.com/s/lprc2ukyux113tb/Lemming.blend?dl=0
edit : I noticed that "the number of users of this data" (number between the action name and the "F") is 4 instead of the traditional 2. I don't know why, maybe this could help ?

Use https://blend-exchange.giantcowfilms.com/ to upload blend files. Have you done research, duplicate of https://blender.stackexchange.com/questions/66659/how-to-create-a-new-empty-action https://blender.stackexchange.com/questions/15886/action-users-number-confusion Do not ask two questions in a single question.

I've resolved the problem myself : I've removed the action from the NLA Editor and everything works fine !
But I don't really understand what happened here, perhaps someone could give a more developed answer ?

You might simply have clicked one of the "push" and "stash" buttons around here: https://i.imgur.com/gL5cBU2.png


text:
Rigging an anatomical muscle
Is there a way to make a rig that keeps my muscle attachments firmly anchored onto two separate (anatomical) bones while the arm bone moves?
I want to show a few muscles moving with the shoulder joint but I can't find any similar examples on the internet other than muslce approximations that make flesh bulge. Here I don't need skin.
The goal is to show muscle transfer surgery - how relocating a nearby muscle can bring back movement lost with paralysis after injury. For example, sometimes a portion of the pec major is transferred on top of a paralyzed deltoid muscle. If anyone has any ideas for potential rigging workflows that might allow me to rig an anatomical muscle in this way, please share ideas I might research. I am working with retopologized versions for actual rig tests.
I have been trying to use hook modifiers, but they seem to stop working sometimes.
Thanks!
Jim

Can you post the .blend file? There are several questions tbe pic alone does not answer. Are you using an Armature Modifier? If so,  is everything properly weight painted? Are the muscles and bones separate objects? If so, each needs to have the Armature Modifier... and so on, etc. About the "relocating muscle" part of you question, that seems like post-work - editing different renders from scenes with different stages of the procedure together in a single video.

I think I have solved the problem of the hook modifier behavior by making custom vertex group hooks. I copied the vert group and assigned it but also made an exact copy as a separate mini-mesh. I will upload the screen shots later today, as I think this workflow is giving the best results I have ever had. You are right, there are really two problems: hook behavior (even with weight painting) and muscle rigging. I think I will treat the rigging with armature as a separate question sometime and take the success of the hook for now.

the shiny torus was manipulated with the hook technique I came up with today. If anyone else has trouble with hook behavior, perhaps I should upload the screen shots.

FYI the custom vert/hook objects are invisible on the torus but I parented them to the cylinders. I will try on real bones later.

I think I have solved the problem of the hook modifier behavior by making custom vertex group hooks. I copied the vert group and assigned it but also made an exact copy as a separate mini-mesh.
The shiny torus was manipulated with the hook technique I came up with today. If anyone else has trouble with hook behavior, perhaps I should upload the screen shots.
FYI the custom vert/hook objects are invisible on the torus but I parented them to the cylinders. I will try on real bones later.

Use a spline IK rigging method.  Depending on how detailed you need the muscle being moved away from the bone, you can break up each individual muscle into multiple spline IKs. Like if you are just going to move back the whole posterior deltoid from the joint, you can use one curve to represent the whole group.  If you only want to peel away part of that muscle, then break the anterior deltoid mesh into multiple meshes, and use the spline on the part that you need to pull away.  Great tutorial on how to build a fully animatable rig is at https://www.youtube.com/watch?v=IrXAPC-PLLA.
Im working on some anatomical rigging problems too, and built a model with bones, connective tissue, and splines for the muscles.  I took a pic here of me detaching one end of the muscle from the bone, using the control empty.  If you have more control points on the spline, you could
 peel it away as a nice curve.  This green muscle only has 2 control points, so it acts like a point to constraint, with 3 I could bend the muscle into any shape I wanted
Hope this helps!

Thanks Tyler! This looks like a great idea. I imagine that an empty located near the middle of the muscle could also be scaled slightly larger to give the illusion of muscle contraction. I would love to see the final results of your vertebral experiments.

Tyler... have you made progress on the spine rig?


text:
Change material texture by loading an external .png file with Python
I'm trying to change the texture of an object by changing the .png texture image I'm loading from an external folder.
When using the Blender interface, all I need to do is going to the image tab in texture and open the file I want:

then

The changes are then operated automatically.
How would I go about to do the same in Python?
I have read other stackexchange answers to similar questions but I'm not sure to what extent they apply to my situation.

Let's say I have a plane with an image texture called leaf1.png and I want to change the texture to leaf2.png.
If I hover my mouse over the source area, I can see some text at the bottom of the tooltip that says how to access that data with python. Like this:

From this, I know that I can access this with python using bpy.data.images['leaf1.png'].filepath
So to change the image source with python, I do:
import bpy

bpy.data.images['leaf1.png'].filepath = 'path/to/leaf2.png'

Thank you very much. Your answer clearly does what I was trying to do, but there is one point that somewhat troubles me, namely that that
bpy.data.images['leaf1.png'].filepath is now equal to '...leaf2.png'. Is there a way that I could have the command that handles the texture become bpy.data.images['leaf2.png'].filepath ?

"leaf1.png" is the image name. You can change that too. Just hover your mouse over the leaf1.png and you'll see bpy.data.images['leaf1.png'].name is the python. So you could set the name to "leaf2.png", then use that name to change the filepath. But what's in a name?

You can enable/disable those 'python tooltips' in the preferences

In Blender 3.1, one can do this:
import bpy

# Step 1 - Add Box
bpy.ops.mesh.primitive_cube_add(size=2, location=(0, 0, 0), scale=(1, 1, 1))
box_obj      = bpy.context.selected_objects[0]
box_obj.name = 'MyBox'

# Step 2 - Material
box_material_obj = bpy.data.materials.new(box_obj.name + '-Material')
box_material_obj.use_nodes = True

bsdf           = box_material_obj.node_tree.nodes["Principled BSDF"]
texImage       = box_material_obj.node_tree.nodes.new('ShaderNodeTexImage')
texImage.image = bpy.data.images.load('myimage.png')
box_material_obj.node_tree.links.new(bsdf.inputs['Base Color'], texImage.outputs['Color'])
box_obj.data.materials.append(box_material_obj)

Inspired from this blog by paperspace.com


text:
Deselect first and last vertices of a path with Python
I have a path of verts and I want to deselect the left one and the right one: with indexes 0 and 2:

The problem is that I can't seem to figure out how to find correct indexes. Iterating through ob.data and bmesh.verts gives me a sorted lists, using a ops.mesh.select_less() deselects everything (in this example), I've tried different options of Sort Mesh Elements without any luck, so I'm out of ideas to make this happen without using something like geodesics on surface.
In the example above the verts I'm looking are placed as far from each other as possible but this is not might not be the case, for instance:

In order to help we need to know what makes those two vertices special, I can see in the images that it is the angle, that the vertices have with their neighbours, as well as 1 selected vertex, but it may not be what you are looking for.

In both cases above the angle between selected edges at vert is around 90.  Will this always be the case?

@WhatAMesh ah, interesting: yes, the angle between path segments is the same (bevelled verts). Can this help? I'm not sure how to compare angles in 3d

@batFINGER, the angle between the first and the last edge may be different but it's always larger than between all the other selected edges

I'd use the approach based on what @WhatAMesh already mentioned. Only take vertices that have only one neighbor, except when it's encompassing a face, then you may be able to use the "last selected" vertex as indicator for the break between the last and first vertex.

The two verts with largest angle between two linked selected edges.

the angle between the first and the last edge may be different but
  it's always larger than between all the other selected edges

Going by images in question you have a closed loop, if the two verts are ends of selected edge path, see below.
Test Script orders a list of selected verts, orders them by "edge angle" if they have two selected linked edges else assigns -1.  The last two vertices are deselected.
Note this is only a proof of context. Getting the angle of three verts a, b, c, edges ab, bc, could also be done via checking dot product of normalized edge vectors.
import bpy
import bmesh
from math import degrees

def edge_vec(e):
    return e.verts[1].co - e.verts[0].co

def edge_angle(v):
    edges = [e for e in v.link_edges if e.select]
    if len(edges) == 2:
        e0, e1 = edges
        return edge_vec(e1).angle(edge_vec(e0))

    return -1

context = bpy.context
scene = context.scene
ob = context.object
me = ob.data
bm = bmesh.from_edit_mesh(me)
verts = sorted((v for v in bm.verts if v.select), key=lambda v: edge_angle(v))

if len(verts) >= 2:
    for v in verts[-2:]:
        print(v, degrees(edge_angle(v)))
        v.select = False

bmesh.update_edit_mesh(me)

EDIT
For the case here, where the verts in question are at either end of an edge path, it would be a matter of looking for selected verts that have only one selected edge in their link edges
verts = [v for v in bm.verts if v.select
         and len(e for e in v.link_edges if e.select) == 1]

Thank you! I'm not sure I understand the last part: shouldn't it be my_list[:2]? because two elements I need to deselect are first in the list (have the largest angles) or am I missing something? Here on the left screen I run the script with [-2:] and [:2] on the right: https://prnt.sc/qzngmq

No.  The two elements are last in the list, which have largest angle. Its from the second last -2 to the end.  At issue with the screenshot shown is only one edge is selected at the two vertices you wish to deselect, as opposed to screenshots in question.  Might have to look at verts that have only two link edges instead of two selected link edges.

Ah ok, thank you for explanation


text:
Offset points in space with python
I have a path-curve that uses a profile with two circles (reference and profile on the image below). I'd like to create a second curve at the same distance as the distance between the profile circles (red arrow between the profile circles) — a black curve in the expected result. If I simply offset each point of a curve by that distance, my curve is 'parallel' to the original (my result), how do I calculate those vectors that are used for offset?

https://blender.stackexchange.com/questions/95289/distance-between-two-bezier-curves/95299#95299

@DuarteFarrajotaRamos thank you for your input, forgot to mention that I use polygon splines here, not bezier curves: all the roundness comes from a bunch of points, so mathematically this should be possible. I know how to do that in 2d, but not in 3d :/

https://blendermarket.com/products/curve-offset-in-3d-space

@DuarteFarrajotaRamos thank you for all the links but I'm looking for a python solution for polygon splines: curves offset is a paid addon that works only on bezier curves

I am not a Python expert, but it would seem that you would have to iterate through point by point and get the vector between points to go the direction you want. I hope to see the solution!

@CobyRandal my question is exactly how do I find this vector :). I've tried several ways I could think of but I'm bad with math

Not perfect (but imperfections are like the one we have bevelling or insetting, etc. too far), and that can also be the case with a curve and bevel object.
The principle:

Start with the first two vertices of the curve, a segment S0 = (V0, V1)
Get the location of the starting position of the // curve P0
Calculate the displacement D0 = (V0, P0)
Calculate the normal N0 = D0 cross (V0, V1)

Now iterate for 1 to n:

Get the new normal by D(i-1) cross S(i)
Get the new D(i) = S(i) cross N(i)
The location is Pi = Vi + Di

Result with imperfection (the active curve with 4 empties as starting points):

Main part of the code is the following (complete code is in the blend file below, so this snippet won't work alone).
To use it from the blend file: the curve is the active object, starting points are selected object.
def create_parallel(curve_object, from_object):
    #Get the poly spline
    poly = curve_object.data.splines[0]

    #Create the target poly spline
    target_object = create_curve(curve_object, bpy.context.scene.collection)
    target_poly = target_object.data.splines[0]

    #Get the starting location in curve coordinates
    starting_location = curve_object.matrix_world.inverted() @ from_object.location

    #Delta from the first point
    delta = starting_location - poly.points[0].co.xyz
    #Its length
    distance = delta.length
    #Keep it normalized
    delta.normalize()
    #Orthogonal direction
    ortho = delta.cross( poly.points[1].co.xyz - poly.points[0].co.xyz ).normalized()

    #First vertex
    target_poly.points[0].co = (*starting_location, poly.points[0].co.w)

    for i in range(len(poly.points)-1):
        prev = poly.points[i].co
        co = poly.points[i+1].co

        axis = (co.xyz - prev.xyz)

        #Orthogonal direction is recalculated to be orthogonal to this delta and the next curve segment
        ortho = delta.cross(axis).normalized()

        #New delta is calculated as being orthogonal to the curve orientation and the current orthogonal direction
        delta = (axis).cross( ortho ).normalized()

        #Calculate the location of the current vertex
        location = co.xyz + delta * distance
        #Assign it to the curve
        target_poly.points[i+1].co = (*location, co.w)

Improving it, should need to relax (or remove) vertices comparing the curvatures of the curves... another story...

This is amazing, thank you! I went with a different approach (more bruteforce and stupid) but this helped me to understand better the math behind the problem


text:
Add more to camera space but keep the perspective
Let's say I made a model, set up light and camera, render size is 1024x1024

All of the sudden I need to add a second object that's outside the render boundary.

so I want to change my render settings so that both objects would fit in the render. But! I need to keep the perspective and pixel dimensions so that the first object would be exactly the same as on the original render.
If I simply change render width, the render boundary shrinks...

At the moment I create a duplicate of the active camera, shift it and render a second image to compose with the first one. Which isn't perfect for a lot of reasons. So I was wondering if there's a simpler solution?

Another solution would be using a wider camera angle, but in this case pixel dimensions of the original objects would change. I'd need probably to change render size accordingly but I don't know if there's a formula...

What you are searching for is called "overscan". You can find more information here: https://blender.stackexchange.com/questions/136352/how-to-render-over-camera-border-or-overscan If you are familiar with Python, here is an addon for 2.76 that should do the trick: https://github.com/sobotka/blender-addons-contrib/blob/master/camera_overscan.py

woah, thank you, I didn't know the term!


text:
Unwanted crease at higher levels of the MuliRes modifier
Who can help me and tell me why is it so strange?
In Edit mode, my topology looks fine, but in the multi-Level precision display, it becomes bad.
There is a MultiRes modifier added, and that should be the problem. But after I repaired the damaged surface in the Sculpt mode, and changed the form key, I went back to the old days, and even the base type was changed.

It looks like you may need to recalculate your normals (Select all > Ctrl+Shift+N). Also, on the topside of the right eye corner, there is a quad that looks like 2 differently shaded triangles put together - this is a non-planar face, and will cause issues with shading and possibly other things as well - try to correct it - one way is to select "normal" as the transform pivot point, then select the 4 vertices encompassing the non-planar face and scale "inwards".

The normal directions are all correct, and the topology of the eye part does have some problems in the combination. But I don't quite understand what you mean by the last sentence.

It's just a way to correct non-planar faces - see here for a more detailed description - https://blender.stackexchange.com/questions/119874/how-can-i-manually-fix-nonplanar-geometry. It's hard to tell what else is going on with your object - for better assistance, consider uploading your file here - https://blend-exchange.com/ and posting the link into your question, so users here can have a look at it.

Hello! Welcome to BSE. A few expressions in your question are hard to understand. It may be a translation or language problem and not the right terms. I suspect that "multi-level accuracy" means "MultiRes modifier" and "engraving mode" is the "Sculpt" mode. But what do you mean by "...and even the base type was changed"? What is the "base type"? -- Anyway, I think it's a MultiRes + sculpting problem This can happen sometimes. There is a brush to remove the edited higher levels. Have a look here: https://blender.stackexchange.com/q/278332/107598


text:
Boolean modifier difference doing nothing
I'm currently modeling a mask to 3d print, and I'm using an extruded SVG in order to cut out the eye holes, using the Boolean modifier on the difference.

When I apply the modifier, Blender only adds a 2d version of the SVG to my mask, behind where the hole should be. It doesn't actually cut out a hole.

So far I have made sure normals all face the same way, that there are no doubles, and made the object manifold. It's still doing the same thing. I'm also on Blender 2.8, if that helps.
Here is the file: https://drive.google.com/file/d/1mksmWUowgF7f5jxy-soDC1dQipDLiqhS/view?usp=sharing

Access denied to that file. Please upload to blend-exchange.com.

First, if you still have the original mask object use it. In the provided file you have applied the Boolean modifier. It did a cut ("2d version") and the mesh is no longer manifold which introduces more problems. If you don't have the original mask object you can fix it with the Auto Mirror addon. I couldn't test it with Blender 2.8 but it should work when you add and apply a Remesh modifier with method Sharp to the SVG first. This creates a better topology and the Boolean modifier should work then (tested in 3.3).


text:
Fluid simulation visibility of domain
I am trying to run the fluid simulation in an animation project. Say, the start of simulatin is frame 40, end of simulation is frame 60. But the total animation goes to frame 200. The domain and inflow object should not be visible outside the 40-60 range. If I play with the visibilities, it does not bake. How do I solve this.
Thanks.

"If I play with the visibilities, it does not bake"? First bake your simulation, then play with the visibilities.

Set start and end keyframe in domain to 40 and 60.

Uncheck render visibility of inflow

Set keyframes to render visibility of domain like this:

39: off
40: on
60: on
61: off
Bake fluid.
result:

I'm also new here and also still new to blender but an idea that came to my mind immediately is to have two scenes or better ".blend files".
One with the fluid simulation and one without.
Render the frames 0 - 40 and 60 - 200 from the one scene with no fluid, and the remaining frames from the scene with the fluid.
After that, just stitch the resulting frames together as you please.

Thanks everybody. After writing the question, I found another solution which worked: he reduces the scale of domain to 0,0,0 and then at the start of simulation makes it 1,1,1 after which back to zeros.


text:
Some frames come out blank when rendering animation

I’m trying to render a 250 frame test animation in Cycles at 30 fps. As export format I use .PNG. As for now from 10 images, only 4 came out properly, the other ones are just showing the HDRI background scene. What am I doing wrong?
It is a simple animation, a camera rotating around an object. The scene is kinda packed and rendering is using a lot of internal resources. Maybe that is the reason for this error? Here is a screenshot of the export folder.

You can bet that this is not normal intended behaviour. So just saying "I try to render an animation" is not very much information to find the problem, because generally you can render animations in Blender. Maybe you could explain more about your scene, what kind of animation, or is it a simulation etc., some screenshots maybe? Did you do it all by yourself or following some tutorial?

I did it myself. It is a very simple animation. I've added some screenshots now.

You'll get a better answer by making a bug report https://wiki.blender.org/wiki/Process/Bug_Reports


text:
Set Camera with CTRL + ALT + num 0 = Gray screen, no object
I'm still in my first weeks of working on Blender and just starting my first tutorial project at the moment.
I ran into a problem that I have been having a hard time troubleshooting.  Everything in my project seems fine, but when I go to set my camera with Ctrl+Alt+NumPad 0 I just get a gray box.  I can navigate around to break this view, but even when I hit F12 to view a quick camera render it's nothing but a gray box.
I have checked my clipping points and those see normal. Any thoughts?
Viewport settings:

Camera settings:

What I get with Ctrl+Alt+NumPad 0:

When moving slightly outside of camera view:

It's hard to tell without knowing more about your project, but based on the spacing of the gridlines, it looks like your Donut is really small... like, tiny. Is it possible the camera is too close (despite the .1m near clip distance)? Try scaling the object up and see what happens (don't forget to apply scale (Ctrl+A) afterwards if you scale in object mode).

i am pretty sure Christopher is right, but i you still have problems, pls provide blend file so we don't have to guess, thx

The camera's default 0.1m of minimum distance is actually not that great. It's 10cm, there can be a lot of things within 10cm. And when you do a close up, it's a huge distance not being rendered. 0.1m (1cm) as it's the default in the viewport is way better and more versatile whilst keeping things stable still.

Thank you, scaling up resolves the issue.  Must have had clipping after all.  Thank you for this solve!  Appreciate it!


text:
Steering not affected by gravity?
An AI I've created uses steering, is dynamic, but doesn't get affected by gravity. What would be a solution for this?

In the actuator, if you uncheck lock Z velocity it works for me.
Are you sure you have in unchecked? Can you share file?


text:
"No module named 'bge'" in console?
I have the following code:
import bge
from bge import logic

def property(cont):
    own = cont.owner

    if 'Recoil_Level' in own and 'Section' in own:

        level = own['Recoil_Level']
        sec = own['Recoil_Section']

    else:
        print('Missing properties in object')
        return

    if (level >= 0) and (level <= 0.5):
        own['Recoil_Section'] = 1

    if (level > 0.5) and (level <= 2.9):
        own['Recoil_Section'] = 2

    if (level > 2.9) and (level <= 4.9):
        own['Recoil_Section'] = 3

    if (level > 4.9) and (level <= 9.9):
        own['Recoil_Section'] = 4

    if (level > 9.9) and (level <= 19.9):
        own['Recoil_Section'] = 5

    if (level > 19.9):
        own['Recoil_Section'] = 6

cont = logic.getCurrentController()
property(cont)

Everytime I run this script, the console says the following "No module named 'bge'," why is this happening and how can I fix it? Any help is appreciated. Thanks!

related: http://blender.stackexchange.com/questions/2164/no-rasterizer-module/2167#2167

if this gets marked as a duplicate @blackhole, it is because the question already has an answer, not because the question was 'explicitely asked this way' before ;)


text:
Delete datablocks in GE?
I have a lot of useless datablocks for animations, models, materials, and others just lying around doing nothing. How would I delete them? Thanks.

That doesn't remove it.

o... I see.. sorry


text:
Collision groups and mask?
I have 2 objects that collide, how do I have one of them not collide with anything and still be dynamic? My two objects are a body and a controller, I want the controller to be dynamic so it can fall, but not interfere with bullets; moreover, I want my character to be static so it can collide with bullets.

Collision Groups and Collision Mask:

Collision groups are groups of objects generally of the same denomination. You would group objects together based on what their behaviors are, for example; Bullets, rockets, laser beams and explosive duckling all cause damage to a player, I will put them in group one, my damage group.
A group can have any number of objects in it, and any object can be in any amount of groups.
Collision Mask is the setting that allows you to choose which groups an object will collide with. I want a certain character to bypass all objects in group one. This includes bullets, rockets, laser beams and explosive ducks, all of which can ruin the invincibility of my character. I Deselect group one under Collision mask.
Objects can participate in collisions under any collision group, you can mask/unmask any/all of the groups under this setting.
Although these setting appear similar to layers, I could not find any difference in performance when layers were changed.
Although I was able to explain what your question asked for, unfortunately I was unable to figure out any way for an static object to be the child of a dynamic object without "Major Freak" aside from enabling Ghost.

Oh well, you really want the tick, you well-earned it. I have an issue where it doesn't work with my situation but works with other objects.

For the controller, check the Ghost option under the physics tab. This will cause the object to still fall, but there won't be any collisions. You can also parent the character to the controller without having do a major freak-out.

That is a way, but I would like to understand how to use collision groups/masks.

You sure? this is the most efficient for the computer, easiest, fastest, and less prone to unexpected results.

Yeah, but I am using this situation as an example. I have other situations where I want it to collide with some objects.

Alright. See if this setup works. http://www.pasteall.org/blend/33487

Ah. It is a sensor, not dynamic. Swap the physics and then see if it works. it doesn't

Darn. You don't want anyone to see this one either?

Nah. Sorry about that. It just bothers me. I'm trying to come up with something unique, and I had people that would see it and try to replicate, and show others. Not this time.

KK then. Adding another answer with all my studies.


text:
Bullets fall with gravity issue
I have some bullets that simply have an always sensor and motion, but since I have gravity on, they fall in a weird way. They do not fall and hit the ground on the tip of the bullet, but rather hit the ground in the exact position they had when they were fired, sleeping. How do I have the bullet tilt as it falls, and possibly have it hit the ground on it's tip?

Theoretically, you are getting a 100% correct simulation. You see, there is no force acting on it to make the nose point downwards. Any object with a pure (i.e. 1X, 0Y, 0Z) vector force, will continue in that direction at the same angle. You need to add some more features to the animation to get the desired result. Adding a dense piece tot he nose of the bullet could help (via parenting).

@BlenderDev I added the blend file to the answer.

You can do this by having your gun fire a setup like this.

Before, you gun just fired the cone, and there was nothing to make it rotate. however, if the cone is parented to a cube with the physics set to Rigid Body, and the gun fires the cube, the cone will move with it. however, there is still nothing to make it rotate. This can be fixed by enabling the slow parent option on the cone.

With this option enabled, the cone will lag behind the cube when the cube is fired out of the gun. but we still need the cone to rotate. we can do this by making it track to the cube.

Now when the cube is fired, the cone lags behind and points to the cube. this creates the illusion like it is dropping due to gravity.

However there is still a problem. when the cube hits the ground, it starts rotating. Because the cone is parented to the cube, it also starts spinning out of control. We can fix this by preventing the cube from rotating. Remember, the cubes is only so the cone has something to track to. IF you want, you can also use it to calculate the collisions.

Now we can test it again.

It now looks like it should, but there is a giant cube in front, and the cone does not look like a very convincing projectile. And, when the cube hits the ground, the cone still fires off slightly. we can fix the problems with the cube first by making it invisible, and enabling the ghost setting.

Now it will pass through the plane, making the cone follow it as it would if it was a bomb falling to the ground. however, we made the cube invisible, so we can't see the cube anymore. we can only see the result.

This is good, but the cone still does not look like a very good projectile.
You can obviously model anything you want for this, but I chose to model a missile because they look cool. I also added an explosion when the cube hits the ground, and some other awesome effects to make it look cool.


text:
Displacement doesn't work
It's frustrating that every time I try to mark a logo with some bump using displacement, displacement just doesn't work!
here's some screenshot of the problem and blender file.

the texture just with the displacement

result

texture setting (displacement and bump turn on)

Scene setting

PNG I use

edit mode with some subdivide on top surface

logo arrangement (on the center of the top surface)

Could someone help me with this problem?
I felt so frustrated cause it happen all the time!

could you please pack the image and share your file? https://pasteall.org/blend/

OK! No problem!

The packed file is uploaded! @moonboots

The Displacement node needs topology to displace, so either subdivide your object or give it a Subdivision Surface modifier, also put the Midlevel value at 1:

Great! Now it works! Thank you so much! @moonboots


text:
Splitting a movie clip in in the video editor with this encoding seems to desync audio and video
Blender version 3.2.0
Clip ffmpeg info:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MAH00059.MP4':
  Metadata:
    major_brand     : MSNV
    minor_version   : 22675568
    compatible_brands: MSNVmp42isom
    creation_time   : 2022-06-06T20:59:16.000000Z
  Duration: 00:00:30.03, start: 0.000000, bitrate: 3063 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 2932 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)
    Metadata:
      creation_time   : 2022-06-06T20:59:16.000000Z
      handler_name    : Video Media Handler
      vendor_id       : [0][0][0][0]
      encoder         : AVC Coding
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2022-06-06T20:59:16.000000Z
      handler_name    : Sound Media Handler
      vendor_id       : [0][0][0][0]

The clip is an mp4 file at 23.98 fps as seen above. Adding the video clip is fine as the audio sequence and video sequence line up fine visually in the sequence editor. However, splitting the clip (shortcut K) seems to cause a problem. After rendering, the output video clearly jumps back a few frames at the split and is slightly out of sync with the audio. I went back and tried the same process but first created a 25%, 50 quality proxy before splitting at some point on the clip. This time the frame jump back at the split was terrible and caused a massive desync between the audio and video.
Since I did not have any audio and video sync problems on a previous video I made with 50+ mkv video files, I tried transcoding the original mp4 to an mkv file with:
ffmpeg -i input.mp -vcodec copy -acodec copy output.mkv

Input #0, matroska,webm, from 'MAH00052.mkv':
  Metadata:
    COMPATIBLE_BRANDS: MSNVmp42isom
    MAJOR_BRAND     : MSNV
    MINOR_VERSION   : 22675568
    ENCODER         : Lavf59.16.100
  Duration: 00:00:41.04, start: 0.000000, bitrate: 3049 kb/s
  Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
    Metadata:
      HANDLER_NAME    : Video Media Handler
      VENDOR_ID       : [0][0][0][0]
      ENCODER         : AVC Coding
      DURATION        : 00:00:41.041000000
  Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp (default)
    Metadata:
      HANDLER_NAME    : Sound Media Handler
      VENDOR_ID       : [0][0][0][0]
      DURATION        : 00:00:41.024000000

I followed the same procedures for the mkv file of adding the clip and splitting it with and without the proxy, and then rendering. On the rendered output video, no matter with or without the proxy, the audio and video were perfectly in sync before and after the split.
I see two problems:

Splitting and mp4 encoded clip caused frames to jump back on the split after rendering
Using a proxy exacerbated the problem significantly

Could this be a bug with how mp4 encoding on blender 3.2.0 is handled?
Blender Proxy/Timecode Doc says:
"A proxy is a smaller image (faster to load) that stands in for the main image. When you rebuild proxies Blender computes small images (like thumbnails) for the big images and may take some time. After computing them, though, editing functions like scrubbing and scrolling is much faster but gives a low-res result. Make sure to disable proxies before final rendering."
Check these link to see the behavior I am referring to: https://drive.google.com/file/d/19kgHzF_ZtQNFx0FScrPELom_CsYaZD6x/view?usp=sharing
https://drive.google.com/file/d/1L56YtShAf7pggUIg9ktMVpJgvUVGMBTg/view?usp=sharing