text:
What is the point of Blenders camera sensor width?
Forgive me for my lack of camera knowledge. There's an option for sensor width which zooms the camera in and out. The focal length option seems to do the exact same thing. What is difference and functional purpose of these two similar options? (Note: it's slightly confusing when attempting to match cameras and one is different from the other even when checking to make the focal lengths the same. My confusion prompted this question.)

Cameras in Blender are made to resemble cameras in real world. The size of the sensor is important when you need to match content created with a real camera with your CG, and that happens really often. Obviously, you might have a hard time to match your camera if you don't enter the correct sensor size. You should search for it online for the specific camera model your content is captured with.
You may also be used to real world cameras so it is easier to reach some desired result if you already know what to expect from some settings or parameters because they match real cameras.
If you have a look, you can see that Blender even comes with lot of presets matching real cameras:

What would you (personally) set your sensor width to if you have no need to utilize it? Having 2 zoom options seems like it could get awkward especially when trying to keep a consistent feeling throughout an animation. Is know its probably up to preference but maybe there might be customary or general rules of thumb relating to the practice. I'm new to this so I'm a little aimless.

I don't usually have the need to adjust it and just leave it alone with the default value that happens to be 36 mm. It shouldn't be a preference and you should use focal length for adjusting the zoom. This is how it is in reality as you cannot adjust the size of your sensor in a physical camera. Using sensor size for zooming would probably confuse anyone looking at your files if you need to work in a team or share your work. Unless of course you want to mess with your coworkers, then it's a great thing to do. :D

correlation with focal length - not described. This is exactly what was asked in the question

Focal length and sensor width (aperture) are highly misunderstood and abused concepts.  The property you are primarily concerned with is actually angle of view or field of view, but Blender does not provide such a camera attribute.  Angle of view is the result of combining focal length with sensor width.  Ordinarily you will want to adjust your angle of view using focal length since that is most intuitive and consistent with how a real world camera is used.  But be aware that focal length means nothing without a known sensor width.  A focal length of 50mm in front of a sensor width of 36mm does not provide the same angle of view as it does in front of a sensor width of 24mm.  First decide on your sensor size and don't touch it.  If you don't know it just accept the default.  The only time you need to care about sensor size is if you are integrating real world images with a CG render.  Find your desired angle of view using the lens focal length, but don't try to make the numbers mean anything.  Just make it look the way you want.   If someone says to you, "I want this to look like it does through a 50mm lens", you have to immediately ask them "what is your sensor size?"  Otherwise tell them to F*ck off, and ask them how much they want to see in the image (angle of view).

Is it necessary to use swear words to explain this subject?

Hello :). Not to tread on your nice answer, but Blender of course allows you to use field of view, instead of focal length.

Ok, yes there is a Field of View property, but not provided in the default interface.   It could be scripted, or displayed with an Add-on.

Oh, wait, I see, the Option menu - Lens Unit displays focal length or field of view....Nevermind.


text:
Mirrored object not symmetrical
I am trying to mirror an object and the original is symmetrical along all axis, but when I attempt to mirror across the y axis, the mirrored side is tilted to a different angle.

Mirror modifier mirrors the object in its local space. If the object is rotated its local axes differ from the scene's global axes. If you have an object and want to make its local rotation match the scene you need to apply rotation by hitting ctrl+a -> Rotation:

source: Stack Exchange

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

sort: votes


text:
Object Constraint - Object won't make a 360º rotation
What I'm doing wrong here? Why is the gear like reseting its rotation?
https://i.sstatic.net/6iMZq.jpg (Gif too heavy to upload here)

This is happening because that's how the Transformation constraint works w/r/t to rotation.
From the Blender Manual:

When using the rotation transform properties of the target as input, whatever the real values are, the constraint will always “take them back” into the (-180 to 180) range. E.g. if the target has a rotation of 420 degrees around its X axis, the values used as X input by the constraint will be:
((420+180)modulo360)−180=60−...
This is why this constraint is not really suited for gears!

You can use rigid body simulation to animate these properly, but that's beyond the scope of this answer.

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


text:
Align vertex preserving the angle
How to to align those vertices keeping the angle?

Just mirror the object. Or extrude a edge between two verteces as you draw the red line and then snap the other verteces to it in the Z axis.

I love that you also modelled the arrow for the question

In simple cases with a planar surface, one possible workaround is to use the Connect Vertex operator.
Move the existing vertex so they stay above an imaginary line connecting both ends, in such way the shape is convex.
In vertex select mode select both ends and use the Connect Vertex Path (from the context menu or J key) operator to joint then with an edge.
Then erase the surplus area.


text:
Object rotate in a strange way
today i run into another problem. i dont know how i have done it (probably i clicked sth what i should not click) - anyway - since that moment my objects are behaving totally different when i try to rotate them. the objects are now rotating around the pivot point but they keep their alignment - not sure if i am clear. eg. if u would rotate a plane which is lies flat on the ground it makes the rotation but the faces of the plane would still be up and dont which shouldn't be the case with the "normal" rotation that i know. so i want to understand what i have done (because this kind of rotation could be also usefull sometimes for me) and how can i return it in the case it happens again.

Probably you have turned on "Individual origin" Pivot point.


text:
Loft on top curved geometry
I have been going crazy trying to loft a rounded top on this design. I have traced it with control point splines in Fusion and tried many ways but cannot seem to get it. Is there a way I can do this in blender, keeping in mind I am very very new to blender and don't understand some of the TERMINOLOGY. I know a lot is different from Fusion 360 that I had been working with. I had put arcs with PLANE along path and guide lines but it somehow will not follow the curves with variable widths. This is a 2 piece heart design I will be adding a solid bottom to and make a decorative box IF I can round over the top. Thank you to anybody who can help guide me through this.
John

you can do that with curve with a taper object to change the radius all along, or just change de curve points radius, see here: https://www.youtube.com/watch?v=fR2-iEUgyVQ then convert to mesh, cut off the bottom half of the mesh, and extrude down

Create a curve that has the (half) heart shape. Create a second curve that will be the Taper Object, which means the profile of your shape all along its length, the distance of the Taper Object curve from its origin will determine the thickness of the profile. Select your heart curve, in the Object Data panel, under Geometry, select the Taper Object, set the Depth (thickness) of the object:

In the same panel, under Shape, set the Resolution (subdivision) along the length, under Bevel, set the Resolution along the width. You can lower down these resolutions as you'll give a Subdivision Surface modifier to your object later.

Duplicate your heart curve (to keep a copy somewhere) and right click > Convert To > Mesh, now your object is a mesh:

Switch to Edit mode, press AltZ for transparency, select all the bottom and X > Delete Vertices:

Select the bottom edge loops and extrude down with EZ:

Select all, press M to Merge by Distance. Give your object a Subdivision Surface modifier:


text:
How could I bake the movements of two seperate objects parented to the same armature?
I'm currently attempting to bake the object movement of two separate door objects that I rigged with constraints. What I would like to do is bake the rotation and location of both doors so that I can export the model as a rig in a separate game engine.

I wanted to know how I could bake the door object animations down to the bones.
I'm using Blender 4.0


text:
How would I fix my diffuse colors not appearing from my High Poly baking object?
I'm currently attempting to bake down details from a thin string object to a box object so that the box gets the colors and uses less tris than the string. A Simple High Poly to Low Poly bake.

My problem is whenever I attempt to actually bake this down to an actual image only a few pixels appear and not the full strings as intended. Why might this be happening?
https://drive.google.com/file/d/1SnS_gtaHHLEojkd-n26nKfCw_SsRcd0r/view?usp=drive_link
A link containing the Blend file.

your link is private access

@lemon I have changed the accessibility.

The details you want to bake sink under the geometry in a few places. Adjust the details to be slightly above the surface everywhere, and they should show up correctly in the bake.

Edit: It turned out that the resolution of the destination texture was too low. At 1024, the missing details showed up. However, they showed up in more areas than they should. The fix was to set the Max Ray Distance to 0.1 m. A screenshot of the result is shown below.

Right now, you need a high texture resolution, because you include large faces in the bake. Maybe you should only have faces that match the rope shape.

Even when I have it scaled to encase the high poly geometry it still does the same thing

Okay, I will check if there is an issue with the bake settings when I get the chance.

I updated my answer with the actual fix.

Thank you for the help.

You're welcome!


text:
Subdivision Surface Modifier creates a tall pillar?
i put a tiff file as a displacement for a plane, but when i try to subdivise it turns into a pillar, what did i do wrong?

Did you try if another .tiff works?

Maybe apply the scale (Ctrl A in Object mode)?

thx taiyo, got it working, turns out i saved the tiff file (from qgis) incorrectly, thx guys!


text:
How to Interpret FCurve Keyframe Handles
I've been pulling my hair out over this concept for a couple of days now, and I can't find a satisfying answer online.
I want to take each Keyframe in an FCurve and output it to file as a Cubic Hermite curve. As far as I can tell, the FCurves are (or can be) Cubic Bezier curves. That means it should be trivial to transform the Keyframe left/right handles and control point from Bezier to Hermite.
However, I have no idea how to interpret the meaning of the handles. They have a tuple (time, value), when I would expect them to have a single value for a 1D curve. Additionally, changing both time and value individually affects the spline, so it seems unlikely that they are calculated into a single value under the hood.
So, my question is: what is the proper way to interpret the handles on a Keyframe? What do I need to do to prepare the handles for transformation into Hermite? Do I even need to do anything at all?

Actually I have no idea what Hermite curves are and this is usually not the scope of this Blender website. I only know there is not much to interpret in the meaning of the handles. I guess there are certainly somewhere out there that tell you how the angle and the length of the handle are influencing the curve. The only thing is, Blender doesn't show you the angle and length, it shows you the position of the handle's end point, with X being the frame time and Y the value. Together with coordinates of the control point the handle belongs to you can calculate the length and angle of the handle.

So, if you find a formula that tells you in which way the handle effects the Bézier curve and another formula that tells you how a Hermite curve is built, then you might be able to transfer it.

I see, I appreciate the insight. I understand the bit about Blender's StackExchange and Hermite, I was just interested in Blender's implementation of the curve handles. Thank you! I think I have an idea of where to go with this now.

I don't know how the Bézier curves are implemented in Blender - I only know what values are shown in the Graph Editor which are obviously the simple X and Y coordinates of the handles' end points visible in the graph. The internal implementation is most likely totally different, this is just the resulting graphic.


