text:
Texture artefacts / distortions on mesh
New to blender, I imported a design from a CAD software using Mesh objects. I applied textures on the objects (to render object sides) and on Top and Bottom faces.
On the Top and bottom I have some artefacts and distortions on the texture. Furthermore, the texture scale seems also to changes along the parts...
Here is an example. It happens nearly on all the parts...

Thank you for your help

Related: How to texture a downloaded model made of stretched triangles?

I tried the answer of the recommanded post, but it gives a strange result: Faces orignally on a same plane seems not to be anymore (shift+G normal or coplanar gives strange results.) Furthermore, rounds are faced...The solution would be to clean the polygones on a face. Is there a tool for that?


text:
TPU 3d printed texture
New to blender, I try to make a realistic 3D printed TPU plastic texture, but the result is not that good... I would also be super nice to have the layering...

Thank you for your advises !

I was looking for the same thing and decided to make a TPU material myself. I did it using a brick texture with the row height set really high, brick width set low, and mortar thickness very low to create tightly spaced long thin vertical line and feeding that into the Normal socket. You could experiment with mixing the Brick Texture with a Noise Texture to give it some more randomness, or by feeding the brick texture into the Color socket, varying the brick colors and changing the Brick Texture Bias setting to give it more color variance between the lines.

source: Stack Exchange

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

sort: votes


text:
Split Geometry into Instances (Geometry Nodes)
I have a point cloud with lots of points.

Now I want to split up this point cloud into groups of 8, so that I can manipulate these groups individually (e.g. rotate them as a group).
I can kind of achieve this with the "Separate Geometry" node:

However, that is not feasible with more points, if I want to split the geometry into hundreds of groups / instances).
Is there any way to split geometry into a lot of parts (not just two like "Separate Geometry" does)?

How do you want to identify the groups?.. (what would you like the interface to be to do that)

@RobinBetts In my case, I just want the first 8, the second 8 ... in the order as they are stored. However, in general it could also be all points that share the same value of some named attribute.

Geometry Nodes: new Split to Instances node. Blender 4.1 apparently will bring a node that serves this exact purpose.

@Hulifier That's great news! It's exactly what I was looking for. Thanks!

In Blender 4.1 there is a new "Split to Instances" node for exactly this purpose:

The result:

In Blender 4.0 you can use the repeat zone to split geometry into a lot of instances:

However, the performance of this solution is worse compared to the "Split to Instances" node of Blender 4.1

Obviously the use case matters for what method to use. But the most practical is to store the group as an attribute on each point.
Here we have 2000 points. We simply group them by 8.We then use the group ID for different functions.

In this case we simply randomly move the groups around

Interesting! Thank you! For translating groups of points this works great. However I don't think I could easily apply rotation to a group of points. That would be a lot easier if each group of points could be converted to an instance.

Ah, I understand what you mean now. I think your repeat zone idea might be the best option. I'll see if there's another way tomorrow without the repeat zone.

as Hulifier mentioned in a comment above there is a "Split to Instances" node for exactly this purpose, coming up in Blender 4.1. So it is probably not worth the effort to work on other solutions. Thanks though!

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


text:
How does selective packing of external data work?
I would like to pack specific external data into a .blend file.
The Documentation says:

