text:
multiple animations based on one animation
i have "aim shot" animation, but I want the same animation for the "idle shot" animation changing the position of the weapon without messing up the rest of the keyframes
my rig has the bones "ik.handtarget.L" and "ik.handtarget.R" which have as parent the bone "weapon", what I want is to change from the shooting animation while aiming to a shooting animation on idle only by adding a downward offset and rotating it a bit

I have tried modifying the curves but it becomes tedious to have to modify them one by one. I would like to know if there is a simpler method

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

sorry, english is not my native language, try to be as brief as possible so as not to confuse anyone.


text:
How to use bpy.ops.object.transfer_mode() API?
I'm a beginner :(
The purpose of these codes is to make the shortcut "alt+q" have different Operators under different "C.object.types",
but "bpy.ops.object.transfer_mode" never works and I don't know how to use this strange api.
class PIE_Bottom_Q_alt(bpy.types.Operator):
    bl_idname = "pie.q_alt_key"
    bl_label = __name__.split('.')[-1]
    bl_options = {"REGISTER"}

    @classmethod
    def poll(cls, context):
        return True

    def execute(self, context):
        mode = context.object.mode
        if mode == 'SCULPT':
            #------ This operator not working ------#
            bpy.ops.object.transfer_mode()
        elif mode == 'OBJECT' or 'EDIT':
            bpy.ops.view3d.localview(frame_selected=False)
        return {"FINISHED"}

classes = [
    PIE_Bottom_Q_alt,
]

addon_keymaps = []

def register_keymaps():
    addon = bpy.context.window_manager.keyconfigs.addon

    km = addon.keymaps.new(name="3D View", space_type="VIEW_3D")
    kmi = km.keymap_items.new(
        PIE_Bottom_Q_alt.bl_idname,  'Q', 'CLICK', alt=True)

def unregister_keymaps():
    wm = bpy.context.window_manager
    for km in addon_keymaps:
        for kmi in km.keymap_items:
            km.keymap_items.remove(kmi)
        # wm.keyconfigs.addon.keymaps.remove(km)
    addon_keymaps.clear()

def register():
    for cls in classes:
        bpy.utils.register_class(cls)
    register_keymaps()

def unregister():
    unregister_keymaps()
    for cls in reversed(classes):
        bpy.utils.unregister_class(cls)

Can you post the error codes in question? What exactly do you mean it "doesn't work"? Is the pie menu not popping up at all? Is the button being clicked doing nothing? Is there a big error traceback in the console?

source: Stack Exchange

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

sort: votes


text:
Black artifacts on mesh with Cycles, after I set up a normal map
I've been using Blender a lot and I have a commission due to this weekend.
I sculpted a mesh and then retopologyzed it, baked the Normal Map from the Highres to lowres mesh with "Selected to Active" as i've always did.
The problem is, when I lower the camera with Cycles, it will show black artifact on the mesh.
On the left, there is a mesh that I decimated and on the right the retopology.

This one is the original mesh, I tried to test the same normal map on the original mesh and the same issue occurs.
I've also tried to open a new file, sculpt on a UV Sphere, then baked the normal.
The issue is still there.
With this ball I just baked the normal without "Selected to active"
What's the issue here? I thought it was a topology related issue but it happens on normal quad meshes too.
I am on version: 3.2.2, branch: master, commit date: 2022-08-02 18:15, hash: bcfdb14560e7, type: release
build date: 2022-08-02, 23:41:46
Edit, I've also tried on 2.93. Same issue occurs

Can you share the sphere file? It can be wrong normal setup, duplicated geometry or maybe something reflects?

@Crantisz there you go link

Kindly use https://blend-exchange.com/ because your link doesn't work for me

@Crantisz Sorry It's my first time on this website, I think i've added it to the original post with the link you provided.

Color space should be non-color, and normal map node should be used to convert tangent normal map to object space normals:

Amazing. It worked!
Thank you!

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


text:
Retro sega saturn transparency effect

Is there some way to apply some checkerboard-like transparency effect to 3D mesh similar to this? It's like having a textured mesh but every other pixel is transparent.
And if possible, stay the same size in relation the the pixel of your monitor only, so if you zoom into the mesh or increase the rendered image / video output resolution the pixels remain the same size to your screen pixels only, like the image above.
Btw I'm very new to blender and in still learning stuff so if you could help make an image example, maybe even replicate the effect on a textured cube and send over the .blend file for me to study that would really help a ton!

Hello, we can't see any image for the moment

Sorry, I just fixed the image!

You can use a Checker texture as mix factor between to other textures of your choice for this.
Like say Transparent shader and something else for color like an Emission (for a shadeless effect) or a Diffuse.

The trick here being using Window texture coordinates from the Input > Texture Coordinates node for the Checker, so it remains aligned to the view.
To get a square aspect ratio you will have to adjust the X scale with a Vector Mapping node for the Checker texture, and adapt according to your render output resolution.

Beware that this technique doesn't necessarily pixel align the dithered transparency, nor does it simulate the low resolution aliased object borders. For that you would probably have to actually render at lower resolution. Possibly in a separate render layer and then scale up if you wish to mix it with higher resolution renders for other parts of the scene.

Oh I see! Thank you! I'll give this a go some time after work. One last question, can a texture be mapped to that checkerboard transparent mesh like this pic?
https://imgur.com/gallery/YODB7lE
i was trying to get a texture working on the non-transparent pixels of the checkerboard but didnt get it right.
also is it possible to show the entire node tree you made?

You can mix other textures normally into the shaders like any other material. I mistakenly clipped more than I wanted from the node tree, I've added an additional image.


text:
Character Workflow for Production Pipeline
I'm working on a concept for a production pipeline that is used by a team of artists.
This is my planned structure.

I want to have separate files for modeling, texturing/shading and rigging to be able to split workloads between artists. Every subtask has working files and a _release-file with the latest usable version. These release-files should be used to build one character_release.
What are streamlined solutions to merge the 3 subtask release-files into one final release-file? (Get the geo of the model-file, the materials from the tex-file and the rig + weights from the rig-file.)

This will probably get closed as an opinion-based question; but it could easily be edited to make it less so by changing the last paragraph to look for "what are easy solutions" rather than "what is the most 'easy".

This is often done with library files and linking


text:
How to keep one object on certain view mode?
I'm trying to keep my reference image that I important as a plane in Material mode while I can still adjust the object I'm modeling by switching between Wireframe and Solid (by using Z). Every time I hit Z the reference image goes to wireframe/solid. How do I go about this? Google is yielding no results, or I just don't know the proper terms to use for searches. I am using Blender Cycles.

In the object properties there is an option called maximum draw type. Set this to wire. It will display the object as wire like the wire view mode, although a handful of things are different regarding selection in edit mode and such.

If you want to select the object like in wireframe mode as well, you can turn off limit selection to visible:

This does not give all the benefits of working in wireframe mode, however. If you try to select verts from the back side of the model with box select, they will not be selected. The points are still occluded by the object, despite being able to see them. If you change to wireframe mode, the points will be selectable again. I want to bring this up with the developers and see if we can get it changed.

@Italic_ The OP's issue was not being able to see the background issue. Limit selection to visible can also be turned of if the OP wants to have the selection ability of wireframe mode. Side-note: Because we have the limit selection to visible option, I would not be happy to have the maximum Draw Type have the same selection modes as wireframe, since how would, if I wanted to, Have the object in wireframe and limit selection to visible functioning. I wouldn't take this up with the devs.

Since there's the limit toggle, I guess it wouldn't be necessary. It's not very intuitive, though, because wireframe only allows selection through the whole model, not occluded selection, so by allowing the occluded selection it breaks convention with the other mode and UI. Telling us both are wire is not entirely true because they don't behave the same.

@Italic_ No they don't behave the same... I never meant it like that  however, since it could be an issue, I will point it out.

Looks like a good edit. Thanks for clarifying.

Another option is to use an Image Empty for your reference image.  Hit Shift+A > Empty > Image.  Then go the empty's settings in the properties view and open the image you want to use.  The empty will display the image no matter what viewport shading mode you are using.

For 2.8 and up:

Click the object
Click to Object Properties
Drop down Viewport Display
Drop down Display As
Choose how to display the item while in the viewport

Screenshot:

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


text:
How to connect 2 cuboids in a "T" shape
I'm not looking for the basic "Press F". I need both meshes to be connected with a correct topology. Their edge positions are set up properly, it's just that a lot of the vertexes aren't actually connected to anything, like this:

Is there a way to quickly fix my oversight, or how would I go about fixing it the manual way?

Make 2 loop cuts on the vertical shaft (Ctrl+R), bring them close to the vertices of the horizontal shaft (as Julian points out in the comments, once you accept the position of a loop cut, you can still readjust by pressing G twice), when the vertices of the two shafts are nearly touching each other (green lines on the image), select all 8 vertices (you can do it easily in Wireframe mode, press Z then W) and press M then B (Merge by distance) - the vertices should now be connected.
Remember to remove the inner face (marked red) for proper shading - you can do it easily in Wireframe mode or by hiding one of the external faces first.

"bring it close to the vertices of the horizontal shaft" by edge sliding with [g+g].

If we're working with exact sizes, will this produce a slight distortion? How could I make sure the produced connection is exactly, say, 3x3m?


text:
Move camera background infront of object and make it transparent
I would like to move the camera background in front of an object that is in the field of vision f the camera and make it slightly transparent. I did not find any solution for moving objects behind the camera background.
This is the background picture of the camera.

This is the object that can be seen with the camera and in the background is the picture from the previous picture.

Sorry, could you explain in a bit more detail what you mean by "camera background"?

You might be talking about adding a Texture Coordinate node into a Mapping node and setting the location to be between your scene and the camera?  This in the Shader Editor :: World (not Object) view?  (not that this works!!)


text:
How to choose right context
I would like to fit in the image in Texture Paint WORKSPACE, but I still got the same error RuntimeError: Operator bpy.ops.image.view_all.poll() failed, context is incorrect. -> I do not understand how it is possible because before this part I wrote bpy.context.window.workspace = bpy.data.workspaces["Texture Paint"]. Could someone help me with the context. I thought that the bpy.ops.image.view_all(fit_view=True) is for Texture Paint context (I am maybe a bit confused about what is WORKSPACE and what is context). Thank you :)