text:
Snapping tools missing inside of UV Editor
Inside of my UV editor, I am missing the Snapping tool bar. I've going through Preferences, View menus and more to try and restore this with no luck. Without this option, I cannot snap and of my UV. I am using Blender 2.9.

It looks as if it's off the right hand side of the screen because you can just see the pivot point dropdown right at the edge of the screen. Try holding the MMB down with the cursor over that row and dragging it to the left.

Are you opening a file that was created in Blender 3.x?

It appears as though it was opened in a later version of blender. When I reimport the FBX into a clean 2.9 project, the menu is back. Thanks for the insight!

It appears as though it was opened in a later version of blender. When I reimport the FBX into a clean 2.9 project, the menu is back.


text:
Cycles - Using 2x HDRI for better lightning causes overexposed HDRI trough glass
I am using same HDRI, once for background and once for natural lights in my interior render:

The problem is when looking trough glass material the HDRI is over exposed.
Result outside glass material:

Looking through glass results in this:

Is there a setting in the glass material that will improve this? My glass material:

Try this for your world shader - the Is Camera Ray disables the (bright) look for the environment, but transparency shows the "true (bright) colors - the Is Glossy Ray on the second Mix Shader works to hide the bright image, even through glass:

You have to combine the Is Camera Ray with the Is Transmission Ray from the Light Path node. You can do this with a Math node set to Maximum, since both outputs are either 0 or 1 you will always get 1 unless both outputs are 0. However, for realistic lighting it is absolutely correct that it is overexposed - inside a room you have to use a higher exposure in a real camera so that the room isn't too dark, and in this case the outside will be overexposed through the window.

This doesn't change the overexposed look on the outside. But as I said, for realistic lighting it would be normal that you set a lower exposure for the outside and a higher exposure for the inside - and I don't mean the strength of the background shader, but the Exposure settings in either the Color Management or with an Exposure node in the Compositor for example.


text:
Bool tool - apply change only when certain operation is finished
Whenever I use bool tool operations and want to move/scale the cutting object or change it in edit mode the boolean is calculated at every mouse move, at every action. Is it possible to calculate the new boolean after I moved/scaled someting?
I usually work with complex models and it is literally impossible to work with booleans like that.
Thanks.

You can temporarily turn off its effect on the modifier panel by clicking the monitor icon but I doubt there's any other way.

You can disable displaying the modifier in the viewport and specifically in edit mode. Disabling it also disables the recalculations.

Yes I'm doing that, but turning it off means another 2 minutes of computing time. I see no reason why it needs to recalculate all the time. But I'm a simple man, I might be wrong.

I don't know how complex your meshes are that it takes 2 minutes of computing time... on simpler geometry where it's computed quicker, some people actually find it useful that it's realtime calculated on the fly, as they can then sometimes change the size of a cutting object while seeing the result until they visually like how it turns out.


text:
How to align a bone orientation to move along global axis
I try to build mechanical parts that have been constructed to move along global axis.
I am now trying to visualize the movement of some parts, but I am unable to perfectly move my objects with the bone along the y axis.
After I've set my keyframes and start moving the objects, the bone fails to position the objects to it's origin place in my model.
I dont know how I can move the bone's tip to match perfectly the global y-axis.

Recalculating roll as I understand, only "recalculates" the axis along the bones orientation, but doesnt moves the bone into the proper position.


text:
Stuck with texture paint: why can't I see the full material to paint on
So, yes, I am fairly new to Blender and I'm following a tutorial and got stuck. I recognize that this texturing tutorial was above my knowledge but now I just want to finish this model and move on, mostly because I am stubborn, so please bear with me.
I have the Skin material used in the tutorial (it was a part of the .blend file) but when I go to texture paint mode I cannot see the layer/image on which I need to paint.
Any ideas what I can do go get myself out of this? What am I missing? The 1st photo is from the tutorial and the 2nd is my file.

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

Hello could you please pack your images (File > External Data > Pack Resources), save and share your file? https://blend-exchange.com/

Thank u so much 4 the comments. In my head it sounded a lot clearer. After spending much time on this, I found the solution. I was operating under the assumption that he was painting on a map that was already included in the material by default (the Skin details one). So, I kept looking for it, inserted the material over and over and kept thinking I had toggled something and could not see it. Well, it turned out that he most likely created a new image texture using the same base color, plugged that in the Principled BSDF and then painted details over it. This is the only way it worked for me.


text:
Background Color / Plane Independent from Lighting of Scene
I've got a quick question and you can probably already guess that I'm a blender-newbie.
I would like to add a background color as a plane. However, this background should not be affected by the lighting of the scene, it should be the same color (#ff7300) throughout the whole frame. Nevertheless, the background needs to have an effect on the scene, because in front of the background a glass object is rotating, that needs to be tinted by the background.
Any help is appreciated, thank you so much!

Maybe try using an emission shader (set to strength 1)?

this is working perfectly, thanks for your help!


text:
Eevee renders default cube black
I'm really a newbie on blender, I barely know how to use the program and I'm watching a tutorial playlist to get started on this.
A problem came up.
When I use the "Material Preview" option, the default cube is completely black. When rendering with F12, too.
This happens using Engine Eevee and Cycles, but does not happen when using Workbench.
I really don't fully understand some solutions I found on the internet, but they don't seem to have anything to do with my problem.
I would really appreciate if someone could tell me what to do, since I barely know how to use the program and I can't even solve this. D:
As extra information:
OS: Linux, Debian 10.
Blender Version: 3.4.1
Processor: Intel Celeron N4020

Make sure that your graphics drivers are up to date.

Does it happen with a new blend file at default setup? You can also try File > Defaults > Load Factory Settings. If still black could be graphic card as Christopher mentioned. If it is black only for specific blend file you can share file via https://blend-exchange.com ... BTW Workbench works just because the engine doesn't use scene lights.

Hello please pack your images and share your file: https://blend-exchange.com/

I'm pretty new too, so I'm not super sure if this will work:
If your scene light option is checked but you don't have any lights in, the cube wont be lit up. You can either uncheck scene lights and scene world (dropdown menu in the top right), or add lights :)
Otherwise, it could just be a black material?

It could be possible, but the thing is, that the cube renders normally when using the Workbench render engine, so it's not a black material or missing lights. :(
Also, maybe I'll try using the Steam Version, just to be sure if it happens there too.

@MissingCiro .. the cube can render 'studio' normally in Workbench while having a black-evaluated material.. it depends on the settings. There's a lot of guesswork going on, here.. it would be good if you could share your file, as moonboots has suggested.

You probably watched a video on texturing or something similar and created a new image texture which is black by default.
Material Preview has nothing to do with lighting your scene, rendered view does.
To fix this: Go to the Material Tab and try to change the base color back to RGB.


text:
Get Value from EnumProperty Item
I'm new with Blender 3.4 and (bpy.)Python script.
I have build a script from template and found some hints in the web. It shows a list of Material/Texture-Websites (url-links) and it can successful open the url in the browser on button click. The list is build with bpy.props.EnumProperty and an execute function opens the url. My code works flawlessly but it's a bit overloaded, see what I mean:
Enumerator class:
class UrlOperator(bpy.types.Operator):
    bl_label = "Choose URL"
    bl_idname = "wm.template_operator"

    preset_enum : bpy.props.EnumProperty(
        name= "",
        description="Select an option",
        items=[
            ('1',  "AmbientCG", 'https://ambientcg.com/' ),
            ('2',  "Texturify", 'https://texturify.com/'),
            ('3',  "BelderKit", 'https://www.blenderkit.com/'),
            ('4',  "CGBookCase", 'https://www.cgbookcase.com/textures'),
            ('5',  "PolyHaven", 'https://polyhaven.com/'),
            ('6',  "3DTextures", 'https://3dtextures.me/'),
            ('7',  "Textures", 'https://www.textures.com/free'),
            ('8',  "Duion", 'https://duion.com/art/main'),
            ('9',  "OpenGameArt", 'https://opengameart.org/'),
            ('10', "TextureNinja",'https://textureninja.com/' ),
            ('11', "ShareTextures", 'https://www.sharetextures.com/assets'),
            ('12', "Substance3D Adobe (Account)", 'https://substance3d.adobe.com/assets/allassets?free=true'),
            ('13', "Empty Free",'' ),
            ('14', "Empty Free", '')
        ]
    )

In the execute function I evaluate the 1st value item:
    def execute(self, context):

        self.report({'INFO'}, "Selected:" + self.preset_enum)
# overload follows here:
        if self.preset_enum == '1' : webbrowser.open('https://ambientcg.com/')
        if self.preset_enum == '2' : webbrowser.open('https://texturify.com/')
        if self.preset_enum == '3' : webbrowser.open('https://www.blenderkit.com/')
        if self.preset_enum == '4' : webbrowser.open('https://www.cgbookcase.com/textures')
        if self.preset_enum == '5' : webbrowser.open('https://polyhaven.com/')
        if self.preset_enum == '6' : webbrowser.open('https://3dtextures.me/')
        if self.preset_enum == '7' : webbrowser.open('https://www.textures.com/free')
        if self.preset_enum == '8' : webbrowser.open('https://duion.com/art/main')
        if self.preset_enum == '9' : webbrowser.open('https://opengameart.org/')
        if self.preset_enum == '10' : webbrowser.open('https://textureninja.com/')
        if self.preset_enum == '11' : webbrowser.open('https://www.sharetextures.com/assets')
        if self.preset_enum == '12' : webbrowser.open('https://substance3d.adobe.com/assets/allassets?free=true')

        return {'FINISHED'}

But I dont know how to get the value with the url in it : "('1',  "AmbientCG", 'https://ambientcg.com/' ),".
to avoid the many if statements. As you can see I find the '1' - value, the question is how to get the url - value?
Has anyone a line of correct code for my issue?

I've found this inspecting objects with pdb. Maybe there is a better way to do this.
class UrlOperator(bpy.types.Operator):

    def execute(self, context):
        enum_items = self.properties.bl_rna.properties['preset_enum'].enum_items
        url = enum_items.get(self.preset_enum).description
        webbrowser.open(url)

Answers are often more pleasant to read with a body paragraph, even for simple code fixes. You can also add details and explain why it has to be the way it is, and where the snippet should lie in the code

Hi, thanks for the post. This site is not a regular forum, answers should be substantial, stand on their own, and thoroughly explain the solution and required steps. One liners and short tips rarely make for a good answer. If you can [edit] your post and provide some more details about the procedure and how it works, perhaps add a few images illustrating some steps and final result. See How to write a good answer?, otherwise it may be converted to a comment.

Thanks, this is the solution I search for. It illustrates the way to touch the iterm properties perfect. :-)