A single file can be packed by clicking on the little “gift box” icon to the left of its file-path UI widget.
(https://docs.blender.org/manual/en/latest/files/blend/packed_data.html)

Somehow I am unable to find this “gift box” icon. In which window can I find this “gift box” icon, for example, if I want to pack a font into the blend file?
I know how to pack all external data, but that is not what I want.

As far as I know, you can only pack images into the file. For other data place all of the data  and the blend file in the same folder and compress the folder as a zip file. Make sure that the links to the data are set to use relative paths.

@susu You can certainly pack data other then images if you use the "pack all"  function, but maybe you are right and selective packing is only supported for images. Thanks for the suggested workaround.


text:
How does this normal map create surface imperfections instead of elevations/bumps?
How do you create a normal map similar to this?

In this polyester texture I just purchased, I noticed that the normal map (instead of roughness) is creating the silky look as well as the surface imperfections. This normal map looks flat and has patches of different colors Instead of bumps/elevations. How can I re-create this effect without using a texturing software?
I know how to make different PBR maps in Photoshop using only a diffuse map, but I'm not able to re-create a normal map similar to the image above. No matter what pattern (scratches, smudges, etc.) I use to try and make a normal map from, it ends up creating bumps/elevations instead of surface imperfections.
How do you achieve this "silky" look along with surface imperfections using a normal map? How can I use a diffuse map of different patterns to create a normal map like this?

That was probably a Voronoi procedural texture generator plugged in as the normal map of the texture. Here's a satiny example from Blender's noise texture (Shader Editor, Shift-A | Texture | Noise Texture).

You can bake textures like this in Blender. After setting up all the components of the shader you want to bake in the Shader Editor:
1 - Create a new image in the UV Editor
2 - Add an Image Texture in your Shader Editor and select the image you created in step 1 as the image being referenced
3, 4, 5 -  In your Render Properties tab, select Cycles, select your Bake Type (Normal in your case), and hit the Bake button
6 - A normal map will be generated consolidating all normal elements present in your shader as the image in your UV Editor

Thanks for your response! I'm familiar with baking in blender. My question is how to create such effect/textures to begin with. I know I can create imperfections by creating a mask and using it for the roughness value, but how can I create a silky texture using the normal map? When I use any image to generate a normal map from it always uses the imperfections (different color values on the image) to create bumps or holes. How can I create a normal map similar to the one in my post, which affects shininess and imperfections, instead of height variations?

Also, It would help a lot if you share the texture you used for the normal map on the cube (not the baked texture, but the original one plugged into the normal map), and if you can describe how you generated that. I'm guessing it's a Voronoi texture? but not sure your exact setup.


text:
Blender 3.5 not working on my system
I have been using blender on my PC. (Intel i5 processor, 4G ram, internal Intel graphics card, CPU rendering only) Currently, I am using 3.41, but if I try to use 3.5 as a look-see, Bender mainly loads, but just before it loads completely it crashes out to my desktop. This is a clean factory default effort with no add-ons.
Just wondering, is this the end of the line for me? Or is there an explanation? I welcome any advice.
Thanks
Mer

I'm not sure there are any different requirements for 3.5 over 3.4.1. From the minimum requirements here I'm surprised that 3.4 runs on your PC considering the amount of RAM you have!

Is not officially out yet, so there are probably some bugs. as metioned by the other comment, your hardware have low specs so you need to check the requirements for Blender

Yes my system is a bit long in the tooth, 10+ years. Up to the release candidate 3.5 all was well, albeit slow at rendering. I do need to update my system, but I'm no spring chicken myself, so I'll have to consider carefully what I need to get. Thanks for your replies.

Well, I've tried the official released version and that fails to start as well. Therefore I've decided to bite the bullet and upgrade my system. So, hopefully if all goes well, it'll be AMD Ryzen 5600X, 32G DDR4, 8G RTX 3060TI, 1Tb M.2 SSD, 1Tb SATA SSD. I hope that's enough to make it go. Any further advice is welcomed. Thanks.

I am having the same problems (it's now after official release).
My PC is a Gen 11 Intel i7 with 64Gb RAM, a 1Tb SSD and 8Tb HDD and an Nvidia 3060, all very new and fast.
Previous versions were fine.  3.5 gives me Not Responding warnings very frequently.

I think 3.5 might have a few bugs. Blender 3.0 to 3.4 was rock solid. On 3.5 I get not responding errors, especially after my computer wakes from sleep or hibernate.
As far as system specs blender can run on a potato as long as the scene you're working with is simple, and your render options are reasonable. If you crank up the polygon count for example you WILL run into issues with 4gb of ram.

Same problem here: blender crashes on startup.
What I found out: the problem with blender version 3.5 and 3.5.1 is that the config is missing. It is still there up to ver. 3.4, but with the next version its gone.
Uninstalling and reinstalling doesn´t help. I think the team of blender has to take a look again into it and to publish a new version asap.


text:
How to call bpy.ops.view3d.cursor3d() from another operator?
I want to set the 3d cursor location using bpy.ops.view3d.cursor3d() operator before calling my own operator with a shortcut.
This is what I have tried-
class Add_obj(Operator):
    bl_idname = 'ob.add_object'
    bl_label = 'Add object'
    bl_options = {'REGISTER','UNDO' }

    def execute(context,self):
        bpy.ops.view3d.cursor3d()  #place 3d cursor on mouse click just like pressing SHIFT+RIGHT click
        bpy.ops.mesh.primitive_cube_add()  #add object
        return {'FINISHED'}

addon_keymaps = []

def register():
    register_class(Add_obj)
    wm = bpy.context.window_manager
# Adding a Shortcut for the operator
    kc = wm.keyconfigs.addon
    if kc:
        km = kc.keymaps.new(name='3D View', space_type='VIEW_3D')
        kmi = km.keymap_items.new("ob.add_object", type= 'RIGHTMOUSE', value='PRESS',
        shift=True,alt=True)
        addon_keymaps.append((km,kmi))

def unregister():
    for km,kmi in addon_keymaps:
        km.keymap_items.remove(kmi)
    addon_keymaps.clear()
    unregister_class(Add_obj)

if __name__ == '__main__':
    register()

But when I press the shortcut SHIFT+ALT+RIGHT click it gives this error and adds a cube-
ERROR (wm.operator): C:\b\buildbot-worker-windows\windows_290\blender.git\source\blender\windowmanager\intern\wm_event_system.c:1317 wm_operator_invoke: invalid operator call 'VIEW3D_OT_cursor3d

Possibly easier to make this a modal operator, capture some mouse event, set cursor,  and add the cube.  See the modal examples in Text Editor > Templates > Python > Modal Operator *  Consider in future adding imports etc to make a minimal working script.

@batFINGER Thank you! I managed to achieve what I wanted by following the raycast modal example from templates.

Just had the same problem. Add an 'INVOKE_DEFAULT' to the 3d cursor operator:
    def execute(context,self):
        bpy.ops.view3d.cursor3d('INVOKE_DEFAULT') # put it at the start, before any arguments
        bpy.ops.mesh.primitive_cube_add()
        return {'FINISHED'}


text:
How to change the area type of a temporary window with python in blender?
I want to change the area type of a temporary window i.e (Blender File Browser) to VIEW_3D.
The following code pops up a file browser, but doesn't change the area type.
import bpy
from bpy.types import Operator
from bpy_extras.io_utils import ImportHelper

class Browser(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "wm.browser"
    bl_label = "Open Browser"

    def execute(self, context):
        bpy.ops.wm.proxyfilebrowser('INVOKE_DEFAULT')

        bpy.context.window_manager.windows[-1].screen.areas[0].type= "VIEW_3D"
        return {'FINISHED'}

class FileOperator(Operator, ImportHelper):
    bl_idname = "wm.proxyfilebrowser"
    bl_label = "File browser"
    bl_description = "......"

    def execute(self, context):
        display = "filepath= " + self.filepath
        return {"FINISHED"}

def register():
    bpy.utils.register_class(Browser)
    bpy.utils.register_class(FileOperator)

def unregister():
    bpy.utils.unregister_class(Browser)
    bpy.utils.unregister_class(FileOperator)

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.wm.browser()

When I execute the same code in console C.window_manager.windows[-1].screen.areas[0].type = "VIEW_3D", it changes the area of the file viewer to VIEW_3D.

Related: https://blender.stackexchange.com/a/175818/31447

@brockmann yes, it is related but, the window of file browser cannot be minimized, That is it always stays at top of blender window. Which is why I want to use Blender File view instead of blender user pref or image viewer


text:
Drawing a rectangle using opengl in blender
I'm learning opengl in blender and successfully drew a triangle in 3d viewport.
Now I'm trying to draw a rectangle using Element Object.
Here is what I've tried. But it draws nothing.
from bgl import *
import bpy
from sys import getsizeof

vertexShaderSource = """
#version 330

layout(location = 0) in vec3 position;
void main()
{
    gl_Position =  vec4(position,1.0);
}
"""

fragmentShaderSource = """
#version 330

out vec4 outputColor;
void main(){
  outputColor = vec4(1.0f, 0.5f, 0.2f, 1.0);
}
"""
vertices = [0.5 , 0.5 , 0.0,
            0.5, -0.5 , 0.0,
            -0.5, -0.5 , 0.0,
            -0.5, 0.5, 0.0]

indices = [0,1,3,
           1,2,3]

vertexPositions_ptr = Buffer(GL_FLOAT,len(vertices),vertices)
indices_ptr = Buffer(GL_INT, len(indices),indices)

VBO = Buffer(GL_INT,1)
VAO = Buffer(GL_INT,1)
EBO = Buffer(GL_INT,1)

glGenVertexArrays(1,VAO)
glGenBuffers(1, VBO)
glGenBuffers(1, EBO)

# Shader compilation
vertexShader = glCreateShader(GL_VERTEX_SHADER)
glShaderSource(vertexShader, vertexShaderSource)
glCompileShader(vertexShader)

fragmentShader = glCreateShader(GL_FRAGMENT_SHADER)
glShaderSource(fragmentShader, fragmentShaderSource)
glCompileShader(fragmentShader)

shaderProgram = glCreateProgram()

glAttachShader(shaderProgram, vertexShader)
glAttachShader(shaderProgram, fragmentShader)

glLinkProgram(shaderProgram)

glDetachShader(shaderProgram, vertexShader);
glDetachShader(shaderProgram, fragmentShader);
glDeleteShader(vertexShader);
glDeleteShader(fragmentShader);

glBindVertexArray(VAO[0])

glBindBuffer(GL_ARRAY_BUFFER, VBO[0])
glBufferData(GL_ARRAY_BUFFER, getsizeof(vertexPositions_ptr), vertexPositions_ptr, GL_STATIC_DRAW)

glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO[0])
glBufferData(GL_ELEMENT_ARRAY_BUFFER, getsizeof(indices_ptr), indices_ptr, GL_STATIC_DRAW)

glEnableVertexAttribArray(0);
glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,0,None)

glBindBuffer(GL_ARRAY_BUFFER, 0)
glBindVertexArray(0)

draw_handle = None
# Draw
def draw():
    glUseProgram(shaderProgram)
    glBindVertexArray(VAO[0])
    glDrawElements(GL_TRIANGLES,len(indices),GL_UNSIGNED_INT, None)
    glBindVertexArray(0)
    glUseProgram(0)

# Clear
def in_3_sec():
    bpy.types.SpaceView3D.draw_handler_remove(draw_handle,'WINDOW')
    glDeleteVertexArrays(1,VAO)
    glDeleteBuffers(1,VBO)
    glDeleteBuffers(1,EBO)
    glDeleteProgram(shaderProgram)

draw_handle = bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')
bpy.app.timers.register(in_3_sec, first_interval=3)

What am I doing wrong here?

See: https://blender.stackexchange.com/questions/187969/make-2d-gpu-polygon-and-blf-text-move-with-follow-the-cursor/187974#187974


text:
Can we get all the areas or area.ui_types available in blender?
I want to get all the areas or ui_types available in blender.
Currently I'm manually adding all the available ui_types in a list.
ui_types=["VIEW_3D","OUTLINER",...]
But I want to get all including new ui_types added by other addons like Sverchok addon has it's own area.ui_type: SverchCustomTreeType.
Is there a way to get all of them without manually  adding it?

C.window_manager.windows[0].screen.areas[:]... oh sorry, types. docs usually helpull


text:
How to snap object local rotation to its nearest global axis with python
I want to rotate my object to its nearest global axis with python.
For example if the rotation of the object is more towards +x global, then the object rotation should snap to global +x rotation.
Hope you all get it what I want to achieve.
I don't have any code to show because couldn't figure it out how to start logic with.

Snap closest local to global rotation.

Example of use, object with some arbitrary rotation, can see the local axes from the widget and the global axis from navigation widget, rotates in this case such that Z axes match
The columns of the 3x3 rotation matrix of the world matrix of an object is its unit vector global axis alignment.
Find the minimum angle between any and the global axes.
Create a rotation matrix from the difference between the vectors with minimal axis and transform the original.
import bpy
from mathutils import Matrix
from bpy import context

ob = context.object
mw = ob.matrix_world.copy()
R = mw.to_3x3().col
I = Matrix.Identity(3)

diffs = [locl.angle(globl) for locl, globl in zip(R, I)]
idx = diffs.index(min(diffs))

M  = (Matrix.Translation(mw.translation) @
      R[idx].rotation_difference(I[idx]).to_matrix().to_4x4() @
      Matrix.Translation(-mw.translation))
ob.matrix_world = M @ ob.matrix_world

Hi, I tried your code but it didn't have any effect to the rotation of the object. Nothing happened. Is there anything I need to do after executing this code? I tried it in console also but didn't have any effect in the rotation.

Added an example of usage in 2.8+ if you are using prior will need to replace @ with * (See  https://blender.stackexchange.com/questions/129473/typeerror-element-wise-multiplication-not-supported-between-matrix-and-vect/129474?r=SearchResults&s=1|76.7151#129474 ) If it is an edit mode rotation you are after see something like https://blender.stackexchange.com/questions/63506/set-object-local-axis-based-on-face-orientation

Hi, it's working when I do it as a new script. but not when I add it to my custom script. I am figuring it out, why it's not working. I will get back here when I make it work.

Hi, now the code is working in my script, thanks very much. However After executing the code, lets say in your example, the resultant z rotation is -114, can we round that to -90?. I want them to be exactly 0, 90, 180, -90, or -180, whichever is nearest

I am currently rounding the result to the nearest 90 with the following code:
Click here to view Code


text:
setting default dimensions and clipping
sorry, very new to blender,pls excuse the beginner question. Is there a way to set default clipping and dimensions in user preferences instead of in properties menu and side menu? is there a file I can edit? everytime I restart blender I need to reset the dimensions and adjust the clipping. would be good to set to a common used preference then adjust from the menus when needed. thank you for your help.

File > Defaults > Save Startup File

Open a new file in Blender
Set any setting you want saved.
File > Defaults > Save Startup File

Now every new file you create will open with the saved settings.

excellent, thank you so much for the reply, really appreciate it


text:
3d print toolbox
something strange has happened to the 3D print toolbox tool in ONE of my models. the addon is installed and activated, the tab shows on the side toolbar, but the tool will not slide open. it was working but I must have hit a key stroke that stops the tool from sliding out. the other addons on the menu work, item, edit, view, etc. but the toolbox does not open.
If I export the file to .fbx then import it to a new blender window, the tool works fine.
I am not sure what I did but would like to continue using the same model without exporting and importing. and for future reference. any help very appreciated.

Hi. I don't know why this should do anything, but maybe try deactivating the addon, close Blender, reopen Blender, reactivate the addon?

tks for the reply, already tried that. there is something I did in the model that is causing this. If I close it and open another file it works fine. close that and open the original file and it doesnt work.


text:
Why are these color patches/rings coming in the blender video output while the image rendering is very clean
I am making a simple material from an image. Attached below is my node settings. I am mixing one BSDF color on top of the image texture (this is just to create an illusion of some haze/atmospheric effect - kindly do not suggest to change this basic design itself since it is linked to other things in the project, not in my control).

I have used the Layer Weight node to gradually increase the mix towards the edges, and very light/ almost nil in front of the camera. The mixing is good in image render. Attached below is the image after the render. It looks ok to me. This is in png format.

I have then rendered the image sequence for the scene. Then I made the video in blender itself, from the image sequences. But the quality is very poor in the final video. Attached below is one screenshot for the same frame above. See how some circular rings appear in this video output. If we inspect minutely, those rings are present even in the image render. But it is hardly noticeable in the image, it is almost ok. After the video is made, the rings are easily visible and it is not within any acceptable range. Can someone help me to get rid of these rings in the video output ? Anything close to the above image quality is acceptable to me.

Just so that you can compare, I have attached below the output without the Mix node. This is just the plain image alone.

Things that I have tried so far (without any result):

First obvious thought is to try different settings in the video output. I have used ffmpeg option, x264 encoder, Lossless output, 1920x1080 resolution above. I tried changing these options, without any luck. For example, changing the encoder to HuffYUV or MPEG-4 resulted in no better quality in the video. Also changing the framerate had no impact.

I have used the command line input for ffmpeg to directly convert the image sequence into a video without using blender. It resulted into the same video quality irrespective of what bitrate or what encoder I use. I went up as high as 20M bitrate, resulting in much bigger file size, but the output quality remained where it is. Finally I tried to directly mux the png output files in a video container using ffmpeg without any encoding. This gave little better result, but the output file size is 100 times bigger. Obviously that cannot be accepted since a video of one minute will cross 4-5 GB in size. Moreover, the output video was only little better, still not close to the png image quality.

I have opened the png image in MS Paint and simply saved it as a jpeg file. The png file is 5 MB while the jpg was just 200-300 kb. Still, the quality did not degrade (at least to the viewer's eyes). This means, there has to be a way to compress the png files and create a video without compromising too much on the quality. It technically seems possible as the jpeg was equally good, with much lesser size. But I could not figure out any possible way to actually achieve that in the video.

Any suggestion to overcome this hurdle either in the blender node settings, blender render or in video codec/compression, will be highly appreciated. Spent 3 full days/nights without any sleep and still struggling. Help me guys!

Have you tried rendering all the images as a sequence and then attaching them in the video editor?

Yes, that's exactly what I did. I have the image sequence, I have the video, and they differ in quality.

If you go to color management > view transform. Is it set to standard when you render it?

@dogking57 Yes, View Transform under Color Management is set to Standard with all its default settings. I did not touch that.

If I understand right, you have the images already rendered and just want to combine them. You can import images as planes (got the idea from a website) and render it if that would work better. I'm really not sure what setting is affecting your render negatively. If you scaled down the resolution, maybe your wouldn't see the rings too much. I'm not too much of an expert on view transform, but if your image sequence was rendered using the filmic transform, maybe go back to that to render the video.

@dogking57 As I mentioned earlier, I have not changed anything in the color management section, so it remains as "Standard" both in image render and video render. I mean, we can keep that out of the suspect list. Your idea of importing the images as planes and render as video, sounds good, but too heavy to try out with 20 thousands images that I have. In other words, even if it works with a small test sample, I cannot definitely do that for the actual product (unless there is some easy way to import images in bulk and automate the process, which I am not aware of right now). Thanks anyway!


text:
Can we change the frame rate for a video to 24 after the image sequence is rendered with a different fps, say 30?
I have rendered an image sequence from my animation, with FPS 30. Now, while making the video from that particular image sequence, can I use a different FPS, say 24 ?
Technically it is possible, I have checked with a small test video. But my doubt is, does it make any difference in the video quality inherently ?
Let me assume that the answer to the above question is NO (which also seems logical to me since each png file is complete on its own and they can be viewed at any speed). But then the question that comes to my mind is, why do we have the frame rate settings at all while rendering as an image sequence ? It seems more logical to display frame rate settings only during the video rendering, and disable it during image rendering since it remains meaningless in that case. Or is there any other purpose of setting the frame rate during the image render ?
I have checked some similar questions on this topic but did not get a complete answer to my original question + the doubt above. Hence I am posting it as a new question. Any suggestion from experts will be highly appreciated.

To my knowledge using another frame rate while rendering an image sequence will ,without changing anything else, change the quality of the output video because a different number of the images out of the sequence will be shown in the output video per second. But the other more noticeable effect would be that by packing a different number of frames in each second you would effectively speed up/ slow down the output video.
It is possible to correct for that speed up in the strip options under time, but you run into another issue: While the video is paused it makes no difference in quality, but if the rendered frame rate of the image sequence is not a multiple of the the new frame rate it can lead to glittery motion. This happens because blender sometimes would need frames that lay between the given frames in the images sequence. Because that is not possible it has to decide for one of those frames. The distance between the chosen frames can vary, sometimes be 1, sometimes be 2, so in the rendered video the motion seems to jump.
so most of the time it makes sense to stick to one frame rate from start to finish.

For why the frame rate needs to be able to be changed even if you render an Image Sequence:
One simple reason is that the viewport animation works with the same frame rate so to change that you need that option exposed.
Does that answer your questions?
I hope my explanation makes sense.

Thanks for taking your time to answer. Did you make a typo in your first sentence where you wanted to say that there won't be any change in quality ? I am not sure. Anyway, I think you correctly pointed out that the video will speed up/ slow down, which is obvious... but I was referring to the display quality. I understood your answer. I will accept it if no better or no more detailed answer is posted. Thanks once again for helping me out. You are awesome!

If all you are refering to with quality is the quality of the images then yes, the quality doesnt change. But the quality of the final video will change, because there are more factors to video quality than singe image quality. Thats what i mean in the first sentence. I hope that makes things more clear.

The fps in image sequence rendering is perfectly reasonable: it tells blender how many frames to be rendered in every single second of the animations. The speed of the animation is sothing you can control, but you won't change it after you choose an initial setting.
Let's take into consideration a video of a man that walks:
2 steps should last 1 seconds: if you render 100 fps and 1 second of animation (100 images) you'll have 1 step.
If you later change the fps (let's say 30 fps), you'll have again the same 1 step, but with a less smooth frame rate.

Some reference in changing the frame rate of a video with ffmpeg: https://superuser.com/questions/843292/ffmpeg-how-does-ffmpeg-decide-which-frames-to-pick-when-fps-value-is-specified/843363#843363 https://trac.ffmpeg.org/wiki/ChangingFrameRate

When we render a scene in Blender, we explicitly mention the start frame number and end frame number, effectively telling Blender how many frames to be generated. We don't enter length of the output in seconds. So FPS makes no sense here (for image sequence output). Had it been the case that we mention the length of the animation for image sequence output, FPS would have been meaningful and mandatory. But we mention exact number of frames to be generated. So, I am still not sure what purpose is being met by entering FPS in image sequence output.

An image sequence is just a collection of consecutive images, each image being a still frame. FPS only matters for playback and for videos. Since Blender can play animations no matter if "live" in viewport or from rendered video or image sequence, this information is used for playback. (I guess that's why you find it in the Dimensions settings rather than the Output settings.)
In a video file, the framerate determines what speed is "normal" to play the video. Still images are not tied to a certain framerate. So if you render an image sequence with let's say 240 frames at 30 fps, then this would be 8 seconds if you play it at 30 fps.
But it's simply 240 frames. If you make a video out of it with 24 fps, the video will last 10 seconds. That's how my digital camera makes slow-motion videos. It records at 120 fps but puts them into a video file set to 30 fps - this makes the footage look like 4 times slower. If I make an image sequence out of the individual frames and make a 120 fps video out of it, the speed of the footage would look absolutely normal.
The only problem you might experience is that your animation will be a bit slower than you expect/need it to be, if you stretch those 8 to 10 seconds. If you want to keep it at 8 seconds, you have to scale the sequence in the Video Editor or cut out single frames to reduce the 240 to 192 frames. In both cases I suspect the animation wouldn't look as smooth as before.

Thanks! This perfectly explains the result of FPS change. Yes, changing the FPS during video render will make the video faster or slower. However, my doubt was, why there is a frame-rate setting when rendering an image sequence. FPS makes no sense when all we want is a bunch of still images, and we explicitly also mention the start frame number and end frame number, effectively telling Blender how many frames to be generated. We don't enter length of the output in seconds. So FPS makes no sense here (for image sequence output). Or maybe I am still missing something.

As I said in my first paragraph, there might be a reason why you find the FPS setting in the Dimensions settings and not in the Output settings. They are used for playback and preview and Blender uses them to play the animated image sequence after you rendered it if you hit Ctrl + 11. Let's say you're making a movie at 24 fps. If you animated a character too fast or slow to look right at 24 fps, changing playback in Blender won't help your movie - and dropping or stretching frames makes it worse and movement no longer smooth.

Thanks! I get you. So this FPS is in relation to the viewport or playback, not in relation to the actual output files in an image sequence. That makes sense. However, the dimensions themselves (Resolution, Aspect, Frame Start, Frame End) impact the output image sequence very much. Surprisingly, the FPS is bundled with these fields, but it is irrelevant for the output image sequence. I still believe, there is enough scopes for someone to get confused, and there can be a better place to keep the FPS. This may be a UI issue, but your answer helped me to understand what is going behind the scene.

But image files are, no matter what they show, just single files containing still images that have no actual connection to each other. If you rid the names of the consecutive increments Blender wouldn't know how to play them when hitting Ctrl+F11. Even if you have image0001 to image0100, but image0050 is missing, playback stops (or restarts) after image0049. On the other hand you can take 100 random images that show completely different things, if you name them image0001 to image0100, Blender will play them as a sequence when you hit Ctrl+F11 and with the FPS you've set.

Or if you take said image sequence where image0050.png is missing. Get ANY other png image, rename it to image0050.png and Blender will play the sequence up to frame 100 again, just showing that other frame on position 50. Even if the new frame has a different, maybe bigger size or aspect ratio, Blender will show it cropped to the settings. I think your confusion may arouse because of a misconception of image sequences. In the end they are timeless still images. If you look at them for the blink of an eye or an hour, they don't change. They are not animated.

Take a single image, put it in the Video Sequence Editor and set the duration to 100. Make a video with 25 fps and if you watch it, the player will show you 4 seconds of video, consisting of 100 frames. If you take a software to extract the frames of this video, you'll get 100 frames although you actually only used one image. And the dimensions impact the sequence not that much if it comes to time. If you render 100 frames at 25 fps, then render again at 60 fps, they are exactly the same. Size and ratio matter much, without you wouldn't have a picture.

But the image size or ratio here are also for preview, like the fps. Without setting the size or ratio you couldn't preview what your render camera will "see", what you will get if you render it. I guess that's the main reason why you can set a percentage there... for rendering smaller previews. If you want a final size of 960x540, why set it to 1920x1080 and 50% instead of the final dimensions directly? That's why I refer to that area more of a preview section. If you animate, you need the fps to see if it looks too slow or fast at the frame rate you're aiming for in your video.

But of course these preview settings become extremely important if you are going for the final render. You then want to render the images full size. And if you are rendering an animation to a video file directly, then the fps become important - because it's the speed that video players will use as the "normal" speed of your video. Even Blender will play a video with 25 fps at 25 fps if you hit Ctrl+F11, no matter if you've set the playback frame rate to 60 fps afterwards. And that's the difference, image sequences are ALWAYS timeless. Even after the final render you can play them at any fps.


text:
How to close a popup dialog with a custom Close button using python?
I am designing a simple popup msg box having two buttons, OK and Cancel, as shown below using python. I am using invoke_props_dialog which comes with an OK button. I have added a Close button myself using an operator, but I have no idea how to actually close the msg on click of this cancel button. Can someone please help me?

The code I have used is given below. You can copy-paste this code in a text editor and execute it immediately to see this msg box.
P.S.: I could not find any similar question on this site. The closest I see is this question, but it uses invoke_popup instead of invoke_props_dialog (the text in the question is actually wrong). While invoke_popup has a close-down behavior, and based on that a mouse-driven solution was suggested, invoke_props_dialog does not have this. Also, that mouse-driven solution is hacky in nature and I am looking for something better. That solution does not even work here, we have to simulate a mouse-click event in addition to mouse-move. That will be a very bad design and I want to avoid that.
import bpy
from bpy.types import Operator, UILayout

class WM_OT_Show_Popup(bpy.types.Operator):
    bl_idname = "wm.show_popup"
    bl_label = ""
    bl_options = {'REGISTER', 'INTERNAL'}

    def draw(self, context):

        layout = self.layout

        row = layout.row(align=True)
        row.alignment = 'CENTER'
        row.label(text="The cancel button does not close this msg.")

        layout.separator()
        row = layout.row(align=True)
        row.alignment = 'CENTER'
        row.scale_x = 4
        row.operator(Object_OT_Close_Popup.bl_idname, text="Cancel")

    def invoke(self, context, event):

        return_code = context.window_manager.invoke_props_dialog(self, width = 300)
        return return_code

    def execute(self, context):

        # The main functionality will go here.

        # Tell Blender that the operator finished successfully.
        return {'FINISHED'}

# This operator is used to close the msg.
class Object_OT_Close_Popup(Operator):
    bl_idname = "object.close_popup"
    bl_label = ""
    bl_options = {'INTERNAL'}

    def execute(self, context):

        # I need help to code right here, how do we close the popup msg box?

        # Tell Blender that the operator was cancelled since no action is taken.
        return {'CANCELLED'}

def register():
    bpy.utils.register_class(WM_OT_Show_Popup)
    bpy.utils.register_class(Object_OT_Close_Popup)

def unregister():
    bpy.utils.unregister_class(Object_OT_Close_Popup)
    bpy.utils.unregister_class(WM_OT_Show_Popup)

if __name__ == "__main__":
    register()

bpy.ops.wm.show_popup('INVOKE_DEFAULT')

Operator props dialog now display a Cancel buton by default. This is the result of the code run in this question as is :

Clicking on the lower right Cancel button cancels the operator, and its execute method is not run.

here is a link to a similar question/original answer using just a popup instead of a dialog popup. it is still a workaround since I, and as it looks like others also have not found the proper way to close popups, or it might not exist.
Link to original answer by bonjorno7
basically, you can incorporate that workaround code in the invoke function of the cancel operator call and it will close the popup panel. with popup dialog it is not enough to just move the mouse outside the popup so either you modify the code to do some action that forces the dialog popup to close or you can just use popup if it suits you.

Thank you so much for the suggestions. I cannot use a simple popup because it gets closed when the user moves his mouse outside the popup. There is a very high possibility that it won't even get displayed if the user is moving his mouse (even slight vibrations also count here) when the popup was just about to open. This is almost useless. One possible fix is to artificially move the mouse inside the popup, but it feels very odd. For the other workaround you suggested, triggering a click action on the mouse outside the popup can have fatal effects if there is some UI control or an object there.


text:
Why does the position change when I apply the scale?
I'm trying to animate a 3D model, after I finished I started applying geometric transformations to the mesh... So far nothing wrong, in the end all that was left were the transformations of the character's skeleton where the transformation is already normal, the rotation is normal but the scale of all xyz values is 0.01...
Before doing "apply transformations to scale", the animation is normal like this:

After applying the transformation and making the scale return to 1, for some reason the position of the skeleton seems to change and this happens:

But what? Why does it happen?

When you apply the scale to the rig, you are changing the proportions between your skeleton and the measure unit by 100, without changing the values stored in the animation action.
Rotation values remain the same, but location values result to be 100 times higher than desired.
In pure FK rigs (like Mixamo) it's enough to select the hip (or "Master") bone, go to graph editor, hide all curves except thoose referred to location values, set the 2D cursor to Y = 0, set the pivot point to be the 2D cursor, select all visible keyframes and press S, Y, 0.01, Enter (mouse pointer has to hover over graph editor window).


text:
Blender 3.3.0 Cut mesh with another mesh using knife project doesnt work! Help!
I just started to learn blender two days ago, so i might be wrong in may ways to use blender. So I have a geographical 3d mesh which shows a highway beyond a car tunnel. What I wanna do is cut this highway as shape of this tunnel road. And I cut most of this hightway but there are still faces of this geographical 3d mesh even ive kept clicking knife project.
I clicked this geographical mesh object first in object mode, then I changed mode to edit mode, and clicked tunnel-shape mesh while pressing ctrl key, And then I clicked knife project in mesh window.(And Yes, I set the viewport to direction where i wanna cut mesh - z top)
And then, nothing happens! I turned off blender and turned it on. But nothing works and im still trying to figure out what i did wrong and i dont know yet.
Blender Knife Project not working
I searched any body who has similar issue like me and i found this. Only difference is, a guy from this youtube video can cut mesh after he moves object to origin and i cant. only first two trials did work and nothing worked after that.
And this image is a screenshot of my current blender work. The orange line is the object which has shape of tunnel road. And if you see the pink line part, there are still some mesh which i really wanna cut using knife project but still doesnt work. Ive tried many times but the mesh in the pink line part arent cut by knife project function even other stuffs were already cut! I tried cut through in knife project and nothing works....

**Im not a english native speaker so terms that i used might be different with blender english translation , I hope you understand this.

Hi, it always helps us to see your entire screen when posting screen shots :)
Do you have a subdivision surface modifier on the geographical mesh?
Also, if you can share your .blend file this would help https://blend-exchange.com/

@Psyonic Hello. Thank you for your advice. I didnt  think entire screen shot would be better cause ive never upload questions on stackexchange blender. :) and also I didnt know where to upload my .blend file and my .blend file is too big to upload(over 500 mb size...). Anyway, can you tell me where i should upload my blend file to help people to understand my situation when i ask a question next time? Thank you

You're most welcome! And welcome to the Blender community!
See my above comment for an upload site
You can always edit your question and add a new screenshot

@Psyonic OMG why did i miss that. Thank you for letting me know!


text:
Is there any way to lock length of edge? or at least location of vertices?

As you can see, there are 6m edges in my blend file. I want to set length of another edges next to these 6 m ones, but everytime i do that, it transforms 6 m edges too! i tried to fix this with hide function, but even i hided the faces of 6 m ones, it transformed hidden faces size too... :(

The simplest way to obtain equidistant divisions could be:

first dissolve the inner edges

select the edges along the mesh

Assign the length multiplied by the number of divisions we want, in this case 4 divisions.

And divide the faces again with Ctrl+R, that way we get all the edges of 6m each

Also, if we want the longer edges to be smoother, we can soften them in the "Loop Tools" panel with the "Relax" button, press it a few times, and now we can assign the length of the edges.


text:
Controlling Light Color in Array
I have a single vertex using a modifier array with area lights parented to it. I'm animating the light colors to change over time based on their position within the world.
This is working but the gradient shape gets squeezed as I approach the max value. I want it to evenly pass over the lights based on their positions, can't figure out my math!

If you want it to spread even, first of all: why do you set the Color Ramp interpolation to Ease? If you want it even, set it to Linear. The next thing is: you multiply the Z value. The Color Ramp converts input values from 0 to 1. The Generated output creates Z values from 0 to 1. If you multiply these by let's say 0.1, the Z values range from 0 to 0.1, which means they never reach the end of the Color Ramp because that's 1.

Thank you! How do I mark this as the correct answer?

You cannot accept this as answer, because it is just a comment.


text:
Empty, Clear, Delete modifier field using python - MeshDeform
trying to clear the Object field of a MeshDeform modifier on selected objects. My current code populates the field but I would like to check if the field is empty and then clear it if it's not. I realize I could just replace the variable but I would just like to empty the field on occasion.
import bpy

for obj in bpy.context.selected_objects:
    selected = obj.name
    s3 = 'ColCube'

    bpy.data.objects[selected].modifiers["MeshDeform"].object = bpy.data.objects[selected[:selected.index(".")] + s3 + selected[selected.index("."):]]

Add if obj.modifiers["MeshDeform"].object: obj.modifiers["MeshDeform"].object = None into the loop to clear field if not empty

Of course! it makes so much sense! Thank you!


text:
Keep HDRI visible in viewport while "Transparent" is checked in film
Is it possible to keep the HDRI visible in the viewport while "Transparent" is turned on under "Film" in the Render options?
I would like to see the background but not have to uncheck this every time between renders.

You could always right-click on the Transparent checkbox and add it to the quick menu. Then it's instantly available by pressing 'Q'  without having to go back to the settings properties every time.

I do love my quick menu, hate having to add more to it. Thank you for the idea, a good bandaid for the time being!


text:
Particle count inside Volume using Geometry Nodes
Can I create a live counter of how many particles are in a given volume at any given frame. I've seen a similar answer for Animation nodes but as far as I can tell those are no longer in blender.
Using molecular+ to generate the particles if that matters.

Do you mean like the Point value in the Spreadsheet window?

animation nodes was never a part of blender. It is still a free add-on which still works, so if that worked earlier for you - i would assume it would work now too ;) and if i could guess ( but i am not sure) but i don't think that GN can do this at the current state of development.

@3pointedit I mean the number of particles passing through the cube in 3d space. Currently though the point value shows 0 even though there are particles on screen.

@Chris Oh I see, I thought it was an outdated version of Geometry nodes. I guess I will need to install that perhaps.

there is geometry nodes (which comes with Blender and will be developed still) and there is animation nodes (which is a free add-on) and i am pretty sure that you can get the number of particles by the particle info node in animation nodes - but of course you would have to get the positions too and check whether they are inside your cube


text:
Clone rigid body world across scenes?
I created a 2000 frame animation with a rigid body sim. In order to have different camera angles I created several linked scenes with different cameras and movements per scene.
I re-ran my simulation on Scene 1, and now it is different on all of my other scenes. The frame settings are different and the animation stops early and some items have been replaced with other items (maybe unrelated)
How do I re-sync the rigid body world of these scenes? They are all set to use the same rigid body world.

Hello, what kind of new scene have you created, was it a full copy or linked copy? Also if you just want new angles, why don't you simply create new cameras in the same scene?

"normally" as moonboots proposed, you would 1) bake the rigid body simulation (so that it stays the same) and 2) add cameras with angles + camera animation in the same scene and then just render both cameras or more (you can do this at the same time with output settings -> stereoscopy -> multiview

I have many overlapping camera angles which share the same frame ranges. I place a marker on the timeline to select the active camera, set the frame range for that camera and then later I run the command line renderer for all of the scenes so it can render all scenes back to back. The stereoscopic thing does me no good when i have 3+ cameras within the same frame range. @moonboots i mentioned i created a linked scene in the original post.

I have the same problem. I didn't realise rigid body world does not transfer between linked scenes. In my case, I have 2 scenes per camera angle, one for a cycles render, and the other for an Eevee render of volumetrics (with everything in the cycles scene held out) which I composite later. So its important that the rigid body world be exactly the same between the 2 scenes. In the rigid body world settings, it looks like you can select the rigid body collection, but it does not work...the collections do not operate on the linked rigid bodies if they were added to the scene later.

One possible solution is to bake to keyframes. Keyframes will link between the scenes.


text:
How to create a kelvin cell with cylindrical struts?
I have already created a kelvin cell but with square struts as shown in the first picture. How do I turn the square struts into cylindrical like the second picture?

Add Skin modifier, switch to Edit mode and with all vertices selected adjust Vertices Data > Mean Radius X, Y to something smaller, here 0.02 (3DView > Sidepanel > Item) ...

Add Subdivision modifier > Catmull-Clark, Displace modifier > Strength 0.05

..and to get your basic shape use the built-in Mesh: Extra Objects addon and Add > Mesh > Math Function > Regular Solid. Then on the bottom-left Operator menu select "Truncated Octahedron" from the bottom Preset popup menu. Now go into Edit mode and use the Mesh > Cleanup > Limited Dissolve menu to get rid of the extra edges.

.. or an octahedron with all its vertices bevelled by 33.33%

I was not able to reproduce you settings before you indicated mean radius for skin... but your answer is better! +1

Or, to add to the comment from @RobinBetts as an alternative, when you have the built-in addon Add Mesh: Geodesic Domes enabled, you can Add > Mesh > Geodesic Dome and choose Class: Class 1, Hedron: Octahedron with Shape: hex and you will also get the desired object.

Hello, vklidu I tried what you have recommended but It didn't work. When you choose the modifiers, did you change the Branch smoothing ? And in the subdivision modifier did you chose Catmull-Clark or Simple?

@JohnPsihias Since he did not write anything I would expect he used the default settings. Which means Branch Smoothing is 0, and in the Subdivision Surface modifier Catmull Clark (otherwise it will not look so rounded). I did this and it looks exactly like his screenshot (I have set the Mean Radius X/Y for the Vertices Data to 0.01). By the way, more Mean Radius and less Strength for displacement will give you less sharp corners but reduce the risk of overlapping geometry.

@GordonBrinkmann ... 100% correct :) Thank you ... extended.

@lemon sorry for incomplete description (morning rush) ... when I looked closer OP's reference you matched exactly the same system :)

@vklidu but the geometry/topology you've generated is very good (better the 'mine')

Using geometry nodes, you can place a sphere at each summit and bevel the edges with a curve circle.
Junctions won't be visible when rendered.

A 3.5 version: should not make a difference except for the shade smooth node.

+1  :) Great ... I wanted to try this too, but I was skeptic about junctions ... very nice result.