So you want to downsize the image as in reduce it's resolution or just make it smaller so it can be seen in the viewport?

@Jakemoyo I edited the question and now should be more clear.

Try looking into this sort of thing except you will want to use context.temp_override() instead of create a context dictionary. That is a recent update to the API post 3.0 IIRC. The procedure is essentially the same though.

I maybe don't get it, but what is the purpose of overriding the context, and what is the difference between the workspace and context? :O Because I thought that all I need to do is to change the workspace and work with that.

https://blender.stackexchange.com/a/270716/142292

To use bpy.ops.image.view_all your context needs to be within the IMAGE_EDITOR. Read more about context here
import bpy

area_type = 'IMAGE_EDITOR' # change this to use the correct Area Type context you want to process in
areas  = [area for area in bpy.context.window.screen.areas if area.type == area_type]

if len(areas) <= 0:
    raise Exception(f"Make sure an Area of type {area_type} is open or visible in your screen!")

override = {
    'window': bpy.context.window,
    'screen': bpy.context.window.screen,
    'area': areas[0],
    'region': [region for region in areas[0].regions if region.type == 'WINDOW'][0],
}

bpy.ops.image.view_all(override, fit_view=True)


text:
I have lost my sculpture in sculpting mode
Help! I cant find my sculpture. I can see it in layout and modeling. But When I go to sculpting mode. I'm in a space trying navigate my way to it. With zero results. How do I find it?

Hello and welcome. What if you hit Numbpad period(.) on your keyboard?...It is kind of unclear what you are asking. Please use the [edit] link at the
bottom of your question (https://i.sstatic.net/lXFuK.png) and add
more information on how you set up your project.
Add images that
might help us understand your scene and settings. See How to upload
an image to a post?.

What happens if you come out of Local view ( "/" on the numpad)?

Maybe this will work:

Go to layout or modelling tab and find your objects.
Go to Sculpting Mode again.

Or another thing happened.
You might have used softing tools and objects shrank so much.


text:
Pose animation and rigid body
I'm quite new on Blender, and I'm currently working on a human body animation in an environment.
My body is composed of meshes combined with an armature and bones used to animate the whole thing (works fine). The environment is made of objects imported from FBX files, with their own meshes.
My issue is that I would like to prevent the body from getting through the environment. Let's say I move the arm forward, it stops along the object and does not get through.
I tried putting rigid body constraints on the skin mesh and the object, following tutorials as https://www.youtube.com/watch?v=pP-UCZaR6Do
But it seems that the pose animation overrides the physic constraints, always ending in a hand through the wall.
What am I doing wrong? Is it even possible?
Thank you for your help,
Best regards
Edit
Following Jakemoyo advice, I managed to achieve a result close to what I expected, by creating walls using planes and putting a Floor constraint between the IK bone and the plane. However, I was wondering if a more straightforward solution using constraints on a more complex environment mesh was possible (since Floor constraint only works on plane objects)

Have you tried using a floor constraint?

@Jakemoyo I edited my original post with your proposal, it is not perfect but could be really useful if I don't find any other solution, thank you!

Ok, I kept digging on Jakemoyo proposal, and it turned out that what I was looking for was not Floor constraint but Shrinkwrap.


text:
Multiple colliders causes cloth simulation to freak out
I've got a simulation dropping a cloth onto a couple of mesh objects. When I test it with just 1 object, it seems mostly stable.
When I involve a second object/mesh that's touching the first, it starts to jump, buck, stutter around. On a lot of settings it crumples into insane balls and crushes itself. This largely does not happen with the first object.
I've tried EVERYTHING under the sun I can think of. Tweaking all sorts of cloth properties, cloth quality sim level, different tweaks to the colliders as well... no matter what I do, if the cloth and those ears touch, there's an unstoppable freakout. Definitely at my wit's end with this. Please let me know if you have any theories.

if i run your blend file simulation, it works fine. did you delete/inactivate the second object? what is your second object?

The ears object. I did yes, sorry about that.

The main body and the ears are the two colliders (Or should be), the poncho is the cloth object.


text:
Snap cursor python
I'm trying to snap the head of a bone to the cursor position using the script below, but it's not working as shown in the screenshot.
import bpy

C = bpy.context
obj = bpy.data.objects['Armature']
obj.select = True
C.scene.objects.active = obj
bpy.ops.object.mode_set(mode='EDIT')

bone = obj.data.edit_bones['Bone']
C.area.type = 'VIEW_3D'
bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.data.objects['Empty'].select = True
C.scene.objects.active = bpy.data.objects['Empty']
bpy.ops.view3d.snap_cursor_to_selected()
C.area.type = 'TEXT_EDITOR'
bpy.ops.object.select_all(action='DESELECT')
obj.select = True
C.scene.objects.active = obj
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.armature.select_all(action='DESELECT')
bone.select_head = True
C.area.type = 'VIEW_3D'
bpy.ops.view3d.snap_selected_to_cursor(use_offset=False)
C.area.type = 'TEXT_EDITOR'

Do you really want it to snap to the empty, and your're just using the cursor to do it?

I don't know exactly why your code isn't working, but I assume the end result that you want is the bone head snapping to the empty. The "friendly", non-ops way to do this would be to put it in an operator:
import bpy

def main(context):
    arm = bpy.data.objects['Armature']
    empty = bpy.data.objects['Empty']
    context.scene.objects.active = arm
    #do snapping here
    bpy.ops.object.mode_set(mode='EDIT')
    bone = arm.data.edit_bones['Bone']
    bone.head.xyz = empty.location
    bpy.ops.object.mode_set(mode='OBJECT')

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

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

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

def register():
    bpy.utils.register_module(__name__)

def unregister():
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

how using an operator will solve the problem?

Using an operator isn't what solves the problem, although it probably eliminates any context related issues.

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


text:
Translate object using lowest Z value python
I have an object located in the origin (0,0,0). I wonder how I can translate it along the z-axis where the lowest -z value of the object will be translated to z value 0 as shown below:

Loop over the vertices, find the one with the lowest z value, move the object up -whatever_the_previous_got_you :-) I'll post an answer in a few...

related http://blender.stackexchange.com/a/42110/15543 in that it moves the origin to bottom.

Here is a simple script that accomplishes this...let me know if you have any questions.
import bpy

# get a reference to the active object
obj = bpy.context.object

# get the minimum z-value of all vertices after converting to global transform
lowest_pt = min([(obj.matrix_world * v.co).z for v in obj.data.vertices])

# transform the object
obj.location.z -= lowest_pt

Note
For 2.8 replace * with @ for matrix multiplication.
lowest_pt = min([(obj.matrix_world @ v.co).z for v in obj.data.vertices])

Can also find the lowestZ in one line instead of a loop thus:
lowestZ = min( [ ( obj.matrix_world * v.co ).z for v in obj.data.vertices ] )

Adding object location to local vert coordinate is not converting to global location.  See comment above.

@TLousky Thanks! Your method also works correctly with rotation and scale that I wasn't thinking about when I posted originally. I have edited my answer to include this technique...

@batFINGER I was fooled into thinking this b/c I was not using a rotated or scaled object.

@pycoder what if the object was an armature? It doesn't work in that case as this solution only works for mesh as it uses the mesh vertices

@Tak That's a completely different problem, and something that I can't really think of a good reason to need off the top of my head. Would you be calculating based on the center of bones? The heads and tails? I think this would be better suited for a different question that explains these things clearly and gives an example of when you may want to use it.

@pycoder http://blender.stackexchange.com/questions/74936/move-object-without-changing-origin

The line 7 doesn't work in Blender 2.8: TypeError: Element-wise multiplication: not supported between 'Matrix' and 'Vector' types
What should we write instead? Thank you.

@DanylBekhoucha You should ask that as a separate question if you need an answer. I've not looked into porting my add-ons to Blender 2.8 yet, so I don't know off the top of my head.


text:
Get/display the animation runtime fps in python
I want to know how I can access the animation runtime fps from python to display it in the console.

The last time I looked at this there was no way to directly get the value directly from a property of the API.
You can emulate it with a frame change handler, here is some test code that prints the approx fps to console.
import bpy
import time

t0 = -1
def timer(scene):
    global t0
    t1 = time.clock()
    fps = scene.render.fps  / scene.render.fps_base
    ms = 1000 * (t1 - t0)
    fps = min(fps, (1000 / ms))
    print("FPS:", fps)
    t0 = t1

bpy.app.handlers.frame_change_post.append(timer)


text:
Set material of a vertex group of a certain face
I have a mesh and I want to know how I can color the whole vertex group of a certain face. I currently can color a face from a list as shown below, but I want to set the material of the whole vertex group of each of these faces in the list instead of just the faces.
for poly in bpy.data.objects['Mymesh'].data.polygons:
    #set material 1 for the whole mesh
    poly.material_index = 0

for a in list:
#set material 2 for some faces - I want it instead to set the material of vertex groups
#of these faces in the list instead of just the faces
bpy.data.objects['Mymesh'].data.polygons[a].material_index = 1

You can modify a previous answer to do this:
import bpy

o = bpy.context.object

for p in o.data.polygons:
    # Get all the vertex groups of all the vertices of this polygon
    verts_vertexGroups = [ g.group for v in p.vertices for g in o.data.vertices[ v ].groups ]

    # Find the most frequent (mode) of all vertex groups
    counts    = [ verts_vertexGroups.count( idx ) for idx in verts_vertexGroups ]
    modeIndex = counts.index( max( counts ) )
    mode      = verts_vertexGroups[ modeIndex ]

    groupName = o.vertex_groups[ mode ].name

    # If this polygon belongs to a specific VG, change its material
    if groupName == "VGwereInterestedIn":
        p.material_index = material_index # The material slot we want to use to shade polygons in this VG

EDITED:
I revised the code to answer the actual question, while leaving the above answer in case it interests other users. The code below takes a list of face indices and a material index, and assigns the material index to all the polygons that belong to these faces' vertex group/s.
import bpy

o = bpy.context.object

# List of face indices that represent vertex groups we want to shade with a specific material
myFaceList = [ 0, 100, 52, 32 ]

# Index of the material for shading the vertex group/s of the faces above
materialIndex = 1