I've update my answer. But I don't have a lot of experience with Blender, so I can't give a comprehensive answer for now. I do my best.

Thanks again, your first answer will work perfect - that's similar what I've thought about on my search for a solution.

Anybody has an idea to put the values out of the EnumProperty.items into a text file and how should they been stored there and how to read them with an item_calllback function and how to set them dynamicly into the enumproperty items[] ? Have'nt found any hint here an there to do it the right way. Items are always empty.

Have completed the code above with dynamic add items from text-file to EnumProperty. But I see no solution to put the code into a callback function. If the code starts in the root it will work fine for me:
1st: the structure of the text file:
1,AmbientCG,https://ambientcg.com/
2,Texturify,https://texturify.com/
...
...

2nd: the code to build the items-tuple:
# def dyn_enum_items_add(self, context): See no chance to make this run with following code in this function
# so bring this code to root and it runs:

# dynamicly construct EnumProperty.Items from textfile
# This Scrip Path + Addon + filename
path = bpy.utils.user_resource('SCRIPTS') + '\\addons\\URLPanelitems.txt'
# make Blender abspath
f = Path(bpy.path.abspath(path))
# open file as csv and convert to list
if f.exists():
    with open(f,'r') as file:
        reader = csv.reader(file)
        lst = list(tuple(line) for line in reader)

# convert list into tuple
url_items_dyn = tuple(lst)
# return url_items_dyn