When I tried your method I could not get the desired object. Also, when I create the "Set shade smooth" option It doesn't give me the option to choose from edge or geometry.

What is your Blender version?

Version: Blender 3.6

The file I have uploaded is a 3.5 version and it works.


text:
uv unwrap crashes/"Unwrap failed to solve 1 of 1 island(s), edge seams may need to be added"
im new to blender, but im trying to unwrap a head. ive done U> Unwrap and UV> Unwrap, and added a UV map under object data properties and tried the unwrap again. still crashed. at one point, it even crashed my whole computer.
i tried to post my blender file but it was too big so i isolated the head mesh only (no shaders or other meshes). when i tried to unwrap it again, it said "Unwrap failed to solve 1 of 1 island(s), edge seams may need to be added". i added the link to the file below. i have no idea what this means ToT. if u have any suggestions pls be thorough since im still new. any help?
https://drive.google.com/file/d/1e0NRYv57FxfH7fVAemr2yyVLu3F18Ivt/view?usp=sharing

i am using blender 4.0 btw

UV edge seams are something you can add on to the edges in your mesh, that tell the UV unwrapper where you want certain parts to be split. You can do so by selecting edge select mode by pressing 2 on your keyboard, then select the edges you want, and right click -> add seam. Try to add it along a loop, perhaps one that will split the head in half usually works well