def find_polygons_vertexgroup( p ):
    # Get all the vertex groups of all the vertices of this polygon
    verts_vertexGroups = [ g.group for v in p.vertices for g in o.data.vertices[ v ].groups ]

    # Find the most frequent (mode) of all vertex groups
    counts    = [ verts_vertexGroups.count( idx ) for idx in verts_vertexGroups ]
    modeIndex = counts.index( max( counts ) )
    mode      = verts_vertexGroups[ modeIndex ]

    return mode

for pi in myFaceList:
    # Find the current polygon's vertex group index
    vgIndex = find_polygons_vertexgroup( o.data.polygons[ pi ] )

    # Iterate over all polygons and change their material VG is the same
    for p in o.data.polygons:
        p_vgIndex = find_polygons_vertexgroup( p )

        if p_vgIndex == vgIndex:
            p.material_index = materialIndex

Thanks for your answer. I think you misunderstood my question. I don't want to color a specific VG by name. Each vertex in my mesh is assigned to one and only one vertex group, where a vertex group will have it's unique vertices, so no vertex sharing among vertex groups.  I then have a list of faces which I want to color the whole vertex groups connected to this faces with a certain material. Can you leave the answer above as I may use it in the future and it may be helpful to others and just edit it with another approach to fit my case? Many thanks

I've tried doing it but I did it with couple of next for loops which made it very slow, so I look forward for your efficient solution, and as I mentioned previously, please don't remove or update the script in your answer as it may be helpful to others, I'd just appreciate it if you could edit the answer and include another script for my problem. I've already upvoted your answer.

@Tak, revised answer included in edited answer. Let me know if this works for you.

Hello, sorry to bother you again. I'm currently using this method to color the whole vertex groups of faces in a list. The problem that my mesh is very high poly and blender hangs for ages during the animation every frame (about 20 sec per frame) so too slow. There is no better way to set the material of a vertex group at once? so if vertex a has weights in both vg1 and vg2 straight away set the color or material of these groups to red without having to loop on all vertices?

@Tak, sorry, unfortunately not really available to try solve this at the moment (workload). I'd try using operators to mass select the entire vertex group (bpy.ops.object.vertex_group_select()) and mass assign materials (http://blender.stackexchange.com/questions/27190/quick-way-to-remove-thousands-of-materials-from-an-object)

No worries, I totally understand you being busy, I'd appreciate it if you could think about it any time you are free. Like I have a list of faces, I want the most efficient (in your opinion) to color the vertex groups which these faces belongs to, may be using multiple materials or a material for each vertex group of the mesh,...? Just let me know when you have the time. Thank you very much.


text:
Modify animated Armature BGE
I have an armature which has animation. To play my animation in BGE I added an Always Sensor ANDed it to Action actuator and set it's value to the animation. It plays good. But what I'm trying to do is rotate some of the bones during the animation using the keyboard with Python which doesn't work only if the armature didn't have any animation. Any ideas?

The action actuator will play the animation of the action. This animation consists of several channels. On armature actions these channels are the channels of the single bones. Typical channels are location, rotation, scale.
When the animation plays a channel it sets the pose of the bone regardless what pose the bone had before.
When you want to pose the channel via Python you should ensure this channel is not set within the action otherwise it gets overridden (the animation gets applied after the Python controller set the pose).
Solution
Remove all channels you want to manipulate via Python from within the action

