text:
Add custom buttons to the select header in Edit Mode?
import bpy

def main(context):

    bpy.ops.object.vertex_group_add()
    bpy.ops.object.vertex_group_assign()
    bpy.ops.mesh.select_mirror(axis={'X'})
    bpy.ops.object.vertex_group_select()
    bpy.ops.object.vertex_group_remove(all=False, all_unlocked=False)

class SimpleOperator(bpy.types.Operator):

    bl_idname = "object.simple_operator"
    bl_lable = "Simple Object Operator"

    def execute(self, cocntext):
        main(context)
        return {'FINISHED'}

class VIEW3D_MT_custom_select_similar(bpy.types.Menu):
    bl_label = "Mirror Select"
    bl_idname = "VIEW3D_MT_custom_select_similar"

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

        scene = context.scene

        layout.label(text="X-Mirror")
        layout.operator("object.simple_operator")

def register():
    bpy.utils.register_class(VIEW3D_MT_custom_select_similar)
    bpy.utils.register_class(SimpleOperator)

def unregister():
    bpy.utils.unregister_class(VIEW3D_MT_custom_select_similar)

if __name__ == "__main__":
    register()
```

Here is your example, modified to add the entry to the menu:
import bpy

def main(context):
    bpy.ops.object.vertex_group_add()
    bpy.ops.object.vertex_group_assign()
    bpy.ops.mesh.select_mirror(axis={'X'})
    bpy.ops.object.vertex_group_select()
    bpy.ops.object.vertex_group_remove(all=False, all_unlocked=False)

class SimpleOperator(bpy.types.Operator):
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"
    def execute(self, cocntext):
        main(context)
        return {'FINISHED'}

def select_similar_menu_draw(self, context):
    layout = self.layout

    scene = context.scene

    layout.label(text="X-Mirror")
    layout.operator("object.simple_operator")

def register():
    bpy.utils.register_class(SimpleOperator)
    bpy.types.VIEW3D_MT_select_edit_mesh.append(select_similar_menu_draw)

def unregister():
    bpy.types.VIEW3D_MT_select_edit_mesh.remove(select_similar_menu_draw)
    bpy.utils.unregister_class(SimpleOperator)

if __name__ == "__main__":
    register()

I fixed a typo in SimpleOperator and added register/unregister entries for it; but there are two main changes with respect to the menu entry:

You only define a draw routine for a menu entry; you don't place it in a class.  That meant changing the class to just a def and removing it from the register/unregister functions.

You call append on the right type to add the entry to the menu and remove to remove it.  I added that code to your register/unregister functions.


text:
Trying to toggle UV editor area?
import bpy

for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        override = bpy.context.copy()
        override['area'] = area
        area.type = 'NODE_EDITOR'
        bpy.ops.screen.area_split(override, direction='VERTICAL', factor=0.3,)

If i understand correctly, you are trying to change the VIEW3D area of the current screen to UV Editor and split it. Here is the changed code snippet
import bpy

for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        override = bpy.context.copy()
        override['area'] = area
        area.type = 'NODE_EDITOR'
        area.ui_type = 'UV'
        bpy.ops.screen.area_split(override, direction='VERTICAL', factor=0.3,)

and possibly have this button toggle to close the new UV editor window?

source: Stack Exchange

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

sort: votes


text:
Decal Machine 2.51 Libraries not showing up
I installed the Decal Machine addon. No decals are showing up in the pie menu. Under preferences the Update The All! button stays inactive. I click the install PIL button, that seems to work.
I have gone through the documentation online, nothing references this problem.

if you paid over 50$ for an add-on...you should ask the creator for help.

I have sent message already but no response

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


text:
Bend curve along a surface
How to bend BezierCurve along a surface?

A simple method is to create a new mesh with a single vertex, enable vertex snapping, extrude and snap vertices on the surface of the model as desired, then in Object mode right click and choose Convert to > Curve.

Is it possible to select a edge in this way and turn it into a curve?

Yes, select it, Shift D to duplicate, P to separate into a new object, then right click to convert to a curve.

Thanks, did it.


text:
How to add 2 rigify-charcters in 1 scene
I have 2 characters, in 2 different scenes, equipped with rigify. How do I put them in the same scene? I use Blender 3.6.9.

There are three ways in general:

You can rig the characters in the same scene from the start

You can Append them from separate files (File > Append).

You can Link them from separate files (File > Link)

For linking or appending, it's best to place the entire character (rig and mesh) in a Collection and Link/Append the collection rather than the individual parts.
If you go for Linking: right-click on the imported collection in the Outliner > Library Override > Make > Content to make your character usable in the scene.
Difference between Link/Append: Append creates a full copy of the character in the new scene. Link creates a reference to the data from the other fine. Link uses less space and if you make any changes to the original file, they will show up in the linked character as soon as you reload the file.
These are the basics.

Ok, thanks. I'l try.


text:
How to Mirror Text To The Other Side Of A Sign Without Inve
Making a Route 66 Sign, I Modelled the Text and wanted to Flip the Text to the other side of the Sign, i tried to use the Mirror Modifier but it of courses "Mirrored" it, so now the Text is Inverted on the other side of the Sign.
Is there a Way to Fix this?
Thanks.

So i have a nasty work around where you just Mirror it and get it inverted, Separate the Object, Mirror is again on the X axis and manually delete the old inverted One, its tedious and im sure there is an easier way but thats my work around.

Isn't the signage symmetrical? so jist copy the entire mesh in Edit mode and rotate on Z then merge vertices.

@HarryMcKenzie That's basically what I would suggest, but instead of doing it destructively I would use a modifier.

@GordonBrinkmann oh yeah good point we have the array modifier.

If the sign shape is perfectly symmetrical on the X axis except for the text, there is actually a better way to solve this instead of using a Mirror modifier and duplicating, rotating and merging the front to the back side if you want to keep it procedural rather than working destructively.
The "normal" Mirror modifier version:

Instead I would recommend to use the Array modifier and not mirroring the geometry. Place an empty at the roadsign's origin. Remove the Mirror modifier from the roadsign and add an Array modifier.
Disable the Relative Offset and enable the Object Offset, there you choose the empty as Object. Leave the Count at 2. I would also enable the Merge option (which I did not in the screenshot below).
At first it does not look like anything happened, you only see the (unmirrored) front and nothing at the back:

But when you select the empty now and rotate it 180° on the Z axis, you get a rotated duplicate of the front on the back, with the text oriented correctly and no need to apply a modifier and doing it destructively in Edit Mode.


text:
How to get one face of 3D shape to match the surface of another
I have an STL file of a complex geometry (shoe-like object) and I am trying to create a separate object to fill the inside of that geometry (simulated leg).
I have tried to use the shrinkwrap modifier to fill the geometry, but I am having a fair bit of trouble. Is there a way to assign the object to fill all of and only the internal surface of the geometry? Or any other suggestions of how to do this? I am using the project option currently but I would like the object to sit fully inside the geometry, and all other option only covers a very limited area. Apologies if this has been asked already, let me know if you need more info and any help would be appreciated. Thanks.


text:
animate a hollow cylinder rolling up on itself
I'm still a beginner at Blender and leaned a bit about bone rigging, however I cannot find information on one particular animation that I want to do.
Essentially I have a hollow cylinder with several loop cuts. I have created it using the following technique:

Create a circle in the X-Y plane.
Extrude it several times in the Z direction.
Use the solidify modifier.

This is what I end up with:

Essentially what I want to achieve is an animation where a the bottom two parts of the cylinder open up radially with respect to the axis of the cylinder. For example I want the portion labelled in red below to open up 90 degrees outwards and the bottom portion labelled in blue to turn 180 degrees, so that it point up. Essentially getting the effect of the end of the cylinder folding up/rolling up on itself.

I have figured out how to do this folding linearly with a simple slab. However I cannot figure out how to do it with a cylinder with a rotational symmetry around the central axis. Can someone explain or point me to some resources I can read?
Just to add, I have simplified the problem to the simplest possible case. I am actually trying to achieve this effect with a much more complex object that I have already imported from a CAD model, so starting from a slab, doing the modification on the slab and creating a circular array wouldn't really work. I would like to know how to achieve that with a ready-made mesh. I was envisioning to create some kind of a 3 bone armature and have that armature control the entire mesh, but not sure how to do that or even whether it is even possible.
Any help is appreciated.

Unfold your mesh to a slab, deform it, fold it back.

What is it supposed to be?

@Leander do you mean UV unwrapping. Also does it matter how the deformation is done? Should it be done with simple deform or a armature rig, or it doesn't matter?

@MartynasŽiemys It is a hollow solid object with rotational symmetry around the z axis. It is a rubber teat for feeding babies from a bottle. I want to animate the teat being rolled back so that it can then be put around the bottle.

By capturing the positions of vertices relative to a curve and then offsetting them along the curve you could approach such an effect with geo nodes.

Collapse the mesh onto a 2D plane.
Store the angle of the XY plane.

Apply the reverse of the angle.

Sample the curve
Since we only have the Sample Nearest Surface node, we need to convert the curve into a mesh, transfer the factor attribute $[0, 1]$ and the sample that factor for each point.

Sample the curves values and store the position and rotation for each point.

Sample the curve a second time, but offset the factor to move along the curve. This would shift the points along the curve. At the same time translate the curve upwards to make the undeformed points stationary.

Store the second samples as well.

Shifting the points

Subtract the position of the unmodified curve's sample.
Inverse rotate the points around the unmodified curve's sample.
Rotate the points around the modified curve's sample.
Add the position of the modified curve's sample.

This is what the 2D deformation looks like.

Apply the angle (position) back again
Since we stored the angle as a named attribute, we can rotate the points to their correct position again and reconstruct a 3D shape.


text:
Texture issue when I overstretch an object
I was trying to create my own door because I was having the same issue with doors made with archimesh, but I realized that the problem was that the thickness of my object was too small. It looks like the faces of the object move away from each other. I'd like to know if there is a way to fix these without changing the dimensions of my objects.


text:
Geometry Nodes - Seamlessly Animate Instances
so currently i'm working on some LED render stocks for my office. I want to seamlessly loop the floor instances in every 5 second. did anyone know how to do it? i'm a bit lost here. this is my nodes setup.

What kind of animation are you trying to create? Would you mind uploading the file?

the animation is just a simple offset instances with a geometry proximity up and down in the middle of the text. i already solved the proximity to make loop. my problem was just the instances that doesn't loop correctly.
here's the file. i tried to use vector distance
I'm new to Stack Exchange, so i'm uploading the file through WT

Thanks, I'm currently working on it and making decent progress :)

It took me a moment to figure out how the node tree actually works :D
The problem was that the animation was based on a noise texture, which is really hard to loop, so I replaced it with animation based on a sine wave.
How to make a looping animation based on a sine wave?

Phase offset - this value controls at which point in the sine wave does your animation start.
Multiply by tau - the sine function repeats periodically over tau (2pi) units of input, in this case tau frames. To get rid of the irrationality of tau, you need to multiply by it, and this effectively shrinks the period of your sine wave to a single frame.
Divide by intended period - this extends the period of the sine wave from 1 frame to the intended 150 frames.
Changing the limits - by default the sine wave outputs values ranging from -1 to 1, use this to change it to values that you prefer. Just remember to set "from min" to -1 and "from max" to 1.

Randomizing per instance
To randomize the animation per each instance to look close to your original unlooped animation, I added random values to the phase offset. I also separated it per axis and gave the random value node a different seed value for each axis. To achieve even more randomness, you can also try changing the period for each axis, just keep in mind that for the animation to loop seamlessly, your period has to be a number that your total animation length is divisible by.
I did it in Blender 4.0, so I apologize if the messes up your settings.
Also, I can't figure out how to install blend exchange, so here's the file:
https://drive.google.com/file/d/17DCf_ZHqaa7idhW-w4XCmL1V3pqKOqlQ/view?usp=sharing


text:
2D image to 3D volume by revolving
Blender newbie here.
I've been looking into how to convert a 2D array of densities (currently I'm using an image) into a 3D volume scatter object. This would be done by rotating this object around the Y axis in 360 degrees with a step size and interpolating values between steps. Resulting object would be a cylinder shape with various density values, taken from the image (grayscale image, where brighter value corresponds to higher density). (in my scenario creating sort of a oblate spheroid cut in half, with higher densities in middle).
I have had some degree of success using the spin tool in edit mode and screw modifier for basic shapes, but I'm struggling to format my initial object in a way it would work well for those tools. I've also experimented with geometry nodes and shaders, where in shaders I can load my image onto a plane using texture coordinate and a mapping node, but it felt a bit awkward to use. My next idea was to try out geometry nodes using image texture -> map range -> volume cube nodes. If I understand correctly, I should be able to perform this revolve operation before making the volume cube.
So to sum it up - what's the best approach to loading an image in blender, revolving it around the y axis and obtaining a 3D volume, for which the density is taken from image intensity values?
Example input (in more complicated scenarios, the gray zone will be a gradient not a flat value) which should be rotated around the axis, where white part touches the edge of image:

Could you add for example 2 profile images (90° from each other) so that we can try to work a solution ?

@Lutzi: I understand that the achieved volume will be axisymmetric, by rotation of the provided image around the vertical (Y ?) axis. So a single image should be enough ?

@StefLAncien Oh you're right, I've read images plural.

Volume density from revolving image
Workflow
It is actually quite easy to achieve. First let's state our prerequisites :

Image is grayscale : black is zero density, white is density of 1
Image should be square, in my case 1024x1024. I didn't test my solution for other image formats.
Image y-axis is aligned with object z-axis.

The idea is to convert the position (which is cartesian XYZ) to a set of cylindrical coordinates. Here is how we map the coordinates :

Image-side x-axis : is described by the distance to the object z axis. In our case, we look at the X and Y axis and compute the length of the vector.
Image-side y-axis : is simply the z-position of the object.

I won't go more into details, feel free to ask for clarifications if you don't understand something.
Nodes and blend file

And here are 2 examples of texture and result.
Example 1 - Sphere

Example 2 - Glass

Thanks, I had a feeling I was missing an easy solution. By modifying map range function, I can take non-square images as input and by setting "from min" to (0,0,0) the setup accepts the right side of cross section as mentioned in post rather than full cross section.


text:
Bad shading on rounder corner

I am trying to make a roof of a car. And there is a bump  (when shade smooth is turned on) in the area of the vertex connecting three faces, although subdivision surface smoothed it out. Is there a way to get rid of this problem?

This has to do with normals. Dunno if it should be that pointy given how close those vertices are to each other relative to the rest of the mesh, or not. Check that you do not have any custom split normals data on the mesh, and that the crease values for the vertices around that point are all zero.


text:
Cube faces overlapping issue
I'm pretty new to blender and I have an issue where when two or more cubes overlap one of the faces goes black. I'm using the cycles rendering engine, how should I solve this issue?

Hello, why do you need to make the faces overlap?

@moonboots whenever a cube jumps, I want to duplicate it, so two cubes appear from same place; i could probably move one cube slightly upwards during the animation and it might fix it, but I was curious if there is any setting in blender that could help me

You want the duplicates to be visible 1 frame later, or to start with 0.999 scale

@MarkusvonBroady what if in the scene I have a single cube, no overlaps or any other instance over it and still face this issue, what could be the cause of it?

As you said this is caused by overlapping faces, it is called Z-fighting, you need to avoid that in Cycles, so use the solutions suggested by Markus

@Stefan cycles+instancing+motion blur (+ geonodes?) combo has a bug, so maybe that could be the case for a single object... Or just bad normals or otherwise non-manifold mesh.


text:
Dashed curved line
I'm new to blender and want to make a curved dashed line and was curious what is a simple way to achieve this.
I've experimented a bit with array modifiers but they give the result in a straight line. I also doubt my copy paste and rotate approach for each cylinder is the way to go.

Use an Array modifier (increase the gap between the instances under Relative Offset or Constant Offset) and also a Curve modifier (make sure that the location of the object is the same as the curve):


text:
When extruding a vertex during retopology, the vertex is not aligning with the mesh surface
I’m new to Blender and was working on retopologizing a model I created. I added the Shrinkwrap modifier and started extruding vertices for the retopology, and everything was going smoothly until I reached the chest area. When I tried to extrude the vertices there, they started to wobble unexpectedly. I’ve tried enabling and disabling the Clipping option in the Mirror modifier, but the issue persists. Any suggestions on how to fix this?

Sometimes its a good idea while retopologizing to apply the shrinkwrap and then re-add a new one to "Update" the vertices to their shrinkwrapped positions. Just relying on SW and snapping can often lead to verts that look like the should be in one place but are technically in another, since you're using the modifier preview mode.


text:
Why won't blender hold the keyframe?
How do you get things to move to the next point and NOT take the end point into consideration?
I have a hand. The hand starts on the counter, moves to the face, then moves to the side of the head, then taps a finger on the side of the head 3 times, then moves to the back pocket.
Blender is so fixated on its end point that it skips details. It just washes out the taping on the head to stream line right to the back pocket.
Same with the camera. The camera needs to be in place X and then glide to place Y and then glide to place Z and stay there.
But again, Blender is so fixated on the last placement that it starts moving to the end point and skips all the keyframe stops in between.
I set the keyframe for the entire rig each time to make sure I don't forget anything. I tap A so it selects everything then I keyframe it.
I Keyframe it for location, rotation, scale and custom properties.
How do I make it glide to the next point and not disregard everything between the starting and end keyframes?
EXAMPLE: https://youtu.be/gv-a3-xnI9U

You did not put key frames for the rest of her arm while she’s tapping her head, only for her finger. Each bone in an armature, indeed every animatable property in Blender, only respects its own keyframes.

To fix the animation, duplicate the key frames for the arm bones at frame 12, and move the duplicate to the last time the arm should still be in the head position (somewhere around frame 23). I strongly recommend you take a look at the Graph editor with the finger and arm bones selected, as this will give you a visualization of the properties changing across key frames. You should also pay attention to the channel names at the left of the Dope Sheet editor (cropped out of the video for some reason).

I keyframed the entire armature. I do that every time. I don't just keyframe what I moved because I'm afraid I'll forget something. I moved her hand to tap and I pressed A to select the entire armature and then keyframed it. Then repeated it.
That's why it works when you remove the last keyframe.

Only on frames 1 and 10, though. All the other places, you did something less. See marked screenshot.


text:
basic material not exporting with glb
newbie here, but I've tried researching as much as I can already and nothing's working.
I'm trying to export a basic glb because Shopify supports them(this is my first time working with glbs, but I read any documentation I could find as to why this would happen and nothing matches or helps), but no matter what I try, I can't get ANY material to export and it just exports as solid white.
I know there's a lot of things glb's can't do/export etc, but this is super basic and I can't figure out the reasonings behind why it's not working.
I have a simple bsdf shader with a png image texture to put the logo on the front of the t-shirt.

but once I export (and I've tried ever combination of export settings that even slightly would Make sense) it just exports as a solid white model, which is extra weird cuz white's not the base or even the in viewport colour.

any advice or help would be GRATELY appreciated as im hoping to do more of these to update my Shopify store.

This is the section on exporting materials in the Blender Manual.

I've read through all of that and followed all the directions to a T and it's still not working,  I've been working on this for days with no advancements. it's not making sense to me why it wouldn't work.
I'm only using 1 BSDF principal shader with a single image texture input into it and no matter what I try it keeps only coming out as white. I even tried some special glb shader add on that one article suggested on here, but that didn't work either.
if anyone can provide ANY insight it would be greatly appreciated. I can answer any further questions if I haven't explained it well enough


text:
Shadows settings not showing on my light
So I'm watching Blender Guru on the donut stuff on Blender 2.8 and he clicks on his light but my settings aren't the same as his.

You're using Cycles Render Engine.
Switch to Eevee and all the options will be there.
Render Tab > Render Engine > Eevee

Oh ok thanks for the help


text:
How to make wheat stalk stiffer in Cloth Physics?
I am making a wheat field that uses cloth physics to help each stalk move realistically with the wind. However before I convert the particle system, I need to look for the best numbers to plug into the properties of the cloth physics to ensure that the grass stays upright and springy. I have tried setting the tension and compression to 10,000, but it still bends sharply around the upper segments of the wheat stalk.
The hairs for the wheat also still seem to flail around like the strands of a mop. Is it possible to add specific nodes to the tension/compression properties to make these two areas stronger? If anyone has any suggestions, please let me know.
The images below are of the numbers I plugged into the Cloth Physics.

I suspect that using cloth sim for your purpose is not the best solution. Did you find any tutorial or online guide that suggests to use cloth to make the grass?

As @Sanbaldo cloth is probably not the best option, but i think you only need to put the gravity all the way down to 0 to keep it straight and from there, experiment with force field

yep @Emir, 0 gravity + vertex group with different weights to areas to give more stiffness to some part of the grass used as cloth pin + force field (maybe animated with a noise strength) can work. Still a lot a work I fear.

Thank you, everyone! I will be sure to try 0 gravity and force fields on the wheat. Where is the gravity setting?

I recently found out about the Surface Deform Modifier, so I decided to try that on the wheat. I surrounded the wheat with a low-poly mesh, and gave the low-poly mesh the cloth modifier instead. To keep this mesh from falling over, I added pinning to a few vertices I extruded above the mesh. It works great now, not only because there is far less bending, but also because now I don't have to worry about the little hairs swinging all over the place.
Below is a screenshot of the wheat.


text:
Import Lightwave Object LWO
I'm new in Blender, but close to 20 years of experience with Lightwave.
I had read that you can enable LWO import in Edit > Preferences > Add-ons, but there's no Lightwave import option there.
I found Newtek MDD and enabled it, but LWO still doesn't load into Blender.
https://www.behance.net/gallery/82385749/Vought-F4U-Corsair-CGI

This add-on doesn't exist in the current versions of Blender. It has been removed as part of the clean-up of broken and unmaintained add-ons.

I keep a copy of Blender 2.79, where it still works, on my desktop to import LWO.
Import, then save as a blend file and open in 2.8x

there is an Addon to do that:
https://github.com/nangtani/blender-import-lwo/releases

I usually export from LW as FBX and then import into Blender (i have 2.80) as FBX, and it retains the information.
I gave up on looking for importers for LWO in other software a long time ago.
Given the status of LW these days I usually look for an in-between, and FBX has been that for many years now.


text:
How to model top part of the camera?
Learning subdiv modeling and stucked at this (marked with red curve). How would you model top part of the camera.

Hi, congrats on your first question here!  More info could be helpful, such as a wireframe/editmode screenshot of your model (the red indicator line seems to be obscuring the issue you want help with).  Also, the Blender StackExchange has its own service to share blend files, it's often a good idea to post your blend file, or a truncated version of it that has the problem:  https://blend-exchange.com/help

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.

it's hard to guess the design with only one view, but maybe try something like that:

Begin with the profile, then extrude:

Add loop cuts, extrude inwards:

Add loop cuts, move them to round the shape :

At a certain point, use a Mirror modifier, etc...

Thanks for your reply. So how did you do this? What's the strategy of modeling this kinda things? It's more like manual tweaking polygons or what?

I've edited to add some steps

Thank you! I think this is the way.


text:
Object tracking not matching
I'm trying to track an object from footage in Blender.
I've exported it from AE and put it in the camera same fps and resolution.
When I animate the object in blender it matches the footage perfectly but when I render it as a sequence and put it back into AE it doesn't match at all.
What's weird is when I export them out as stills they do match the footage in AE.
Don't understand what I'm doing wrong.

Are you sure the original footage is 30 fps? Are you sure the comp in AE is 30 fps? Are you sure the imported image sequence in AE is set to be interpreted as 30 fps?

Yes it's set to 24fps on the sequencer, in after effects and the comp.

When you import the sequence in after effects, is the duration of the image sequence the same as the duration of the footage?


text:
Objects Disappearing When in Top-Down View (And Array/Curve Modifier Oddities) (Blender 4.2.3)
I'm trying to edit a map from a game by building roads using curves. The best "workflow" I know of is to go into top-down view to move each node of the curve on the X and Y axis before going into normal view to change the height on the Z axis. The issue here is that when I go into top-down view, the road disappears. How do I fix this? It doesn't seem to have anything to do with the clip start and end variables in the view properties.

Also, not related to this issue, but something I'd love to solve:
These roads are made by building a mesh that is 12 meters long and using an Array modifier with a Curve modifier, both set to target the same curve object. This works amazingly to have the road follow the curves while maintaining nearly-perfect spacing between the yellow lines. The issue, however, is that the road extends a very long way past the end of the curve. How do I cut it off at the end of the curve? The longer the curve, the longer the road extends beyond the end.

Even if it seems as if the road disappears - at least where it is supposed to be, there is a different color than the background. Could it be there is an object higher than the road which is obstructing the view? Because in Top Orthographic view you are basically infinitely high, so whatever is in place there no matter how high will be between the viewer and the road. Unless it is below the road. You could switch to bottom up view (Ctrl+Numpad 7 or when in top down view, press Numpad 9 to switch to the opposite) and see if the road is visible then.

if Gordon's answer doesn't work, please share your file

There is nothing above it. Here is the file in question. It is a big file as it includes the entire game map I am editing (which is roughly 30km x 15km in size). This road is on the north edge near the eastern airport (X: 25641.8 m, Y: 13525.6 m, Z: 8.63209 m)
https://mega.nz/file/Rw9hnKTT#SPSgQUfCQMzKvBIMjA5Jbql_DGZnVPS5a7lM75vfRA4

The road extends so far because you have scaled the road piece in Object Mode and did not apply the scale, i.e. the Scale X, Y, Z values are different from 1 (the X value being the one responsible for the "extension"). Apply the scale with Ctrl+A > Apply > Scale. This is by the way one of the most common reasons when objects show weird behaviour so you should always check that. If applying the scale does not solve it, we probably need more information or your file.
For the main question: maybe it would help if you upload your file. Apart from that, this is a Q&A site where it is preferred to have one topic per posted question, and the disappearing road and the extended are two completely different issues, so it would be best to make a second post. So I would actually prefer posting this answer on a new question, but since the main question lacks information what your scene contains which could result in making the road disappear, I answered the second question.

This solved that problem! Thank you! Sorry for pairing the two, I didn't think having two separate posts at about the same time would be nice.

@BobGrey If it's two different topics it is always better to have two separate posts. Some people look through the titles if they sound like they could help... either titles can become very long and confusing or some topics inside the post are left out in the title so they get overlooked by people who might have been able to help. It's no problem to post several questions at the same time as long as they have different. It would be same if you post about one topic and someone else posts about a different topic at the same time - we will not forbid him to post at the same time as you.

@Bob Grey if it solved the problem, mark the answer as correct   ;)


text:
Unique Pass Index for each point using Geometry Nodes

I have using GeometryNodes to add apples on Tree, but I am trying to give each apple a unique id like Pass Index. So my composite can generate a instance segmentation mask and mark each apple area with different values.

Currently, composition can not access the index of apples and final instance segmentation masks looks like this

Thank you in advance for helping me out. I am 2 weeks old in Blender and relying on Blender tutorials


text:
Making all objects function as a single object
I have a lot of sub-objects like clothes and hair and fingernails that I just want to remain where they are as if they were part of a single thing.  They don't need them to do anything special.  But I want them to remain discreet so I can give them different colors and materials.
I have the armature working finally but the sub-objects don't move with t.
The options as I understand them are:
a) Join them into a single mesh.  That will work, but then the material and color options are gone.  (Is there a better way to accomplish that?)
b) Group them.  So far as I can tell this does nothing except keep the workspace clean.
c) Create a collection.  When I do this I lose the weighted rigging option.
d) Parent them to something?  The question is to what.  The body object, or directly to the bones?  Will the boot them bend along with the ankle?  Is that even possible?
Thanks to everyone for their patience with my silly questions.  I very much appreciate it.

Hard to answer this question without knowing how much expertise you got in the certain fields... do you know how rigging a character works? The character has to be parented to the armature and vertex groups with weights define how the bones move the mesh. So, if you know that, you should know that "sub-objects" will not move if they have no relation to the armature and no weights - joining them into a single mesh will not change that, they still need the mesh in vertex groups with weights to be moved by the armature.

The other thing is: do you know how materials and texturing work? Because I'm not sure what material and color options you are talking about which are gone when you join the "sub-objects" into a single mesh. A mesh can have many different materials in different areas, actually you could give every single face its individual material. Okay, I'm exaggerating - I do not know if Blender limits the number of materials per object to something, while a mesh can have tens of thousands of faces and more...

What do you mean with c? As long as your objects are parented, even if they are in separate collections, they influence their children as expected.

You can do a, no problem.
The material tab contains a "list" of materials, and you can add as many as you want. In edit mode it's possible to select faces, select a material and click "assign". This allows a single mesh to have different materials.
You can also do d, if you parent an object to a bone, it will follow the bone.
You can probably also parent as many things as you want to the armature and weight paint.

Appreciated.  Thank you.


text:
Material applied to object, but inconsistent appearance
I'm new to Blender and I'm following ArtStudio "Texturing & Cinematic Lighting In Blender".
I created a PBR wood material (base color, ao, roughness and normals), but when applied to certain objects I get inconsistent results among faces: some parts are much lighter than others. It looks like ambient occlusion is somewhere ignored (see material preview and rendered views).

I already checked that the same material is applied to all faces, face orientation and that texture coordinates in the material is set to UV.
Moreover, in the UV editing view, you can see that while the two selected UVs have the same dimension, textures appear differently on the objects.
I can easily solve this second thing scaling one UVs more than the other (while I would still expect them to look the same), why do I get so different lighting results on different faces of the same objects?

Thanks for your help!

Hello could you please share your file?

Of course. If hope I'll share it the right way!
The packed file is about 350 MB, so instead I zipped the .blend file along with the PBR textures and the HDRI I used and uploaded it to file.io
link

Switch your normal map from sRGB to Non-Color:


text:
How to check if a PointerProperty has a value?
I've written a script that contains a bpy.props.PointerProperty which the user can set to an Object.  I'm having trouble finding any examples on how to access the contents of this property.  How do I check that it has been assigned a value before trying to use it as a bpy.types.Object?

Value is None if not set.
The value of a pointer property pointing to an ID object, ie one that  is not defined with a type derived from a PropertyGroup  is None if not assigned.
>>> bpy.types.Object.foo = bpy.props.PointerProperty(type=bpy.types.Object)
>>> issubclass(bpy.types.Object, bpy.types.ID)
True

>>> C.object
bpy.data.objects['Text']

>>> C.object.bl_rna.properties['foo'].fixed_type
<bpy_struct, Struct("Object") at 0x5b41620>

>>> C.object.foo is None
True

>>> C.object.foo = C.object
>>> C.object.foo
bpy.data.objects['Text']


text:
How to have a script run from a keypress?
I'm trying to get keymaps working in my script, but it's not working.  I want grid size of the current view3D to double if I press Ctrl-LeftArrow and halve if I press Ctrl-RightArrow.  Right now I'm just trying to print debug messages in response to keypresses.
Below is my code, but my operator is not being called no matter what key map items I add.  Am I doing this correctly?
import bpy

class GridRescale(bpy.types.Operator):
    """Change grid scale"""
    bl_idname = "kitfox.grid_rescale"
    bl_label = "Grid Rescale"
    bl_options = {'REGISTER'}

    def invoke(self, context, event):
        print("evt type %s" % (event.type))

    def execute(self, context):
        scale = bpy.context.space_data.overlay.grid_scale

        print("execute")
        self.report({'INFO'}, "Grid scale %f" % (scale))

        return {'FINISHED'}

# store keymaps here to access after registration
addon_keymaps = []

def register():
    bpy.utils.register_class(GridRescale)

    # handle the keymap
    wm = bpy.context.window_manager
    km = wm.keyconfigs.addon.keymaps.new(name='Object Mode', space_type='EMPTY')
#    kmi = km.keymap_items.new(GridRescale.bl_idname, 'NUMPAD_0', 'PRESS', ctrl=False, shift=False)
    kmi = km.keymap_items.new(GridRescale.bl_idname, 'LEFT_ARROW', 'PRESS', ctrl=True, shift=False)
    addon_keymaps.append(km)

#    kmi = km.keymap_items.new(GridRescale.bl_idname, 'NUMPAD_0', 'PRESS', ctrl=False, shift=False)
    kmi = km.keymap_items.new(GridRescale.bl_idname, 'RIGHT_ARROW', 'PRESS', ctrl=True, shift=False)
    addon_keymaps.append(km)

def unregister():
    bpy.utils.unregister_class(GridRescale)

    # handle the keymap
    wm = bpy.context.window_manager
    for km in addon_keymaps:
        wm.keyconfigs.addon.keymaps.remove(km)
    # clear the list
    del addon_keymaps[:]

if __name__ == "__main__":
    register()
```