Just that head has over 700,000 edges on it so it's not surprising that attempting to UV unwrap it failed! The topology is so complex that it's not even possible to add seams to it and trying Limited Dissolve doesn't really help much either.

Incidentally, it did unwrap without problems here but the result of a straight unwrap isn't of any use and using Smart UV Project isn't much better to be honest. You need a decent machine to unwrap something that complex anyway and it shouldn't crash on you.

@john eason ok so what do i do? is there a way to make it have not so many edges? I made it high res so i could have a detailed mesh but this has backfired

Only by starting again. As I said, Limited Dissolve doesn't help much with UV unwrapping. Although it reduces the vertex and edge count it does it in such a way that you couldn't mark the seams to allow better UV unwrapping. Trying to use the Decimate Modifier doesn't help either and would probably crash your machine if it crashes UV unwrapping. Why do you need such a high poly mesh anyway?


text:
How to displace face within object
I cannot - for the life of me - figure out how to displace this section selected in the pic. I know I need to use the displacement modifier but I can't subdivide this section in order to do so. Also, it's sort of creased and angled so I don't know if that matters. Basically I want the masterlock imprint on the lock itself. I know the basics on how to use the modifier but I just can't seem to make this happen. If there's an easier way to do what I'm trying to accomplish, I'm very open to it.