3rd: the EnumProperty code:
class UrlOperator(bpy.types.Operator):
    bl_label = "Choose URL"
    bl_idname = "wm.template_operator"

    preset_enum : bpy.props.EnumProperty(
        name= "",
        description = "Call selected URL",
        items = url_items_dyn

If anybody has an idea to put the code in a callback function, let me know.
If I run the code (2nd) from callback I get this error in my execute function:
url = enum_items.get(self.preset_enum).description

AttributeError: 'NoneType' object has no attribute 'description'
    def execute(self, context):
        # The way to get a EnumProperty.Value:
        enum_items = self.properties.bl_rna.properties['preset_enum'].enum_items
        # value .description
        url = enum_items.get(self.preset_enum).description
        # call it in browser
        webbrowser.open(url)
        return {'FINISHED'}

It seems there comes an empty tuple out of the callback?


text:
Draw brush missing in texture paint
Have been using the draw tool in texture paint on a model but when I open the file now the tool is completely missing. Is it possible to accidentally delete a brush and if so: How do I get it back?

Brushes can be created and deleted. The default brushes have a so-called fake user. That's the "F" letter at the beginning of their names. It ensures, that the brushes are saved and not discarded by the garbage collection when you save the blend file. Maybe you have removed the flag accidentally? I would create & save a new file. Then open this file and use File > Append... > Brushes to append the missing brush from the saved default blend file.

Thanks for the answer! I tried it out but after pressing append the brush does not show up in brush select window. I've never tried to append before so I don't know if I'm missing some steps. Using Blender 2.74, by the way.

Edit: Got it to work! Thank you very much!


text:
Baking AO into Vertex, Where are AO Settings?
Okay Blender Horde, I have been searching with no result the answer to this question.
I want to bake the AO into the Vertex paint, fine, that is easy, BUT, where on earth are the AO settings so I can tweak the ray distance and such?
In all the tutorials I see people are baking into textures and use the shader nodes and such, I am not doing that so it does not help me.
I saw in a post that AO settings could be found in the World panel, but in my version of Blender, in the world panel there is no AO.
I saw on another post that that same panel is now in the Fast GI approximation panel in rendering, but tweaking that does not affect the AO bake in the slightest.
So again, and to simplify: Does anyone know where are the settings for the AO that gets baked?
Thanks Horde!

You can use Ambient Occlusion node in your shader, connect it as emission and bake emission.

Ambient Occlusion settings are on the Render tab, but only when using Eevee.

The settings are in Render Properties tab of the Properties Editor, in Light Paths panel, Fast GI Approximation sub-panel:

They apply to baking even if Fast GI Approximation is disabled for rendering.


text:
Hair Clumping Node NOT working when "InterpolateHairCurves" but working when "DuplicateHairCurves"
I have no idea what am I doing wrong, but almost nobody else is having this problem so I am stuck.
I made some hair guides, then added the interpolate node group, after making that work I added a clump modifier.
One would think that it would work right away, well it doesnt, no matter what values I use it just does not work using the existing guides, it clumps everything into a single clump; it does hoever work if you unckeck the "existingGuideMap", but that is not what I want.
Now the kicker: if instead of interpolating I use the "duplicateHairCurves" modifier, the clump node works exactly as expected. Huh? What gives?
I would simply like to use the interpolate, then clump, and the interpolated strands to follow the original guides. What am I missing here?

I finally figured it out, or so I think, at least I made it work.
When doing very small pieces, the numbers are very finicky.
In order the clump modifier to work properly, the interpolate curves modifier HAS to be set properly.
In my case the solution was first to input exactly the number of guides I had made, in this case 7. Then the distance to guides has to be within a reasonable range, in my case very small values, such as 0.011m. I sumbled onto that number starting from zero and watching the interpolated curves spread out, once they are at a reasonable distance, that is my number.
I have no idea if this is what made it work, as I have not managed to replicate the problem, but at least now I have it working.


text:
How can I copy custom properties in blender
Copy form active object to another,
or to multiple objects.
Thank u!

via the UI.
Enable the built-in addon. In Edit > Preferences > Addons, enable 'Interface: Copy Attributes Menu' to enable it.
In the 3D view, select the to object, then shift-select the from object.  then ctrl-C will give you a popup where the last item is what you want:

I think that's from a built-in addon which isn't enabled by default. Search 'Copy' under Edit > Preferences > Addons and enable 'Interface: Copy Attributes Menu' to enable it.

thank u, i found it in the latest vertion

Brilliant. Thank you!

Copy custom properties to selected objects from active object
import bpy

act = bpy.context.object
act_items = act.items()
for obj in bpy.context.selected_objects:
    if obj == act: continue
    for k, e in act_items:
        obj[k] = e


text:
Camera projection matrix is always the same
I wrote a simple python script to render a scene from different points of view. For each rendered image i also need to save the projection matrix of the camera that took the picture.
I try to get the projection matrix with calc_matrix_camera(), but it seems that even if i change the location/orientation of the camera the resulting matrix is always the same. Is the matrix returned by calc_matrix_camera an intrinsic matrix? Is it premultiplied with the extrinsic matrix? Can anyone point me to the right direction?
I am running the script via command line.
Here's the code i use to get the projection matrix:
for step in range(0, steps):
        radians = np.radians(step * (angle / steps))
        subject.location = (250 * np.cos(radians), 250 * np.sin(radians) , 150)
        look_at(subject, (0,0,100))
        dg = bpy.context.evaluated_depsgraph_get()
        dg.update()
        projection_mat = bpy.context.scene.camera.calc_matrix_camera(
                dg,       #bpy.context.view_layer.depsgraph,#
                x=bpy.context.scene.render.resolution_x,
                y=bpy.context.scene.render.resolution_y,
                scale_x=bpy.context.scene.render.pixel_aspect_x,
                scale_y=bpy.context.scene.render.pixel_aspect_y
                )

Hello ! This seems to be a limitation of using blender from the command line, please refer to the comments of this answer https://blender.stackexchange.com/a/50507/86891

Also this looks like it should answer your question https://blender.stackexchange.com/a/86570/86891

Hello, thanks a lot. Unfortunately it seems that getting the depsgraph as bpy.data.scenes["Scene"].view_layers["View Layer"].depsgraph does not solve the problem for me.


text:
Grease Pencil Randomize is grayed out
In draw mode in grease pencil, in strokes in the randomize section, hue and the other ones are grayed out, how do I fix that?

You have to switch to vertex color mode. In material mode (the one you were in), the color of the stroke points is defined by the material and can't be randomized individually.
In vertex color mode each stroke point can have its own color. And can therefore be randomized.


text:
Export a video of a colored mesh
I created an object from colored vertices using a mesh. My problem is that when I try to export an animation of this object as video, the color is gone. It seems to me that this is because my object didn't have a material attached to it. Then I added the a material, but the color is still not showing on export.
How can I transfer the color from vertices to the material?
Here is my code: everything is created by it from scratch.
import math

import bpy
import numpy as np

# Clear all
for o in bpy.data.objects:
    bpy.data.objects.remove(o, do_unlink=True)
for m in bpy.data.meshes:
    bpy.data.meshes.remove(m, do_unlink=True)
for m in bpy.data.materials:
    bpy.data.materials.remove(m, do_unlink=True)
for m in bpy.data.materials:
    bpy.data.materials.remove(m, do_unlink=True)
scene = bpy.context.scene

def f(a, b):
    return a**2 + b**2

def f_vect(ab):
    return f(a=ab[0], b=ab[1])

n_a = n_b = 100

a_vals = np.linspace(-5, 5, n_a)
b_vals = np.linspace(-5, 5, n_b)

all_ab_combos = np.dstack(np.meshgrid(a_vals, b_vals)).reshape(-1, 2)

f_vals = np.apply_along_axis(f_vect, 1, all_ab_combos)
min_f_val = np.min(np.min(f_vals))
max_f_val = np.max(np.max(f_vals))

# Create vertices
vertices = np.empty(n_a * n_b)
vertices[:] = np.nan
vertices = list(vertices)
occupied_indices = set()

for a_idx, a in enumerate(a_vals):
    for b_idx, b in enumerate(b_vals):
        v_idx = a_idx * n_b + b_idx
        assert np.isnan(vertices[v_idx])
        vertices[v_idx] = [a, b, f(a, b)]
        occupied_indices.add(v_idx)

# Create faces
faces = []
for a_idx in range(n_a - 1):
    for b_idx in range(n_b - 1):
        faces.append([a_idx * n_b + b_idx, a_idx * n_b + b_idx + 1, (a_idx + 1) * n_b + b_idx + 1,
                      (a_idx + 1) * n_b + b_idx])

# Create the surface
surf_name = "surf"
mesh = bpy.data.meshes.new(surf_name)
mesh.from_pydata(vertices, [], faces)

obj = bpy.data.objects.new(surf_name, mesh)
bpy.context.collection.objects.link(obj)

# Assign material
ob = obj

# Get material
mat = bpy.data.materials.get("Material")
if mat is None:
    # create material
    mat = bpy.data.materials.new(name="Material")

# Assign it to object
ob.data.materials.append(mat)

for f in mesh.polygons:
    f.use_smooth = True

# Generate vertex colors.
vc_layer = mesh.vertex_colors.new()
mn = 0.05
mx = 0.95
thresh1 = 0.4
thresh2 = 0.6

RED = np.array([1, 0, 0])
GREEN = np.array([0, 1, 0])
BLUE = np.array([0, 0, 1])
VIOLET = np.array([127, 0, 255]) / 255
CYAN = np.array([0, 1, 1])
MAGENTA = np.array([255, 0, 255]) / 255

color_templates = [MAGENTA, CYAN, BLUE, GREEN, RED, VIOLET]
thresholds = [0, 0.02, 0.2, 0.4, 0.6, 1]

for p in mesh.polygons:
    for idx in p.loop_indices:
        vi = mesh.loops[idx].vertex_index
        z_orig = mesh.vertices[vi].co[2]
        z = (z_orig - min_f_val) / (max_f_val - min_f_val)
        r = g = b = 0

        color = None

        prev_threshold_idx = None
        next_threshold_idx = None

        for th_idx, th in enumerate(thresholds):
            if th > z:
                next_threshold_idx = th_idx
                break

        if next_threshold_idx is None:  # z is above the highest threshold.
            color = color_templates[-1]
        else:
            prev_threshold_idx = next_threshold_idx - 1
            if prev_threshold_idx == -1:  # z is below the lowest threshold.
                color = color_templates[0]
            else:  # z is between to thresholds.
                th_prev = thresholds[prev_threshold_idx]
                th_next = thresholds[next_threshold_idx]
                alpha = (z - th_prev) / (th_next - th_prev)
                color = alpha * color_templates[next_threshold_idx] + (1 - alpha) * color_templates[prev_threshold_idx]
        assert color is not None

        r, g, b = list(color)
        assert 0 <= r <= 1
        assert 0 <= g <= 1
        assert 0 <= b <= 1
        vc_layer.data[idx].color[0] = r
        vc_layer.data[idx].color[1] = g
        vc_layer.data[idx].color[2] = b

# Get the reference to the active scene
scene = bpy.context.scene

# Create a new camera
camera = bpy.data.cameras.new("Camera")
camera_obj = bpy.data.objects.new("Camera", camera)
scene.collection.objects.link(camera_obj)
target_obj = bpy.data.objects[surf_name]
bpy.context.view_layer.objects.active = camera_obj
camera_obj.constraints.new(type='TRACK_TO')
camera_obj.constraints["Track To"].target = target_obj
camera_obj.constraints["Track To"].track_axis = 'TRACK_NEGATIVE_Z'
camera_obj.constraints["Track To"].up_axis = 'UP_Y'
camera_obj.location.z = 80

# Enable vertex paint view.
bpy.context.view_layer.update()
bpy.context.view_layer.objects.active = obj
obj.select_set(True)
bpy.ops.paint.vertex_paint_toggle()

obj.rotation_euler = [0, 0, 0]
obj.keyframe_insert(data_path='rotation_euler', frame=1)
obj.rotation_euler = [0, 0, math.radians(90)]
obj.keyframe_insert(data_path='rotation_euler', frame=30)

Thanks a lot!

This should do the trick:
mat.use_nodes = True
node_shader = mat.node_tree.nodes['Principled BSDF']
node_attr = mat.node_tree.nodes.new('ShaderNodeAttribute')
node_attr.attribute_name = vc_layer.name
mat.node_tree.links.new(node_attr.outputs[0], node_shader.inputs['Base Color'])

It feeds the vertex color (now called "attribute") into the shader. You can choose to instead feed the color directly into the output Surface socket, or use shader emission.

Alternatively / additionally, you can display vertex colors in Solid viewport mode without the need for a material.
for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        for space in area.spaces:
            if space.type == 'VIEW_3D' and space.shading.type == 'SOLID':
                space.shading.color_type = 'VERTEX'

In this case, you would have to render using Workbench as your engine.

Thanks, that solved it. Although my animations come out way darker than previews. Did it actually render for you with the bright colors shown in the image?

If you use the first method (simply connecting to base color), the object will be lit/shadowed by the world lighting, which is a grey void by default. Feed it directly to have it unaffected by lighting, or use the seconds method (Workbench with Flat shading).

Thanks! That worked.

Well, it made the rendered video brighter. Yet, the video that actually gets saved looks somehow washed up compared to what I see in the renderer. The colors are somehow less vibrant. I used high quality settings, which makes it strange.

Under Color Management, try changing the view transform to Standard.

Video encoding probably cuts off some color range, but from what I'm seeing, things match up to a reasonable extent (all four in Workbench/Flat).

Changing the view to Standard did it. Thanks a lot!

So the animation works, but I was wondering how to now add a texture to the surface? Do I understand it right that with the current setup it won't be possible because we're using the Workbench engine? It seems to only work for me in previw, but when I export the animation to a file, the texture is gone together with the material

Workbench only allows either vertex colors, or a texture - not both. If something works in preview but not on render, maybe you didn't change the settings on the render tab? Mixing vertex color with a texture in Eevee/ Cycles would require a Mix Color node ( like so )


text:
geo nodes Start/Stop Attribute
Hello i want to make a geo node setup where we define a Start and End frame and get an attribute value which starts from 0 at start frame then stop at certain value let's say 10 and just a few frames before End frame start coming down from 10 to 0

i tried making this with simulation nodes just adding 1 to a named attribute and using the skip checkbox for making sim start at the given start frame

Then i tried stacking another for End frame but didn't work

The simulation zone method would work, but since this can be easily expressed with math nodes, I would choose the none-simulated approach.

Result


text:
how to add driver for geo nodes property
I want to add a driver so that the Hue Value Affects the Z location of an external cube

right click on hue in geometry nodes modifier -> copy data path
give your other object on z-location this driver:

paste your copied data path into path
result:


text:
Delay Effect in Simulation Nodes
Hello i have this  simple setup with raycast node to make a laser knd of effect

i want have a delay effect in the Endpoint of the curve to make something like this :

i tried making this with simulation zone and mixing vector of current and previous frame position but that didn't quite worked well  any help would be appreciated

if you provide a blend file - i will help. But i am too lazy to rebuild that manually - sorry.

@Chris you can just type the basic logic of how this can be achieved  i can understand from that

It is not just the GN graph, but also the animation process we would like to know. From information provided, I am guessing (1) that the laser beam is aligned with the Z axis of the "emitting" object, (2) that you are rotating this emitter and (3) that you are not using a Simulation Zone. But these are just guesses...

great: use simulation zone: store the position of the current frame, use that to bend your "real" position delayed.

@StefLAncien i just keyframed the rotation of the emitter plane  then mesh to points then set position according to hit position of raycast node then just points to curve


text:
is there a way to fade image cards where they interact with surfaces
I have a geo nodes explosion sim with image planes instanced to points  i want to fade the images where it collides with surfaces not just a plane but any surface

Hello ! Should be doable in the shader with an ambient occlusion node and a noise texture. Make sure the flame cards do not cause ambient occlusion themselves

Oh yeah that can be a solution but i want a bit more elegant way of doing that

Hmm, how is this not elegant ? It's litteraly three or four nodes to add to your shader tree

i experimented with the occlusion node a bit and it works quite perfectly but just a bit noisy  i am using eevee   anyway i think i got the solution thanks :D !


text:
How to Simulate geo nodes Particles in World Space? or Atleast Fake it
i have a geo nodes sim with two swords colliding  one is set as emitter other as collider but the particles are following emitter swords rotation  i have thought about locking the rotation vector to a ground plane but don't know about the locking the position after impact  if anyone know a effecient way to do it please do tell me

Here i want lock the position and rotation of particles on the imapact frame then let the physics sim happen

see here https://blender.stackexchange.com/q/309610/165102

"- Doctor, when I do »this« it hurts. - Stop doing it."   Just don't rotate and move your emitter. If you want to emit from a particular position, use "Object Info" node to read the current location of the object to emit from.


text:
Geometry Nodes: How can I use baked sound F-curve data as a math function?
I want to use baked sound F-curve instead of sin and cos in expression for Trefoil knot:
\begin{aligned}x&=\sin t+2\sin 2t\\y&=\cos t-2\cos 2t\\z&=-\sin 3t\end{aligned}
Is it possible to set position of curve in Geometry Nodes using F-curve data as function?
Method I tried: recreate curve shape with simulation. Baked f-curve input as "Signal":

Then i tried to call the Z coordinate of the resulting curve for the given index.

I thought that I could replace sin with this group as a math function. But it doesn't work.

I think there might be a way to copy it as a driver and use that in GN

That sounds good. But I haven't found how to do it yet.

create a value node and right click (or press i) and add a keyframe

then open up the graph editor and select the keyframe
select Channel > Bake Sound to F-Curves

then locate your audio file and select it.

This is not exactly what I'm looking for. This method allows you to get the value of the baked sound at a certain point in time. But I'm looking for a way to create the curve of the entire track at once. Found a solution using Animation nodes:
https://blender.stackexchange.com/a/47402/162404
It remains only to figure out how to do it using Geometry Nodes.

Even though it didn't answer the OP's question, this answered my question of how to bake a sound to an F-curve to a value.


text:
Geometry Nodes: Whether the curve rotates clockwise or counter-clockwise?
I'm trying to place two instance objects on curve turns using geometry nodes.
I need to define

Points where the curve turns
Type of rotation -- clockwise or counterclockwise

I used Normal node to detect points of rotations.

But it works wrong.

Is it possible to use the Normal or Curve Tangent nodes for this issue? Perhaps there is another approach.

Hello and welcome to Blender.SE! This might be helpful (...maybe a duplicate?): https://blender.stackexchange.com/questions/259550/

You could solve this issue by using the example I mentioned in the comment (strictly speaking, it is a duplicate from my point of view, but I am writing the answer anyway so that this particular question is fully answered):

Capture the direction of the corner per point. The trick with the Curve Handle Positions helps you. If you create the cross product from these positions, and then compare it with the up vector, you will always get $0$ or $1$, depending on the direction of the curve.
Then convert the curve to points, because this will give you the rotation of each point, which you can use as a basis for Align Euler to Vector.
Finally, instantiate at the intermediate points (I assume in this example that you do not want to create objects at the first and last point) one of the two objects from your collection.

Make sure that the rotation of the objects is ok, or correct it according to your ideas.
(Blender 3.2+)

Great! Thanks a lot. Will Curve Handle Positions work after Resample node? I'd like to fill in the straight sections with square blocks.

I assume that Cross Product on straight sections should give a zero vector. Thus, it would be possible to select points on straight sections by comparing with the zero vector. But so far it doesn't work.

@PavelTrufanov To create instances on the lines between the vertices, I would choose this solution: https://i.sstatic.net/jPuk1.jpg

Exactly what is needed. Thank you!


text:
Geometry Nodes: Start point of the curve does not affected when using the Trim Curve node
I'm using Proximity to change Z-position of the instances. Proximity is controlled by the Trim Curve node. The problem is that the start point of the curve is not affected. Is there a way to fix this with Trim Curve, or is there a more elegant solution?

The problem here is that you can only cover a part of the curve with your value for "Factor", because this runs from $0$ to $1$.
You can therefore solve this differently and with fewer nodes:

First use Capture Attribute at the very beginning of your node tree and capture the Curve Factor there.
After that, since this value will be transferred to all instances, subtract it from your input, which you multiply by $1.1$ before (so it will always be somewhere between $0$ and $1.1$).
Then map these values to the range you want, but limit the From Max value to $0.1$.

Since you previously multiplied the input by $1.1$, and now set $0.1$ as From Max, you will get a smooth transition in the range $0.1$. If you want to increase this transition, first multiply by $1.5$ and set From Max to $0.5$.

(Blender 3.4+)

Thanks for the nice solution!


text:
Edit or replace background image or video link
I am new to Blender (learning to navigate, viewports, etc..). I have the file as I want it but I just need to change the link for the video background/image that is already set with another one (so another video/image replaces the actual one). Same dimensions, position, etc. Just the link needs changing. Can I do it without deleting the image/video and importing a new one (re-position it, declare the dependencies, etc.)? Any suggestion is highly appreciated. Thank you.

Just click the folder icon next to the cross on that image node and it will bring up the file selector to select your new file. Assuming the video/image dimensions are the same you shouldn't need to change anything else. If you do have a problem you can go back to the old one by selecting it again from the dropdown by the image icon.

Actually opening and changing textures and many other things in nodes and other selection fields is a very basic function. I don't mean this rude, but I guess should really watch some beginner tutorials on how to use the common features in Blender.

Thank you so much. The folder thing I didn't noticed it until you pointed out. I was like..duhh.. It works now flawless. And yes, I need to start getting into some serious training for beginners. Am rendering it as we speak. Thank you again.


text:
How can I mirror vertex groups after painting? No solution is working
I am trying to rig a model, using Blender 3.5.0, and for some reason I had it in my mind that when you do a .l and .r naming scheme for bones and vertex groups that weight paint would copy automatically, but that clearly isn't the case. Now I'm trying to mirror the weights but I'm having no luck.
I tried the "copy vertex group, mirror it, and rename it" trick, but that would mirror both the copy and the original, even if I pressed the lock button on the original, even if I renamed it before mirroring it.
I tried checking the "Mirror vertex groups" box, but when I painted with it on, it did nothing to the opposite side vertex group.
The only modifiers I have on it is the armature modifier...
What am I doing wrong?
I am going to try and link the file just in case. The weighting is only half done, the vertex groups I was fighting with were the shrug.L and .R. I'm not worried about the weighting errors, I can fix that, I'm just worried about the mirroring.
LittleFellowTroubleshooting.blend

If you use the Mirror modifier, parent the object to the armature, weight paint, then apply the Mirror modifier, the opposite vertex groups will be automatically created.
If you don't have the Mirror modifier anymore, I don't know if you can automatically duplicate and mirror several or all the vertex groups that have a _R or _L suffixe (that would be useful), but in order to mirror the groups one by one you can:
Apply the rotation in Object mode (maybe it's your problem here), paint the weight for the vertex group called hand_L for example, duplicate it with Copy Vertex Group, select the new group, Mirror Vertex Group, rename the group hand_R.

You were right, the mirror modifier did the trick. I deleted half of the verticies, added it back, and it worked like a charm. thanks!

Yes but i think that the answer to your precise question is that you didn't apply the rotation?


text:
Blender crashes everytime i want to play the animation. Can somebody help?
Everytime i start to play the animation with the carpet falling down blender crashes. I dont why. Here i uploaded the file maybe someone can help.
Here is the Link: https://we.tl/t-rZSbZZb21d

Your file is very big (500 MB) for such a simple scene. I'm not sure why. The freezing/crash is caused by Joe the character model. It looks low-poly but it has over 300k. Especially the shoes are high-poly. While the shirt lacks the needed geometry badly. I guess you have made Joe low-poly and added a Subdivision, and a Solidify modifier. That's ok. But when you exported the model to Mixamo the modifiers had been applied and made Joe high-poly. That's bad. Better export Joe without the modifiers and add them back when you re-import the Mixamo model. This way the model stays low-poly.

I also recommend watching a few tutorials about character modeling and topology. For physics simulation and animation, you should apply the Scale, Rotation, and Location (Ctrl+A in Object mode) and place your model at the world origin (0,0,0). The same for the blanket. Give it a good simple quad topology, make sure the normals point outside (face orientation), and apply the Scale. Then the simulation should work much better.

thank u for ur informations


text:
How to rig Anime Hair on a Dragon

Hi, can anyone tell me how I can create a kind of hair texture and then rig it onto my dragon so that I can animate the hair in a flying animation?
I've already tried with a particle system, but it didn't look like the hair in the picture. It should look like something from an anime.

Hello you can use curves then convert to mesh, and use the BoneDynamics addon to animate?

I will try it. But than i need to rig any hair strain on its own or?

you can rig several hair strain to one bone

this is a good idea

You have another addon called Wiggle Bones, you could also use Cloth physics

Several solutions:
You could use addons like Wiggle Bones or BoneDynamics that will simulate physics.
You could also use Cloth physics. First create a vertex group like that:

Give your object a Cloth physic, select the vertex group as Pin group, tweak the parameters, particularly the Stiffness:

Result:

An interesting solution that you could also test, explained in this video by RA Animation:
Give a Damped Track constraint to each bone of your bone chain (except first and last) with each time the next bone as Target and an Influence of 0.6 (more or less depending on the elasticity you want):

Result when you move or rotate the first bone (as stated in the comments to render "you need to bake the animated bones with that constraints first. after that, turn off the Damped Track, then render"):


text:
Rigged Object does not effect the floor in physics simulation Rigid Body

Here you can see my scene. The skeleton is rigged with an armature. on the left side i created a spehere to demonstrate that the simulation is working. When i animated the skeleton i choose mesh colision and deform. When i play the simulation the skeleton mesh does not effect the floor as it should. I think this is beacause of the pivot point if the seperate objects. The Pivot Point is under the skeletton for all objects.
Maybe there is an easier way of doing this simulation.
Thanks for your help

pls provide blend file, thx

Hello, @manu000, you haven't told us what the result of 'this simulation'  should be. So: 'as it should' has no meaning for those of us who are not telepathic :) . Please edit to clarify this post, with a plain description and/or illustration of the result you want to achieve.


text:
i want to control blender drivers with an xbox controller
I created an robot arm, which can be animated using drivers. Is there a posibilty i can control this drivers using an xbox controller?
searched in the internet but the tutorials i found don not work with mac.


text:
Rotating a flap of an airplane
I want to animate this airplane and control the wings using drivers. How can I properly rotate the wing so that it doesn't collide with the object?
I also tried using an armature but couldn't get it to work.
How can I define the rotation axis myself?

Hello, maybe read this answer https://blender.stackexchange.com/questions/129834/how-do-i-rotate-an-object-along-its-own-axis-windmill

@moonboots how about this answer of yours? :) https://blender.stackexchange.com/questions/140629/custom-rotation-for-a-tilted-aircraft-flap

oh you're right i forgot this one


text:
No Light Groups under Passes with View Layer

I am using 3.6, but as you can see, there is no Light Group option for some reason.
Is it something that requires extra setup to show?

What version is this? Is it the official 3.6.0 or some nightly build? In my 3.6.0 there is no Effects section.

it is the official 3.6.0. I just downloaded it from the blender.org

Light Groups are available in Cycles, not Eevee

thank you for the answer!


text:
rig animation actions for large number of copies but with time offset between copies in blender 3.x
Helo, Is there a way to create an army (for ex. 100) of RIG animated objects from the same mesh+armature and run a same action on the time line with time offset between all of the copies so they dont make the action in synchronization ? For exemple make them walk but not in the same rythm. I thing animation node was a solution but it is no more in blender 3.x ?

Here's one of Ian Hubert's one minute tutorials which might give you some ideas.

Thank you ; this is good advise and helped me clearly.


text:
Compiling Blender from branch does not find precompiled libraries
If I try and compile blender from any other branch than master I get the following error during make:
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.22/Modules/FindJPEG.cmake:106 (find_package_handle_standard_args)
  build_files/cmake/platform/platform_unix.cmake:87 (find_package)
  build_files/cmake/platform/platform_unix.cmake:101 (find_package_wrapper)
  CMakeLists.txt:1058 (include)

At first, I thought maybe my OS was messed up but I was able to reproduce it in a fresh Docker container.
Dockerfile to reproduce:
FROM ubuntu:latest

ARG BLENDER_VERSION=3.3
ARG PYTHON_VERSION=3.10.10

RUN apt-get -y update
RUN apt-get -y install wget build-essential zlib1g-dev

# Install Python
WORKDIR /home/tmp/python
RUN wget https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz
RUN tar -xvf Python-$PYTHON_VERSION.tgz
WORKDIR /home/tmp/python/Python-$PYTHON_VERSION
RUN ./configure --enable-optimizations
RUN make
RUN make install
RUN python3 -c "import sys; print(sys.version)"

# Build Blender
RUN apt-get -y install git subversion cmake libx11-dev libxxf86vm-dev libxcursor-dev libxi-dev libxrandr-dev libxinerama-dev libegl-dev zlib1g-dev
# Install blender dependencies
RUN apt-get -y install libwayland-dev wayland-protocols libxkbcommon-dev libdbus-1-dev linux-libc-dev
WORKDIR /home/tmp/blender-git/lib
RUN svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/linux_x86_64_glibc_228

WORKDIR /home/tmp/blender-git/
RUN git clone --branch blender-v$BLENDER_VERSION-release https://git.blender.org/blender.git

WORKDIR /home/tmp/blender-git/blender
RUN make update
RUN make

And like I said if I don't specify a branch to clone everything works fine.
I suspect maybe the precompiled libs are incorrect, but I could not find any hint as to how I could correct them.
Maybe I missed something in the documentation but I could not find anything.
Any help would be appreciated. :)