Hint
When you play two actions that share the same channel only one of the actions will be played (unless

Could you please have a look at my question here http://blender.stackexchange.com/q/66536/2517


text:
Bone angle in python
I have an armature found in my .blend file here and I want to know the angles of the joints of my armature in degrees?
I want to know how I can get the angle in degrees through python?
As shown below the bone angle is set to be 0,0,0 around x,y,z although the bone is bent, I don't know why?

Also if I rotated the selected bone 30 degrees around x by selecting the bone pressing R then X then 30, the transform menu angle around x is not 30 as shown below, I don't know why?  I've tried this bpy.data.objects['MyRig'].pose.bones['Bone2'].rotation_euler but it doesn't give the same result as shown in the transform menu.

The value for Transform Rotation is the local rotation.  To rotate around local axis use r x x 30.  The pose bone transforms are relative to the rest pose.  ie all zeros for loc and rot, and 1 for scale and the pose will be the same as the rest pose

@batFINGER thanks for the explanation. So if I wanted to get the elbow joint angle (Bone2) I'll do this bpy.data.objects['MyRig'].pose.bones['Bone2'].rotation_euler? I wonder how I can get the joint angle between two bones in degrees not relative to the rest pose as for example 35 degrees or something?

Are you after the global angle between the two vectors made up of global locations of v = (pb.head - pb.tail) of pose bones?  Could also achieve this by adding a rotation difference variable to a driver using the two bones and global transform.  If so maybe change q title to "Global angle between pose bones in python" or something similar.  btw all angles in blender are in radians.  To convert to degrees use math.degrees(angle).

@batFINGER I'm honestly not sure what is a "global angle", is it the angle in between two vectors in the world space? I've tried doing this math.degrees(bpy.data.objects['MyRig'].pose.bones['Bone2'].rotation_euler[0])  and this gives 2.1344341156289847e-06 so still it's not the one I want. Like as shown here http://pasteall.org/pic/index.php?id=110859 the angles would have a value more than zero. Do you know what I mean? I hope I'm explaining properly, like my aim is to get the angle between each bone and it's parent cause after that I will set a rotation limit on each axis for every bone.

Your example is just the local x euler_rotation.  Put together answer with what I think you want.  Suggest adding that image to q.

Test code that equates the angle between the two bones.  It doesn't take into account bone roll.
import bpy
from math import degrees

from bpy import context
arm = context.object

pb1 = arm.pose.bones.get("Bone")
pb2 = arm.pose.bones.get("Bone.001")

v1 = pb1.head - pb1.tail
v2 = pb2.head - pb2.tail

if pb1 and pb2:
    print(degrees(v1.angle(v2)))
else:
    print("Invalid bone name(s)")

thank you so much, that did it. So if I wanted to set the limit of a joint angle with degrees angle around each axis let's say setting the joint angle between Bone and Bone.001 to be min -30 to +30 around every axis, Is using the limit_rotation constraint the correct way to do that?

You will probably need to use the IK to set limits on the joint angles.


text:
Increase light contrast (shadows too bright, highlights too dark)
I'm trying to recreate this render:

But my render is coming out much darker:

I'm using the cycles renderer in the 2.8 beta. It's a sun light with a light gray world color. The colors are just colorpicked from the reference images. I notice that he has very sharp shadows here which would mean maybe using a smaller light source instead of a sun? I'm not really sure. Any help would be appreciated.

..and it does look like a sun-type light source .. you can adjust the size of a sun light, and therefore the sharpness of its shadows, in its data panel.

@cegaton the world strength tip made for much better shadows! Thanks! I had to find the strength option for the sun lamp under the "use nodes" button, but that's pretty much what did it.

Welcome to StackExchange - you should answer your own question instead of editing it to include the answer.

@Samoth thanks! I was wondering how to close the thread haha

After some time waiting (for a possible better answer from somebody else) you can check your own answer so that it is accepted...

You should by now be able to accept your own answer

I darkened the world color found the sun lamp strength slider hidden behind the "use nodes" option. Both of these combined made for a much better render! Thanks!


text:
How can I close holes in hexahedral meshes?
I want to be able to close holes in hexahedral meshes, I need that in order to produce physical computations on the model.
How can I achieve that in the most efficient way? Simple "F" doesn't work.
Thank you for your attention.

Inside of the mesh:

The mesh can be more irregular:

All vertices (and therefore edges) are shared as if doubles were removed by using MB (Merge By Distance). The mesh, while irregular, consists of pockets formed by 6 quads.
A hole can be defined by a place where a face could be created without adding any edges (marked red below); ideally, a hole would be also a place where 2 faces could be created by adding a single edge first (marked green below):

https://www.youtube.com/watch?v=-VG-LFbub8k&t=254s&ab_channel=tinkertillie
File:

Comments are not for extended discussion; this conversation has been moved to chat.

Axis-aligned edges
Assuming each edge is parallel to either of x, y, z axes, it's trivial to look for U-patterns by taking an edge1 and calculating vector from one of its vertices to another, then taking a linked edge2 with a different vector, and then an edge3 linked to edge2 with a vector which is a reverse of edge1's vector. Then just pass the vertices of that pattern to a face constructor to ensure there's a face.
import bpy, bmesh

def main():
    me = bpy.context.active_object.data
    bm = bmesh.from_edit_mesh(me)
    example = bm.faces[0]  # copy settings from this face
    for edge in bm.edges:
        for verts in missing_faces(edge):
            try:
                bm.faces.new(verts, example)
            except ValueError:
                # you can drop try... if you decide to use `is_face_missing`
                pass
    bmesh.update_edit_mesh(me)

def missing_faces(start_edge):
    for v2 in start_edge.verts:
        v1 = start_edge.other_vert(v2)
        vec1 = v2.co - v1.co
        for neighbor_edge in (e for e in v2.link_edges if e is not start_edge):
            v3 = neighbor_edge.other_vert(v2)
            vec2 = v3.co - v2.co
            if vec1 == vec2:  # the edge continues away from v1
                continue
            for far_edge in (e for e in v3.link_edges if e is not neighbor_edge):
                v4 = far_edge.other_vert(v3)
                vec3 = v3.co - v4.co
                if vec3 == vec1: # and is_face_missing(start_edge, far_edge):
                    # far_edge is parallel to start_edge
                    yield v1, v2, v3, v4
                    break

#def is_face_missing(edge1, edge2):
#    for face in edge1.link_faces:
#        if edge2 in face.edges:
#            return False
#    return True

main()

Generalized version
for each face A, take two opposite edges A1 and A2. Using loops instead of the edges directly (and link_loop_radial_next), get connected faces to them. Iterate over A1 loop to find such face B, and over A2 loop to find such face C, that an edge B2 (opposite to A1=B1) and an edge C1 (opposite to A2=C2) have a connecting edge. If so, ensure there's a face by trying to create a new one.

import bpy, bmesh

def main():
    me = bpy.context.active_object.data
    bm = bmesh.from_edit_mesh(me)
    for face in bm.faces:
        for verts in traverse_face(face):
            try:
                bm.faces.new(verts)
            except ValueError:
                pass  # face already exists here
    bmesh.update_edit_mesh(me)

def traverse_face(face):
    loop = face.loops[0]
    for _ in range(2):
        opposite_loop = loop.link_loop_next.link_loop_next
        yield from traverse_loop_pair(loop, opposite_loop)
        loop = loop.link_loop_next

def traverse_loop_pair(loop1, loop2):
    cache = list(opposite_edges(loop2))  # cache repeatable inner loop
    for edge1 in opposite_edges(loop1):
        for edge2 in cache:
            result = connection(edge1, edge2)
            if result:
                yield result

def opposite_edges(loop):
    for _ in loop.edge.link_faces[1:]:
        loop = loop.link_loop_radial_next
        yield loop.link_loop_next.link_loop_next.edge

def connection(edge1, edge2):
    e1_v1, e1_v2 = edge1.verts
    for e2_v in edge2.verts:
        for edge in e2_v.link_edges:
            v = edge.other_vert(e2_v)
            if v is e1_v1:
                return e1_v2, v, e2_v, edge2.other_vert(e2_v)
            if v is e1_v2:
                return e1_v1, v, e2_v, edge2.other_vert(e2_v)
    return None

main()

Thank you for your hard work. but ther is something I can't understand. why it works not in all cases? Before script https://ibb.co/yQ7s85r after the script https://ibb.co/M1Qdwpk

@MikhailGavrilec this script assumes all edges are parallel to one of the axes. I think it can be improved, but first I would have to understand the generalized problem, e.g. do I see correctly that there can be a 5-edge-pole? https://i.imgur.com/FYHLahy.png

Yeah, that is correct. there can be 5 edge-pole and also cells can be distorted(not parallel to one of the axes)

I have an idea how to do that, by using link_loop_radial_next and link_loop_radial_prev, I'll tinker with it tomorrow.

Thank you a lot.

@MikhailGavrilec see 2nd part.

This algorithm works fairly well. Thank you for your work.


text:
How to colorize (tint) a texture on one side of an object
I want to do this effect, where one face of a column is colorized:

I have added a shader with texture to my object:

What should I do next?

i first would recommend watching basic yt tutorials about blender....

@Chris I watched some tutorials, I need some practice. and there are some questions when practicing.

I edited the question, make sure I understood you right and that's what you actually want.

Download grey plaster texture, enable Node Wrangler add-on in Blender settings, select the object, go to Shading tab, select Principled BSDF node and press Ctrl + Shift + T - a Blender File View window should open, navigate to your texture files and select them all. Node Wrangler add-on will now automatically setup your nodes.

The reason why I suggested redoing what you've already did, is that by using not just a color information, but also normals and roughness, you're able to completely remove the texture color, by disconnecting "Base Color" Image Texture > Color from Principled BSDF > Base Color and then override it with a color of your choice:

you can still see the texture of the wall, just like you could see a fat stain on a flat wall with uniform color, because the stain will be more shiny, as well as the normal information fakes depth, which also changes color.
But let's say you want to operate only on the color, you can then use a Hue Saturation Value node to change color information:

This, however, will not work on grey textures and it seems you have a grey texture. You can simply use Mix node to mix two colors - the base color, and a color with which you want to tint. However, in the default, "Mix" mode, the more of your own color you add, the more you "cover" original color, up to a point where at 100% you can no longer see the texture, and you indeed are going for a strong color. Try different modes, e.g. Overlay or Darken, Lighten...

As for limiting the effect to just one side, you could take normal information and convert it to binary 0/1 by using something like Math: less than node:

I added a Math: Multiply node, to have a factor of 90% instead of 100% for the chosen wall.
Let's join all techniques together and we get this:

the blue on the other walls coming from the fact that after applying Displacement, some parts of the geometry now face (roughly) the same direction as our chosen wall. Increase the "threshold" of Math: Greater than to fix that (or just remove the displacement):

Using 100% Mix (an equivalent of disconnecting the node and just setting the color directly in Principled BSDF) instead of 90% Overlay, and very strong Normal Map is probably what you're after:

Keep in mind you could make the process simpler (though more time consuming with many columns) by assigning different material to chosen wall:
Add different materials to different parts of a mesh?
Or make it harder (but less time consuming!) by having one material for all columns, but randomizing the colors:
Cycles Random material with alpha texture
What is the easiest way to have a material randomize the Image textures it uses?


text:
Viewport display girid floor, axis for y and x, and color have gone weird, how do I put it back to default

need suggestions on how I could fix this. 3.1 was just fine but when I installed 3.2 it just shows this in the 3d viewport

Try updating your graphics drivers.

Hey Paradox try Arc Blend add-on automatically you can reset the view theme:
https://github.com/stunmuffin/Arc_Blend
If you want to change manuel,
Go to Viewport Shading,
Make your choise "Studio" is default,
Select Background "Theme",

And maybe your clip end value is too low.

You have to update your clip end.

It seems to have no effect

Hey @Paradox look again. Go to "N" Panel use keyboard "N" Go to View Panel and clip end you have to change this value bigger numbers. I hope this will works.


text:
How to render prism refraction with Cycles?
The dispersion (red, green, blue) seems working under normal light conditions by using this methode Video.
But in the extreme case of using a prism it does not, the prism stays dark, no matter how high the samples are (100000).
So I simplified the problem from red, blue, green to only white light to reduce the complexity. The scene consists now only of two reflective walls in the background, one floor, one prism (material in photo below), one spot light and the camera.
One can see that one light ray goes straight ahead and the other is refract to the right. Is there a way to get only one retracted light ray through the prism and again retracted when leaving the prism?

old subject! https://blender.stackexchange.com/a/1603/19156 ... does it still work nowadays?

Thanks! I just rewrote my question a bit to make it more clear. I know this article already, but it describes only dispersion under normal conditions as far as I know...


text:
Incorrect image when switching from one camera to another on a marker?
Does someone know why I get a incorrect image when switching from one camera to another on a marker? I use Blender 3.4.

At frame 108 I switch from camera 'Cam Shot A' to 'Cam Shot B'. If I make a video and open it in davinci resolve the frame 108 shows an combination of Cam Shot A and the lighting of the scene 108. But Cam Shot B shoul already be active?
Additionally I tested it with a image sequence in Blender and there is also the incorrect image, but not if I render a single image. Why?
What goes wrong here?
Thanks...

Does not really seem to me to be a Blender issue, if everything is correct there. Have you checked it in Blender? Maybe rendered frame 108 as a still image? Or when rendering as an image sequence, on which frame number is the change? Which frame range have you set for your animation, starting at the default 1 or at 0? Because in DaVinci the first frame will be 0, no matter which start frame you have set in Blender, so the frame numbers in Blender's timeline are irrelevant for DaVinci.

Thxs! Yes I have checked it in Blender in Dope Sheet. There I can also sometimes observe it, if I manually move the slider from 107 to 108, but not always, and only for a short moment. But the single image rendered in Blender is correct. It seams so that blender mixes somehow theses images during creating a video because in davinci resolve I only check the single images. The range is about 300 and image 108 is somewhere between.

if you are using Blender 4.4 ...you are living in the far future....!

Thxs! Yeah, 4.4 would be really interesting :) Just changed it...

Just found the reason. Responsible is the 'Disable' keyframe of the previous camera (A) at keyframe 108. If I remove it, the image is rendered correctly. But than I see all my cameras in all different shots in the viewport and that's annoying. Solution is, to only 'Disable Viewport' keyframe and leave out the 'Disable Renders' keyframe.
Nevertheless it seams so there is a bug in Blender 3.4. The single image is correctly rendered, the image sequence and video not.


text:
I want moving particles
Hello I want to make particles move with mesh then animation is playing like in hair system hair moves with mesh. So is it possible to move particles same way?

pls explain in detail (maybe be sketches, pictures, movies(links)) so that is clear what you want. One liner question often end up, that someone writes an answer and then the one, who wrote the question answer: oh now, but i wanted it that way....so pls don't let others waste their time just because you are too lazy to write a good detailed question. thx. and pls consider: https://stackoverflow.com/help/how-to-ask

As thibsert wrote, physics to None is right, but also make sure in the modifiers tab, that the particle system is below (after) the armature.

If you set the Physics of your particle system to None, the particles will follow the object just like Hairs.
(Of course, they won't have any physic, so I'm not sure that what you want)

Okey I set physics to type none but still particles stay in human shape T pose but I want them to move with human jump animation do You have other ideas?


text:
Rotate and scale instances on points from instanced curves based on float curve. AKA Instanception
I have a shape that is popping up in my dreams :) And I've decided to model it. Of course it does not consist of some cones as in the image attached. However, I found this describes my problem better than the original geometry itself.
Now I have a primitive cone to instance on the points.
And I would like to create vertex in the geometry node, that will be positioned to shape like a rugby ball with diamond meshes lets say like the example that I modelled by hand in Image-1.
I would like to do this instancing work on geometry nodes and god I am trying that for the last two days.
I can create it as a cylinder. I do that by adding a curve circle primitive which is instanced on vertex of a mesh line primitive. I rotate curve circles on each step with a value according to the resolution of the circle, to get the result you see in the Image-2.

I do that by using the geometry nodes in Image-3.
Then I realize these intances which I will use as points for the second instancing, which will instance ico-cones like in this example.
I do that by nodes in Image-4.
I get the result in Image-5.
Image1-5:

At this point to go on further for the desired result, I tried several ways to scale both the circles and instanced ico-cones together. Because in the end, I want circles to be wider, and instances to be scaled up to fill that wider circles.
However, only way I have managed to do so was to instance ico-cones on the circle first, then instance the ico-cone rings on mesh line vertex. And manage the scale on the second instancing by scaling individual rings. Here I do the scaling controlled by a float curve, because I would like to expand the posibilities to different shapes than a rugby ball as well.
Geometry nodes on Image-6

Result on Image-7

I seem successful until this step.
Now is the step to rotate these instanced cones, to align on the imaginative normals that are going outwards from this imaginative rugby balls vertex, so that they will face outwards. However, whatever I try, I could not manage to do so. The result I desire is in Image-8 made in modelling.