If you can't subdivide at mesh level, try to use Vector Displacement with  Adaptive Subdivision enabled (this is also called Micro Displacement) when Experimental features are enabled for Cycles ... that is happening at rendering level, so you have to enable under Material Properties > Settings > Surface > Displacement > Displacement ...https://imgur.com/78ScF43

Thanks so much for the reply! I'm a bit confused, I was able to enable the experimental features but I don't see anything here in regards to "adaptive" or "micro" subdivision. I'm sure I'm doing something wrong.

Edit: My comment was mean to be a tip to search ... Adapt.Sub. is feature of Subdiv modifier (appears if placed as last in modifier stack) ... "micro-displacement" is generaly used term in 3D ("true displacement" in blender) specify a technique. It is not a one click in blender, there is a few steps to make it work in blender so search for tutorial (there should be a lot of thouse). https://blender.stackexchange.com/a/308697/2214


text:
Maintaining model with separate rigs
I hope I can be clear enough as to what I want - The head of the flower rotates on its own so it has it's own rig. The spine moves freely of it's own accord as well, as it should and has it's own rig. My goal is to link the head to the bulb (the sphere between the head and spine) and the spine to that same bulb. In this way, the head can rotate and move freely without affecting the spine and the spine and came move without detaching from the head. Am I completely wrong in how I'm setting the rigs up or am I missing something?


text:
Reverse time/direction geometry nodes
I have instances traveling along a curve based on the factor of 0 to 1 in a circle. I would like to click the switch and have the instance start traveling backwards from it's current position on the curve.
Currently it travels backwards with the switch, but makes a large jump to the new value.
How do I set this up so that the current value is the one it begins subtracting from once I turn on the switch node?

I've found another solution that works for the functionality I was trying to create.
By using a "wrap" node I am able to keyframe a loop that moves forward, then by switching the offset to a negative value causes it to start moving in the opposite direction.


text:
Pull one rigid body to a specific location/rotation?
Is there a way to make one rigid body go towards a specific spot and rotation?
Imagine something like a rope being attached to it, then the rope gets shortened until the object is in the right spot.
There is a similar effect in this video, but it is with softbody objects within cinema4d
https://www.youtube.com/watch?v=huBMoui_xG8

you could make it fall, bake the simulation, and create some keyframes at the end so that it ends up at the good location?

You can use an animated rigid body constraint to do this.