I was trying to build blender 3.3 but the precompiled libs changed between 3.4 and 3.5 and the documentation shows how to build the current master which is ahead of 3.5.
So to summarize I used new libs and tried to compile an older version.
To fix the issue just use Blender release 3.5+ or use the Centos7 libs.


text:
Curve modifier causing twisting instead of straight deformation
I have a simple rectangular prism that I need to deform nicely along a few curves. I've successfully done so along two, which have no issues. (One is mirrored.) This third one looks like a twizzler and nothing that I've done has fixed it. The other two are arrays that are fitted along curves, and originally so was this third one, but I changed it to just be one shape that fits along the curve in hopes that it might work, and it didn't.
The empty in the middle of the scene is from when I tried to change the array in the hopes that adding an object offset might curb the twisting. It didn't, the rotation was just multiplied by the existing rotation. I also changed the axes and rotated the base object, which made some cool swirls but didn't solve anything.
As far as I know, curves can't twist, since splines don't even have rotation, and since both using an array + curve modifier and just a curve modifier by itself didn't work, I don't know what the issue could be. Any advice would be helpful!

As far as I know, curves can't twist

Curves most certainly can twist, away from their base 0° Tilt, which is calculated according to the 'Twist Method' in their Data tab > Shape Panel .

The Tilt of control points can be set in the N panel of the 3D view as shown, or via the shortcut CtrlT.
Below, see the settings for Twist Method for your curve, and the interpolation between control-points, per spline:


text:
Blender character material becomes transparent when exported to GLTF
My character in Blender looks good with material but When I export it to GLTF format the material becomes transparent. I am not sure as whats happening. How can I fix this ? Please see the below images.
MyCharacter in Blender:

Character when exported to gltf format (as seen in gltf viewer):

https://blender.stackexchange.com/questions/57531/fbx-export-why-there-are-no-materials-or-textures

In Blender select the character then Material Properties > Settings. If the Blend Mode is on Alpha Blend change it to Opaque and now export it to GLTF format.
The exported file will not have the transparent material issue.
Got the answer from here

If your model faces is red, then you need to reverse the normal direction


text:
Image flipping, dynamic UVunwrap with Geometry Node
I have a rectangle3.1 object defined from the Geometry Node with a modifier like this:

More simply, we are only interested in these nodes: (the blurred nodes are only set position nodes)
Note that the Geometry is created from a rectangle (Quadrilateral) which is rounded on the corners (Filet Curve) and then filled (Fill Curve). We then associate a Material from Group Input and pass the Geometry as a parameter to Group Output. We also pass the output of UV Unwrap to Group Output under the name UV.

In the modifier settings I have linked the UV output to a UVwrap variable.

In the Material definition I link the vector property of the UVwrap variable to vector of the image:

So far, everything is working fine but when I create an animation that uses the rectangle settings, the rectangle image suddenly flips over at certain frames.
See the result of the animation
frame 31:

frame 32:

frame 33:

Why do I behave this way and how do I keep the image from turning around?


text:
Apply an image on a plane using Geometry Node
I created a material named pepper with Shader Editor :

It works fine when I manually apply the material to a mesh plane using the Material Property menu.
But then I tried to get the same result by applying this Geometry Node modifier (node_1) to a new object :

The result is on the left side : a red plane with no image.
Any idea on what I did wrong ?
(I am using blender 3.4)