Also, since I already mentioned that I would like to extend the possibilities of a shape other than a rugby ball, I also desire the result in Image-9 (Embedded in Image-8 Above)
-->All instanced ico-cones pointing outwards from pot shape created based on float curve. Done in modelling
However, while I can see that a scale is possible to control with float curve, I doubt I can convert this data and use for rotation for a float curve like in the Image-9.
I appreciate a lot even if you only read it :) Sorry for the long post.
Second Part of the question:
First of all thank you very much for your efforts guys.
Now I would like to change how I require to build the shape as "non-manifold". Because, it is hard to work with 4 vertex base, and it causes my instanced geometry to be scaled unevenly.
I would like to instance heads on the diamond mesh. And all of the heads should look in the direction of the normal of their instanced diamond surface. After the instancing done, I am going to realize and boolean instances.
Hence, I tried:

Diamond mesh nodes from answer, and followed by nodes below:

Getting the result:

Tweaking the "Align Euler to Vector" node I get the result below:

As you see, when I select the pivot as "auto" I get the alignment of y axis of heads with the normals of diaamond faces. However, it also rotates the heads around face normal.
I infer, Blender constructs local coordinate system for each point created from diamond faces. However while Z axis of coordinate systems aligns with diamond face's normal going outwards from face, there is no limitation for X and Y axes.
So how do i make it so that the head's do not rotate around its Y axis, which is also aligned with diamond face's normal?
In other words, geometrically the YZ plane of the head should be defined with center line(Global z axis) and the instance point on the diamond face.

Is this sort of thing acceptable?

Hello Robin, thank you really much for taking the time to propose that.
Unfortunatelly however, I need to do it by instances. Cause in the end I am going to instance all sorts of things on the surface.

Okydoky .. must the instances merge to form a manifold? Are they always on quads? (Or the dual of quads) .. what do you require, that can't be provided, say, by the Tissue Tools add-on ? ( Just trying to nail down your spec. :) )

I am not really familiar with the Tissue Tools add-on. Though, the reason I would like to scale the instances with the same float curve, is because to create a manifold for sure. So you've got it right.
I am going to check the add-on.
Quads, triads... I dont really know. My answer my lie within the base geometry I use to instance on. I may go for golden ratio kind of scattering like the center of sunflower. Dont know how to do it though.

You can imagine a pineapple, and think its sheel pieces as diamonds. Originally, I would like to put some geometry on each diamond, blending in with them. This geometry will be put on the diamonds on its base face and be scaled according to the size of each diamond.

I managed to create a cylinder with diamond shaped mesh in geometry nodes. Cannot share the images, since it is not a complete answer yet.

If this looks OK, (quads only) basically done, but pushed for time today.. (tidying up takes longer than anything else) Non-planar not a problem. These are instances deformed to quad faces:  https://imgur.com/a/oXYiD74 . This conversation getting a bit long. If on the right track, will delete some of your spec.

This, I would not call OK. This is BEYOND PERFECT man. Yes it will be a manifold at the end. But, I did not imagine the manifold can be completed inside geo nodes. This is crazy!!

Waiting for how long it takes. :)

Here's the group which tiles instances on quads, to be going along with. Sorry this is taking so long, I've been swamped. Making the diagonal mesh in GN, cleanly, is a bit fiddly, I'm sure I can find a better way. For this example, made by hand.

Actually I am sorry that this takes long. And I appreciate this. Now I do not know whihc blender version you are running. So currently there are undefined nodes. I infer that you probably use the latest version. After I download, I will check the file.
I have succesfully created a geometry to both instance on points and scale with float curve. I understood that, in order to have the right rotation using vertex normals, I needed to have the faces. However, even if I have the faces, I do not see vertex are going on the right direction. I will create another question for it.

Now I have checked your file. And I would like to understand it but its too complicated. You have created the base shape with a tiling loop i guess? Like you put the diamond tiles on by one capturing the attribute from previous to current.
Now, I would like to drive the shape with float curve. Thats one thing missing. And I would like to bring radial segment, vertical segment, radius and height values out of the GN modifier. So I can tweak it. Thats another thing missing.
It still is a very complicated answer though. Thank you very much for the effort.

All you need for your supplementary question  is a fully defined orientation of tiles. This can be done in 2 stages. 1: appropriate tile-axis to captured Normal, 2: spin around the (now good)  normal axis to your choice of 'up'.

Problem lies in on the diamond shape here. I still want to keep diamond shaped mesh instead of a grid one.

Tried the nodes in the image with diamond shaped mesh and it returns the same result :(

Hi, Batu.. this has veered off from the original question, somewhat.. so if this simplified example isn't working for you, go ahead and post another question, detailing your particular case.

Diamond tube

To make a diamond-lattice mesh in XY, you can instance a 4-sided Mesh-Circle on the edges of a Mesh Grid.
You can deform the mesh in XY to a tube, Z-up, as shown in the lower illustration, below:

Once the fiddly arithmetic is done to make everything fit, it can be merged to a contiguous mesh.
Map instances to quads

A Tile object is imported , which occupies the XY unit square in its own object space, with its origin at (min X, min Y)
A small subgroup collects the ordered face-corner positions per-face of the substrate.
The corner-positions are each transferred by face-index to duplicated instances of the tile-object. (Substrate Face Index <-> Duplicate Index)
Once the realized  tile instances know where the corners (P0-P3) of their containing quad-faces are, they can be mapped in XY to their faces, by bilinear interpolation, using the original XY locations in the unit square  as factors along the edges of the faces:

(above, the original XYs come in on the Vector input)
We now have instances deformed to their quads, squashed flat in Z. They also know the Normal and Face Area of the quads they occupy.

The instance-vertices are  un-flattened, by being offset along the normals of their underlying quads, scaled by their original Z.
The offset is further scaled by the square-root of the underlying face-area, to keep the tile depths in linear proportion to their widths and heights.

The tree below groups that up in  'Tile Quads'. The rest of the tree creates the diamond tube substrate, and provides for its deformation in Z, using a Float Curve node:

With this sort of result:

(Blender 3.4.1+)

Thank you very much guys. This is far beyond I have imagined and could have come up with. Thank you very much for the efforts. :)

By the way, of course I can use this for the most of my case. However, I wonder some things.

Why the Tile object is in its strange angled orientation? This makes to edit tiles really hard. I tried creating a new cube on world origin and its corners break up because of the angle of the tile in file.
If I have to many detail on the tiles that I am going to use, would i be ok to go with 4 vertex on bottom? Is it ok to start with a cube and create a boolean with detailed mesh geometry for a specific tile?

Hi @Batu! 1 . My bad, the tile is only rotated an shifted for the beauty shot! That's potentially confusing. I'll re-upload for others, with 0 object-transform. The point is, all the tile's vertices are in the right place in their own object's space  ( cf. https://blender.stackexchange.com/a/227327/35559 ). You can see the object space by switching on 'Axis' in Object tab > Viewport Display. In Object Mode, you can Alt-R , Alt-G, Alt-S to line the object-space back up with World space. It all still works.

@Batu 2. If you want to start with the default cube, in Edit Mode, scale by (0.5, 0.5, 0.5), and translate by  (0.5, 0.5, 0.5). Remove the bottom face. Now it occupies the unit cube of its own object space, and  you can transform it any way you like in Object Mode, and it will tile. When you transform stuff in Edit Mode, you do so with respect to the object's space. When you transform in Object Mode, you transform the space itself.

Thank you verymuch for the clarification on axes. And, I have more questions :) Hope this brings some action to the blender stack eventhough the questsion is not visited that much.
So first one goes about the instanced objects. Can I feed random objects from a collection to this instancing work? I have found some ways which are not working (https://blender.stackexchange.com/questions/254511/geometry-nodes-pick-random-object-from-collection-not-instance-on-points) I may be doing it wrong?

Second goes about scaling of the diamonds.
When we scale with Float curve, we get that very narrow diamonds in the faces around smaller radius of the "pot". I do not want it to be a perfect square, but I prefer its diagonals to be closer in length. So that the instanced object doesnt have too much difference in the ratio between X-Y. The instanced objects on the narrow side becomes too narrrow. Instead I would wanna scale them down on Z too.

Tried to connect the float curve output from math node to Z of the combine XYZ before  Set Position. It squashed the instances around greater radius of the "pot".
And it also made the instances on the smaller radius parts very small. This part is OK though.
Also I wonder, what source I can benefit on in order to know enough that I can actually come up with a node setup like this? I have understood the logic behind it, but i cannot constantly rely on your time and effort. :) I would happily help others too if I knew this stuff.
All in all, cant tell how appreciated I am. <3

Hi, @Batu, sorry, an earlier comment evaporated, somehow.. It sounds as if the problem of dynamically stretching a mesh to keep faces in proportion is a valid question in its own right, if you can formulate it. :) The more general learning problem.. very personally, I think in components, set quite abstract goals which may not be  very exciting on their own, just shovelling numbers around, and try them out in the simplest possible cases. (e.g. this tree started out modifying a plane, then 2 quads..) That means the spreadsheet is readable. My pencils-and-paper get a few outings, too.

Hello @Robin, I have realised that I made some mistakes defining my problem. Especially when answering your first question.
Infact, I do not need a manifold geometry. The geometry will be made manifold after instancing. The reason I come up with this comment is because I cannot find a way to make it work out with your answer.
Its still perfect and better than what I am looking for.

I can use the part from your answer constructing the mesh with diamond elements.
After that point, can I do what I had request with point on instances? I would like to instance on surface centers, and I would also like to scale instances uniformly.
This way instances will have collisions, but I am going to boolean all in the end.
So I have tried it without scaling. But when I try to align euler, it creates weird swirling rotation on instances.
On web, its only about pointing the instances outward from surface. There is no information about the rotation of instance around normal.

Since it is hard to share on comment, I am going to update the question.


text:
How Do I Add A Face to this mesh?
Ive been trying to make this shape (it was an SVG) but I cleaned up the mesh and deleted a lot of the mess, but now I need to make the faces clean to add into a boolian for a scene but I don't have much time, help would be appreciated. I added an image of the shape too

If you are short of time, go back to your original SVG, use the modifier Decimate (planar) and then Solidify.

If the mesh is cleaned up, why not simply make a large n-gon out of it? It's a myth that you always have to avoid n-gons at all costs.