Return a status set from invoke.
AFAICT the issue here is as simple runtime error, not returning a valid status set from an operators invoke method.  No return, returns None.
Pretty obvious from error message printed to system console on testing a keypress.
evt type RIGHT_ARROW
Python: RuntimeError: class KITFOX_OT_grid_rescale,
function invoke: incompatible return value , ,
Function.result expected a set, not a NoneType

Possible suggestion.
def invoke(self, context, event):
    print("evt type %s" % (event.type))
    return self.execute(context)

PS in a method where context is passed, common in operators and panels, there is never a need to see bpy.context


text:
How to submit changes for Blender's online documentation?
I often refer to https://docs.blender.org/api when I'm working on scripts.  I also often find that there are places where the documentation is unclear or even incorrect.  I was wondering if there was any way to submit proposed changes to the documentation, kind of like a Wikipedia page?

https://www.blender.org/get-involved/

I downloaded the manual, but can't find the API pages.  I searched every *.rst document for ray_cast, but had no hits.


text:
How to set loop (ie, vertex-face) normals from bmesh?
I'm trying to set face normals using a bmesh.  I'm running this in response to a mouse click in an operator.
In the below code, I'm able to run through my loops and set the vertex normals.  While this does update the vertex normals, it does nothing to affect the loop normals which are the ones that affect how the mesh is rendered (a loop is a vertex-face tuple which allows the same vertex to have different properties for each adjacent face).  The BMLoop object does not appear to have a normal property.  How do I set the normals of my mesh?
        me = context.edit_object.data
        me.use_auto_smooth = True

        self.bm = bmesh.from_edit_mesh(me)

        for face in self.bm.faces:
            for loop in face.loops:
                loop.vert.normal = brush_normal

        me = context.edit_object.data
        bmesh.update_edit_mesh(me, False, False)