What went wrong is you didn't UV unwrap your procedural plane. This is why it has a color existing on the image texture, but it's a solid color (it's a color in the bottom-left of the texture, at <0, 0> coordinate).

As Markus von Broady pointed out to me (thanks to him), my problem is that I have not unwrapped my procedural plane. After a short search on the internet I found this tutorial that explains step by step how to unwrap an object from Goemetry Node in blender 3.3 alpha.
First, we need to add an Attribute Node to the pepper material definition  with the name UVvector for example:

Then in Geometry Node, add a UV Unwrap node and link it to Material Output.

Finally, the name of the UVvector attribute must be added to the definition of the output modifier

And it all works!

Keep in mind that there's a "grid" node that comes with uv_map attribute already containing the default uv map for a plane.


text:
How do I duplicate a plane with an image+alpha to fake thickness?
I'm struggling with the array modifier. It works fine duplicating the plane sideways but not in depth. Does nothing...
So what I'm trying to do:
I have a bunch of images that needs to go into the scene (as signs) but I just want to duplicate them 3 or 4 times to fake a bit of depth... but without creating the matrix like in this example: Is there a way to add fake thickness to an alpha image texture?
I have many of these so hoping there's a simple way to do this? Array seems like the winner but for some reason it's not working in the Y-axis... only Z and X (sideways, up-down)

It is probably not working because if you use the Relative Offset option for a flat object, the iterations will stick to the original, instead use the Constant Offset option and find the good value? If this is not the problem, please share your file

Thanks, I've tried that already, doesn't make a difference. I'll set up a simplified scene and upload in a bit

See How to upload an image to a post? or GIF File blend-exchange.giantcowfilms.com


text:
Adapt dimension axis of an object to viewport
i run into following problem: i try to make a wheel out of a cylinder. after creating the cylinder i rotate it 90° on x-axis. now i want to adapte the width of the wheel. unfortunately the object dimension axis is now not the same anymore like the viewport axis. when i reduce the width by changing the values in the dimension tab i have to change z instead of y (like it is in the viewport) to control the width. how can i change the dimension axis of the object (so that it aligns with the viewport again?).

Try Object->Apply->Rotation. This should make the object's current orientation the 'real' orientation.


text:
symmetric movement of 2 objects
how can I move 2 objects always symmetrical? I want to move a right and left wheel of an object symmetrical outward/inward. Icould do it by putting the exact y values on each but I was wondering if there is a faster way to do it.

You could check 'Manipulate Center Points' (next to the pivot point button in Object Mode)  with the pivot set to 'Median', and scale the wheels outwards on their axle-axis.

You can use a copy location constraint:

Also if you have 2 or more objects selected, you can change the pivot point to individual origins, and apply transformation.  My previous answer was wrong about parenting.

Unfortunately, I couldn't get this to run infinitely, I tried Asyncio, and I tried the threading module but didn't get it to work as I'd have desired, however it will set your wheels to be symmetrical, just run the script every time you move the original wheel object.
import bpy
original = bpy.data.objects["Wheel"] #rename your objects, to what you have on screen.
changed = bpy.data.objects["Wheel.001"]

changed.location = (-original.location.x,-original.location.y,-original.location.z) #reversal of rotation and location for symmetry.
changed.rotation_euler = (-original.rotation_euler.x,-original.rotation_euler.y,-original.rotation_euler.z)
```

Depending on your setup you could parent one wheel to another. Or parent both wheels to an empty and manipulate the empty.  First select the child object, then select the object to be the parent and then press ctrl + p. The menu will pop up and select object


text:
how to apply a texture to multiple objects?
I wonder if it is possible to apply a texture to multiple objects and how can i do this?
i searche on google and youtube for an answer but until now without success.

If you want to copy a material, select the object(s) with no material, then the object with the material you want to copy, then ctrl L > Materials. But if your material contains an Image Texture node, it means you'll have to unwrap your object(s).

You can't apply textures to objects, multiple or single, you apply textures to materials


text:
link or maybe separation problem

I have the following problem. at the beginning, i duplicated the "wheelbox" via duplicate link. first all was ok. but now i am coming to the point where i want to work on the inner/outer part of the object. but unfortunately, i cannot select Inner / outer wall. when i select (like u see here in the image) the outside wall of the right box it select also the inner wall of the left box. how can i separate this link?

You can find a nice, complete answer here .. and then you'd be better off with a mirror modifier..

Internally, when you create a linked duplicate, blender does not actually duplicate the object, but it has another reference to it, thus, when you edit the objects, you are editing all linked duplicates the same way. You need to break the link  between the two if you want to edit those elements separately.
Since I am pretty bad at explaining these sort of things without demonstrating, here are two helpful links about duplicates and linked duplicates.
I would advise you to look at these two links How to unlink a linked-duplicate? and Duplication -- Blender manual.

and what does it mean "to break the link?" how i have to do that?

@Flaka I am pretty bad at explaining this sort of thing, sorry. I would advise you to look at these two links How to unlink a linked-duplicate? and Duplication -- Blender manual.
Additionally, Robin Betts makes a good suggestion. Use the mirror modifier.
I have added these links to my original answer.


text:
adjusting axis of 3d cursor
i have a tube and want make it going around an edge. I usually know how I have to do that but in this case, i cant because the axis of the 3d cursor which I use as pivot point a distorted. how can I get the axis right again? (they should align in this case with the normal word=grid)

Try changing your transformation orientation


text:
how to extend an object just on one side along his own edges?
lets say i want to extend the object below just on his right side and it would not have the exact orientation at the x-axis like it has at the foto. so in other word: it should extend on the right side along his (long) edges (not at an axis). Is there a way to do that?
the edge slide does a similar thing i want but with that i just can make the object shorter but i want to have it longer on the right side.
PS: that object below is just an example not the one i am trying to work on

Press "e" to extrude, it should default to constrained axis.

You can still use edge slide to do this.

Select the end face (or its edges or vertices)
GG.. edge slide
Draw the face inwards a little way, making the piece shorter as you described in your post (this establishes the slide directions)...
Now hold down Alt, or tap C releasing the clamp. You should see rays extending the longitudinal edges.
As long as you are holding Alt, you can slide the end face's vertices anywhere you like along those rays.

Unfortunately, snap doesn't work with GG. If you wanted that, too, I think you would have to break the operation up, separately moving components along Custom Orientations derived from the longitudinal edges.

thanks both for answers. the second one was exactly what i was looking for.

Is it possible to input a distance?

@batFINGER In a a sense.. (you've got me looking).. If you're not set to 'Even' then the distance is expressed as a percentage of the length of the edges you're sliding along. Fair enough. If you are set to 'Even'  sliding inwards, you can numerically enter an absolute length from the adjacent  loop. However, I can't get that to work outwards, directly.. so you would have to do it in 2 steps: take your loop out too far, and then  back, numerically,  to the desired gap.


text:
2.8 Animation stops when copying keyframes in dopesheet
I have been searching and i've found posts that touch on this issue but one that quite covered a solution.
I've got this fish and it has been animated and I am trying to copy the keyframes so that i can continually loop the animation of the fish.
I have gone into the NLA and unpinned the actions in there (as recommended in another post I found) but even still, whenever I copy and paste the keyframes the animation doesn't continue.
This image, you can see the un highlighted key frames, then in yellow is all of the keyframes I have copy and pasted - but as I play through, the animation only happens in the beginning (unhighlighted keyframes).
Any and all help would be greatly appreciated.
Thanks in advance.
I'm in Blender 2.8 on a standard 2016 Mac pro 15 inch.

Thank you for posting your question so clearly.
1. Go to GRAPH editor. Select all your keyframes. Then, SHIFT+E (for extrapolation options) > CYCLES. Your animation will last as long as you have animation timeline set end frames.

Thank you for your consideration to vote me up (click on the checkmark besides this post) as the answer.
BFCT_Schiller


text:
Made a new rig for a model, but some materials do not move along with the mesh when I try to pose
I'm still pretty green to this, but progress is being made. Anyway, here's the issue.
Had a pre-existing model, but dis-liked the rig so I thought I'd make a new one. Everything turned out fine (after many attempts), but when I go into pose mode, parts of the hair don't move along with the rest of the mesh.

The old rig did have bones for part of the hair, but before making the new rig I joined all the parts of the mesh together. Never used it anyway.(The hair bones).
I figure I could either make armature for the hair and parent it to the new rig.Or maybe I thought I could just do a weight transfer, but since it's all joined together now into the one mesh I can't really do that... as far as I know.
Saw another solution about assigning the active materials, but that just made his entire body hair. Like Cousin It! I started poking around at things like geometry nodes, but a lot of that is beyond me at this point. As I said, noob.
Thought I'd just ask instead of wasting more time and limited brain cells trying to figure it out myself.

The easiest solution would be to go into edit mode, select all the hair that's not moving, and assign it to the head bone with 1.0 Weight.
When you joined the hair mesh with the other mesh, if there were hair vertex groups they would persist on the combined mesh even when the bones were removed.
I put together a small demonstration to show what I  mean, with a cube and its very sparse remaining hair.

First I show that the hair isn't tied to any bone by going into pose mode, moving the Head bone, and showing the head moves but the hair are stationary.
Then I select my mesh, go into edit mode, and with the Hair vertex group selected, press the Select button to select the vertices in that group. If you don't have a Hair vertex group, simply select the vertices on your mesh that you want to follow the head.
Next I select the Head vertex group, and with the hair vertices selected I press Assign to give them a weight of 1.0 so they follow the Head bone.
Lastly I go into pose mode and demonstrate the hair now follows the Head bone.

One last thing, I don't see how "assigning the active materials" relates to this problem, that's only for giving faces different materials so they have a different appearance or colour and it has nothing to do with rigging to my knowledge.

It appears to have worked. Appreciate it.
Took a moment because all the vertex groups from the old armature were still listed until I realized I should probably assign it with the NEW ones, huh?
As I said, I'm a noob. I'm slowly but surely figuring this stuff out. Thanks again!


text:
Moving origin changes origin and position of other objects too
I have a premade car model with separate wheels. For game purposes I need to move wheel origin.
For some reason when ever I move one wheel origin others get their origin and position changed too.
I can't figure out what is the reason of this. Can't find any modifiers or relations to each other so what I should be looking for?

Maybe these objects share the same mesh? (They are linked-duplications)

sorry, but without seeing any settings - we can just guess. Since it seems like you are a Blender beginner i would recommend providing your blend file because this can have lots of reasons: e.g. drivers, constraints, parent, armature...etc.

Are your objects instances? (Sharing mesh data) If so this may be a duplicate of https://blender.stackexchange.com/q/193148/35559

@RobinBetts thank you very much. Could you write your comment as an answer so I can mark it as correct one.

Hi Jani .. glad it's good! Nothing personal, but we try to keep the archive as tidy as we can for future users. You weren't to know, but this turns out to be a duplicate question, so can be closed. Don't let that inhibit you from asking your next question :)


text:
Bezier curve in edit mode is very thin
I created bezier curve in Blender 4.2 and when switching to edit mode curve is very thin and barely visible.
I can see and select it and modify but it's quite unusable since you really can't see it specially when editing parts of the curve.
I couldn't find any information how to change "thickness" in edit mode for beziers.

I don't know why there is no way to change the display thickness of a curve, but it is correct that you did not find any information, because there is no way. You can only change the thickness of mesh edges in the Preferences, but not the curve segments. The only workaround would be to give the curve a Bevel > Depth under Geometry to give it a mesh thickness, this will also be visible in Edit Mode.

it doesn't look like you can change its thickness but you could change the world color in the Viewport Shading panel > Background, click on Viewport and change the color

There is a setting in the Preferences to make thicker lines however, but it has just three options: Thin, Default and Thick. This is under Interface > Display. The problem with this is, you cannot individually choose a specific thickness in pixels and it is not changing only the curve segments - it is changing all lines in the interface. For the colors which @moonboots mentions: you can also go to the Preferences and change Themes > 3D Viewport > Wire Edit color to something brighter so that you can see the segments better in Edit Mode.

Final touch: you could reduce your monitor resolution (yeah, this sucks)

@GordonBrinkmann thanks for Bevel trick. Works for me well enough.

Mostly likely, the curves are extra thin  because of your screen resolution (1080p or higher)
This problem is easy to fix by scaling the Blender's UI :
Edit > Preferences > Interface > Resolution Value*
*try values bigger than 1 - like 1.3, 1.5 ,1.8, etc.
This should help to fix your problem.

Well, that setting is right above the line thickness option I mention in the comments - but while the line thickness already has the undesired side effect that all lines of the interface get thicker, the solution in your answer is even worse because it scales the whole interface up, not only the lines... which is not really what the question is about: increasing the thickness of Bézier curves in Edit Mode.

@GordonBrinkmann — >>"the solution in your answer is even worse">> — Is my solution worse or better depends on the reason WHY user's curves are thin. So let's just let the user to decide which setting does better work for him/her


text:
Need help: Animated Rig not working in rendered animation
I rigged and animated, trough keyframes, in pose mode, the toes of a foot.
In the viewport, also in rendered view, everything looks just fine and the foot animates correctly.
However, when i hit "render animation", the rigging animation doesn't show up. Everything animates correctly, the camera and all the rest except for the foot's rigging.
I'm using blender octane edition (free tier) 3.1.2
Can anyone help? it would be life-saving!
Thank you!

Did you try if it works with standard Eevee or Cycles render, on a standard Blender build?

Hello, no I didn't cause I need to render it in octane.. All the other scenes are rendered in octane

Just try a little piece, only for understanding where lies the problem.


text:
Cannot change to edit mode... hidden objects?
I have a model that was provided to me,  where I cannot change to edit mode. I created that cube and dropped in the iHAB object group as the screenshot shows, and now the cube disappeared so I cannot longer individually select it.
It is like there is something that hides whatever is inside the iHAB group. I tried pressing every button I can see, or menu options found, but no success here.
thanks for any pointers or help

From your image, looks like that's just an instance (orange group icon) and real object is hidden (white icon, same name as orange) you can only edit the real object and you need to un hide it by pressing the eye icon on the right

The "white icon" is just as much an instance.

Problem is it won't let me click the eye on the white icon object only on the parent.

@JoseLagares Sorry, my bad, there should be an icon on the right for the white one, probably looks like a rectangle

Hi!  There is no eye icon... only a camera icon to the right of the white child object.

It looks like you either have an instanced collection or a linked collection containing that model (from either the Asset Manager or using the menu File > Link, and it could also have been packed into the file).
The issue is that Linked data isn't meant to be edited on the spot. Their purpose is to be "linked" from an external .blend into a building scene for save usage, or to be multiplied in a scene without loading them more than once in memory.
If it's an instanced collection, you should be able to find the original non-instantiated collection somewhere (the outliner set in Blend-File should be able to show it and tell where it is).
If it's a linked library, firstly we need to make sure it isn't packed in the .blend file anymore. You can unpack it via the menu File > External Data > Unpack Linked Libraries0
Then you have three options from there:
A. Open the original file containing the model and work there.
It's what you should do if you want to make definitive changes to the model rather than changes specific to another project or file.
It is very easy if you imported that asset from the Asset Manager :  RMB the asset in the manager > Open Blend File:

Otherwise, just open the blend file as any other blend file.
B: Delete that linked asset, and Append the model instead
This is what you should do if you want to make changes specific to a project or file.

Either change the Asset Manager's default action to Append, and drag the asset in the viewport again:

Or Use the menu File > Append, and navigate to the asset's containing collection again.

C: Add library override.
This is typically for animation. Linked characters can't be changed, but a library override allows to pose and animate the armature in pose mode.

RMB the top collection of the asset in the outliner > Library Override > Make > Selected & Content

That's it, you should be able to make slight changes to assets.
But from there, you could also make the data local, which basically an append with extra steps, but just to show it can be done:

Disable the outliner's object content display:

⇧ Shift click the unfold icon of your asset's containing collection to unfold the whole hierarchy.
Hold down ⇧ Shift and click the first and last element of the asset hierarchy to select them
 RMB > ID Data > Make Local

Their link-with-arrow icon, indicative of linked asset with library overrides, should be gone. And the objects are now locally in your scene.

Hi and thanks for all the info, however there is no separate blender file this is the only file. Everything is suppose to be on this file but it is not visible.  I created a cube, then dropped it into the group, and it just disappear from the hierarchy.

Do you mean you downloaded a file and it opens with the model like this? Then it's either an instanced collection, and you should be able to find the original non-instanciated collection somewhere (the outliner set in Blend-File should be able to show it and tell whete it is), or it's a linked library buth which was then packed into the blend file. You can unpack it via the menu File > External Data > Unpack Linked Libraries, then the procedures in my answer should work. If you encounter any issue, please share your file ;)

Hey! this worked!! ... by doing the Unpack Linked Libraries all parts were separated into their own files.... thank you so much!


text:
Weird Edges in Blender 2.8 Eevee

Hey all, does anyone know why this is occurring and what I can do to fix it?
Thanks in advance

Please don't post smartphone photos, use either the built-in screenshot function that Blender has or the screenshot function that comes with every operating system since the 90s or chose one of the thousands of free screenshot tools that you can download from the internet. It's 2019, you know...

I could fix it with different light resources, sun instead of spot, larger radius.
Problem:

Solution:

This is a universal problem in all 3D environments. You have faces overlaying each other, and that weird edge is the result of them trying to show up above the other, causing the engine to freak out in that area.
The easy way out is to use a limited dissolve function (Found when hitting X in edit mode.) This simplifies the mesh by removing competitive faces and replacing them with new ones.


text:
How to register bpy.types.INFO_MT_mesh_add.append(addMenu) blender 2.80
I have this add-on which works fine in 2.79 but not in 2.80
I don't know how to register this code.
bpy.types.INFO_MT_mesh_add.append(addMenu)

When I try it gives me an error:
AttributeError: 'RNA_Types' object has no attribute 'INFO_MT_mesh_add'
This is the rest of the code:
import bpy
import bpy_extras
import math
import mathutils

bl_info = {
    "name": "Supershape",
    "location": "View3D > Add > Mesh > Add Supershape",
    "category": "Add Mesh",
    "description": "Add a supershape!",
    "author": "Wannes Malfait",
    "wiki_url": "https://en.wikipedia.org/wiki/Superformula",
    "version": (1, 0),
    "blender": (2, 80, 0),
}

class Params(bpy.types.PropertyGroup):
    """Parameters for the Supershape"""
    M : bpy.props.FloatProperty(
        name="M",
        description="Increases the amount of 'blobs'",
        default=6.00)
    A : bpy.props.FloatProperty(
        name="A",
        description="Influences the size (smaller values = bigger)",
        default=1.00,
        min=0.001)
    B : bpy.props.FloatProperty(
        name="B",
        description="Influences the size (smaller values = bigger)",
        default=1.00,
        min=0.001)
    n1: bpy.props.FloatProperty(
        name="n1",
        description="Exaggerates the 'blobs'",
        default=0.23)
    n2: bpy.props.FloatProperty(
        name="n2",
        description="Works similarly to n1 (has a more vertical effect)",
        default=2.66)
    n3: bpy.props.FloatProperty(
        name="n3",
        description="Works similarly to n1 (has a more horizontal effect)",
        default=1.49)
    Detail:  bpy.props.IntProperty(
        name="Detail",
        description="Amount of detail",
        default=70,
        min=1,
        max=400)
    Subdivision : bpy.props.IntProperty(
        name="Subdivision",
        description="Subdivide the mesh (doesn't increase detail, 0 is no subdivision)",
        min=0,
        max=6,
        default=0)
    Smooth_Shading : bpy.props.BoolProperty(
        name="Smooth shading",
        description="Set shading to smooth")

class MESH_OT_addSupershape(bpy.types.Operator, bpy_extras.object_utils.AddObjectHelper):
    """Creates the Supershape"""
    bl_idname = "mesh.add_supershape"
    bl_label = "Add Supershape"
    bl_options = {'REGISTER', 'UNDO'}

    p : bpy.props.PointerProperty(name="Parameters", type=Params)

    def execute(self, context):
        # mesh arrays
        verts = []
        faces = []
        edges = []

        # 3D supershape parameters
        m = self.p.M
        a = -self.p.A
        b = self.p.B
        if self.p.n1 != 0:
            n1 = self.p.n1
        else:
            n1 = 0.1
        n2 = self.p.n2
        n3 = self.p.n3

        scale = 1

        Unum = self.p.Detail
        Vnum = self.p.Detail

        Uinc = math.pi / (Unum/2)
        Vinc = (math.pi/2)/(Vnum/2)

        # fill verts array
        theta = -math.pi
        for i in range(0, Unum + 1):
            phi = -math.pi/2
            # Superformula
            r1 = ((abs(math.cos(m*theta/4)/a))**n2 +
                  (abs(math.sin(m*theta/4)/b))**n3)**(-1/n1)
            for j in range(0, Vnum + 1):
                r2 = ((abs(math.cos(m*phi/4)/a))**n2 +
                      (abs(math.sin(m*phi/4)/b))**n3)**(-1/n1)
                x = scale * (r1 * math.cos(theta) * r2 * math.cos(phi))
                y = scale * (r1 * math.sin(theta) * r2 * math.cos(phi))
                z = scale * (r2 * math.sin(phi))

                vert = (x, y, z)
                verts.append(vert)
                # increment phi
                phi = phi + Vinc
            # increment theta
            theta = theta + Uinc
        # fill faces array
        count = 0
        for i in range(0, (Vnum + 1) * (Unum)):
            if count < Vnum:
                A = i
                B = i+1
                C = (i+(Vnum+1))+1
                D = (i+(Vnum+1))

                face = (A, B, C, D)
                faces.append(face)

                count = count + 1
            else:
                count = 0

        # create mesh and object
        mymesh = bpy.data.meshes.new("Supershape")
        myobject = bpy.data.objects.new("Supershape", mymesh)

        # set mesh location
        myobject.location = bpy.context.scene.cursor_location
        bpy.context.scene.objects.link(myobject)

        # create mesh from python data
        mymesh.from_pydata(verts, edges, faces)
        mymesh.update(calc_edges=True)
        bpy.context.scene.objects.active = myobject
        # test
        bpy.ops.object.mode_set(mode='EDIT')

        # remove duplicate vertices
        bpy.ops.mesh.remove_doubles()

        # recalculate normals
        bpy.ops.mesh.normals_make_consistent(inside=False)
        bpy.ops.object.mode_set(mode='OBJECT')

        # Control the detail level
        if self.p.Subdivision != 0:
            myobject.modifiers.new("subd", type='SUBSURF')
            myobject.modifiers['subd'].levels = self.p.Subdivision
        if self.p.Smooth_Shading:
            mypolys = mymesh.polygons
            for p in mypolys:
                p.use_smooth = True

        return {"FINISHED"}

    def draw(self, context):
        layout = self.layout
        col = layout.column(align=True)
        # Control over the detail level
        col.label(text="Detail level:")
        col.prop(self.p, "Detail")
        col.prop(self.p, "Subdivision")
        col.prop(self.p, "Smooth_Shading")
        # Parameters
        col.label(text="Parameters:")
        col.prop(self.p, "M")
        col.prop(self.p, "A")
        col.prop(self.p, "B")
        col.prop(self.p, "n1")
        col.prop(self.p, "n2")
        col.prop(self.p, "n3")

def addMenu(self, context):
    self.layout.operator(MESH_OT_addSupershape.bl_idname,
                         text="Add Supershape")

classes = (
    Params,
    MESH_OT_addSupershape
)

register, unregister = bpy.utils.register_classes_factory(classes)
#def register():
 #   bpy.utils.register_class(Params)
  #  bpy.utils.register_class(MESH_OT_addSupershape)
   # bpy.types.INFO_MT_mesh_add.append(addMenu)

#def unregister():
 #   bpy.utils.unregister_class(Params)
  #  bpy.utils.unregister_class(MESH_OT_addSupershape)
   # bpy.types.INFO_MT_mesh_add.remove(addMenu)

if __name__ == "__main__":
    register()

Consult the text editor > templates > python > addon add object template in 2.80.  You will see it uses bpy.types.VIEW3D_MT_mesh_add.append(add_object_button) to add to the add menu.  There are also other issues re 2.80 comparability in your script.

Thanks. I'm planning on solving it step by step.


text:
Lighting errors
Ok, so my question may have an obvious solution that I am not seeing since I am quite new to blender.
I was working on a logo project and when I came out of orthographic view the lighting was extremely weird.
It probably some setting I accidentally clicked. Or the matcap I have on.
I am using blender version 2.79
Attached are photos of the problem.

Try going into edit mode then selecting all and doing CTRL - N, it should reset the normal, not 100% sure if that's the problem but worth a try.


text:
Baking displacement map: Base mesh is included in the highres output

How can i get ride of all those quads so only the white mark shows up?
Step to reproduce

Create sphere as base
Duplicate base as hd and add x3 subdivision modifier then apply
Sculpt some details on hd mesh
Unwrap base and create a 32*1024*1024 texture with all faces selected
Set up the bake (normalize simply help to see through) as below

Answer from @Secrop on blenderartist.org:

Add a subdivision modifier to the low poly object before baking.
The thing here is that each poly in the lowres object is flat, but the surface from > the highres is curved… This makes the displacement value at the center of those polys to be greater than their corners.
  If your lowres is later to be subdivided with ‘Simple’ method, this bake will be correct. On the other hand, if you use ‘Catmull-Clark’, then you need to use this subdivision at the baking phase also.

Result:


text:
My armature does not appear

So, I a trying to make a snowman's arms and body move, but suddenly, my armature does not appear anymore, it happened randonly, and I cant discover what caused the problem...
All armatures are supposed to appear within the scene

Please share your Blender file via https://blend-exchange.com/ following the instructions there so that we can have a look and see what's going on..

Have you activated the local view? (menu > View > Local View > Toggle Local View, shortcut "Numpad /"). -- Another thing: If you have one model (snowman) you only need one armature for it. All bones including arms should be in this armature. If you want to add a bone make sure the armature is in Edit mode. Otherwise, you will create another armature with a single bone in Object mode. This is not what you want.

Oh, and you have turned off the Viewport Overlays in your screenshot. That's why I cannot tell if you're in local view (the text on the top left of the viewport is hidden) - But if you turn the overlays off then this also hides the bones (and the selection, floor grid, etc).

Go to the top left of the viewport and turn on viewport overlays.


text:
My Mesh won't move on Solid View or Material Preview
So, when I try to move, rotate or scale the mesh, only the center point moves, it affects in the rendered view, but not on the solid or material preview. I already checked, Transform Affects Only is not avtivated to affect only origins, locations or parents. What could be the problem? Could it be a weak hardware?

Please share your blend file via https://blend-exchange.com/ following the instructions there to add the link to your question.

https://blender.stackexchange.com/questions/204297/amd-gpu-material-in-material-preview-mode-and-rendered-mode-is-entirely-gra


text:
Grease Pencil partially rendering on Eevee, with some lines disappearing with 'edge marks'
Good day!
I am currently having problems when trying to render the grease pencil.
I made a model that only uses the option "Edge Marks" in the Line Art modifier.
In the viewport, everything looks right, but when I try to render in Eevee, some of the lines disappear.
My version is Blender 3.4

What can I do to solve this problem?
Have a great day!