text:
gltf shader texture baking help
I am trying to export a .gltf model that retains the procedural shaders I've made. When I try exporting, however, the glossiness isn't retained.

Notice the sparkles. I want those kept.
I am starting to suspect this isn't doable, but others seem to do it with ease. Is it something to do with my procedural mapping?
Blend-Exchange:

Please help immediately.

This is a link to the section on glTF material export in the Blender manual which might help.

The main problem is you're trying to bake only a diffuse map. Actually you can skip the diffuse map here; the sparkling effect is produced by spots with low roughness (high reflectivity) and random normals, so what you want here is probably to bake a roughness and normal map. Fortunately that's even easier than diffuse.
Baking Roughness & Normal Maps
First let's set up a Principled node with the necessary textures. I copied the Principled node out of the RedGlitter group. It's very important to set your image's Color Space to Non-Color since Roughness and Normal textures contain data, not colors.

Now select the Image Texture node connected to Roughness. In the Bake panel, switch the Bake Type to Roughness and hit Bake. When it's done, do the same thing for the Image Texture node connected to the Normal Map using the Normal Bake Type.
Here's what I got.

Now connect the Principled node to the Material Output and see how it looks.

It's pretty good, though not exactly the same. You can export this to glTF now and it will work.
Looking at the problems
Let's look at it close up.

The horizontal artifacts are caused by poor UV unwrapping. Adjacent tris aren't adjacent in the UV map so you get these random UV seams. The super-narrow tris also make this worse. Merging doubles and getting some cleaner UV islands before you bake will clean up most of those.
The roundness of the sparkles is limited by the resolution of the texture you bake to. Since the sparkles are small compared to the size of the model, even a fairly large texture only allows a few pixels per sparkle. You can bake to a larger texture to improve this. You could also try to take advantage of texture tiling (repeating) to cover a larger area of the model with a smaller texture.


text:
How can I transfer the origin position to another object?
I intend to create a drawer and a set of handles. My idea was to capture the origin of the drawer and transfer it to the handles.
The problem is that I was only able to transfer the position of vertex/ edges/ faces. I could not find a way to capture the origin of the geometry to transfer it.
Does someone know how to capture the position by the origin?

EDIT:
My idea was to create OBJECT A, then create and bind OBJECT B to the same origin of OBJECT A. So, if I do any kind of operation of translation/ rotation on OBJECT A it would automatically reflect in OBJECT B.
A different way of describing this: I want to do something similar to parenting OBJECT B to OBJECT A.
I created this to exemplify what I have in mind.

EDIT2:
quellenform's suggestion worked. I only did a small tweak to add the rotation control.

In local space the origin denotes the coordinates (0, 0, 0), in the world space it's the location of the object. You can't alter the location of the object from within the geonodes, unless you're interested in controlling the effect somehow in geonodes, but using external tools like drivers...

tbh you should not describe what you technically want to do, but what control/animation you want to have. By that we can help you much better and often there comes up a solution you haven't thought of.

The node Set Position always refers to the individual points of a mesh. However, you need exactly one point here, namely the origin point of the geometry.
The easiest way in your case might be a detour via instances, because these can be easily transformed and the transformation can be easily transferred.
You could solve this like this:

(Blender 3.2+)

Thanks! This set up did what I was intending. I only had to add a note to transfer the rotation also.


text:
How to prevent instances from going beyond a curve length?
When instancing object on a curve, the first and last objects go beyond the curve length, like in this picture:

If I adjust the position of the first and last point, it creates a new problem where the instances are not evenly distributed:

How can I fit the objects inside the limits of the curve while still preserve the even distribution of the instances?
EDIT:
The answer from @vajtus solved my problem.
I just added some nodes to his answer so this setup can be used in more situations. This way if you add any Geometry still should work.

In your node setup, you are just shifting the first and last point after it has been evenly distributed by the Resample Curve node, therefore it is not evenly distributed any more.
The key is to shorten the curve before you resample it but I also recommend to use the Trim Curve node instead of selecting and repositioning the endpoints. This way you don't have to worry about which way to move them.

And maybe use something like this to calculate the half-length automatically: https://i.imgur.com/NaZRJAX.png

Thanks. This do what I was aiming for.