Start at frame 2, by orientating your object in the desired, final orientation.  Keyframe location/rotation.  Give it the animated property and keyframe that on.  We do this at frame 2, because frame 1 will establish the relationship between the rigid body and any rigid body constraints, and because there seem to be some precision issues where frame 2 can have an effect.
On frame 3, move the object to the location where you actually want the simulation to start, then keyframe location/rotation.  Duplicate these keyframes to frame 4 to prevent the object from starting with any velocity, then keyframe the animated property off on frame 5.
Now, create an empty at the location of the object on frame 1, and give it rigid body constraint physics.  Set the first body to some non-moving, anchoring rigid body (I'm using the floor here) and the second body to the object you want to pull to a specific orientation.  Set the rigid body constraint to generic spring.  Set the stiffness and damping of all spring axes to 0 and keyframe them.  Move these keyframes to whichever you want to start dragging the rigid body to the desired orientation.
Now move to whichever frame you want the object to definitely have the desired orientation.  Set the damping and stiffness for the rigid body constraint to high values and keyframe them.
Play the animation.  You will see that on frames 1-4, your sim doesn't do anything; then, it acts normally, until the spring starts to have an effect.  As the spring's strength ramps up, the constrained rigid body is pulled to its original, frame 1 orientation.
Tune the strength and timing of the rigid body constraint.  When you are happy, you can either bake rigid body physics to keyframes and then discard your first four frames, or you can bake the physics as physics and discard the first four frames of your render.


text:
Realistic Jello Material?
Trying to make a jello material that looks similar to the photo. I can't get my blue to be that color, or that saturation, and I really can't figure out how to make the inside have that cool shimmer to it.
I've tried messinig with light paths and volume absorption but not much luck.

Environment and shape is very important for the look. A cube will always look different than a piece in a spoon because the irregular shape is very distinct and the environment is important since the look depends on what is reflected and refracted.

I agree, but I can't get my color tone right, my blue is way different than that blue. So far I've had a little luck with subsurface scattering but not a ton.

You can adjust the color. There is no magic workflow for that. Adjust it until you like it. You could pick the color from the image to start, just keep in mind, the values are not the same since color in Blender is linear and the image is probably sRGB or whatever other color space. Blender image also goes through Filmic color transform before it reaches your eyes. You will have to match the colors visually.

I understand that, I'm more advanced at blender than this question sounds. I am trying to say that while using a transmission material, I cannot get ANY blue from the color wheel to look anything like the jello image. If I turn transmission off, matching it isn't as hard, but I need transmission on so that it looks clear.
I've tried creating a new shader using fresnel+color ramp as the factor to a mix shader, but I'm not loving it even though the color is now closer.
https://imgur.com/a/3J3VrNE

My advice would be to find a reference image of what you are trying to create. At the moment you have an image of completely different thing. The irregular form of the piece in a spoon looks completely different than a whole cube with smooth sides. I was thinking of providing an answer, but I realised I would start by modelling a piece similar to the reference so I hesitated.

https://blender.stackexchange.com/questions/32466/how-to-make-a-jelly-material https://blender.stackexchange.com/questions/212458/how-to-recreate-the-merging-of-gelatin https://blender.stackexchange.com/questions/84417/gummy-bear-and-gummy-worm-materials

I suspect the image of jello has been digitally manipulated to be "more blue" or "less red". My understanding is that in images from modern digital cameras, all sufficiently bright lights saturate to one color — typically white. However, in the image of jello, the bright specular reflections off the spoon are solid white, while the bright caustic refractions through the jello are solid cyan, so I think the red channel has been reduced in non-specular jello region of the image.

It looks like a glass material, so maybe try the Transmission at 1, a low Roughness, and pick up the color with the pipette. Also sculpt the object in order to have these bumps:

You can also fake some bumps with a Noise Texture:


text:
Sounds or meta-strips from VSE through a speaker object?
I am playing sounds when various falling objects hit other objects, like the ground. I have them playing sounds that I've assembled to match timing in the VSE.
Is there a way to play these sequences as a single sound using a speaker object without having to render each object's sounds into a new file first?
My goal is to attach the speaker object to the falling object so that my camera's will render out 3D audio based on the positioning as they fly through the scene.
I was thinking of having a meta-strip and pointing the speaker object to use the meta-strip...but that doesn't look possible. It would just make it so EASY!
Maybe I'm missing the obvious here.

Yes, it would make it easy. But actually you find the Pipeline settings (to use Compositing and/or Sequencer) in the Post Processing options of the Output Properties. Whatever you have in your scene, when you want to render an image or animation, first the render layers will be rendered and afterwards will be calculated whatever you have set up in the Compositor or the Sequencer. So in the moment of rendering any strips are not available in the scene.


text:
Control Image Sequence Playback Speed with Geometry nodes
I have a plane with an animation that I am spawning and controlling several aspects of with a geo node setup.
I would like to have controls within the geometry nodes to change the playback speed of the animation on the plane. Is there any way to do this?

The frame number is controlled by the Offset Value of an Image Texture node.
Since Drivers can more easily push or pull a value like this we can try to use them.  Drivers can use the position of an object like an empty very easily, so this may be the way to go- control the position of the empty with geometry nodes and use this to drive the Offset Value of the texture.
The empty's position will be like a playhead for the footage as it moves along the X-axis.
To try this start with a single vert object with a geometry nodes modifier, your image plane with video added, and an empty.
Parent the empty to the vertex, and then use that to drive the offset.
Let's examine the 3 objects required:
The GN object:

The Plane with the Image Texture:

Lastly the empty, has nothing special about it except it is parented to a vertex in the node object.
Then you are free to do whatever calculations you want, Divide or multiply to speed up or slow down the frame rate of that movie plane.
Quellenform has discussed this method here, although the question did not explicitly reference  playback speed.

Use Values in the Group Input
This is another approach which uses less objects- you can link a value to the Group Input node and use it in the driver.

Hover over the created field in the GN modifier, right click and choose Copy Data Path

Go to your Shader Editor and right click or CTRL+d on the Offset field in your material to Add a Driver.
the settings can be:
expression:  var + 0 (whatever your variable name is)
var: choose Single Property** (You can have new var name)
Object: MoviePlane (whatever your object name is)
Path: modifiers["GeometryNodes"]["Socket_2"] ( whatever your copied Path is)
After completing these steps, you should already have control over the timeline of your image sequence, which you can easily set keys for.

Optionally, another variable can be added to the Driver expression.  It could be another value or your current frame. The data path of the current frame is 'frame_current', so you can use it as a variable to perform various calculations as well.


text:
Store Named Attribute with Geometry Proximity to control Shader Nodes
I want to  control the strength of an emission material via the geometry proximity node. I am seeing correct output values on the distance value in my sheet, but seeing no change in the str of the light, even when ramping up to extreme values. Please help.

I’m pretty sure you have to store it on faces, not points, for the material to see it.

For your problem, it does not matter if the attribute is stored in Point domain or in Face domain. In Face domain, the color is uniform per face ; in Point domain, it is interpolated per pixel.

I am suspecting (with only a partial view of the GeometryNodes graph...) that the issue is with the material of the instances, that is not the material of the object to which the GN modifier is attached. Could you provide your Blender file using https://blend-exchange.com/ ?

I've solved my issue.
It seems that using attribute nodes does not work within the nodes used for lights (I was using an area light.)
Instead, I wound up having to create an emission shader which hides the geometry from the scene, but keeps the light emission and allows full transmission (so there isn't a big black obj)

Next, the method I was using was incredibly slow to calculate. There is no need to store the named attribute since I can just read the position of the input object in order to get the distance.
Lastly, I only needed proximity to the positions of the mesh line that the instances are being spawned on. So I made a duplicate object with a geometry node setup that was identical, but only output the mesh line vertices. This drastically reduced calculation time from .97ms to .14ms. This allows me to go from choppy playback speed to almost full smooth 24fps (22-23fps avg)


text:
How to combine the animations of two different cameras into one continuous animation?
I have the scene below and I want to transition from the top camera into the bottom one as soon as the top camera is done with its animation. I want to do this while maintaining the existing interpolation and curves for each individual camera, so that the transition is smooth.
The top camera has 2 constraints, one is a Child of that will follow the cube, and the other one is a Track to constraint that will always face the camera towards the cube. The bottom camera has all it's animation baked into keyframes.
I know I can get them very close to each other and then switch the cameras. I can also attach the bottom cam to the top one and make sure it starts its animation where the top cam comes to a full stop. I can also copy the keyframes... But none of these give me a smooth transition between the two animations.
What's the best way to go about this?
https://imgur.com/a/XHDMHjT

if switching from a camera to the other doesn't work, I guess the only solution is to use only one camera from start to end?

Hello and welcome. Instead of having users go through links and external sites please use the builtin tools to embed images in your post. See How to upload an image to a post? or GIF

I tried to save it as a GIF to upload but the file size was over the limit.


text:
I try to parent an mesh to an armature but it shows up as a ghost child
i'm trying to set clothes onto a model, and parenting them to the armature but when i do, this "ghost parent" appears. and when i put it to an fbx, and bring it over to unity, it does not show up on the armature at all.

The reason why its greyed out is because the the parent and the child are not in the same collection. So if you select the greyed out child and press M to and move it to the collection containing the parent object it wont be greyed out anymore.

thank you! this helped a lot!


text:
I'm having issues with my first Rigify rigs
I'm getting into animation and am testing out with blenders rigify basic meta human rig. What I'm doing is  matching as best I can the meta rig with my character model then hitting generate rig. My first issue is the generated rig. As you can see in my pictures the top half is way off, the control rig is much higher than the characters torso and there's a mess of spine bones bunched together in the characters chest and back.

And when I start moving the bones you get weird deformation that I don't see in peoples rigify tutorials.

I wanted to get a picture of how I matched the meta rig to my character but it won't let me redo till that point. So I'll redo the matching and try again and send pictures.
In the meantime does anyone know what I'm doing wrong with my setup?
Thanks,
Jack

So on the help of someone on reddit I applied scale on my meta rig before generating the rig (I forgot I'd saved a copy of my blend before pressing generate) and I've gotten a much better result as seen here: https://imgur.com/qRmwjfa Dunno if it solves all my problems but it's MUCH better. I'll leave this answer up in case there's more insight I can glean from the new answers.

Hello and welcome. The comment you used and considered an answer, should be better formulated as an answer. You can answer on your own question and it would also allow the embedding/visible link of the image, helping others to understand it easier. Therefore i would highly recommend to copy the comment and post it as an answer followed by deleting the comment.


text:
Armature rotates both sides of mirrored mesh
I'm new to blender and have been struggling having the bones only move the part of the mesh they're attached too while in Pose mode, and not having it duplicated on the mirrored side.
 and mesh when in
This is the only other question I found pertaining to the issue and its resolution did not work for me. Applying and mirror modifier, deleting half the mesh and recreating it.
 are the current modifiers I have on the mesh. I have messed around with it to a decent extent, mirrored before armature, unchecking vertex groups, etc, but I wasn't getting any luck.

You need to have the mirror modifier first (on top) in you modifier stack, then the armature modifier.
In the mirror modifier have the Vertex Groups option enabled. This mirrors your vertex groups if they have _R / _L or simmilar endings. The bones on the left in your armature should have the ending _L and the bones on the right _R, so the vertex groups also get these endings.
If you create the armature, while in armature edit mode, you can switch on the X-Axis Mirror option in the tools panel. With this enabled, you can hold down shift while extruding from a middle bone to create two bones: one with the extension _L and mirrored version with the extension _R.

I duplicated the right hand side bones and then mirrored them to the other side with the cursor and name them all appropriately. As well as the vertex groups.  However I am still getting the same effect
Do I have to recreate the armature from scratch since X-Axis mirror isn't available in the modifier section anymore?

If all else fails, you can try applying your mirror modifier. I have found that it can sometimes solve this problem. I don't really know why anyone would want to keep a mirror modifier unapplied after all the modeling is finished anyway.

Don't manually mirror the vertex groups. That's what the "Vertex Groups" option in the Mirror Modifier is for. Just make sure you've got the ones that you want mirrored named with _L or _R or similar ending.

So I applied the mirror modifier which let me select the faces on the left hand side. Using the vertex groups I'd select the faces of the _R vertex groups, deselect every right hand face then assign them to their _L counterpart. After that I would remove the _L from the default right counterpart
This was very time consuming and manual process but it got the job done


text:
How To Select Vertices
So I am a huge Blender newbie and had a very basic question. I'm importing models from a posing studio to edit in Blender, but when I switch to Edit mode and attempt to delete vertices I'm stuck on selecting bones instead of vertices, edges, and faces. I was able to successfully switch to editing vertices once, but I don't know how I did it. I'm wondering if there's a hotkey or easy way to switch to selecting and editing vertices rather than bones?
I included a picture of the bone select mode that I seem to be stuck in.

I apologize for the newbie question. Thanks in advance for any and all help!

you are in Edit mode but you have selected the armature, you need to switch back to Object mode, select the character object, and then Edit mode

You have selected the armature are already in edit mode for the armature hence you are only able to edit the armature and not the mesh.

Go back to object mode.
Press A twice to deselect everything.
Select the mesh only and not the armature. If you are having trouble selecting the object then go to the outliner and select the object by clicking on Kanout.mesh.
Now enter edit mode.

Dont forget to accept the answer :)


text:
Question on How to Separate Meshes Into Multiple, Disconnected Meshes
So I'm very new to Blender and was looking to use it to create some sword fight/lightsaber fight actions scenes. However, I'm running into issues with separating body parts for models.
For example, let's say Luke's hand gets cut off by Darth Vader. How do I go about detaching his hand from the rest of his body so that it can be lying on the ground, separate from the rest of his model? I believe that essentially I'd be creating a new model or mesh, but I'm not certain how to do this from an existing mesh.
Any help or links to tutorials would be appreciated. Thanks!

Enter in edit mesh, deselect all, move the mouse over the object that you want to separate, use "L" as a shortcut and you will have a select option. After you select what you want to separate use "P" as shortcut and click on separate. Repeat this for every object that you want to separate.


text:
How can I model a helical helix, helicity on several levels, with a script?
The shape I wish to model is something like a

That is helicity on (at least) two levels. I would prefer an algorithmic way, since the parameters of the model will be changed.

Have a look at add curve extras addon. Has a number of spiral options.  Related https://blender.stackexchange.com/questions/139523/how-to-model-the-curly-cable-part-of-the-phone

https://blender.stackexchange.com/questions/57615 https://blender.stackexchange.com/questions/87281


text:
How to delete element from UIList with a button, when the element is clicked?
I am making a simple addon, that keeps information about location of group of objects at different frames.
Every time I make a keyframe on location for a group of objects, where each object has prefix Group_obj I want the information of such keyframe to appear in my UIList. I store all keyframes per object in dictionary. Dictionary schema:
{frame_number:
     {group_object_1_name: (x, y, z),
      group_object_2_name: (x, y, z),
  ...................................
      group_object_n_name: (x, y, z)}
}

How to delete an entry from my list by hitting a button, i.e. frame_200? How to understand if entry is clicked, i.e. frame_1137?
Is there a good way to show frames in correct order, ordered from smallest frame to biggest? Please see the screenshot:

My current code for this addon can be added to init.py and placed into "C:\Program Files\Blender Foundation\Blender 2.83\2.83\scripts\addons\out"
import bpy

"""
###############################################################################
PROPERTY GROUPS: START-UP CONFIGURATION OF DATA IN PANELS UI.
###############################################################################
"""
GroupObjectsData = None

class GroupObjects:
    def __init__(self, blender_objects: bpy.types.bpy_prop_collection = None):
        self.blender_obj_names = []
        self.data = {}
        if len(blender_objects) > 0:
            for obj in blender_objects:
                if "Group_obj" in obj.name:
                    self.blender_obj_names.append(obj.name)

    def add_keypose(self, frame: int):
        bpy.context.scene.frame_current = frame
        frame_name = "frame_" + str(frame)
        self.data[frame_name] = {}

        for name in self.blender_obj_names:
            x, y, z = bpy.data.objects[name].location
            self.data[frame_name][name] = (x, y, z)

class GroupPosesPropertyGroup_PGT(bpy.types.PropertyGroup):
    frame = bpy.props.IntProperty(name="hui")

class GroupKeyposes_UL(bpy.types.UIList):

    def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
        if self.layout_type in {'DEFAULT', 'COMPACT'}:
            if item:
                row = layout.row()
                row.prop(item, "frame", text="frame_" + str(item.frame))
                row.enabled = False
            else:
                layout.label(text="", translate=False, icon_value=icon)
        elif self.layout_type in {'GRID'}:
            layout.alignment = 'CENTER'
            layout.label(text="", icon_value=icon)

"""
###############################################################################
UI AND PANELS FRONTEND.
###############################################################################
"""

class PanelExmpl_PT(bpy.types.Panel):
    bl_idname = "GroupPosesPanel"
    bl_label = "Group poses"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = 'View'
    bl_options = {'DEFAULT_CLOSED'}

    def draw(self, context):
        layout = self.layout
        scene = context.scene

        layout.label(text="Group frames")
        layout.operator('group.init', text='Init Group Backend')
        layout.operator('group.add_keypose', text='Add Keypose')
        row1 = layout.row()
        row1.prop(scene, 'current_group_frame')

        row2 = layout.row()
        row2.template_list("GroupKeyposes_UL", "myul_id", scene, "group_created_poses", scene,
                             "current_group_frame")

"""
###############################################################################
BACKEND OF BLENDER PANELS UI.
###############################################################################
"""

class AddKeypose_OT(bpy.types.Operator):
    bl_idname = "group.add_keypose"
    bl_label = "Add Keypose Operator"
    bl_options = {"INTERNAL"}

    def execute(self, context):
        global GroupObjectsData
        scene = context.scene
        current_frame = scene.frame_current
        GroupObjectsData.add_keypose(current_frame)
        scene.current_group_frame = current_frame
        keypose = scene.group_created_poses.add()
        keypose.frame = current_frame

        print("INFO: frame {}; \n{}".format(current_frame, GroupObjectsData.data))

        return {"FINISHED"}

class InitGroupBackend_OT(bpy.types.Operator):
    bl_idname = "group.init"
    bl_label = "Init Group Objects Operator"
    bl_options = {"INTERNAL"}
    def execute(self, context):

        global GroupObjectsData
        GroupObjectsData = GroupObjects(bpy.data.objects)
        print("INFO: GroupObjectsData inited")
        return {"FINISHED"}

"""
###############################################################################
ADDON INFO. REGISTER/UNREGISTER FUNCTIONS.
###############################################################################
"""

bl_info = {
    "name": "Group Poses addon",
    "version": (0, 1, 0),
    "blender": (2, 80, 0),
    "location": "View3D > Sidebar > View Tab > Group Poses",
    "warning": "",
    "wiki_url": "",
    "support": "TESTING",
}

def register():
    bpy.types.Scene.current_group_frame = bpy.props.IntProperty(name="current_group_frame")
    bpy.utils.register_class(GroupPosesPropertyGroup_PGT)
    bpy.types.Scene.group_created_poses = bpy.props.CollectionProperty(type=GroupPosesPropertyGroup_PGT)
    bpy.utils.register_class(GroupKeyposes_UL)
    bpy.utils.register_class(InitGroupBackend_OT)
    bpy.utils.register_class(AddKeypose_OT)
    bpy.utils.register_class(PanelExmpl_PT)

def unregister():
    del bpy.types.Scene.group_created_poses
    bpy.utils.unregister_class(GroupPosesPropertyGroup_PGT)
    bpy.utils.unregister_class(PanelExmpl_PT)
    bpy.utils.unregister_class(AddKeypose_OT)
    bpy.utils.unregister_class(InitGroupBackend_OT)
    bpy.utils.unregister_class(GroupKeyposes_UL)

if __name__ == '__main__':
    register()

```


text:
Undo breaks my addon
I am writing addon, that adds keyframes to a group of objects at a time.
In example .blend file I created two objects: Group_obj1 and Group_obj2.
If you select both of them and go to View3D > Sidebar > View Tab > Group Poses you can add keyframes to both of them when you hit Add Keypose button, both object will get keyframes by location at frame 1.
What I do next to break addon:

Go to frame 100. Hit button Add Keypose
Go to frame 150 and change Y location of one of the objects. Hit Add Keypose
Press Ctrl+Z so keyframes in frame 150 are not set.
Hit Add Keypose again and I get an error:

Traceback (most recent call last):

  File "C:\Program Files\Blender Foundation\Blender 2.83\2.83\scripts\addons\out_exmpl\__init__.py", line 98, in execute
    GroupObjectsData.add_keypose(current_frame)
  File "C:\Program Files\Blender Foundation\Blender 2.83\2.83\scripts\addons\out_exmpl\__init__.py", line 27, in add_keypose
    x, y, z = obj.location
ReferenceError: StructRNA of type Object has been removed

How can I handle this Undo, so nothing breaks?
I want to keep all backend associated with inserting keyframes and other animation stuff in my own class GroupObjects, which is not inherrited from bpy.
My __init__.py: https://gist.github.com/spawly/3ceee6897519e74c3d3cddd3f96ef073
My .blend file with all objects added: https://drive.google.com/file/d/1KlRZgFnQbrlKr349BMgAlxDyQM0--d8x/view?usp=sharing

Consider using a collection  of some prop group obj : PointerProperty(type=bpy.types.Object) to keep reference to objects. Keeping a reference via list in some global class as you have done in addon is going to cause issues.

Thanks for the good input. I have no idea how to correctly use PointerPropety yet, but I will dive into that. So far I won't mark this question as resolved and will share if you advice worked for me


text:
How to hide and show a certain object by Toggle
I want to make a toggle button that hides/shows cube objects.
but this seems not to be working.
Here is my code:
import bpy
if bpy.data.objects['Cube'].hide_set == True:
    bpy.data.objects['Cube'].hide_set(False)
else:
    bpy.data.objects['Cube'].hide_set(True)

You have to use obj.hide_get() to get the hidden state. Btw your script can be reduced to a single line :
bpy.data.objects['Cube'].hide_set(not bpy.data.objects['Cube'].hide_get())

bpy.data.objects['Cube'].hide_set(not bpy.data.objects['Cube'].hide_get())
This is the answer I was looking for.
Thank you very much.
I think it will be of great help to what I do.


text:
How to click on the modify tab using python
The Properties editor has several categories.
among several tabs, I want to click on the modify tab using python.

but this seems not to be working.
How can I write a script that clicks various tabs of the Properties Editor?
Here is my code:
import bpy
bpy.context.space_data.context = 'MODIFIER'

You'd have to iterate through Screen.areas, find the Properties Editor and set the space:
import bpy

C = bpy.context

for area in C.screen.areas:
    if area.type == 'PROPERTIES' and \
        C.object.type not in ('LIGHT_PROBE', 'CAMERA', 'LIGHT', 'SPEAKER'):
        # Set it the active space
        area.spaces.active.context = 'MODIFIER' # 'VIEW_LAYER', 'SCENE' etc.
        break # OPTIONAL

Further reading: poll() failed, context incorrect?

This answer is really what i wanted.
Thanks! ; )


text:
I don't have any keymap for "view selected"
I am following a tutorial and they are teaching how to configure the hotkey for "view selected" but when I try to find the actual configuration I don't see any hotkey already created:

I just installed the program, I also tried to "Load factory preferences" but still not any hotkey found for this functionality
Is it normal that I don't have these hotkeys? I know I can add this hotkey manually but I am worried my configuration has a bigger mess

maybe you're talking about Show Active (Numpad ".")?

The option seems to be renamed from 2.90 probably which didn't really add any clarity. Anyway you can find the operator in the viewport header menu > View > Frame Selected. If it has any hotkey, that will be shown there (or in the Search menu as well)

I believe that "View Selected" in the keymap has been renamed to "Frame Selected."


text:
how to make light map for an object that has multiple materials?
Id searched ways to generate lightmap for an object that has multiple materials with each different textures, but most of things that i found is seperating object by materials or one object with one materials. Is there any way to generate light map for an object that has multiple materials?  Thank you.

Create one material, one UV map that would contain UVs for all the surfaces of the object and bake whatever you want then use the same baked map with the same UV map for whatever number of materials you want on the object. What's wrong with that?

Does this work on object that already has uv map and multiple materials?

If the UVs are suitable for baking - not overlapping and inside (0,0) - (1,1) square in UV space. So this might not be what you use for some of your materials, but you can create multiple UV maps for one object so it might make sense to have a separate UV map for light baking.


text:
Export fbx file from blender to Unity, then I got missing faces
I exported 3d model to Unity that I made using Blender. But I realized some faces are missing in unity. And Im not talking about that normal of missing faces are wrong. Those are literally missing.

As you can see, there are 2 selcted faces in these 2 pictures. Those faces are missing faces in unity, and material of both are different. And another thing that makes me confusing is only those two faces are missing, I mean, if material of the faces are wrong, then other faces using same material have to be missing too, right? But other faces are not missing! And another thing is these faces can be shown in Blender but not in Unity.
And you might think then why im thinking faces are missing, not wrong normal.
There are 2 reasons.

if I change remove those material in right material slot in mesh renderer of unity, other faces get pink color, but those 2 faces are still showing nothing.

There are cars going below the faces.

Can you see those Red Line area? the turquious green , blue , yellow cubes are cars(just demo design) and if there is a face and i just cant see that, then i could click the face, right? But if i click the face, unity editor show me inspector of the car, not the face.
So I dont know how but, faces are missing in unity but not in blender. And I hope this is matter of normals so i can fix it easily
**I checked face orientation too....

God, I really hate Unity.
Found the answer. Unity cant read well n-gon face. So I triangulated missing faces and now i can see well in Unity. Thanks to the @Constantine M in the link below( I cant comment on his answer cause i dont have enough reputation for comment.)
Why my face is missing when I export fbx from Blender to Unity 3D?

@AllenSimpson Hello. sorry but I dont know why you are thinking im using this site as forum, I just posted my issue and I found answer, so I just answered my own question just in case if anybody like me can find answer if they see my post. And as I said, my reputation isnt enough for comment and vote, so I cannot thanks to the person in link

Oh, sorry, it was in the queue.  I thought you were commenting on another answer, will remove.


text:
Objects 3D face corner positions to UVs
Is it possible to convert a 3D objects face corner positions to UVs?
I want to deform an objects mesh, save it as UV and then reapply those as UVs.
I want to create a UV map in geometry nodes without the unwrap node.
Here is a blend setup as explanation:

ObjectPosToUV
I tried many setups including Sample Index, but never could get it to work properly.

How to upload a blend file on BSE - good practices and advice
Your link doesn't work, no access.
You don't need to deform your mesh temporarily, or on a copy to sample the UV from. Just deform your positions directly:

BTW it makes no sense, when evaluating in "Face Corner" domain, to use the "evaluate on domain: face corner".

actually the vector math: multiply is not even needed there because it's a 2D vector so $z$ component is discarded.


text:
Why can't I zoom in Shader Mode?
New to Blender and starting out with the famous doughnut tutorials from YouTube. I am to the point learning about texture. The issue I am facing is once I switch to Shading mode from Layout the Viewport opens and my object is really small. I begin zooming in with the scroll button and am allowed to zoom in up to a point but the object is still too far off to see well. Below going to outline the steps I take to get the to problem:

In Layout Mode I hide all parts of the scene except for doughnut and light
Select the doughnut
Select Shading Mode
When shading mode opens it defaults to a blurry background that seems to mimic a silver reflective ball to the right of viewport. Not sure why it's set like this because in demo video the background is gray grid like in Layout
I begin to zoom in with scroll button and as I do the zoom does not go to my object but actually seems to zoom above it and I constantly have to toggle the x,y,z axes icon to bring it back in focus. Then it just gets to a point where scroll seems to stop zooming and the object is still far away.

Hope this is detailed enough, any questions let me know. Thanks for any help!

Hover the mouse over the donut when you're zooming. You may have to roughly centre it in the viewport first using Shift- MMB. The 'blurry' background is the default built-in HDRI which provides some of the light in shading mode.

@JohnEason You don't need to center the donut before... just use the Zoom to Mouse Position navigation. In earlier versions this was even enabled by default.

If it seems you cannot zoom to where you point your mouse at, make sure Zoom to Mouse Position is enabled, you find it in the top menu under Edit > Preferences > Navigation > Zoom.

When it seems you cannot zoom further in anymore: it seems like scrolling with the mouse wheel only has a certain "range" how far it can go. If you select an object and press Numpad ., the view is zoomed and centered on the selected object. After that the scroll wheel is "reset" and you can zoom in and out again.
If you have selected and object and zoomed in on it and still can't zoom closer, you can also select a single vertex in Edit Mode and zoom in on that to take your zoom even closer.
By the way, if you quickly want to zoom in on an object and want it to stay in the center, Numpad . is much quicker than having to scroll for zooming in.

I guess I must have changed the zoom setting many versions ago and it would have been picked up by each version update. I didn't realise that it wasn't the default on new installations. Although I use it without thinking, I tend to forget to mention the numpad period key. Not a lot of use when answering questions! :^)


text:
How to assign freestyle attributes to different objects for rendering?
I have a quadrilateral mesh and a triangle mesh in my collection, for quadrilaterial we want to render the visible edge, for triangle mesh we want to render the whole boundary which included the occluded boundary. How to achieve this?
Thank you  very much!
The first picture represents the result which we render for triangle mesh,
and the second picture represents the results which we render for quadrilateral mesh.

You can use https://blend-exchange.giantcowfilms.com/ to add pictures to your question.

If there's no  'in camera' discriminator between your Line-Sets, you may have to render them into different View Layers, and combine the layers in the Compositor.
But you can probably just link the meshes into distinct collections, and associate each Line-Set, (along with its style and its edge-selection method), with those collections:

It would depend on your case. Maybe you can illustrate it.

It works well, thank you very much!


text:
how to convert a vector to closure color in OSL
I am trying to implement the Cook-Torrance function in OSL.
The Cook-Torrance function is:

where D(h,alpha) is a function which returns a float as well as G(v,l,alpha).
F(v,h,f0) returns a vector.
How do I convert the output vector to closure color ?
I tried something like this:
BRDF = color(out) * emission();
But I am not sure if it's correct to multiply color * emission().


text:
Orange Outline Glitch
I don't know how but this glitch occured when I launched the Blender. I tried everything that I know but, didn't work. Do you have a solution for this? Thanks.

Hello :). Make sure your GPU Drivers are up to date and your hardware meets the minimum requirements. Other than that, you can try an older version :).

My older PC had exactly this problem, was due to an old graphics card.  See this technical note:  https://developer.blender.org/T75826