```

AFAIK this is still the case https://blender.stackexchange.com/questions/49357/bmesh-how-can-i-import-custom-vertex-normals/52002#comment89162_52002  In as much as it is the vertex referenced from a different loop, it is still the same vertex. Link above shows setting via loop using the mesh, but not via a bmesh.

I tried using mesh.normals_split_custom_set(), but it doesn't seem to work in edit mode.

Yep that's the way it is. The edit mesh is a "copy" that is written to on entering mode and written back when exiting.

I created topic on the Blender developers forum https://devtalk.blender.org/t/set-loop-normals/17760

authors: Сергей Солуянов


text:
How to set up __init__.py for my addon?
I've written a script and am trying to turn it into an addon.  I've been trying to copy an existing addon which is working, but for some reason my variation isn't working.
I've created a directory that has an __init__.py in the root describing the addon and my script file in a subdirectory called ops.  I then zip it into a zipfile.  I then start a new Blender session, open the Preferences menu and install my addon.  Everything seems to go well and I get the message
Modules Installed () from 'D:\\dev\\testDeploy\\modalDrawOperator.zip' into 'C:\\Users\\kitfox\\AppData\\Roaming\\Blender Foundation\\Blender\\2.91\\scripts\\addons'

However, my addon isn't then added to the list of the available addons.  Why is this failing?
__init__.py:
bl_info = {
    "name": "Normal Tool",
    "description": "Run the example modal draw operator.",
    "author": "Test",
    "version": (1, 0),
    "blender": (2, 80, 0),
    "location": "View3D",
    "category": "Generic"
}

if "bpy" in locals():
    import importlib
    if "modalDrawOperator" in locals():
        importlib.reload(modalDrawOperator)
else:
    from .ops import modalDrawOperator

import bpy

def register():
    modalDrawOperator.register()

def unregister():
    modalDrawOperator.unregister()

ops/modalDrawOperator.py:
(this is just copied from the examples in the script templates)
import bpy
import bgl
import blf
import gpu
from gpu_extras.batch import batch_for_shader

def draw_callback_px(self, context):
    print("mouse points", len(self.mouse_path))

    font_id = 0  # XXX, need to find out how best to get this.

    # draw some text
    blf.position(font_id, 15, 30, 0)
    blf.size(font_id, 20, 72)
    blf.draw(font_id, "Hello Word " + str(len(self.mouse_path)))

    # 50% alpha, 2 pixel width line
    shader = gpu.shader.from_builtin('2D_UNIFORM_COLOR')
    bgl.glEnable(bgl.GL_BLEND)
    bgl.glLineWidth(2)
    batch = batch_for_shader(shader, 'LINE_STRIP', {"pos": self.mouse_path})
    shader.bind()
    shader.uniform_float("color", (0.0, 0.0, 0.0, 0.5))
    batch.draw(shader)

    # restore opengl defaults
    bgl.glLineWidth(1)
    bgl.glDisable(bgl.GL_BLEND)

class ModalDrawOperator(bpy.types.Operator):
    """Draw a line with the mouse"""
    bl_idname = "view3d.modal_operator"
    bl_label = "Simple Modal View3D Operator"

    def modal(self, context, event):
        context.area.tag_redraw()

        if event.type == 'MOUSEMOVE':
            self.mouse_path.append((event.mouse_region_x, event.mouse_region_y))

        elif event.type == 'LEFTMOUSE':
            bpy.types.SpaceView3D.draw_handler_remove(self._handle, 'WINDOW')
            return {'FINISHED'}

        elif event.type in {'RIGHTMOUSE', 'ESC'}:
            bpy.types.SpaceView3D.draw_handler_remove(self._handle, 'WINDOW')
            return {'CANCELLED'}

        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        if context.area.type == 'VIEW_3D':
            # the arguments we pass the the callback
            args = (self, context)
            # Add the region OpenGL drawing callback
            # draw in view space with 'POST_VIEW' and 'PRE_VIEW'
            self._handle = bpy.types.SpaceView3D.draw_handler_add(draw_callback_px, args, 'WINDOW', 'POST_PIXEL')

            self.mouse_path = []

            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "View3D not found, cannot run operator")
            return {'CANCELLED'}

def register():
    bpy.utils.register_class(ModalDrawOperator)

def unregister():
    bpy.utils.unregister_class(ModalDrawOperator)

if __name__ == "__main__":
    register()

Looks like my problem was that in the zip archive I made, I was putting my files in the root.  I had to create a subdirectory within my zip with the name of the addon, and then place the source files there.


text:
How to know what's happening with a patch I submitted for Blender
About three months ago, I submitted a proposed patch for changing how the ParticleInstance modifier works in Blender (https://developer.blender.org/D9100).  Since then, there has been no feedback.  I have no idea if this will be reviewed and acted on or if it will just be ignored.  I feel this is a very useful feature and would like to see it incorporated into the Blender program so that I may be able to use it in the future.

This site is not related to the blender institute, nor has any connection to the developers. You might want to follow up on the same place where you posted your proposal.

Don't be afraid to nudge the developers if it's been a while. You could do that on https://blender.chat in the #blender-coders channel, or by mentioning the assigned reviewer in the patch comments.


text:
Can I resume retopologizing a mesh in Retopoflow after exiting the tool?
I'm learning how to use Retopoflow 3.0.  I've found that after exiting the tool by pressing the tab key that there seems to be no way to activate the tool again and resume editing my retopology mesh from the point where I left off - so it looks like you have to do your retopology all in one shot.  This makes it hard to deal with sculpt errors that you don't notice until you're well into your retopologizing job.
Am I wrong?  Is there a way to continue from where you left off?

I ran into this problem as well. You have to be in edit mode to re-enter Retopoflow.
With the RetopoFlow mesh selected in edit mode, press the diamond button to start RetopoFlow or open the menu and pick any of the RF options.

So, thankfully there is no need to retopologize all in one go.


text:
Can I change the playback framerate?
I'm animating a character and would like the ability to change the rate of playback in the editor window so I can get an idea of what the character would look like if played back faster or slower.  Is there a way to do this in Blender 2.9?

No.  That uses the old blender interface.  Those options are not present in Blender 2.91.

It's still the same and worth a try: Printer Icon > Dimensions > Frame Rate

Yes, it looks like I can set the option there.

@kitfox in which case, please accept the suggested duplicate :)


text:
Can I convert an annotation into a stroke object?
I started drawing some sketches using the annotation tool, but now would like to convert them to grease pencil Stroke objects.  Is there a way to do this?  Another post mentioned pressing F3 and then running a convert tool on it, but I can't figure out how to even select my annotation object since it doesn't appear in the outliner.

In Blender 2.8.3 it works indeed that way. Press F3 (shortcut for 'Edit -> Operator Search...' in main menu), then type 'Convert to Grease Pencil' in the search box. In Blender 2.9.0, F3 now is called 'Menu Search...' and there is no more this 'Convert to Grease Pencil' command

Okay, but convert what to Grease Pencil?  The command that comes up in the search box is for converting Curves or Meshes to Grease Pencil, not Annotations.  I can't even find a way to edit the points of an Annotation or a way to select it so that I could submit it to such an operator.


text:
How to set custom icon for WorkSpaceTool?
I'm trying to create my own WorkSpaceTool and give it a custom icon to distinguish it from the other tool icons.  I've used bpy.utils.previews before to load icons for panel buttons - however, it doesn't seem to work for WorkSpaceTool - perhaps because WorkSpaceTool has it's icon set as a static class member.
Below is my attempt at assigning a custom icon based on bpy.utils.previews.  Is there a way to get this to load an icon for my tool?
import bpy
import bpy.utils.previews
import os

preview_collections = {}

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    def __init__(self):
        print("construct SimpleOperator")

    def __del__(self):
        print("destruct SimpleOperator")

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def modal(self, context, event):
        print("modal evTyp:%s evVal:%s" % (str(event.type), str(event.value)))
        context.area.tag_redraw()

        if event.type in {'MIDDLEMOUSE', 'WHEELUPMOUSE', 'WHEELDOWNMOUSE'}:
            # allow navigation
            return {'PASS_THROUGH'}

        elif event.type == 'MOUSEMOVE':

            return {'RUNNING_MODAL'}

        elif event.type == 'LEFTMOUSE':
            mouse_pos = (event.mouse_region_x, event.mouse_region_y)
            print("  pos %s" % str(mouse_pos))

            return {'RUNNING_MODAL'}

        elif event.type == 'RIGHTMOUSE':
            mouse_pos = (event.mouse_region_x, event.mouse_region_y)
            print("  pos %s" % str(mouse_pos))

            return {'FINISHED'}

        return {'RUNNING_MODAL'}

#    def execute(self, context):
#        print("execute SimpleOperator")
#        return {'FINISHED'}

    def invoke(self, context, event):
        print("invoke evTyp:%s evVal:%s" % (str(event.type), str(event.value)))
        context.window_manager.modal_handler_add(self)

        return {'RUNNING_MODAL'}

#-------------------------------------

class MyTool(bpy.types.WorkSpaceTool):
    bl_space_type = 'VIEW_3D'
    bl_context_mode = 'OBJECT'

    # The prefix of the idname should be your add-on name.
    bl_idname = "my_template.my_circle_select"
    bl_label = "My Circle Select"
    bl_description = (
        "This is a tooltip\n"
        "with multiple lines"
    )

    bl_icon = preview_collections["main"]["uvBrush"].icon_id
#    bl_icon = "ops.generic.select_circle"
    bl_widget = None
    bl_keymap = (
        ("object.simple_operator", {"type": 'LEFTMOUSE', "value": 'PRESS'},
         {"properties": []}),
    )

    def draw_settings(context, layout, tool):
#        pcol = preview_collections["main"]
#        self.bl_icon = pcol["uvBrush"].icon_id

        props = tool.operator_properties("view3d.select_circle")
        layout.prop(props, "mode")
        layout.prop(props, "radius")

#---------------------------

def register():

    #Load icons
    icon_path = "../icons"
    if __name__ == "__main__":
        icon_path = "../../source/icons"

    icons_dir = os.path.join(os.path.dirname(__file__), icon_path)

#    print("icons dir: " + str(icons_dir))

    pcoll = bpy.utils.previews.new()
    pcoll.load("uvBrush", os.path.join(icons_dir, "uvBrush.png"), 'IMAGE')
    preview_collections["main"] = pcoll

    #Register tools
    bpy.utils.register_class(SimpleOperator)
    bpy.utils.register_tool(MyTool, after={"builtin.scale_cage"}, separator=True, group=True)

def unregister():
    bpy.utils.unregister_class(SimpleOperator)
    bpy.utils.unregister_tool(MyTool, after={"builtin.scale_cage"}, separator=True, group=True)

    #Unload icons
    for pcoll in preview_collections.values():
        bpy.utils.previews.remove(pcoll)
    preview_collections.clear()

if __name__ == "__main__":
    register()

Unfortunately bpy.utils.previews does not work with WorkSpaceTool, you will have to create your icon as a binary blender file.
This is easiest done by first downloading the current blender icon resource file from SVN. Then use the most recent blender_icons_geom.py script to export the icons in the blender icon resource file by running the script from within Blender, the exported icons will either be next to the Blender executable or in the root of your home directory. You can then place the file in the resources of your addon and load it by giving bl_icon the direct path, excluding the .dat. If your icon file is called mytool.brush.grab.dat you will give the path as mytool.brush.grab.
import bpy
from pathlib import Path

class PaintArtistTool(bpy.types.WorkSpaceTool):
    bl_icon = (Path(__file__).parent / "icons" / "mytool.brush.grab").as_posix()


text:
How to tag a redraw in all viewports?
I've designed a modal operator that changes the geometry of a mesh when the user clicks and drags the mouse.  I'm able to see the geometry update in the viewport I'm dragging in by tagging a redraw with
    def modal(self, context, event):
        context.area.tag_redraw()

However, this does not affect other viewports so I cannot see the updated geometry in any other viewport until I finish my operator and mouseover the other viewport.  Is there any way to tell Blender to updates those viewports right away?

may find a Mesh.update() has the same effect.

You can iterate through all areas of the screen and tag them:
def modal(self, context, event):
    for area in context.screen.areas:
        if area.type == 'VIEW_3D':
            area.tag_redraw()


text:
Insufficient mtl files generated when I export a wavefront.obj file from Blender
Working from Blender 4.0.2 here. I'm still pretty new at this.
When I have a model structure in Blender just how I like it, I try exporting it as a Wavefront.obj file. The shape exports fine, but the .mtl file is very small (4KB) as opposed to the 400 or so KB it probably should be, based on other applications I have used .obj format with. When I reimport the model, or attempt to import it into another application (Terragen in this case, an application I have only just started with) I get no textures at all. So... what am I missing? I've actually searched through a fair batch of other people's questions on similar problems, but those don't quite seem to apply to what's happening with me. Thanks for your attention...

The MTL files exported by blender do not pack the textures internally. However, the active textures should be exported to the same folder… You are using image textures, yes?

...the reason @TheLabCat is asking if you are using image textures is, if you do not know, that only image textures will be exported. No procedural textures like Noise, Musgrave, Voronoi, Checker, Brick etc. To use them you would have to bake them to get a UV mapped 2D image texture of them.

Yes, all image textures throughout. I'm running into another thing also... when I import an .obj object into Blender, and do a bunch of fixes and adjustments to the textures in Blender and then export a new .obj file, the new .obj does not open the textures properly, as though making changes to the textures discombobulated the outgoing .mtl file in such a way as to make it non-functional.


text:
Using Blender 4.0 to Map the Color Information from One Image onto the 3D Topography of Another Image
I have two files in PLY format. The first file, named 06XYZConvertC3 (shown in picture 1), is used to generate color information, where a higher Z position corresponds to a redder color and a lower Z position corresponds to a bluer color. The second PLY file (06XYZConvertM3), shown in picture 2, provides 3D morphological information. I would like to map the color information from the first file onto the second file. How should I proceed? Thank you very much!!!

I guess the best option would be to bake the colors of the first object to an image texture, then use the image texture on the second object for coloring.
Let's say I have this one object where the height generates the color (right in the screenshot) and the one on the left which has a different topology, but I want the color there.

First of all make sure that the UV mapping is correct/useable for this purpose - I do not know what the UV map on your object looks like, so best is to unwrap it new. Go into Top Orthographic view with Numpad 7, then Tab in Edit Mode and press A to select everything.

Then hit U for UV Mapping and choose Project from View (Bounds) so that your mesh will be projected to a flat 2D map filling the whole UV space. Now go to the Shader Editor and add a new Image Texture node.

Create a new image by clicking on the New button, in the dialogue box that opens give it a name as you wish and choose a Width and Height to your liking (preferably a square ratio for a square object) depending on how much resolution you want. I go with 2048 × 2048 pixels. Leave the other settings at default. The Image Texture node does not have to be connected to anything in the material shader, it will only be used for baking.

Now for the next step however it is important that the Image Texture node is selected. Go to the Render Properties and under Bake set the Bake Type to Diffuse, and for Influence > Contributions leave only Color enabled, Direct and Indirect should be disabled. Leave the other settings at default.

Hit the Bake button, this might take a little time (depending on your hardware) and after it is finished, you can see the baked color image in the UV Editor. I've switched back to Object Mode so that the dense mesh is not obstructing the view on the texture.

Important: This image is now only in Blender's memory. It will not be saved automatically when you save the *.blend file, the best would be you save it now to disk so that you have it as an external file which you can use then. You can do this from the UV Editor menu Image > Save As...
Now that you have an image texture of the colors, you can select the other object and add this image to your material as color. For the Texture Coordinate you could either choose Generated or UV if the object is correctly UV unwrapped.

Disclaimer: I used Blender 4.2 for the example below, node setup may differ in 4.0
Instead of using Shaders, you could go the GeometryNodes route and write and read data from vertex colors instead. The idea is to sample color values on the original mesh and write out the results into a color Attribute, then read that attribute from the second mesh, sample the nearest vertex and set its vertex color accordingly.
The shader itself would then be dead simple, as it just needs to use the Attribute color value directly.
Start by creating a color attribute on both meshes. I used byte color on both:

Then, add a GeometryNodes node tree on the source object:

What this does on the left is creating the source colors using a color ramp. The math nodes just scale the resulting values and map the Z axis values into a 0-1 range. The important bit is the Store Named Attribute node. It outputs the color values of each vertex of your source mesh into the color attribute you created in the first step, so make sure to set that name correctly. For the shading part, just create a new shader, and read that color attribute in, setting it as the shader color directly:

Now for the target, you need to read that stored info from the source, and as the topology differs from the target, sample the nearest target vertex and map the color to it. See this example:

Here are the two meshes in comparison (sporting completely different topology to show that this approach works):

And here's the .blend file for you to mess with:


text:
How to append textures and brushes in 4.3
How to append textures to 4.3 file from, for example, 4.1 file? I append them, they are visible in outliner and I can drag them to a viewport, but can't select them with brushes.
Here's the link with video showing problem https://youtu.be/9RJvCsEqCKQ

I guess you'll have to save them as Assets ad they'll then be available just like any other Asset. See the Blender Manual here.


text:
How to use Blensor output simulated depth map
I have used blensor to simulate depth map and output it as a .pcd file. However, I couldn't find a way to open it. Does anyone have solutions?
I tried to use z pass to generate depth image and then used it recover a point cloud. However, the generated point cloud is always like a corner.

What is Blensor?

It is called blender sensor simulator. I used it to simulate LiDAR and it works well, BUT if I use depth map or depth camera. I can't read output files.


text:
How does one fade particles by their proximety?
I've instanced particles in a volume with geometry nodes, but I'd like their distance to fade as they get far away from each other. Is there a way to achieve this is a simple way? Do I have to index all the points, index the materials, and then how do I check the distance comparison for each of them? Is there an easier way?

It might be helpful to people trying to help you if you uploaded an example blend file to the site blend-exchange.com and add that link in the question. Have you tried this tutorial? https://youtu.be/pcthKcjc2aY or https://blenderartists.org/t/procedural-firework-with-geometry-nodes-in-blender-tutorial/1409586

What does this mean, you'd like "their distance to fade away as they get far away from each other"? The distance will not "fade", it will grow larger. That's what happens when things move away from each other.

Could it be the "size" instead of the "distance" ? Particules far away (i.e. at large distance) from any other particules are "small" ; particules close to other particules (i.e.  at small distance) are "big" ?


text:
Random frames in EEVEE animation render have extra or fewer lights
I am rendering out an EEVEE animation in 4.3 and get random frames with brighter or possibly extra lights. If I re-render the specific frames they seem to render fine, but this would be tedious with a large number of frames to correct. Is there a known reason/fix for this light glitch? I've read that there were bloom setting issues in the past, but since bloom is no longer a render setting I am at a loss. Happy to share the file. Thank you!

can you share the .blend file? Also have you tried testig the same issue on 4.2? This may be worth reporting as a bug to Blender foundation https://projects.blender.org/

Here's a guide on how to upload your file: https://blender.meta.stackexchange.com/questions/3050/how-to-upload-a-blend-file-on-bse-good-practices-and-advice

Great, thank you! I haven't had a chance to try in 4.2 yet, but here is the file I'm working with in 4.3.
https://www.dropbox.com/scl/fi/gw45ncodtex9exy9618gp/TurkeyMan-Animation-sample.blend?rlkey=mmxdtwcf3yuju4k08v89qoufv&st=oudg5jn3&dl=0


text:
How to add smooth step equation to a shader node graph?
I'm trying to add some math to a shader network that I'm building.  I want to take a numeric output from a node and pipe it through the equation f(x) = -2x^3 + 3x^2 (this is sometimes called the smooth step equation).  While I could do this by dragging five Math nodes into the graph, this seems like a messy way to solve this.
Is there an easier way to add an equation like this to a graph?  Does Blender already have a smooth step node I could just use?

I just found the node grouping tools that the shader network provides.  This lets me hide all of those math nodes inside of a single node.

This still seems a bit messy given how useful & ubiquitous smoothstep is; if you end up implementing it with math nodes doing pow etc it could make the render quite a bit slower than it should be I'd imagine.  Actually it looks like a relevant change was comitted just shortly before you asked your question and now "Map Range" should do the trick.

https://developer.blender.org/D5827


text:
Key frames disappeared from timeline
I'm working on creating some animations for my character using the Action Editor.  I was editing an animation and everything was working as normal - I'm in pose mode and the keyframes of the animation I was working on were being displayed in the timeline.  I really can't remember what I did next, but I got distracted and when I next looked at the timeline, none of my keyframes were there.  Instead at the very bottom of the timeline there is an upward pointing arrow next to the text F_00.
My keyframes still appear in the dope sheet and the animations still play when I press the spacebar.  I can also still switch between animations in the Action Editor.  I am selecting the pose bones to animate them just as before, I just cannot see anything in the timeline.
I'm guessing I accidentally changed some setting.  How do I get my timeline back to normal?

you've enabled the Only Selected option in the Dope Sheet (blue arrow icon), only the keyframes of the selected bone will be displayed, it may be the problem? Or you've pushed the action into the NLA and you need to select it again?

Well, it started working again.  Not sure what went wrong or how it got fixed.  I'm pretty sure I didn't push anything onto the NLA.  Nothing appeared there at least.


text:
Baking diffuse to a second mesh leaves a lot of black pixels in target
I'm trying to bake lighting into a texture.  At the end of my bake, about half of the pixels in the image appear to be correctly rendered, but the other half are completely black and in a Moire pattern.
I've created a test file where I create a new instance of the monkey, assign it a new material with a new texture and then paint it.  Next, I duplicate my mesh (I do not change its transform) and assign the duplicate a new material with a new blank texture.  Then I select my first object, then the second and go into the Render tab. Under Sampling, I have render samples at 128.  Under Baking, I have Bake Type: Diffuse.  Under Influence, Direct Indirect and Color are checked.  I press Bake and a few seconds later my baked texture is created with the black pixels.
Does this have something to do with overlapping geometry?  None of the tutorials I looked at say I need to tweak the vertices in either my source or destination mesh.

Left pane: the baked texture.  Right pane - my source mesh and texture.  The bake target has exactly the same mesh and the same transform.

Try to give a little value to the "extrusion" in "selected to active" section.

That worked. Thanks.


text:
How to have collection where collection origin is not world origin?
I'm trying create a set of modular 3D pieces in one blender file that I can use to build scenes.  My idea was to create a single file with the modular pieces and then create a second blender file that would link to them to create the scene.  Because I need to export my scene as glTF, I need to import the pieces from my first file wrapped in collections (if I just import the object, the glTF exporter ignores any transform I make to the linked object).

I have carefully set the pivot points of my model pieces so that they can snap together easily.  Unfortunately, if I put an object in a collection and that object is not at the world origin, when I import it the linked model includes the offset from the origin in my source file:

I can solve this by moving the model to the world origin, but that causes another problem - now all my model pieces are overlapping each other in a cluttered, unworkable mess.  Is there a way for me to link to my model pieces without having to move everything to the world origin?

Seems like there is a way to do it.  Once you add your object to a collection, you then move the 3d cursor to the place where you would like the origin to be, go into the Properties/Object Properties/Collections panel and then select Set Offset From Cursor from the drop down menu.

Manual Approach (No Python Script)
Lets assume you have Blender File [A].  We will create one additional File[B]
These steps will move objects to the world origin.  Keep this technique in mind.

Cursor to world origin
Select objects and Move Selection to Origin.  If items are parented then Blender manages this.

Next part

Perform you work of Modelling in File[A] as usual.
Copy File[A] to new Blender File[B]. [A] and [B] have distinct names.
In File[B] use the move technique from above. File [B] is now the processed file with world origins at [0,0,0]. Save File[B].
You may need to delete a previous File[B].
You do not want to visually model with File[B] because many objects
are near the origin.
File[B] is the target of the file append or link

If often use local mode with numeric keypad /
I am not saying I agree with your analysis of the problem. People
often make copies of files for archive purposes.  File [A] could also have a Python script.  The script or driver can set values on the delta transform or the primary transform in a particular  location.
See the first comment below for additional.

If the modelling is done in File A, why not just link the model into file B?

It sounds like you're saying I should save every model piece from my file into a separate file.  While I could do that, it is a lot of extra work and adds a lot of extra files to my directory.  There is also the problem that over time the master file and the exported pieces become out of sync.

No that is not the intention.  Please see edit. All objects in one file.  If you choose to create archives of files that is your Blender Users Choice.

So the file B would have the same objects as the file A, just with everything moved to the origin?

Yes.  The difference is B is only a library for file append/link.


text:
How to activate new mode in Blender 2.8 that displays viewport objects with different colors?
I've been watching tutorial videos of the new Blender 2.8 and see it has something that that lets you display each object in your viewport with a different color to make it easier to distinguish them.  I'm trying to figure out how to activate this, but all my searches just turn up tutorials for assigning materials.
Anyone know how to do this?

Viewport Shading > Color > Random


text:
Can I use OSL shaders with Eevee in Blender 2.8?
I was trying to create a custom OSL shader to use with the 'shader' node in the material node editor.  However, I noticed that none of the scripts worked when I was using the default Eevee rendering engine selectedin the Render tab.  Switching the render engine to Cycles make the script nodes compile correctly.
Are there any plans for supporting the shader node in Eevee?

I imagine it would be quite difficult to properly use everything that OSL shaders can do as it is designed for full ray tracing render engines like Cycles and Arnold. However, some things will work with it (for example, manipulating X, Y and Z coordinates to patterns). Let's see as Eevee is developed to further match Cycles.

To be clear, OSL evolved from Renderman and has always been about Monte Carlo ray tracing, much like Cycles. It makes little sense to implement it for Eevee, as Eevee is a rasterizing renderer meant to run in real time or very close to it; while Cycles is designed to take its time once and provide a very detailed and realistic-looking result for playback later. I want to emphasize that Sony designed OSL with specifically this use in mind, it was made for (and continues to be used for) Hollywood productions; you can use it with other rendering engines, sure, but they have to be ray tracers for a large portion of its functionality to even make any sense.
Eevee would be better suited to GLSL or HLSL, built more for games, than it would OSL, so no, it isn't possible to implement them (you would have to completely redesign them to work in this context) and it's unlikely to become so. I do think it is a possibility that some form of shading language will be implemented in the future, though.


text:
How to edit grease pencil in regular 3d mode?
I'm still adapting to the new way Blender handles grease pencil in 2.8.
I've used the grease pencil to sketch a front and profile view of a character I'm working on.  I'd like to duplicate this sketch and rotate one of the sketch layers 90 degrees so that I can view it in both front and side viewports.  However, none of the old UI for manipulating layers seems to still be there.  Is there a way to do this?

You can convert it to mesh and then try to apply the rotation?

I'm kind of confused what you're going for, wouldn't having the sketch rotated 90° and the view rotated 90° result in the same.. view? What am I missing?

I want to make a copy of the current drawing layer and then rotate the copy 90 degrees about Z.


text:
Teeth popping out of gums when mouth mesh parented to armature
I’m having a weird problem where a single mesh made of several manifolds (ie, gums and teeth) is having the teeth transform differently after I parent it to my armature and enter pose mode.
The first picture shows my mesh not parented to anything. All the modifiers have been applied and rotate and scale have been applied too.  After binding it to my armature, the teeth move out of the gums like in the second picture.  I don't see how this is possible since it's all a single mesh.
Any idea what’s going on or how to fix it?

It would be helpful to see your blend. For now I might ask whether you've put the goat in the default pose before parenting it to the armature. Parenting while it's already posed might result in problems like this

Nevermind.  This turned out to be a weight painting issue.  For some reason the individual teeth were automatically weighted differently from the gums.


text:
ParticleInstance modifier doesn’t list any particle systems
I’m trying to create some low poly fur. I’ve created a plane with an image of my fur texture on it. I want to use a ParticleInstance modifier to create the hair geometry since this will allow me to bend my hair geometry along the hair shaft (and the default particle system modifier does not). However, when I add the ParticleInstance modifier, the drop down box where you need to select the particle system is empty even though my model does have a particle system on it. How do I fix this?

Looks like I needed to add the ParticleInstance modifier to the hair model, not the monkey model.


text:
Is there a way to set vertex color of selected vertices with single click?
I have some objects that I want to set the vertex colors of.  While I can use my tablet to do this in vertex paint mode, for the project I'm working on, I just need to flood fill the selected vertices with my current color.
Basically, I want to set all vertex colors to black, then pick a few faces and set the vertex colors of those to bright red.  Is there a faster way to do this, or do I have to hand paint all the colors?

Yes, there is a way.

Edit
Actually, you can skip Edit mode.
One can also select vertices directly in Vertex paint mode and then "Paint -> Set vertex colors"

Tab into edit mode, and select vertices you want to affect.

Tab into "Vertex Paint" mode and select "Vertex selection masking for painting" (second icon to the right from "Vertex Paint" dropdown.

Choose color if already not set.

Choose "Paint -> Set vertex colors" with a single click :)

The color will only apply to the vertices that were selected in Edit mode.

After your choose color step, you can also press Shift + K to fill the current selection.

Thank you, that worked great! Default shortcut is now Ctrl+X for Set Vertex Colors.

You can apply the currently active vertex color for all vertices at once while in Vertex Paint Mode. Just select (Paint -> Set Vertex Colors) from the header menu. Basically, you set the dominant vertex color for the whole mesh and then manually paint a few vertices afterwards.
While this doesn't work on a selection but only the whole mesh, you might want to split/join your objects beforehand. So that you don't need to paint too much geometry by hand. But there might be some alternative approaches to this like working with vertex groups or utilizing the vertex weight. But this might be the more straight-forward solution.

You still have to go through some steps, but you can save yourself from having to paint the colors on in a tedious way.
Here a little explanatory video:

It's with your words, "flood filling" all black first, then selecting only the faces you want red and setting their color as well.
Change to Vertex Paint mode and in activate paint mode, to select the color black.
Make sure the object is completely selected by pressing A.
Then go under the menu "Paint" and use "Set Vertex Colors" (shortcut Shift+K) to fill the entire object with black color, this will also generate a vertex color group for you.
Now before you do anything, change the color to the red you want to use later.
Changing in the selection mode, mark the faces to be turned red and either use the menu or the shortcut Shift+K again. The selected faces should now be red while the rest is still black.

What if that menu item is grayed out? (inactive) :|

I didn't encounter a situation in which the menu items I used were inactive, could you elaborate more what you encountered please. Also, usually menu items are inactive if the operation can't be executed based on the current selection or mode. I would not be surprised if you found a situation I may never have encountered though.


text:
Any way to weight paint a specific value?
I'm trying to use a grid mesh with a displace modifier on it to create a terrain.  I want to paint in the heights of this hill using the weight paint tool.  While this does work, it's hard to control.  The blender weight paint tool seems to only add or subtract a value of 1 from a circle around the cursor.  This makes it really hard to get an even mid range value.  For example, I'd like to create a plateau where all the points have a weight value of .4, but the brush tools make it difficult create anything smooth.
Is there a way to get the weight paint to target a specific value?  Alternately, is there a way to get the displace modifier to sample from vertex colors instead of vertex groups?

If you're using 2.79:
You can set the maximum value of the brush from the "Weight" option under the brush, from my experience the assigned weight will not exceed this value.
If you select a part of your mesh you can assign a weight ranging from 0-1.0 from the Object Data Properties tab. You can also see & modify the values assigned from the N menu's "Vertex Weights" tab when a vertex is selected.


text:
How to prevent blender blocking computer entering stand by state?
I often leave my Windows computer on overnight, and sometimes I have Blender running when I do so.  I've noticed that when Blender is running that my computer will not enter it's powered down state.  While I can understand how this would be useful for rendering, I'm not doing any rendering and would prefer that my computer go into low power consumption when I'm not using it.
Is there any way to stop Blender from preventing my computer from going into stand by mode?


text:
Edit without modifiers while previewing with modifiers
Editing an object which has a subsurf modifier. I have the modifier set to not be visible in edit mode, however I would like it to be visible in a separate 3d viewport while I'm editing it. Is this possible?

Hello and welcome. I don't think it's possible.

Just like @HarryMcKenzie said, it is not possible. The modifier only has options for the specific modes, not for different editor windows. Just like you cannot have an object in Edit Mode in one viewport window and at the same time in Object Mode in a different viewport.

Oh well. Thank you both!

Yes, it's possible as shown in the attached screenshot.

The steps are as follows:

Create a linked duplicate of the object by running Object > Duplicate Linked. This creates a new object that shares the object data of the original which means Edit Mode changes will affect both at the same time.
Place the linked duplicate in a new collection. The original object should be in its own collection as well.
Add the Subdivision Surface modifier to the original and the linked duplicate if they don't already have it. Note that the modifiers are attached to the object, so each can have its own unique settings and/or have its own list of modifiers.
Right now, the objects will be on top of each other in the same 3D Viewport. Create a new 3D Viewport by running View > Area > Vertical Split.
To show only one object in each 3D Viewport, check Local Collections in the Collections panel under the View tab in the Sidebar in both 3D Viewports. Also, enable only one of the collections such that each 3D Viewport displays one or the other of the two objects' collections.
Disable Edit Mode on the Subdivision Surface modifier of the original object, the object you will edit.

Now, if you select and edit the original, you'll see the edits affecting the linked duplicate, since they share the object data. You'll see only one object in each 3D Viewport thanks to the 3D Viewport Local Collections setting. You can customize the modifiers of each object independently, since the modifier list is stored at the object level.

Thank you! I was not aware of local collections. Amazing feature.

You're welcome!


text:
Help with Animating a Leech-like Creature on a Parent Character’s Deforming Surface
I’m working on an animation where I need to animate a leech-like creature (a rigged child character) moving along the surface of another rigged and animated parent character. The parent characters is humanoid with armature setups.
Ideally, I want the leech creature to move along the parent’s deforming mesh (for example, as the parent’s body or hands shift or fold), so that it remains in the correct relative position to the parent’s movements. The creature should appear to stick to the surface and follow the deformations seamlessly.
I’ve tried creating a curve on the parent’s surface and having the creature follow it, but when the parent deforms, the curve becomes distorted, and the movement no longer works as intended.
Is there a way to parent or constrain the creature to the parent’s deforming mesh so that it stays in place and moves correctly with the parent’s changes? Any advice or solutions would be greatly appreciated!
Thank you so much for your time and help!

In my example I go in cylinder edit mode, select 3 appropriate vertices, press Shift S > Selection to cursor.
In obj Mode create an empty, shift select the cylinder, press Ctrl P > Vertex Triangle, so that the empty will always follow the deformations of the three selected vertices.
Now in the armature IK target bone has a copy transform constraint targeting the empty, IK B bone has an IK constraint targeting IK target bone, chain lenght 2.
When bones Top and Bottom deform the cylinder, IK B tail remains always attached to the surface.
You could either use a Hook modifier to snap a curve's control point to the empty.


text:
Water Simulations Spray falling too quick

I am try create water falling into an invisible object. I am just wondering how to make the spray particles fall at the same rate or follow the water mesh.


text:
How do I make the process of switching between mix shader images easier or faster?
I have images that I would like to switch between in animation. They are directional movements of a 2D character and use Mix Shaders to keyframe to another direction. I was wondering if there is a better way to change the images in animation without having to set multiple Mix Shaders to 0 or 1 each time.

For example, I have 8 directions so would there be a way to simply change the direction with a value between 1-8?
Also, within the grouped nodes I have the two images, one being a image sequence that represents the character walking and the other being the characters idle pose for that direction. I have it connected to the input so they can be switched outside the group.

Unrelated, but is there a reason for mixing sgaders instead of images? If the only difference between all the shaders is the one image texture you plug into them, then you could instead mix the textures and plug whatever the result into one shader type node, making the whole material simpler to use and to compute.

You can use a value node with compare nodes to make the factors
You can also use another property of the material, one that you may set with geometry nodes and get with an "Attribute" shader node, and maybe animate. ( How to use output in Group Output geometry node? )


text:
Whole pc black screen when rendering
I upgraded all My pc, so everything should work way better than before right ? but no it's worst,
1, everytime i open big project or press save, the software doesn't repond
2, when rendering all my pc become black and i must just restart the pc:
So, i tried rendering only with gpu, same happends,
cpu only, same happens, and same with older version
I have ryzen 9, 4060 ti, 32 go ram, my problem only happens in blender, idk what to do...
thank you for your attention

hello have you tried with an older version of the graphic card driver?

Yeah, this sounds like a GPU driver issue to me.


text:
Merge Animation layers in NLA
I wanted to add like a pose change on an animation then merge anmation layers and continue animating normally in timeline, is there a way to do this in Blender?
I'm talking about Merging and not baking.. but even if it will key every controller on every frame it's alright as long as I can continue animating the Ctrl Rig normally on base-layer without having to continue animating on another layer.
Thank you.


text:
How to make material semi-transparent in Cycles?
I have a simple shader with a water texure and I'd like to make it semi transparent.  Using Blender Internal engine, you can do this just by setting the alpha value on the shader.  Is there a way to do something similar in cycles?

To make a semi transparent texture, place a diffuse and transparent shaders in the input of a mix node in the node editor.

To make water, use the glass shader and play around with the node values.

It depends on the nodes used to make the material.  The latest “Principled” has a transmission slider that controls transparency.  In cycles that is all you need; with eeVee you also need to enable that feature.
from the docs:


text:
Can I show frames in dope sheet for rig bones not selected?
I'm trying to animate a set of four bones that form a tail.  I'd like to set their keyframes so that they all align - however, I'm finding this difficult since I cannot see the frames I've set for bones once I click a different bone.  So if I set keyframes for bone #1 and then switch to bone #2, there is no indication for the locations of the frames I already set for bone #1.  Is there a way to show them?

have you disabled the Only Show Selected button (blue arrow icon) in the Dope Sheet?

No, didn't realize it was there. Thanks.


text:
Vertices not showing in edit mode
For some reason, some of the vertices of my mesh are not being displayed in edit mode:

This is my mesh (it is all a single mesh).  I am in edit mode with vertex selection enabled.  You can see some of the vertices displayed on the hair and on the seams of the clothing.  However, most of the clothing's vertices are not there.  If I go into edge or face select mode, I can select the edges and faces of the blank areas, but am unable to move them.
The clothing parts were originally created using a solidify modifier that was then applied to make a solid region.  Not sure if that is a factor.
How do I get the vertices to display over the entire mesh?

are you talking about the UV Editor or about the 3D view? Maybe you have hidden your vertices?

That was it.  I had accidentally hidden my vertices in 3D view.  Thanks.


text:
I made minor changes to already UV mapped model. Can I keep most of the original UV layout?
I built, uv mapped and then painted a character model.  Then I decided I wanted to change the geometry and went back in to tweak it.  This included deleting a few faces and adding a some new ones.  I'd like to keep most of my existing UV layout while generating UVs for the new faces.  Is there a way to do this?

Give a try to the options (top right of 3d view in edit mode) "correct face attributes"... but no guarantee it will work in your case.

I'm not sure I understood. Have you tried to unwrap only the new faces and move it in the right place in the UV editor?

I'd been unwrapping the full model.  I'll try just unwrapping parts of it.


text:
Does Blender have a C++ API?
The docs tantalizingly hint at a C++ API in Blender that allows for creating new mesh modifiers, object types and shader nodes:
https://docs.blender.org/api/current/info_overview.html
I'm unable to find any documentation on this API.  What I have found are some old forum posts that suggest there was one a long time ago, but it got removed because too few were using it.
I would like to create my own object type (I'm trying to copy a Maya plugin that does something similar).  This seems impossible with the limitations of the Python API.  Is there a C++ API I can use, or would I need to fork Blender to add a new object type to it?

The parts that refer to C or C++ mean that these features would require modifications of Blender itself. There is no C++ API. The only way to currently access raw data structures from Python is as_pointer(). Creating an add-on that adds new primitives is entirely possible. Take a look at the code for the Extra Objects add-on.

The Extra Add On objects aren't quite what I'm looking for.  They're just interactive ways to create new mesh objects.  I'd like to create a new type of object that has properties you can still modify after it's created.  Sort of how empties or metaballs are different sorts of objects.

A fully parametric object type would require the modification of Blender's code and likely quite extensive changes. While new contributions are always welcome and parametric objects are certainly something the community is interested in, it's not an ideal first project when you're unfamiliar with Blender's codebase.


text:
Why does Blender installer install 2.83 Alpha version?
I've been using Blender 2.81 on windows and today decided to upgrade to the latest.  The installer from the download page says it will install version 2.83, but the version actually installed is 2.83 alpha.  I even downloaded the 2.82 installer, but it installs 2.83 Alpha too.
What's going on?  I'd like a non-alpha version because I have some add-ons that I'd like to install and they don't seem to work in 2.83 Alpha.

Hello :). Perhaps a silly question, but where exactly did you download the installers from?

From the Blender downloads page.

This is the right msi installer for 2.83: https://www.blender.org/download/Blender2.83/blender-2.83.0-windows64.msi/ For 2.82 it's this one: https://download.blender.org/release/Blender2.82/blender-2.82a-windows64.msi All past releases can be accessed on this page.

Yes, that's the one I used.  It installed the Alpha version.


text:
Can I create a shader that uses the distance to the first opaque object behind it?
I'd like to create a 'haze' shader, which is like a translucent shader but which attenuates the translucency depending on the depth of the scene behind it.  If this were a game engine, I would do it by first drawing all opaque objects in a z-buffer pass and then when I draw the haze shader in a transparent pass, I'd use the distance from the fragment to the stored z-value to calculate the amount of translucency I need.
Is there a way to do this in Blender?

you can get a "haze" effect without material shader nodes. Under composite, you can set a Z pass (or distance to camera pass), and you can then blur it, where the intensity of the blur is controlled by the "distance".
You can consider Z pass as a black to white raster/mask, where black conceals and white reveals, and also where black to white values represent 2.5D information on Z towards the camera. With that in mind, you can manipulate this "mask", or even create it (manually) in third party software (gimp, photoshop, etc.), then import the raster layer, and use this layer as the Z pass.
About haze. Naturally haze is a "blur effect" caused by different compositions and densities in the atmosphere. You can achieve a more natural haze effect with: you set a "domain" for your atmosphere (a big cube or sphere will be enough), then you set the material of this atmosphere object to volumetric. Using the volumetric shader nodes, you will be able to have more control on the "atmosphere".

on youtube you have this interesting tutorial with Z pass:
https://www.youtube.com/watch?v=3P6DVDy6DG0
this tutorial on volumetric lighting:
https://www.youtube.com/watch?v=AXjE-t6dFZ8


text:
How to set UV map when rendering in Blender Render with nodes?
I'm trying to figure out how to use the node graph in Blender Render to draw a simple plane with a texture on it.  My current setup seems to reading a green pixel from my texture and applying it to the whole surface.  I'd like the texture to follow the UV coordinates that I unwrapped, but can find no place to specify the UV map that I want.
How would I change this to draw my texture on my plane?

I think either: SHIFT + "A" INPUT > Texture Coordinates or SHIFT + "A" INPUT > UV Map would work. You would need to select your UV Map withen those Nodes if you have more than one UV Map.

Oh... and connect one of those Nodes to the Vector Socket of your Texture Node.

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


text:
How to stop blender from recalculating normals?
I have a mesh (a rock wall) that I would like to split into pieces and export each piece for a game engine.  The mesh has a smooth, undulating surface and when all the sections are merged into a single mesh, it looks the way I want it to.  However, when I split the mesh into pieces, Blender recalculates the normals along the edges causing a very visible change in shading.
I would like Bender to leave the normals alone, or maybe give me some way to edit the normals manually.  Can I do this?

You need to use custom normals. It's the only way to preserve the smooth shading on the edges you split.

How do you use custom normals?  I tired adding a normal edit modifier to my mesh.  Not only does it automatically recalculate my normals to cause a 'radial' effect, but if I split my mesh it still recalculates again along the new seam.

I created a Blender add-on for this exact purpose called TiNA which allows you to easily transfer normals between objects. TiNA basically turns the somewhat overwhelming Data Transfer Modifier into a set of more comprehensible operations.
There's a special branch for those using Blender 2.80 beta.

 Hotkey           | Operation
------------------|-------------------------------------------------------------------
 Alt+N            | Transfer Normals from selection to active object
 Shift+Alt+N      | Transfer Normals from active object to all other selected objects
 Ctrl+Shift+Alt+N | Clear Custom Normals data for entire selection
 Alt+W            | Wrap Normals

In your case you could transfer the normals from an unsplit duplicate by selecting all objects, and - with the unsplit duplicate as your active object - hitting Shift+Alt+N.

maybe you need to detail the feature, usage, effect, or other information...??

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


text:
What is 'safe' way to rig to allow for future editing of bone positions?
I'm trying to figure out the best way to rig a model so that I have the  flexibility to make tweaks to the rigged mesh and the rig itself in the future.
I have a character mesh that I created, rigged (using Rigify and then baking a rig from that) and then animated.  Then I decided to make changes to the original mesh.  I shortened the neck and moved the shoulders forward a bit.  This caused all my facial and arm bones to go out of alignment.  I then selected the armature and switched into edit mode and dragged the bones into the new positions the best I could, but the result was a distorted mess.  Even rebinding the mesh to the skeleton with automatic weights did not help.
As much as I like the rig that Rigify generates, it seems to be pretty inflexible to these kind of edits.  Is there a better approach?  Should I be building my rigs from scratch?

Maybe keep the original metarig and adjust that to your model, and use it to regenerate the rig. You could look at blenrig, I haven't used it yet but it uses mesh deform that might be more flexible to underlying mesh changes. Blenrig and the pdf docs are free while the video tutorials are members only.