text:
Why don't effectors effect effectors?
I'm working on a scene with two balls that attract each other, they collide, bounce around, etc.  I'm trying to do this by turning off gravity, setting each ball as an active rigid body and attaching a force field to it to attract the other ball.
This isn't working.  If I put a force field on one ball, the other ball moves towards it, but as a soon as I put force fields on both balls, they both stop moving.
I've dug into the code and found the source of the problem.  In blender/blenkernel/intern/rigidbody.c, there's a function rigidbody_update_sim_ob that includes the following code:
    /* update influence of effectors - but don't do it on an effector */
    /* only dynamic bodies need effector update */
    else if (rbo->type == RBO_TYPE_ACTIVE && ((ob->pd == NULL) || (ob->pd->forcefield == PFIELD_NULL))) {

...but this is exactly what I want!  I want an effector to effect an effector!
So, why is the code written like this?  Why can't an effector effect an effector?  Should this be an option?

Are the effectors effecting or affecting the effectors?

You can work around this by parenting force-field empties to the rigid bodies instead of making the rigid-bodies effectors themselves:

Add the force field: ShiftA>Force field > Force.
Parent it to your rigid-body sphere. Select the force-field, then the sphere and press CtrlP> Object.

It is important that the force-field has the same rotation and location as the sphere.

The force-fields will not have any affect on the sphere they are parented to, as the center of mass of the sphere is in the same place as the center of the force-field. They will affect the other spheres though.
Example animation (click for html5 version):

Example .blend

@Brent Baccala: Also note, that this site is community driven. Though there are some developers around here, it might be better to contact them on more official channels. To get in contact with the developers look here.


text:
geometry nodes - even thickness boundary
I'm trying to procedurally create a shape with even (horizontal) thickness. I created this geometry nodes test. The left 3 nodes create the shape - and the right 3 nodes scale the generated shape down by 0.8 on only 2 axes to create a hole in the middle using a boolean modifier:

The result is behaving as expected, except the walls have uneven thickness - you can see the top wall is the thickest and the right side walls are thinner:

The desired result should have walls with even thickness:

To create this correct result example - I applied the geometry node modifier - deleted the top and bottom faces and added a solidify modifier.
The question is how to do this completely in geometry nodes without modifier WITHOUT changing the left three nodes. I know you could easily scale each cube individually before the Union modifier on the left in example node setup and it would produce correct result - the left three nodes are just used to create a sample input.
I'm trying to find a solution that does something similar to solidify on only 2 axis so it works with arbitrary input shapes that have a flat top and bottom.
I think I need to do something like iterate around each edge?

There's always this option, to solidify a Mesh shape?

No need for the first Mesh to Curve node if you start with a curve.. or you could generate the shape inside GN...

.. for example, you could take your union of cubes, and intersect with a plane, to create the curve to be swept:

Nice topology, and since all vertices are on edges, you should be able to bevel to round the edges for an actual constant thickness if you wanted it!

@MarkusvonBroady just to be even smirkier than you, >8D  ...  I tried it by filleting the path curve inside GN, but I got nasty overlaps  :( .

Use Vertex Normals (it's funny that the question about vertex normals was bumped at the same time this question was asked, was it a hint, @Chris?). Since normals are normalized (...) you want to remove the Z component and normalize again (otherwise the thickness would depend on Z component of the normal - the larger the component, the smaller other components and so thickness), then multiply by thickness to get an offset for the cutter (or a base if you don't want to multiply by a negative number - I did it this way for a nicer noodle layout...).

The Position and connected Vector Math > Multiply nodes are not required, but people with OCD might be unable to cope with a cutter having co-planar faces with the base.

Just in case this answer is not smirky enough, you didn't specify what you mean by even thickness - a truly even thickness would require rounded corners on both sides...


text:
How do I extract the width of Bounding Box node of a Collection with multiple objects?
I’m trying to use a Bounding Box node and extracting its width to transfer it to the window. The problem is I can’t find a way to do this operation on a Collection.
I’m trying to create this setup:

Create multiple cubes
Instance a point on these cubes
In each instance, there will be a window that uses the cube width to control its width

I succeed when I tried to do this with single object.

The problem is when I try to expand this setup to a Collection. It did not work.

Where the problem might be.
It seems that the problem might be in this part. With a single object, the socket returns the values correctly, but in the collection it is just zero.
Does somebody known how to get the data from the Bounding Box?

EDIT:
I found a workaround. It’s not as clean as I was intending, but it works.
As the Loop Node still doesn’t exit, I had to create a group for each instance and join them afterward.

This is the group setup.

I’ll probably revisit this node setup once a Loop Node is available.
EDIT2 (SOLUTION):
I was able to achieve the solution with Repeat Zone, I’m using Blender 4.0 Alpha.
The node setup didn’t change that much, It’s just more automatic. I don’t have to manually set a node for each window/ door, the Repeat Zone does it for me.
Final Result

Node Setup

The bounding box is actually not the problem in this setup. The problem lies more in the structural setup: You can't instantiate objects with different parameters at multiple points this way with Instance on Points unfortunately. Please have a closer look at the following question/answer: https://blender.stackexchange.com/questions/274485/how-can-i-instantiate-a-procedural-node-group-with-different-parameters

Please let me know if the linked question could (at least partially) explain your problem. Since the setup you show here is not solvable, I would close this question. Please try to ask the question again with a different focus, or edit it here so that it is possible to give a different answer. Thank you! PS: I don't want to say that there is no solution for this problem, but you would have to change some things structurally, which is why we wouldn't get any further without your blend file.

Thanks. I did read the post you linked and undestood the limitation of instancing in my setup. I will probably search for a diferent approach to this problem. BTW, just for curiosity's sake, this is the file I'm currently working on https://blend-exchange.com/b/OYeb58lN/


text:
Problem with bones and Inverse kinematics when scaling
I have 6 armatures with IK and the last bone is not attached and used as target for the IK

But when I hit S, expecting the bones would move towards the center, they all move in the same direction along the y axis, any idea why and how to correct ?
( i am using iTaSC as IK solver)
I have tried every transform pivot

unfortunately you didn't show us anything of your settings, can u pls provide blend file or copy all relevant informations to your question? thx. you can upload blend file by opening https://blend-exchange.com/ and following instructions.

what setting does your "transform pivot point" have? [1]: https://i.sstatic.net/2dsMo.png -> try using median point

i downloaded your blend file and pressed S, and the bones move towards center correctly so i'm not sure what your problem is.

how did you do ???


text:
find weight painting source
I have a complex skeleton and a mesh bound together via weight painting.
I see a deformation on a vertex I don't want, but I am unable to find from which bone the deformation is.

Is there a way to find the bone (this the vertex group) involved in the deformation?
I thought I could use normalization to remove all assignation but I am not very familiar with it in Blender, could it do the trick? I there a better way?
Thanks a lot

Sometimes this kind of thing is hard to find. That can be due to a too big influence of one of the groups or a too low... or also because the vertex (or vertices) are not in the group.
To check that, you can go to edit mode, select one of the vertices involved in the problem and have a look at the panel on the right :

This panel allows you to change the values so that you can understand the way the weights need to be changed.
Note that you can select several vertices, but only the weights of the active one are given. But in this case, the panel allows to copy the weights of the active vertex to the selected ones.
About normalization : in my experience, yes this can be important to keep it. If you don't you may have unwanted results.
But normalization won't remove 'all assignation'. Normalization is a calculation so that the sum of the vertex weights is 1.
When you paint, you may have weights values like bone1 = 1 and bone2 = 0.6.
Normalization will do so bone1 = 1 / (1 + 0.6) and bone2 = 0.6 / (1 + 0.6) so that bone1 + bone2 = 1.

Awesome thanks a lot! This is exactly what I was looking for!


text:
Animation changes after applying mirror modifier
I have an object, a quadcopter propeller. I applied a double mirror to generate 4 propellers.
Then, I animated the propeller so it rotates. This produces the four propellers to rotate in their places (this is the desired output).
However, if I apply the mirror modifier or if I export it to an fbx (which I need to do), the animation changes and all the four propellers start to rotate around the original one, which continues to behave in the same way.
Is there anyway to avoid this behavior?

The object has an origin which is used as center for the rotation but your object is made by doubling mirror on object so the initial object's origin is being used as the generated object's origin by the animation.
To fix this you must separate the mesh obtained after applying mirrors into 4 meshes, into edit mode select the faces of one propeller, press "P" and hit "selection", you must do this three times so that you have your four propellers.
Once this is done you still have one thing to do, it is to set your 4 objects origins: use "Shit-S" to access the alignment tools and use it in edit mode to set your cursor precisely where you want your rotation axis to be.
Then back to object mode "object>tranform>origin to 3d cursor", you could also use origin to geometry (in this case blender will interpolate between all the vertices of your object and set its origin there) and note that geometry to origin is the same as "apply location


text:
Partly Ignored PNG Alpha?
I just selected some pixels in Photoshop and deleted them, so this part became transparent. I save it as PNG. And imported this image as texture for cycles material.
What surprised me is a "Material" and "Texture" view in 3D window, that displays pixels that should not exist anymore in the image.
From result it seems to me like Ph deleted completely only all pixels (color information) out of a box (rectangle) that determinate pixels with alpha. And for pixels inside this "non alpha" box he kept colors and alpha info.
Blender than displays only color info without alpha inside this rectangle. That is probably a bug, but I just even didn't know that PNG saves this pixels as well.
Am'I right?
Or what is going on here?
Since the node tree consists from a "Transparent" shader as well, it displays alpha right, but not in a "Texture" method anyway.
Note: Render is OK.
So, the questions are:

How PNG file stores color/transparent data
(this doesn't seem to be blender related, but only blender displays data in that way for me)
Is this behaviour expected or is it a bug? (or any other user fault :)

Edit: probably more descriptive illustration

I added one screen, probably more descriptive the issue.

Deleting Pixels in Adobe Photoshop (APS)with a image that has an Alpha Channel (may) simply turn on the alpha to (~1.00).  There may be no reason to change the RGB at all.  Unviewed data in APS may still exist, and might be useful to fill their needs.  You might consider filling the unwanted areas with Black in APS to change the RGB Channels, to convince yourself of this. APS can separate channels for you as well.  In Blender, Alpha is information which is (optionally) used and this can be used to great effect for animation.  In Blender Alpha is an option not a requirement.


text:
How to use an instance position as texture coordinate in shader?
How could be used instance position generated by geometry nodes in material node tree as Texture Coordinate > Object?
I tried to use position vector, but with no luck ...

What I'm trying here is to take attribute of this two instances position (stored under name attribute) and I expect this vector position will be used like an origin of regular Object in shader so I can control up/down position of mask.
Probably could be done simpler by Domain Size node, but I don' know how either :)
Also using Value node directly to Output socket as value to be used in shader via Attribute node > Fac > Math as Ad with Texture Coordinate node as Object.
Anyway ...
I'm looking for this result - two planes position control min-max of mask.

In this sample node-tree I used real objects for Texture Coordinates.
For Geometry Nodes version I used Attribute node, but result is zero info.

There is a plenty of threads how to bring texture coordinates into geometry nodes, but not an opposite way.
Q2: In GeoNodes I use node group with Add and Subtract node to math negative value, that seems to me complicated. What is the proper way?

As a shading-point on the shaded object, you can read where you are in another object's space.. but I don't know of a way to read attributes from another object.. (if that's what you're after)  .. could be wrong, as always.. Vector Math  > Scale > -1 for the negative?

Be careful that you're capturing the attributes in the Instance domain, but they're not yet instances at that stage. You should either switch them to Point (and the Attribute to Geometry in the Shader), or do the storing after Instance on Points: https://i.imgur.com/Eeiw1HK.png I know very little about shaders though so I don't know what to do after that :D If it's possible it would also answer this q from yesterday where I similarly fell short: https://blender.stackexchange.com/questions/283444/controlling-a-bump-map-of-a-shader-with-geometry-nodes And yes, Vec Math > Scale -1

Oh, just remembered that in my screenshot you actually need to keep the mode as Instancer in the shader. You capture on Point domain, but those values are propogated to the instances when you create them so you end up reading them from the Instance domain at the end (unless you Realize Instances).

@RobinBetts ... Scale -1 Great, thanks a lot :) As always I'm not sure I understood (GN primitiv here :)) ... In given file there are animated two Torus objects their location (XYZ) controls texture coordinates. So I thought if I can store location (XYZ) of a point generated by GN in an attribute I can use this XYZ vector in shader. It means this attribute will act in the same way as Torus object as texture coordinator, but it didnt.

@Kuboå ... sorry your notes doesn't make things better ... btw it doesn't seem to be captured in instance domain ... if it would, it should be described by Viewer as x0/y0/z0, but it is described like in Object domain x0/y0/z0,5 ... that is what I expected, but this coordinates doesn't seem to be the same what shader gets from real object location (Torus in my file) in 3D scene.

@vklidu You're trying to capture it in the Instance domain, but there's no instance yet so nothing gets captured: https://i.imgur.com/ojzZHGw.png When you switch it over to Point, it gets captured: https://i.imgur.com/UmhsGSF.png Not sure what you mean by "Object domain". I think I solved the problem btw, with a little compromise though. Writing an answer.

@RobinBetts No ... Cylinder use mentioned shader. Planes are another object with geo-nodes.

@Kuboå Right, my fault ... I switched all back&forth also with Attribute node after Instance node, but failed as well for the reason you described in your answer ... I'm mixing two things here ... Forget it :)

In your setup, you are trying to capture the Position vectors (via Store Named Attribute) in the Instance domain, but at that step there aren't any instances created yet so the capture fails. Simply switch to the Point domain and the information will be captured correctly:

However, even now that we're managing to bring that information into our shader, there's one big problem: to the best of my knowledge, those values are written on the very geometry the Geometry Nodes modifier is manipulating—they don't magically become available to any and all objects. When you ask a shader to use values captured by a GN modifier, shader tries to read those values from the geometry it is currently assigned to. We captured two Position vectors on our points, but those points aren't in the Cylinder's mesh, they're in the two Grids we instanced in the GN object, so the shader fails to find anything to read (see the bottom of the post for a visual demonstration).
This insight makes it obvious as to how we can affect the colors of the Cylinder with our GN setup: we need to bring the Cylinder into our GN tree so its geometry becomes available to capture values on:
GN SETUP. We sample the position vectors from the points, but capture them as attributes on the Cylinder's geometry. I also took the liberty of swapping out the two Grids with the two Toruses available in the file.
Now to use that captured information in the shader. Simply comparing the two vectors (or rather their separated Z components) to each other like in your setup doesn't yield the desired result, because what we wanna compare them to is the shader's coordinate system itself. We get that from the Position socket of the Geometry node. If the Position—Z of the geometry the shader is assigned to is lesser than the captured Bottom value OR greater than the captured Top value, use the Green shader, otherwise use the Pink:

SHADER SETUP. The OR logic gate node is from this answer
WHOLE SETUP
BONUS: Here's a demonstration of the shader failing to read values captured by the GN setup if it's not assigned to the same object. Below, you can see the Cylinder as re-created in the GN setup on the left, and on the right the original Cylinder with no GN setup, both using the same shader. The one with the GN modifier can correctly compare the captured position with its own coordinates, but the one on the right cannot read those values which means it gets a blanket value of $0$, so everything greater than $0$ gets colored green, and everything smaller gets colored pink:

This time.. with Metropolis  Wah-Wah rings.  Exemplary. :)

@RobinBetts It's from a 2000s cartoon, apparently! https://blender.stackexchange.com/questions/283296/danny-phantom-transformation-effect-using-geometry-nodes-and-shader-nodes-shade It must've been.. what, 20 years since I've seen Metropolis, I don't even remember the rings. You made me feel old :)

Ahh I see! It was a homage to Meister vklidu! (Say it in a whisper... that work is a tad derivative)  :)

Thanks :) Works for me too ... still can't believe Cylinder has to be a part of GN tree ... Thanks also for shader fix ... btw the OR group works for me the same as Math > Compare node in this case.

@vklidu It kinda makes sense. There are so many scenarios where it would create awkward choices. If the captured values were "global", what happens when two objects with the same GN tree tries to produce the same-named attribute? Obj A has its "Top" point at Z:1, Obj B has it at Z:2, for ex? You could say "they prioritize their own setup first". But what about Obj C which doesn't have the GN setup on it but uses the shader. Which value should that choose? And that's with this simple, one-value setup, what about dynamic field values? You see? I wonder how other programs handle this though.

@vklidu Good to know about Compare, I just put the OR thing there because I'm used to that. I'm not really familiar with shaders so different named stuff makes me uneasy :)

@RobinBetts Metropolis ... wow what a great tip to watch :) Thanks ... About "derivative" - I wanted to help and extend my answer there, but fell into this black hole of attribute transfer.


text:
Python script apply_modifier on boolean modifier is very slow
I got a lot of scripts that run... And 99% of the time is lost on one operation in one of my scripts :
def func_cut_boolean_modifier(obj,nameplate_size):
    active_obj=obj
    func_activate_object(active_obj)
    bpy.ops.object.transform_apply(location=False, rotation=True, scale=True)
    remover_element = "remover " + nameplate_size
    bpy.ops.object.modifier_add(type='BOOLEAN')
    bpy.context.object.modifiers["Boolean"].object = bpy.data.objects[remover_element]
    bpy.context.object.modifiers["Boolean"].solver = 'EXACT'
    bpy.ops.object.modifier_apply(modifier="Boolean")
    func_activate_object(active_obj)

The modifier_apply is eating all. It's a simple function on a boolean. How can solve that problem?
Thanks for the help...

Yes, Boolean is slow. You can try changing the solver to 'FAST', or see if you can achieve the result without using boolean... It's hard to advice anything else without seeing what you use your boolean on.

I'm already using fast :( I use it to remove 2 symetrical parts with 2 cubes. I have a question. If I add more vertices to the cubes, will the boolean function work faster? for now they are simple cubes cutting complex and deformed shapes.

Your code says you're using 'EXACT'. If you're cutting with cubes, perhaps you can just write a script in Python that makes two plane cuts where the cubes would cut, removes all vertices in a given coordinate range, and then create faces from vertices laying on the planes that were used to cut. This should be much faster than boolean. A boolean will probably work slower if you have more vertices...


text:
How to model a cylinder with a mouth, with quad topology
I came across a FB Blender group, and saw this model which was made with an add-on, box cutter, or something alike. I'm trying to understand how this topology was made, but my result are not even close to it. I started off using the simple deform modifier and trying to rearrange the topology scaling and moving the mesh. But I'd like to see if someone can show me a better result to match the original shape/topology.

for me looks like you only need to add a bevel modifier and you should be very close ;)

Please use a title that reflects the content of the question. It should be succinct, unique and identifying, and summarize what the issue is so that users can at a glance broadly understand what your post is about before opening it.

You can try this way: Create a 32 vertex cylinder, in Edit mode duplicate, rotate and Face > Intersect (Boolean):

Clean up the topology and create some vertical loopcuts:

Create some horizontal edge loops with the Knife tool, select the faces and press AltE > Extrude Faces Along Normals:

Rework the topology a bit, extrude the slot inwards:

Give it a Subdivision Surface modifier, shade smooth:

You could do what's call a  Boolean 'Slice' operation, you need the addon Bool tools to be enabled. Its a free and comes with blender just need to enable it.
It works similar to regular booleans; and if I remember correctly the way it works is as a 'cut away' and only effects the intersecting region, so you are left with 2 meshes minus the 'dead region' (region that the original mesh intersection is not utilizing).


text:
Catmull-Clark Subdivision Surface is causing artifacts on a circular mesh
How to deal with this mess to make this mesh smooth. I was using circle to make it

Related: https://blender.stackexchange.com/questions/39326/modeling-a-bullet/39330#39330

The subdivision modifier won't produce good results with triangles in the geometry. (Carlo mentioned this answer, which showcases how the modifier works on topology.)
To solve this, use quads only.

Delete the center vertice, select the edge loop and do the Grid Fill operation.

Recreate the sperical shape. Set the Cursor as Pivot (.). Place it in the imaginary center of the spherical shape. Select the flat grid geometry and press ⇧ Shift⎇ AltS to scale to sphere.


text:
Exact meaning of "film exposure" in blender cycles
Rendering with blender cycles, I noticed the option "exposure" under the "film" section in the rendering menu. Clearly, increasing the exposure value increases the image brightness, but does anyone know what function is used?
Naively, I'd expect increasing the exposure by a factor of x would be equivalent to multiplying all RGB channels by a factor of x, either before of after applying an image gamma.
Is this hypothesis correct, or is a different function being used?

Based on the code on gitHub (kernel_film.h), it looks like the exposure is indeed a simple multiplication, applied on the linear space before gamma correction:
ccl_device float4 film_map(KernelGlobals *kg, float4 irradiance, float scale)
{
    float exposure = kernel_data.film.exposure;
    float4 result = irradiance*scale;

    /* conversion to srgb */
    result.x = color_scene_linear_to_srgb(result.x*exposure);
    result.y = color_scene_linear_to_srgb(result.y*exposure);
    result.z = color_scene_linear_to_srgb(result.z*exposure);

    /* clamp since alpha might be > 1.0 due to russian roulette */
    result.w = clamp(result.w, 0.0f, 1.0f);

    return result;
}


text:
Can blender be used for simple optical modeling?
By optical modeling I mean simulating the results of an set of lens imaging a scene, so one can see how different lens (say a fisheye, or different glass) effect the imaging of a scene.
I don't expect to get some of the finer modeling details that involve wave calculations or things like chromatic aberration, I'd just like to get an overall idea of the imaging effects of certain lens combinations assuming the light is a perfect ray.
Is this possible with blender? Would one need to use cycles? Are there any guides or topics I could look up that could assist with such a task?

Cycles is relatively simple path tracer without MLT so I did not try to simulate lenses in Cycles, and do not recommend it for this purpose. LuxRender is much better choice for this, it is free and open source, and integrates with Blender very well. With LuxRender it's possible to simulate fish-eye or normal lenses focusing light (image) on film (with translucent matte material and camera behind it). You could simulate chromatic aberration too. You could model half of each aspherical (or spherical) surface profile precisely with XYZ Math Surface, then spin 360 degrees, then delete all doubles and set smooth shading. This way, it is possible to model even achromatic doublet (you will need three surfaces with properly defined interior/exterior volumes). But more lens elements you have between film and the scene, the more issues you will encounter. When done modeling lens elements, enclose them in completely black container.
Simulation of simple lenses (1-2 elements) is almost without issues, complex lenses with many elements (4-6) may have weird noisy artifacts (but result usually good enough "to get overall idea"). If number of elements is too many (for example, 18), simulation may fail (just render few fireflies on black screen). Another limitation is that LuxRender as far as I know cannot simulate AR coating yet.
You did not mention how good you are with lens modeling and underlying math describing their surface, and how many elements you plan to have in your lens simulation(s). I think there are no good tutorials about this yet. If you need one please comment, I could expand this answer with much more details (but please note that it may take few weeks because if I do this, I would like to do it with good examples, and only if somebody actually interested in more detailed answer, and if using LuxRender is acceptable option).

I'm very interested in seeing a walk-through of LuxRender and especially in how a topic like this may be tied into that renderer.  18 months ago when I was looking into various renderers for Blender I found almost nothing but Cycles info.  Filtering Cycles out from searches left very little at all.  Anything at all that you could do here would be awesome.  I'm sure if it's good then BlenderNation would post it on the site with the usual Twitter chatter.  This will be especially valuable since the technique of combining passes from multiple renderers using the compositor is catching on.

What a great answer. I'll try it out and perhaps ask a different answer in the future specific to LuxRender.

Very interesting. @nbubis did you get it working? Did you find some good learning resources?


text:
Create a filled curve with python
I can make a curve with python, but I'd like to convert that curve into a renderable tube. In blender 2.6 and up, I can just select the "Fill Mode" of the curve as "full", change the "Preview U" and "Bevel" properties, and I haz a tube.
How I can I do that in python?

This script will add a new bezier curve, and set its bevel and resolution properties:
import bpy

bpy.ops.curve.primitive_bezier_curve_add()

c = bpy.context.object

c.data.resolution_u     = 24     # Preview U
c.data.fill_mode        = 'FULL' # Fill Mode ==> Full
c.data.bevel_depth      = 0.02   # Bevel Depth
c.data.bevel_resolution = 4      # Bevel Resolution

On a more general note, Blender can help you find the Python API commands and properties for doing most anything. When you hover with your mouse cursor on a property in the UI, you'll see a tooltip message, that includes the Python API at the bottom (in the example below I placed the cursor over the Bevel Depth property):

Also, the online API documentation is your best friend. There's a convenient search box on the left menu, that will get you all kinds of useful stuff if you type in "curve bevel", for instance.

@nbubis - Need to note that I fixed a little bug there with the curve object reference


text:
How can I make a "Movie Clip" node start at a certain frame of the scene?
When I use "Movie Clip" node in Blender 2.7, it always starts at Scene Frame 1. How can I change it in order to make it start at Frame 6, for instance? The movie clip I am using is a Movie FX for another video, and I want to use it with the Mix node.
Thanks

If you have problems with the image node, you can change the offset of a Movie Clip in the MCE (Movie Clip Editor), also known as the Tracker. Go to the movie clip's properties and change the start frame and offset there. Remember though, you can only have one instance of that movie clip per scene, so you can only change the offset once.

If you would like to replicate a VSE edit in the node editor then you can adjust the :
length, frame start and offset
Here is a node mimicking a VSE edit:

VSE Length = Node Frames (duration in frames eg.73)
VSE Start Frame = Node Start Frame (Position on timeline + Offset eg. 73+(526), note that this could have a negative number for start value when the strip begins before zero on the timeline)
VSE Trim Duration "START" = Node Offset (Trimmed clip start eg. 526)

Don't forget to add a Distort > Scale or Transform node after the image/movie node to match the VSE autoscale function.


text:
Where is the character in physics option of blender 2.7?
Following these two tutorials, I can't figure out where is the character option in blender 2.7:
https://www.youtube.com/watch?v=jxaHT_AFt_w
https://www.youtube.com/watch?v=187knmhldR4

you should accept iKslR's answer as correct

First, make sure the current render engine is set to Blender Game. If you then switch to the Physics tab you will find the option under Physics Type.