text:
Is this topology bad?

I don't know how to manage topology properly and barely know anything about it, but I don't think this is too bad? And if it is bad is there any way I can improve this?

it's a bit dense imho, unless you can't use any Subdivision Surface modifier? Also, in some parts, you could reduce the amount of faces

Red zones - too dense
Blue zones - stretched topology and n-gons
Try to maintain constant density as much as you can. Ideal polygon is not just quad but a square. I suggest you read this https://topologyguides.com/

Is this any better? https://ibb.co/4FZXrLr

you have dissolved some edges which has fixed the density problem but left you with n-gons. You need to find a way to make them all quads. It's hard to edit model which was created without proper topology in mind. You may want to practice more, find a strategy that suits best and start from scratch. Here is a quick fix attempt https://imgur.com/a/jd9NRM2


text:
How would I make my edges look like this?
So I was looking through models on a Discord server, and I stumbled across this picture.

While looking at the picture I wanted to see how I would make my edges look like that in the picture, as if they where white. I tried searching everywhere and couldn't find it, I think this is a Matcap but I could not find it on my Blender version.
If anybody can show me how to do make my edges look like this it would be greatly appreciated.

Hello and welcome. 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. Use the [edit] link below your post and avoid any emojis salutations or extraneous text not essential to the question. Remember, your title is the first thing potential visitors will see, and will weight heavily on their decision to open your question, which will directly affect the number of answers you might get.

this is pretty much easily done in this section of Blender:

Just check Cavity, give Ridge higher number and try to change those settings. It will simply highlight your edges better, you can even give it shadows and set many different things... Try it and you will get it (Also don't forget your object must look similar to get similar look

source: Stack Exchange

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

sort: votes


text:
Array of structures on a curve with increasing size, no deformation and equal distance
I'm trying to create simple objects (e.g. cylinders) on a curve like a circle. The objects should increase in size but the distance between the objects should remain constant. Furthermore, I don't want the objects to be deformed while mapping them on the curve. I found several related questions, but they were outdated or missing one of the requirements I have.
For me it feels like something that should be rather simple, but I was not able to find a proper solution yet. What I found/tried so far:

The "hack" with duplifaces which apparently made this work in the past was removed from blender.
I tried to make an array of structures and map them with a curve modifiere on the circle. However, if I add an empty as the "object offset" (which seems like the way to go if I want to change the size), I get large deformations of my objects.

Does this answer your question? Duplicating light along path in blender 2.8

Unfortunately this does not answer the question. With the provided answer I can multiply the object along the path. But it's not possible to set the distance since it is based on the number of vertices and I would like to have a rather smooth cycle. Furthermore, I see no option of changing the size of the object with this suggestion.

@Emir .. almost, but no scaling.

This could be the right plumbing for your case:

Create the curve to be followed
Create a plane, an array of which will act as a mount for your objects
Assign the plane an Array modifier, (Possibly set to fit your curve)
Assign the array of planes a Simple Deform > Taper, along the array axis
Assign the tapered array a Curve modifier, deforming it along your curve.

Now, in the plane's 'Object' tab > 'Instancing' panel, set it to instance from faces, with 'Scale by Face Size' checked. The 'Factor' can be adjusted:

Parent your object to the array of planes:

You can adjust the interval, taper, scale factor, etc, and hide the instance original and the instancer from the viewport and/or renders.

Thanks alot! This seems to work very nice for my usecase. Just before reading your answer, I managed to find a somewhat similar approach. But instead of the Simple Deform -> Taper, I used an Array Object-Offset of the planes with an empty and scaled it in the process. Your method, however, is superior since it allows a constant distance between the cylinders and the height is not affected as much. Ideally, I would like to limit the scaling to the x/y dimensions but this is a optional. Thanks again!

Hi @twife ! Thanks. You did specify equal intervals.. :)   There's also a way with Geometry Nodes, if you want to have more control over the scaling on the way along your curve, but it's a bit more complicated.

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


text:
Rigging a folding ladder that respect the floor
Im triying to rig a folding stair object and I want the opening movement of it to not cross the floor, or at least the control bone, wich is the one below that controls the movement of the entire rig.

The problem is that when you open it, the angle of the bones is not wide enough to align with the floor:

In the current rig I control the rotation of the bones with a "Transformation" constraint, that translate the vertical movement of a control bone into the rotation of the destination:
Here is the .blend file in case it's useful:
https://drive.google.com/file/d/1XwdYS7Js2faWt90WHAYXPKUDdMBkdchQ/view?usp=sharing
Thanks for your time!

A transformation constraint won't do this, because a transformation constraint acts only linearly, and the rotation you want is proportional to the asin/acos of the location.  But you can do this with a little creative IK work:

The legs of the ladder are the first bones in a 2-bone IK chain, which has position, rotation, and stretch enabled.  The second bone in each chain, which is non-deforming, has IK stretch enabled.  All IK bones are locked in all but a single axis.  The IK targets are in the same rest pose axes as the second bones in the IK chains.
In order to meet both position and rotation requirements, the second bones need to stay in the same plane as the IK targets, so the first bones rotate only to that plane-- essentially, finding the intersection of a sphere and a plane.  Or here, because of the locks, the intersection of a circle and a line.


text:
Animate rigged character using 3d joint location coordinates
I have the (x,y,z) coordinates of ~20 joints of a person frame-by-frame.
Anyone know how I can use these coordinates to animate a 3d rigged model? Can I directly animate from the coordinates? Or will I have to use the x,y,z coordinates to calculate bone angles and use that? Some detailed guidance would be helpful, as I am pretty lost right now

You'll need additional information, even with 2 position (head and tail of a bone) it isn't given that they maintain the same distance. Furthermore even when pointing from pos1 to pos2, a bone could still roll around it's own (y) axis.

Hm true. I think for my application it's ok if I set a fixed y rotation for the bones.


text:
In editing mode, there are layers, as in the object mode?
In edit mode, you can easily hide or show interfering elements. But when you switch to the object mode, they are displayed. How can they be hidden in both cases? But let them remain in the model.

You can't. Hiding in edit mode is just to help modeling tasks or else, just to be able to better see/select visibile geometry.


text:
Script for getting Camera Look At co-ordinates
(I'm new to Blender)
Using a script, how can I get the an X, Y, Z set of co-ordinates showing me where the current camera is looking at?
My use case is that the user just moves the camera visually but I need a look at point. I have a manual way of creating an object and then getting the camera to track the object, but I don't really want to introduce this manual step in the workflow.
Thanks

A camera looks in a direction (axis), not a point in particolar, imho... whatever the 'lens' aperture sees in y axis, eg. A 'trackto' constraint ensures that axis is always targeted at a specific object.

Do you want the focal point to be generated? A ray from the camera to the first touching surface?

@BertVdB A co-ordinate point from anywhere along the ray from the camera. I will try an answer below as it looks like that could work for me.

If you want the first surface point of where the camera is pointing at, you can use a variation of this script.
It casts a ray from the camera and checks for collision using the ray_cast function of the BVHTree module. I have documented the script with lots of comments. Paste in Blender Text Editor and press Run Script.

Demo of the raycasting.
import bpy
import bmesh
from mathutils.bvhtree import BVHTree
import mathutils

# the epsilon value for the BVHTree calculations
EPSILON = 0.00001

# maximum ray distance from camera
MAXIMUM_DISTANCE = 100

# make sure you have a Camera and an Empty named like this
camera = bpy.data.objects["Camera"]
empty = bpy.data.objects["Empty"]

# create the BVHTrees from bmeshes
# the bmesh conversion makes it easy to apply the individual objects transformation matrices
trees = []
for ob in bpy.data.objects:
    if ob.type == 'MESH':
        bm = bmesh.new()
        bm.from_object(ob, bpy.context.scene)
        bmesh.ops.transform(bm, matrix=ob.matrix_world, verts=bm.verts)
        trees.append(BVHTree.FromBMesh(bm, epsilon=EPSILON))

# the main method for calculating the distance
def measure_distance(scene = bpy.context.scene):

    # create a direction vector (dir) by applying the
    # camera's transformation matrix to (0, 0, -1)
    mat = camera.rotation_euler.to_matrix().to_4x4()
    if camera.rotation_mode == 'QUATERNION':
        mat = camera.rotation_quaternion.to_matrix().to_4x4()
    dir = mat * mathutils.Vector((0, 0, -1))

    # use the min_dist variable to keep track of the nearest collision location
    min_dist = MAXIMUM_DISTANCE

    # if no rays collide < MAX_DISTANCE, we'll display the Empty
    # at the camera's location
    vloc = camera.location

    # loop through each bvhtree and check if the is a collision
    # casting a ray; if the distance of the collision is smaller
    # than min_dist, we'll use this newfound location
    for bvh in trees:
        loc, no, i, d = bvh.ray_cast(camera.location, dir)
        if d is not None:
            if d < min_dist:
                min_dist = d
                vloc = loc

    # assign the location to the empty to visualize the ray collision
    empty.location = vloc

# remove all handlers, then create a new one with the measure_distance function
for h in bpy.app.handlers.scene_update_pre:
    bpy.app.handlers.scene_update_pre.remove(h)
bpy.app.handlers.scene_update_pre.append(measure_distance)

You can now use the found coordinates in the vector vloc to do whatever you want.


text:
How to Reduce geometry (faces) and still be faithful to geometry?
I made this Apple Watch dial, it is quite high poly for my computer with around 113000 faces.
I want to do a closeup shot of this as well as full shots of the watch, but I want to make it light weight. How do I do it without losing any detail?
Is there any professional secret to make semi-low poly hard surface model and still be able to do close up shots and look nice?

Have you tried a normal map, baked from the high-poly object? Then use it on a low-poly version?

@Blunder No, I have not. I don't know how to do it. Please tell more.


text:
Not getting Sharp Corners using crease method
Using crease method or mark sharp method certain corners are not sharp after sub-division.

I'm not sure you can solve this, if you put a crease on the perpendicular edge it will sharpen it and this is not what your want. But you can fix that with pure topology

@moonboots The entire thing is in quads. I am not sure now what can i further do so that creasing method will give sharp corners? A similar angle is just above that edge but it has sharpened perfectly.

I'm not familiar with crease, I personally prefer to use topology, I know you can fix this with topology. What angle are you talking about when you say it works? Maybe share your file, at least the part with your problem, so that we can give a try: https://pasteall.org/blend/

@moonboots You were right. I finally figured out how to sharpen the corner. Crease sharpens corners that has only 2 edges. If there is a 3rd edge then crease won't sharpen. But now another question remains is how to sharpen outward corner.

which corner do you mean? maybe share your file


text:
How to turn a displacement model in to something 3d printable
I have created a displacement object, applied a subdivision modifier and a displace modifier.
I am now at the end of my skill level. I want to turn this object into a STL for printing.

Thanks Gordon. I completed the answer you gave but this is my workspace

Obviously I am way off?

Thanks for downvoting :/ But I thought I made it clear in my answer, it is made for Displacement created by a modifier - because modifiers are the only things you mention in your question. But now it seems to me you made the displacement in the material of the object with nodes in the Shader Editor, that's completely different and maybe you should have mentioned it in the question. So I think you're better off with Crantisz' answer.

The only way to do this as I know, is bake displacement map (plug it into emission and bake emission channel, EXR format recommended) and then use the resulted texture in displacement modifier, that can generate a "real" displacement that can be exported or applied.

Thanks for quick answer but there is a lot of information and I dont understand it all. Can you give me a bit more idiot proof detail for a newbie?

I can recommend some tutorials like this https://www.youtube.com/watch?v=McALCOr39rY&ab_channel=CGCookie

Do I understand it correctly that all geometry and displacement on this object is created through a Subdivision Surface modifier and a Displacement modifier?
In this case I would suggest to go into the 3D Viewport, select the object, press Ctrl+A and choose Apply > Visual Geometry to Mesh. This automatically applies both modifiers and keeps the resulting geometry.
Then export the object under File > Export > Stl (.stl) to get the print file.


text:
How to make an object planar and remove overlapping faces
I'm new with blender, I need transform a 3d object to 2D from top view, so I've used in object mode that keyboard sequence  S,  Z,  0 so I have a flat surface as I want but with many overlapping faces on it.
How i remove/merge all overlapping faces to get only perimeter and lowest number of faces?

what exactly is what you need? Can you show us some pictures? If you don't care about topology or other things and only want to view you could just scale it with 0.001 for example and faces won't overlap.... If you want to make it 0, you will need to tweak that topology manually if vertices don't overlap as well

done as u can see there are alot of faces overlapping

i'm not sure there's any way to fix that, as MikoCG says, maybe tell a bit more why you need to do this? there may be a way around


text:
Why can't I minimize and maximize my collection?
I clicked on the button but nothing happened

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.

Hi :). There's no good reason it shouldn't work. Consider restarting blender, removing and adding a new collection or you can also report a bug.

Go to menu Edit > Preferences > Keymap and search Open/Close.
When you find it, click on the arrow behind the first of them and click on the box 3 that says Press or Click and change it to another one.
Then click on 3-line box below the window and save preferences.


text:
Material preview and rendered viewport show completely different shading
I am currently coloring a procedural monster I made and have realized I have two very different results in my material preview and rendered viewport:
Material preview:

Rendered:

I don't think this kind of difference is the result of HRDI lighting, does anyone have any leads?
The purple material I am using is the most basic kind, just principle BSDF with the base color set as purple, all other settings are default. Thanks so much!!

Are you using Cycles for the rendered result? Material Preview uses Eevee so it's possible you're seeing the difference between the two renderers although I'm not familiar with differences which could cause that.

Some nodes don't work in Eevee, so it indeed might be the difference between Eevee and cycles.


text:
I'm no longer able to grok the SRTM30 elevation data, but get this error now. How do I get past this?
TypeError: Converting py args to operator properties:  enum "EPSG:4326" not found in ('EPSG:3857', 'EPSG:27700')

This sounds like a bug to me so this site is not suitable for the question and furthermore I guess this is about a third party add-on so another reason why the question is off-topic here. You should go to the official add-on site and ask for help or report the bug there.

try this one: https://snipboard.io/ymLkSg.jpg

Hi, @HarryMcKenzie This Q left open because of your comment (a setting, not a bug..) which may be useful to others, even though Robert has a fix. If you think so, too, perhaps make it into an answer.

I reinstalled the BlenderGIS add-on and that solved the problem.


text:
Parametrizing distance between objects in an array
guys. New to geometric nodes here.
I have the following objects, which are positioned manually by me

Basically I am trying to figure out a way such that the distance between the objects increases/decreases as u go down the array, and it should depend on the index of the object in the array, for example:
d= i^2/2 where i is the index and d is the distance from the start point.
And it has to be parameterised using geometric nodes so that I can change the no of objects and the distance equation
I was able to create a normal array using geometric nodes but have no idea how to take the index of each element in the array to use in the equation

It would be great if you can refer me some links or provide a solution.

This is probably simpler than you think.. what variation do you want in your equations, though? Making those anything you like via the GN  interface would be a bit tricky..

This is very simple indeed:

...

thanks. I was trying a similar thing without the accumulate field node and was stuck for a long time. Its simpler than I thought it would be


text:
Oscillating Bar Based on Object Rotation (think Seesaw)?
I am trying to get a bar to pivot up and down based on the rotation of another object. For example, when a cube spins 360 degrees, the bar will rotate up and then down again for the duration of a full rotation - think: the movement of a seesaw. Therefore, a 180 degree rotation will move the bar up to it's maximum height and the next 180 degree continued rotation will move the bar down again. I have had success driving the Y rotation of the bar from the X rotation of the cube using a driver, but I can't get the bar to oscillate up and down.
Thanks in advance.

There are all sorts of wave-functions you could use, but the most obvious one is some multiple of
sin( driver_object's angle )
..especially if you're considering some kind of mechanical linkage.
Here, the planes's Z rotation is set to sin( circle's Z rotation ) * whatever ..

(and keyframes on the circle's rotation set to 'Linear', to loop):


text:
When I sharpen edges, why do I get random spikes?

Could someone please teach me how to get rid of these sharp spikes? It's really annoying and I'm not really sure how to go forward after this. Also, this only happens when I edge sharp. Thanks!

Please share your .blend file so we can investigate it. Personally, I've never seen that problem before. Maybe check your normals...

welcome to BSE, you need to work more in the topology, that spike is an "ngon" that got triangulated by the sub-div modifier, for working with surf you need to have a decent quad topology to generate the shape you want.... you small objects seems not merged to that ngon, keep those separated like that...


text:
Camera tracking : Rendered image only render 3D objects and doesnt render the video image
I am new to Blender(2.9) ,I followed several Camera Tracking tutorials. But when I render my final image, it only renders the 3D objects and the video image doesn't get rendered.If I change the "Fac" value of the "Alpha Over" node, it blends the images but does not give the result I want . (all the tutorials keep this "Fac" value to 1.000)
Following shows my View Layers,Collections (I deleted the 'BackGround' layer generated by the Camera Tracker)

This shows the Compositor settings:

This is my rendered output:

Any tips on how to fix this ?

found the answer here : https://blender.stackexchange.com/questions/186151/cant-see-the-object-in-rendered-image-after-motion-tracking

yes. thank you .

How about upvoting the answer if that did solve your issue?


text:
how to debug "Bone Heat Weighting: failed to find solution for one or more bones"
I am having this very simple Rig and Character but I keep getting this error message. It is just a single object, has no dub vertices and all transforms are applied.
How can I further debug this? any advice?

it may be because the object is too small and Blender struggles to calculate, in that case scale up both the armature and the object and try again, if it doesn't work please share your file

with the 3D Print Toolbox add-on that comes with Blender, you can check the mesh for intersections/overlapping faces. In edit mode, it can select these faces for you. Another way to find the area with the error you can duplicate the mesh, delete half (or parts) of it and try to bind it to the armature.

I vitally scaled up up already. As a next step I reduced polys and retopoed. After that it worked. It’s still a bit frustrating to not be able to track the problem down

You get that error when there's intersecting geometry that has inverted faces. Please turn on the "face orientation" from viewport overlays. Go inside the object and try to clear (delete) or invert normal faces (shift+n> invert faces), whenever you find red faces. They all should be blue to the exterior "outside" part of your mesh, not red.
Last, but not least, you need 1 single mesh "clean" topology. If you previously merged "double sided faces" (coplanar planes separated), floating vertices (vertex points near each other, but they are not "merged by distance" (use F3>merge by distance), in your mesh, you will get this kind of trouble.
This is your basic run down list to check out solutions for the failed heat bone weights.


text:
mesh not moving in pose mode
I am trying to animate a dog. I used the rigify wolf skeleton and succeded in creating the rig

But the mesh isnt moving with the rig when I grab it.
What am I missing ?
Thanks in advance

hello, please share your file (upload and copy paste the URL it will generate): https://pasteall.org/blend/

I would love to - however the file is to big. I tryed it with a different model and a huma linke mesh - same thing so I think I am missing something fundamental.

Hard to tell without the file, you can use another platform and share the link here, for example send the file to yourself with wetransfer dans copy paste the link

https://1drv.ms/u/s!AuwYMqBOop2HjKcbolQDl2wieVzLtg?e=uVvGgE
Here you go, Really apprechiating you taking the time to look at it. I definetly want to learn what I do wrong

I'm not sure why you have 2 armatures (rig and metarig), also you must deparent rig from Object_2, it's Object_2 that is supposed to be parented to a rig

metarig is created by rigify I guess and then the rig is created. I have the rig being parent to the mesh here

I just retoped the mesh with instantMeshes to around 100k to make sure the messy topology wasnt an issue. What makes me wonder: ctrl-P doesnt bring up "Automatic weight" option. I used the object meue ->parenting for that

I don't know metarig enough but shouldn't the armature be one piece? For the parentage, it's the mesh that needs to be parented to the armature, not the other way around

I believe I followed the tutorials for rigify step by step.... And yes - the amature is the parent of the mesh. if its wrong in the file i alreadyfixed it

OK I hope someone that knows rigify better than me will be able to answer

dude - you where right. In the tutorial they did the parenting the wrong way. since you pointed it out I double checked it - seems to work now. thanks a bunch

what about the double armature?

I didn't notice. Cleaned everything up now. Thanks


text:
How to fix the tail of a bone, while the head moves?
I've set up a piston-type of arrangement following a tutorial on YouTube, but now want to expand on it a little. I have added a bone that moves upwards as the piston moves through it's motion, but would like to lock the tail of the bone in place so that it doesn't move (see the diagram below). At the moment the whole bone moves upwards as it is parented to a bone in the middle of the piston IK setup. All I need to do is lock the tail from moving at all.
How might I go about this?

Possibly by adding a Stretch To Bone Constraint to this bone.


text:
Object deforms/jumps off when using array+curve
Im trying to make a railing using array + curve and in some turns the object rotates and deforms in a way i dont want. I feel like theres something wrong with the curve and its points but i have no idea.
Help

You won't have verical bars with an Array + Curve method, they will deform and tilt, but you can use this method instead:
Give the Array + Curve to a simple vertex instead (use the Constant Offset option of the Array):

Enable the Instancing > Vertices option of the vertex:

Parent the bar to the vertex (it won't rotate on Z but as yours seems to be a cylinder it won't be a problem):


text:
Polygons showing in shading/render
I exported a heightfield from houdini into blender and assigned a material with textures. In some areas its fine but in others polygons are showing. And with just a normal P. BSDF its not showing. I'm lost. I tried different types of unwrapping and texture coordinates but no fix. help

Is the heightfield image file compressed? It is best to export as OpenEXR 32-Bit FLoat without compression

i didnt export as heightmap, its exported as geometry

Could you cut a small problematic chunk of it out, and share on https://blend-exchange.com/ ?


text:
Batch Render an Animation of One Scene with Multiple Labels?
Background: I work as a product and brand designer, I would love to be able to export .png's for things with labels- bottles/packaging in general, but I don't want to have to sit at my computer and wait for each one to finish and plug in a new label. Basically anything where the it's the same shape of packaging with different graphics/products inside.
For example, if I wanted to render the exact same environment scene with 50 different images in a picture frame, could I, in theory, have a folder of the correctly proportioned images that feeds into the program and runs one .png after another?
Then I could walk away and come back to my computer having output all the designs and I don't need to check on it every 15 minutes to put in a new artwork.
If y'all come up with anything I'd really appreciate it, cuz the number of items is closer to 500 and this is a daunting task ahead of me.
Thanks!!

If you just want to replace 1 image each frame, I'd suggest an image sequence, where each frame it's another image. If you want to be more complex, I'm afraid you won't get around a littlle scripting.

+1 to @FrederikSteinmetz ... Great solution  :) Adam, just select all 500 images rename them as 0001.png, 0002.png, ... and use as Texture > Image Sequence. Blender will think it is animated texture and will use each png per frame. Render as Animation Render.


text:
How do I use face masks when texture painting on UV maps?
It shows the masked faces in the 2D view but it doesn't prevent me from painting over them.

I'm not sure there's a way to prevent painting on some faces in the Image Editor it this is what you're looking for

yes that is what im looking for


text:
Blender better visibility for wireframes
I am trying to follow this simple tutorial
https://www.youtube.com/watch?v=Zkg7Ol2jEjs
But I have found that when I change to wireframe view the object becomes completely transparent instead of a transparent gray
How it looks in the video

How it looks for me

This is not a Wireframe mode, this is a X-ray mode. You can toggle it by pressing Alt+Z, or by clicking on this button:

Alt+Z to toggle x-ray or see picture for button in 3d viewport(upper right)

Thank you very much!!


text:
Easiest way to copy transformations to another object
I try to switch to blender from C4D. Now I have a question.
When I parent one object to another I often want to copy the transformation to the child object(s).
In Cinema 4D there is a command called "Reset Transform" which is pretty common and very prominent in the UI. I use it all the time.
In Blender the best way I could figure out to achieve that is by adding a "Copy Transformation" constraint, chose the parent object then apply visual transform and then delete the constraint.
Thats very laborious so I thought there must be an easier way to do that. First I tried it with the cursor (selection to cursor) but that doesn't affect the rotation, right?

I'm not sure it answers correctly but you can select the child, then shift select the parent, then in the N panel, put your mouse over the Location and right click > Copy All to Selected? You can also activate the Copy Attributes addon and Ctrl C > Copy Location

Another way to parent is via the relations panel in object properties. I find this handy for parenting a  new object (which has identity transform)  Select  parent  to "snap" it to the transform of parent.  Akin to without inverse option in ctl-p options., but perhaps easier to change parent.

Then you add the parent relationship, an additional transformation is applied, called Parent Inverse:

Blender can assign a parent without moving the child object. This is
achieved via a hidden matrix called the Parent Inverse matrix, which
sits between the transform of the parent and the child

If you don't want this offset - you can remove it by pressing Alt+P -> Clear Parent Inverse.  After doing this, offset will be moved to regular transforms, and if you clear this regular transforms, object will be moved to its parent (as it should be, because coordinates of objects are calculated from its parents).
So then use:

Alt+G - to move object to parent coordinates
Alt+R - to match rotation to parent's one
Alt+S - clears scale data if it is necessary


text:
Rigify: Generated Rig feet controls wrong alignment
I have a problem with Rigify. When I create a Rig from the Rigify metarig the alignment of the feet from the created Rig is incorrect. The feet are just pointing straight in the y-axis but they should point to the angle of the original foot bones.
Same with the foot_spin and foot_heel controllers.
Do you know how to fix that?
I already tried to edit the generated rig directly. That solved the alignment problem but once I parented it to the mesh, the mesh was distorted.

I experimented for a while and just wanted to share my outcome. I found a solution for editing the generated rig directly. To avoid distortion of the mesh when parenting it to the corrected rig, it helps to set a new Rest Position.
However, this has an effect on some leg joints/controllers.
So, for me, the simplest way to address my original problem is just to edit the character's mesh and align the feet/shoes to the y-axis.
It's more of a workaround; I didn't find any solution for modifying the generated Rigify Rig itself without having these strange effects on the rest of the rig. It would still be helpful to know how to make changes to the alignment of the controllers.

It might be a limitation, bug, or requirement of Rigify. There is a similar question where the character was rotated by 180°. So in the front view, you were looking at its back. Rigify then creates everything correctly except the feet. The controls are indeed rotated by 180° and not usable this way.


text:
How to begin topology between two distinct shaped meshes
I have been using real items to help me learn modeling.
The following smoking pipe picture has a "bowl"-shape that blends smoothly into a diamond/rotated square for the mouth piece.
I have been searching tutorials for hours and trying to use what I've learned so far but having no luck coming close. I honestly don't know where to even start.
I can get the basic shapes, it's the "curved blend" between them where I'm severely lacking knowledge. I'm not sure what to search for, nothing I've found seems applicable.
Do I start with two meshes and somehow blend between them? Do I extrude vertices from the "bowl" to form the diamond base of the mouthpiece and somehow create some curved blends?

Maybe use LoopTools > Bridge?
Create a sphere with a subdivided and smoothed cube:

Cut off the top, extrude:

Cut off a hole:

Create plane, delete the face only, bevel its vertices:

Bridge the hole and the plane:

Make the shape fit with the pipe profile:

Add Subdivision Surface modifier, shade smooth:

File here:

This looks great! I will try to walk through these steps, I hope I understand everything once I do. Can you share the blend file in case I need reference it?

sure, I've edited my answer

I was able to reproduce the pieces I was having trouble with! Thanks! Minor, but when you cut off the top and extruded, how did you get the vertices to be level? You'd be extruding the uneven edges/verts.

After cutting off the top, to level the top edge of vertices you need to select this top edge loop and scale them to zero along the Z axis. Keyboard shortcut for this operation is, with the top edge loop of vertices selected, hit the S key (to scale) Z key (to restrict scaling to Z axis) and 0 key (to scale to zero). S Z 0  and validate with LMB (Left Mouse Button).

It could be better but here's my own attempt https://sketchfab.com/3d-models/basic-untextured-smoking-pipe-e79bd24a88244433ab4d2997bdb69207

not bad, you need to move some vertices on the bottom


text:
How to render the weapon animation separately, without a character, to create a video game sprites?
I need to create some weapon sprites in Blender, that will be used in a video game. First I need to export the png sequences of character animation without weapons and then export the same action with a weapon only, on transparent background. But the most important thing is, to have the impact of the character in the weapon animation. I.e if it’s about sword, it has to be rendered with a placeholder of the character hand, which means that the grip of the sword will have a hole (which is meant to be a character hand ), so that if the sword animation sequence is placed above the character animation, it looked as if the character is holding the sword.
When I try to export only the weapon sequence, it is rendered as the character was transparent, rendereing the sword fully in all positions… Please help

Some of the cooler sword wielding moves will have the sword pass behind the character. How do you plan to handle that? There are some things which cannot be done in 2D png stack...

Not sure what u mean... Can you clarify your question?

You talk about a placeholder for the hand, which makes the sword transparent/invisible where the hand should be, so that the hand of the underlying character png stays visible. You do not talk about a placeholder for e.g. the characters head. So if the character takes a wide swing with the sword, then the sword will stay visible in spite of the fact that it should become hidden by the head, if it is passing behind the characters head. If your moves are only so that nothing but the character hand will ever hide the sword, then they are less complex, which I decribed as "boring".

Oh... I see... But I didn't mean only the hand mask, but everything intersecting it. I've found the way here, on Blenderstackexchange, but can't fully implement it... It's about changing pass index to 1.0 instead of 0.0 to the object that should be masked. The rest remains the same 0.0 index, this way some changes should be applied only to the "sword" for example and everything that will have a contact with it will become transparent... I follow the process but can't get rid of the white background for some reason...


text:
How to assign a color to a collection upon creation?
Is there any way to assign a color to a collection at the time of creation instead of having to move to the outliner, right click, and select a color from the dropdown menu?

Not that I know. Where exactly would you like to click and select a color if not the Outliner? Or which other way of assigning would you prefer?

I would agree with Gordon, collection colors are tags. The official doc doesn't contain anything about a possible default color tag https://docs.blender.org/manual/en/latest/scene_layout/collections/introduction.html#color-tagging.

Would the Python script in the answer to this question help?: https://blender.stackexchange.com/questions/262994/set-collection-color-in-outliner-with-python#262997 Here is the list of colors available: https://docs.blender.org/api/current/bpy_types_enum_items/collection_color_items.html


text:
archipack boolean command displaces objects
I would like to cut a hole for a door in a wall. When I press the "Boolean" button, my wall and doors get moved. Is it a bug or intended behaviour? Am I doing something wrong?

Blender Version 2.93.2 (2.93.2 2021-08-04)
Archipack Version 1.2.84

After selecting two objects

After pressing "Boolean" button on Archipack panel


text:
understanding Shading vs Material properties
I am quite new here and struggling to figure out why there are two places to control shading, and how to switch which one actually controls the shading. Also: what is the semantic difference between "material properties" and "shading" from blender's point of view?

Layout tab > Properties > Material Properties > Material > Surface > Use nodes
this one works, but here I am able to use a single node only

Shading tab > Shader editor > Object
I see a number of cool tutorials on how to use this one with multiple nodes. However, changing things here has no effect on the object shading. I clearly see that it refers to the object of interest "backsplash", still no effect.

Yeah something isn't right, there.  The material output node should have a maroon colored header if it's the active output.

Frame all nodes with the Home button and see if there aren't some extra nodes hanging around.

@AllenSimpson how do I "frame all nodes with the Home button" -- are you talking about the Shader view? Where do I find "Home button"?

Clicking on the header of the "Output" node in the Shader view made the header maroon, and now it seems to control the shading. Strange...

On the keyboard :p - https://blender.stackexchange.com/questions/210908/im-lost-in-the-shader-editor/210909#210909

It must be that a second Material Output got added, whichever was last selected will be active.  You can delete one of them.

I am on Mac, there is no Home key

I see, sorry.  It was my assumption.  You can still use the menus in the answer I linked.

In the node editor header, View > Frame All

If both images are the same material:

You should see only one node.  The Material Output Node doesn't show up.  If you want to add other nodes, you need to click on the circle in the Principled node that represents the input you want to connect and select from the popup.  Here's an example of clicking on Base Color's Yellow node:

If I were to, say, select Brick Texture, then the Base Color input would change to

and all of the Brick Texture settings would become available.  I could click on the ↓ (down arrow) to "close" the Brick Texture panel.
You can edit everything this way but it becomes very difficult to follow.

Your problem is that you have the 3D viewport in Solid Viewport Shading mode. That doesn't show your material.  There are two Viewport Shading modes that do.  See this answer for a detailed explanation.


text:
Fix lines in volumetric in EEVEE
I render space scene in EEVEE. Density is 0,01. Scene have two light - fill sun and blick point.
And in scene I have this lines. I up all samples, but dont have clean pic. What i do wrong?
settings, shadows is 64 px

soft shadows are allowed? 16 render samples is really low, did you try with 100+ samples if it is still the same result?

yes, and nothing changes.

fixed - 256 sampls EEVEE, 128 volume


text:
How to add smoke detail in Cycles X?
I use 3.0.1 for render smoke.
Settings

Subdivision Domain 300
32 samples
path trasing 0 all, 8 volume
vorticity 0.2
step rate volume 0.1

And have result
But I need this (under blue arrow).
How can I do this?
P.s. in old verstion was option @hi resolution smoke: but now I dont see it in new versions.

i think you should just increase the resolution division. Yes, that decreases the performance but just with high values there you will get amazing results.

no, its wrong way. Here author have best reseluts with 80 subdivision. https://youtu.be/4DfAJ7GD0t0 I have 250-300.

Of course you can believe in tube videos - I just can tell you from my own experience and yt making: they cut a lot, they make often things different than they are telling - it’s not that they do this always on purpose - sometimes they are just cutting wrong….

Yes, of course. But I cant increase the subdivide - its too hi. I 100% shure, that here is something with noise. But I dont understand, what.


text:
Smoke have cubes in silhouette
Its very important to me. I ask your help.
I make explosion in space. Scale of domain is 600 meters. Version 2.93.4
I have cubes in smoke and this is not cool, this smoke is need use to film. How I can fix it and make smoke more beauty?
Important - it should be in EEVEE

blend file https://yadi.sk/d/wXS7WXRj7GS68A

I see that in smoke simulation you are using only 64 resolution, try to give it much higher number... resolution 64 means that there are 646464 cubes of space in your domain for smoke particles, that's why your smoke looks blocky

So as I have said, change your fluid domain resolution, that's all, all other settings are good to make it very detailed, but 64 for domain resolution is too small for final render.
I am currently on my potato PC so I cannot show you the result of higher resolution, but even this image below is 128 resolution... Try 200+ ,maybe even 300 if you have a time for that and bake it before render and hopefully it will be better

Don't judge this picture, I had to lower some of the other settings to be able to show you

Okay, but how I can safe big part of smoke? If I up resolution, parts of smoke became litlle.

I am not sure if I understand, Do you mean you want the smoke to look less blocky but still big? Use higher particle size in your icosphere smoke simulation settings(probably)


text:
compositor make empty image
Dont have any explain... please, see my archive. https://disk.yandex.ru/d/4b4yf79NLDUm2Q

Because you have a strip in Video Sequencer ... Blender calculates Compositor than continue to Sequencer to calculate data if any ... delete the strip or disable Sequencer in Output Properties > Post Processing panel.

thanks, it resolve!


text:
Range limites in ExtraObjects primitive_xyz_function_surface
I'm new to Blender (and even more so with Python).
I'm trying to create a mesh representing a laser gaussian beam using the primitive_xyz_function_surface function from the ExtraObjects add-on. But I'm struggling with the range variables which seem to be limited to [-100,+100].
Here is an essentials-only to illustrate the problem.
import bpy
import numpy as np

# create gaussian beam (micon scale)

lam = 0.488               # wavelenght
wo = 1                    # weist
n = 1.33                  # refraction index

min_x,max_x = -100,100    # limits

zR = ( np.pi * wo*wo * n) / lam            # just a compute state
w = f"{wo} * sqrt( 1 + ( u/{zR} )**2 )"    # function for primitive_xyz_function_surface

bpy.ops.mesh.primitive_xyz_function_surface(
    x_eq="u", y_eq=f"({w})*cos(v)", z_eq=f"({w})*sin(v)",
    range_u_min=min_x, range_u_max=max_x, range_u_step=60, wrap_u=False,
    range_v_min=0, range_v_max=2*np.pi, range_v_step=128, wrap_v=True,
    show_wire=False, edit_mode=False,
)

Here is an image of the resulting object :

So here, the variables max_x and min_x define the spread of the mesh in dimension x. And this works for values between [-100,100]. But stops working for values above 100  and bellow -100!
Is this a designed limitation ? If so, is there a way to overwrite it ?
I wasn't able to find anything on the web about this issue.
I use Blender 2.93.2 , with Python 3.9.6 , under ArchLinux .
Thanks a lot to anyone who can help me ! :D

Use a scale factor.
Without editing the addon to change the property min / max could simply remap the space, u -> s * u eg to  change the u range tenfold replace any  u with 10 * u
Edit to add a scale factor s and replace u in equation with s * u.
import bpy
import numpy as np

# create gaussian beam (micon scale)

lam = 0.488               # wavelenght
wo = 1                    # weist
n = 1.33                  # refraction index

s = 2 # scale factor
min_x,max_x = -100, 100    # limits

zR = ( np.pi * wo*wo * n) / lam            # just a compute state
w = f"{wo} * sqrt( 1 + ( {s} * u/{zR} )**2 )"    # function for primitive_xyz_function_surface

bpy.ops.mesh.primitive_xyz_function_surface(
    x_eq=f"{s} * u",
    y_eq=f"({w})*cos(v)",
    z_eq=f"({w})*sin(v)",
    range_u_min=min_x,
    range_u_max=max_x,
    range_u_step=60,
    wrap_u=False,
    range_v_min=0,
    range_v_max=2*np.pi,
    range_v_step=128,
    wrap_v=True,
    show_wire=False,
    edit_mode=False,
)

Note this could also be done via one of the helper functions.


text:
How to convert .OBJ and .MTL along with separate textures to one large texture
So reading that title may confuse a lot of people, I mainly just want to take a .obj along with its .mtl and the textures and turn it into a .obj file with one large texture instead of using the .mtl and a dozen smaller textures.
Main reason for this is because there is a program by the name of Bridge. for the game Minecraft that can convert an OBJ file along with a texture map into a JSON file that Minecraft can read. I downloaded a model off of the internet of the Super Mario 64 peaches castle exterior and noticed it came with a .mtl and a bunch of textures along with the .obj this lead me to problems because the program only accepts a texture and a .obj model. So I was wondering how I could possibly use blender to change the individual textures and the .mtl file into one large mapped texture for the model.
Any ideas? Because I am completely new to the entire blender thing...

PS: one alternative to Bridge is a script by Martin O Hallon, which uses Raspberry Juice (or raspberry jam in 1.12.2 forge), and although it does not support textures AFAIK, it does support multiple materials, and you can assign a unique minecraft block to each one.

Not directly: the blender built in OBJ exporter creates and uses mtl files automatically. You could possibly do the following to reconfigure the UV maps to use one texture and thus make the model only need one material.
Note: If the images are square, this should work easily. If they are not square but all the same aspect ratio, this is still probably fine. If they are different aspect ratios, things could be tricky, because the UV maps are ratio relative: a UV map says “cover the bottom left quarter of the image” no matter what size the image is. Still, you could do some math and scale the UVs individually in step 2.
Tip: If increment snap is snapping in the wrong places, use the operator panel (bottom left pop-up after using an operator) to adjust the operation as needed. Works on whatever operator you just did.

Use an external image program (like GIMP) to put all the image textures together in one giant quilt if you will.
Import the OBJ into Blender, and for each material: select it’s assigned faces; select all the UV of those faces in the UV editor; with increment snap on, move the UV to a unique location, preferably lining up with the quilt pattern you made, but aiming towards DEFINITELY being unique. You’ll have to remember approximately where the other UV parts are as they will be invisible when their mesh is unselected (don’t turn on sync select to try and fight this).
Open the quilt texture in the UV editor. The UVs will be too big for it right now, but don’t worry; hold on a moment.
Select the entire mesh, and work to arrange the UVs in exactly the same way as the quilt (as opposed to the same size), then scale the whole UV down to fit on the quilt properly.
Remove all materials on the mesh, and configure it with just one that uses the quilt texture.

Hope this works! I have not tested it yet. Good luck


text:
Edges are not connected to each other
I imported one of my meshes but when i tried to move one of its faces. I realized that none of the edges were connected to each other.  How do i fix this?

Press A to select all, then right click and choose Merge Vertices > By Distance

Thank You! Wow, I was trying to select edge loop and it would not work. I figured that it was a shortcut issue but finally found this.


text:
Mesh wont move with bones in pose mode
I am having the problem that the mesh won't move when I move the bones in pose mode.
I did the following:
started with one bone at the bottom and extruded the others upwards.
Then I made sure all bones were correctly positioned within the mesh.
I then selected all and applied all transforms
Then I selected the mesh and shift selected the armature and did ctrl p to parent with automatic weights.
When I switch to pose mode I can move and rotate the bones - however, the mesh stays in place.
What am I missing?

Check if after parenting with automatic weights a yellow error message appears at the bottom of the 3D window.

no error message

add the blend file to your question? (How to add a blend file)

make sure that the Deform option of your bones is activated, if it still doesn't work please share your file

thanks for the advice - i'll fix the topology and come back if the problem still exists


text:
Need Help Creating DNA Model
I am a beginner in Blender, I know how to use the basic commands but don't have much experience creating models. I am trying to create a circle of ribbon-like DNA with the base pairs detached in the center like this, except with a few caveats.

The base pairs should be able to freely rotate around the "vertical" axis, and somehow I can control the loop so it can writhe/contort (like go from a circle to an "eight"). Could anyone please help me figure out how to do this or point me to some resources that could help?

https://blender.stackexchange.com/questions/101265 https://blender.stackexchange.com/questions/2402

Another way this can be done is to add a circle, then in edit mode, duplicate it and move the two pieces, so they are on either side of the origin (equally distant):

From here, just add a Screw Modifier. You need to increase the "screw" value to make it stretch upwards. You can adjust the other values to your liking:

You can adjust the size and shape of the helix by adjusting the size and shape of the two initial circles, as well as their distance from one another. You can also play with the screw angle to adjust the "tightness" of the helix. More turns may require you to increase the number of "steps" to keep the curves smooth:

If you want to curve the whole object into a ring, you can do so by using a Bezier Circle and a Curve modifier. First make sure you have access to the Bezier Circle by going into User Preferences > Addons and search "curve" to enable the " Curve Tools" addon. (This may or may not be necessary to access the Bezier Circle - I have had the addon enabled for so long, I can't remember if the circle is there without it)

Once this is done, the Bezier Circle should appear in your Add menu. Add one to your scene:

Scale the curve in edit mode to an appropriate size (I did 20x based on my initial mesh size), and rotate it in Object mode by 90 degrees so it lines up with your helix:

Add a Curve Modifier to the Helix object, and select the Bezier Circle as your curve object. You can see I needed to increase the iterations of the helix as well to make it fit better (I know it's not perfect - we'll fix that):

To make the ends "meet" properly, you will have to fine tune the values of the Screw modifier. You can see I had to go a bit off the 720 degree mark and increase the height a little to make the ends match perfectly. Make sure you have merge checked as well.

After that, you can apply the modifiers if you want to, and then you can delete the circle as well (also if desired). You can also do a merge-by-distance just to be safe, but things should be fine already if you matched it right.

Hi thank you, I was mainly having trouble with making this a closed loop (attaching the ends of the DNA). Could I have help on that as well?

Sure. What do you mean by attaching the ends though? Do you mean connecting the loose strands on either end, or connecting the two ends together to make the whole thing into a ring shape?

I mean connecting the two ends to make a ring shape, is this possible to do?

I updated my answer to show you a way to do this.

It's so simple just by using modifiers and be crative
I will share blend file to know how it work and repeat .
add you detail in base mesh you crated .

Here's a step by step guide to create the shape of DNA.
First, we need a base mesh, a cylinder will work quite nicely. Create one with "Shift+A". Add some edge loops while in edit mode, around 4 should do.

After this we need to add a second cylinder in the same object. We need to add a mirror modifier and then turn off merge and clipping in the mirror modifier settings. Then in edit mode on the object. Move the cylinder along the X axis around 2 meters.

Great, now we need it to be taller, we can use the array modifier for this to add more sections instead of scaling. Remember to set the direction to the Z in the array modifier settings so that it goes up instead of sideways.

Now it just needs to be twisted. We can use the simple deform modifier to give it a bending deformation.

Hopefully that's enough of a jumping off point for you to get started. Hope this helps.

Wow thank you, could I ask how I could attach the ends of the double helix to make a closed shape? This is what I have mainly been struggling with

If you use a curve modifier to create a circle you can then use the weld modifier to merge the ends.


text:
Edge length wrong with scaling option
Why is the edge length not changed when I scale the object?
As in the picture below, the description of the edge length is not changed from 2m after scaling.

Changes you make in Object Mode aren't taken into account in Edit Mode.
You need first to Apply Scale in Object Mode with ctrl A :

It will be reflected in Edit Mode:

You're confusing the object scale with the mesh lengths. A mesh is contained by an object, which is like an invisible box, its own lengths don't depend on the object scale and vice versa.
The mesh can be 2x2x2 units large, if you keep the object scale at 1/1/1 the mesh will appear 2x2x2. If you scale the object in Object mode 2,743 times on the Z axis, the mesh will remain 2X2X2 even though it will appear 2x2x5,486 on the scene.
If you want the mesh lengths to be affected by the object scale you need to apply the scales (CtrlA), the mesh will be 2x2x5,486 and the object will be back to 1/1/1.

Thanks a lot for the answer!


text:
UV Editing - Unwrap object and display measurements in the view
How can i display the measurements from the 3D-editor in the UV-editor as illustrated in the picture?

You can't, the UV editor uses a 0.0 to 1.0 (X Y) or pixel cordinates.

I have found a rather complex workaround for my use case. Hopefully somebody will post once a cleaner solution.
So since I want to print out the unwrapped model with the dimensions to help with a sewing project I came up with this way:

I export the model as an SVG file in uv/unwrap (one face at a time)
Import the SVG file in QCAD.
I scale the dimensions to match the edge the ones in the 3d model
Now I can set all the dimensions and angles in QCAD


text:
assign a frame to an instance with geometry nodes of an animated object
I want to «bake» each frame of an animated object on top of the other. The object consists of a layer of rectangles on the same plan that organizes themselves from a video. See changes in shapes, density, orientation and color in images.
There was an addon that did the trick but it does not seems to work more recent version of Blender. (Animation Replicator with Offset (ARewO), 2014 https://www.blenderdiplom.com/en/downloads/537-arewo-gui-a-detailed-description.html) I tried to dowload older version an open my blender file, but it does not match.
I think that one option here is to associate a frame (with «Scene Time» nodes) to a specific instance of the stack in a loop that repeats itself for each of the layers instancing the base changing object.
To objective is to create a mass of those stacked layers. See the result (made by hand) in the image.


text:
Geometry node material works in cycles lookdev and eevee but not in cycles rendered
Following Hell FX Learn's Shield Tutorial, I slightly modified the nodes so that the material would change if inside the mask object. I get my desired result when in the lookdev mode of cycles or the rendered mode of eevee. The effect breaks when looking at it through Cycles rendered view mode.
Node setup:

Result in lookdev:

Result in rendered viewmode:

You might have accidentally duplicated your mesh and what you see is a "glitch" effect of two coplanar faces. When you join the two Set Material Nodes, the Join Geometry Node might receive twice the geometry, even though they have different Material selection sets.

My guess would be that the ray tracer from the cycles engine shows the glitch, while eevvee and lookdev are not so... erm, picky about it.

I deleted the join geometry and moved the set material to damaged shield after the set to shield with their corresponding selections. Now, there is no duplicate geometry/glitch. Thanks for the help!


text:
How to create strip around phone case?
On the back of the phone case there is white strip
And I have no idea how to create it, I tried few ideas and searched online but haven't found any solution.

From what I could see on the image, this is not a strip, but actually the rim of a white sheet that is covered by another black sheet. If you are going for realism, you should also model it that way. Perhaps start with a plane and some loop cuts.

and then what should I do?


text:
How to create irregular shape on phone case?
I'm relatively new to blender and I'm trying to create phone case same as on picture below:

My problem is that I have no idea how to create the shape of the white part of the case. I started off with cube to create rectangular shape, added boolean modifier and added object to camera lens, displayed the camera lens as Bounds, but it resulted in still having rectangular shape with rough corners instead of cutout with rounded corners as I need. What's the best solution to this? Below i showed what i got, but since it's still a rectangle I can't adjust the corners.

you can bevel corners with the shortcut CTRL+Shift+B

If you want a non-destructive workflow, you can add a bevel modifier with a high angle value. It should work in your case

This is what I was able to get with a non destructive workflow

here is the file if you want to take a look

Wow, thank you so much!! Especially for the file, it helps a lot <3 Have a nice day. How did you create the holes in case?

No problem! I used a plane with a subdivision modifier, and then I instanced a cylinder on each vertex of the plane with geometry nodes. Finally I used a bolean modifier on the white part and used the plane with the cylinder as a cutter

amazing! thank you again

Hello, sorry for bothering but I would like to ask how to render this file? Whenever i try to render the image the holes in case are not visible or only few are visible.


text:
Rectangle unwrapping to rhomboid
I'm doing a tutorial on unwrapping (here if you have skillshare, part 5) and i'm at a step where i've marked my seams and i unwrap onto the teabox texture image. however, upon unwrapping the UV editor puts my seams offcenter and makes the edges angled, turning my rectangles into rhomboids when i rotate them.
ive tried unwrap settings at angled and conforming and it happens both ways. any thoughts here?

Hello, please pack your image (File > External Data > Pack All Into .blend) and share your file: https://blend-exchange.giantcowfilms.com/

hi @moonboots here you go! (https://blend-exchange.giantcowfilms.com/b/5DDVK15Z/)

if you do a simple unwrap it will give a better result, the UV is tilted though (I've already noticed this bug I don't know how to fix it), just rotate the UV so that it's aligned with the axis


text:
Is there any way to remove wiggle in these UVs?
so I got this piece of mesh:

I'd like texture to follow curvature of the mesh, but it gives that wiggly UV distortion:

I know that it might not be that noticeable but this part will be viewed from up close so I need to get rid of it.
Is there any way I can do it?
Thanks!

can you share your file? https://blend-exchange.com

When you unwrap a UV (Keyboard U) you will see a small menu on the left bottom corner, there you could select the option "Use Subdivision Surface", try that.

Not exactly solution, but some info ...
Cube (8 vertices)

It looks like blender triangulates faces (they are triangulated for render anyway) and just shears the texture.
Cube with Subdivision modifier

Looks straight at Level 3. At Level 4 (1088 vertices) not noticeable a movement at all in the texture.

We're seeing the triangulation of the mesh, because of UV distortion:

The problem is that we have long skinny trapezoids, which get triangulated into unevenly sized triangles, and we're mapping them to UV rectangles.  The center of the UV gets mapped to the center of the diagonal, but for the mesh, the center of the diagonal is not in the center of the face, but off to one side, and the line that runs straight through the UV actually runs in two angled segments along the mesh, creating a wiggle.
There are two things we can do to fix this.  Neither on its own is a good solution, but we can adapt them together into a good solution.  First, we can cut some loops here, to make those trapezoids less long and skinny:

As we add loops, the trapezoids approach squares, reducing UV distortion and reducing the impact of triangulation.  We will never completely get rid of the wiggle, but we can get rid of it to any arbitrary level of precision, just by using more vertices.  The reason this is not a good solution is because we are adding to the vertex count of the mesh.
The other thing we can do is eliminate UV distortion:

If we map those positional trapezoids to UV trapezoids, we can no longer see the triangulation.  The reason this is not a good solution is because we're not mapping the texture in the same way.
But if we make a copy of this mesh with loop cuts, and a copy of this mesh without UV distortion, we can bake the texture from one to the other:

We could bake the loop cut version to our original UV instead if we wanted, but if we're going to bake, we can afford undistorted UV.  After all, we may be deforming this shape later, making our triangulation apparent once again.  The less that the base UV is distorted, the less distorted it will be under unpredictable deformation.  Even if it won't be deformed, the less distorted UV will give us more even texel density which is generally preferable.


text:
Image Editor does not show RGBA output from composite viewer
blender 2.91, I have a problem with Composite viewer node - I'm trying to preview contents using Image Editor however despite having all checkbox set Image Editor does not shows full output, particularly excludes alpha channel.
Any idea what's happening?
As you can see in the picture below I have "Use Alpha" set everywhere, Image Editor is in RGBA mode, yet there's alpha output lacking in the image editor. I tried to disconnect/connect nodes in the compositor, to force refresh, but no result

Is it intended that the Red channel goes into the Alpha input of the Combine RGBA node? Otherwise, an image of the Alpha channel would be interesting, too.

The alpha channel has not been associated with the image.
To associate the alpha channel use an Alpha Convert node and set it to Straight to Premultiplied.


text:
Blender imported video distorted
I took a video using my Sony A7iii with the AVCHD file format. I put it in Premiere Pro to trim it and I exported it as H.264 to an mp4 file. The exported video looks fine with Microsoft's Movies and TV App, but once I have imported it into Blender, the footage became distorted. Which software caused the problem and how do I fix it?

It looks like you need to de-interlace the video when you export it.

Works like a charm! Thank you very much.


text:
Knife tool not working in 2.90.1
I have just updated to the latest version of blender and the knife tool has stopped working. Does anyone know a fix for this?
System specs:
Intel i9-9980XE 64 bit
2 Quadro RTX 5000 GPU's
Windows 10 Pro version 1809
Thanks!

Working fine here but I'm using Windows 10 Pro version 20H2 and AMD Ryzen 7 2700X with Nvidia Geforce RTX 2070 Super GPU.

Please elaborate on what's not working. Are you using a shortcut or clicking on the tool icon ? Are you in edit mode ?


text:
Viewport clipping noise(?) with a huge object
I'm trying to work with a really large object (XYZ approx. 8,000x7,000x8,000 meters) and the viewport seems to have trouble showing just the things facing me at the corners. It's like things become partially transparent at this scale when they're "near" each other (see animated gif, it's hard to describe). Is there any way to fix this and get a clean display? I want to work at 1:1 scale, should I not at this size?

It looks like this pushes the limits of camera clipping.  It appears camera clipping has some undefined behavior above 10000m.

When dealing with very large or very small objects it is likely that you run into problems with lack of precision in the depth buffer. 3d engines cannot precisely determine which objects are in front of others, creating z-figthing. The fix is to adjust the Clip Range so that it encompasses your scene, no more, no less.
Select the camera, then in the camera section of the properties window set clip start and clip end.

To visualize the clip range, enable Viewport Display > Show > Limits

Thanks, adjusting Clip Start fixed it. Doesn't affect my renders because the camera default Clip Start is higher than the viewport's.

The detph buffer is limited. To avoid imprecision such as Z fighting use it to fit your scene (and camera distance).


text:
Connecting semi-spheres to a model

Whilst on the topic, how could I make this model more game-ready overall? I'm doing this to just practice.

As for spheres - remove bottom halves that are inside geometry and then just attach using ctr+j to join it with the main mesh.
As for game ready - one idea would be to actually bake the spheres as a normal texture and use it to imitate bumpiness.
For gameready object i would not use subsurface modifier at all, instead I would make a denser model with subsurf (like one you have already), and then I would retopo it - using shrinkwrap modifier  I would create a low-detail version.

personally, rather than having the spheres be geometry, I'd sculpt them on, and then bake the sculpt detail as a bump map.


text:
Is there a way to disable auto-capitalization?
I was creating display dimensions (aspect ratio) presets in the render options, going along with corresponding names (HD, Full HD, QHD, etc). However Blender automatically capitalizes the first letter in the name and prohibits capitalization for all the following letters. Is there an option to disable this?


text:
Auto rig a pre existing weighted armature?
Anyone know of any addons or a way to Auto rig a pre existing weighted armature? I am using daz3d models and i want to add a rig to the allready weighted bones that come with the character. Human ik in maya is the closest thing i have found so far. It would seem like rigify would have this feature but i havent been able to find anything that doesnt involve writing python yourself.

Does daz3d allow the export of fbx or collada models? If so, which one did you use? Both of them can be imported into Blender with varying degrees of success depending on the exporter of the source program.

Yes...i used collada although some limited success with fbx. Im looking to create a rig and attach it to the skeleton that comes with the model. Maybe have to brush up on python if there isnt something available allready


text:
A script to render each frame as image (not render animation) in 2.8
This request is to be used as a workaround for a problem in the current 2.8 build.
Everything works perfectly until using the render animation function, some frames are wrong with objects randomly out of place. I have tried many hours of tweaking, and noticed that if I just use the render image button for each frame there is no problem (except having to press render and save as 6000 times).
If one of you Blender legends could whip up a script for this I would be very grateful.
Cycles would take months to render this, however Eevee does it overnight, which was the reason for trying the 2.8.

@bat Thank you, I removed the wrong comment. Use this instead. Also John, have you tried using the background mode render option?

The solution is to use a script to render each frame, and the script needs to include a short time pause.
This is the script that solved the problem I have had for days.
import bpy
import time

scene = bpy.context.scene
for frame in range(scene.frame_start, scene.frame_end + 1):
    scene.render.filepath = 'C:/blndtmp/' + str(frame).zfill(4)
    scene.frame_set(frame)
    bpy.ops.render.render(write_still=True)
    time.sleep(3)

Thankyou for all your help Blender Community :)

This question was answered by someone, the solution was simple and works perfectly, yet it's been downvoted. OK.

Neither the question nor your answer have any downvotes at this moment. The downvotes may simply be because this solution won't help many others. Since Blender 2.8 is developing and changing all the time the rendering might work properly in just a few days.

Ah roger that. Well it's rendered now thanks again team. Great result.

You saved my life, thank you so much. Hope devs will fix this terrible evil bug soon

Thank you @John October Rage for writing this script!
I edited and improved the script a bit so now it doesn't overwrite the files
And it also fetches info from from Output panel in Properties window so now there's even less manual tinkering needed for this script to work (just make sure the folder path is set in absolute and not relative)
Hope this is useful
import bpy
import time
import os

scene = bpy.context.scene #variable that fetches current scene
outputDir = scene.render.filepath #variable that fetches output directory
filext = scene.render.file_extension #file extension suffix

for frame in range(scene.frame_start, scene.frame_end + 1): #note "frame" is just a variable
    filepath = os.path.join(outputDir, str(frame).zfill(4)) #variable for file checker

    if os.path.isfile(filepath + filext):
        print('File exists, skipping to next...')
    else:
        scene.render.filepath = filepath
        scene.frame_set(frame)
        bpy.ops.render.render(write_still=True)
        time.sleep(3) #wait time in seconds after each frame render, inscreasce if there are dependency/driver related errors

scene.render.filepath = outputDir

print('Finished!')

#RENDERER SCRIPT FOR FIXING BLENDER 2.80 ANIMATION RENDER PROBLEMS
#The name of files will always be frame number (eg. 0000.jpg), Its recommended to separate different takes/versions by folders
#This script will use Output settings that you have defined in Properties tab
#Original script by John October Rage
#Improved by Alumx (with assistence of Bobbe)

import bpy

for frame in range(bpy.context.scene.frame_start, bpy.context.scene.frame_end):
    bpy.context.scene.frame_set(frame)
    bpy.ops.render.render()

I have not tested it, but looks like what you need.

Need to set the render filepath otherwise will render to same image for each. Using scene.frame_set(frame) is recommended.

Please test your code beforehand. This would also render all frames to the same file and and it wouldn't write any files anyway since write_still=True is missing. Refer to the codeblock in my comment.

Wow that sure was fast. I'm very much appreciating the community as a whole for this program. This is the first time I have have had a question I couldn't find an existing answer for - and it took only minutes. Kudos friends.
I shall try both background rendering and the script.

Update:
Background rendering outputs an access violation error, my guess being it's not quite implemented yet for 2.8
The script WORKS - the frames are correct, but it only ever gets 4 frames in before a crash... perhaps running out of memory I really have no idea...
Perhaps it needs time between frames. Is there a scripting function to "wait 2 seconds?"

Perhaps this is a job for Autohotkey. Like that time Homer uses that drinking bird to press keyboard buttons for him.
I shall keep this thread up to date on developments.

Solution found: inserting a pause in the script lets it keep working without a crash. :) :)


text:
Linking a Hi-Res & Low Res Version of a character, and controlling both with a single armature
Consider a character that has a hi-res & low-res version.

How does one go about LINKING both of these versions of the character into a project, and have both controlled by a single armature.
The problem that I am having is when the make proxy function is executed, only the selected collection gets an armature, and if that is done for each collection, then there are 2 separate armatures.
If I put both resolutions into a single collection, then there is no way to switch between them once they are linked, hence defeating the purpose of having a low-res version.
Thankyou for any help, I have not been able to find an answer for this anywhere. Perhaps I am missing something or going about this the entirely wrong way =P
John

I don't know what you mean by "proxy function", but can't you just toggle the visibility in viewport for the high res version and the visibility in render for the low res?

Yes you can indeed hide visibility, however the purpose of a low res version is so when you pose it, the hi-res version follows the pose. This doesn't happen because the rigs are separate. Proxies are used when linking. In a complex scene it is common to link characters in to save system resources, with the benefit of edits to the original character propagate to all instances of that character in projects that link it.

The proxy function simply makes a "copy" of the rig from the linked file, so the user can pose the linked character.

Do you want the ability to manually switch the animated mesh in the linked file - ie. show and render low-poly, then show and render high-poly? Or do you want both versions to be linked, one for viewport, one for render, with no user-switching (but both driven with the same proxy-rig)?

If all the objects you link to the scene are from the same project, all you have to do is go File -> Link... , browse for your project, enter it, find "Object" folder, select all the objects you need to link and press "Link" button. After that you can put each linked object to any collection by selecting it in the 3D viewport and pressing "m" button on the keyboard, or by directly dragging them to the collections in the outliner. Objects don't have to stay in the same collection with the armature to stay linked and parented to it. More to say - one object can be linked to several collections at the same time.

If your two mesh-objects are linked to the scene from the several different project files, inside those files they both have to be parented to the same armature. This means in one of those files (e.g. with high-res mesh) the armature has to be be a linked copy of the armature from another (with low-res mesh): not a separate object with the same name, bones and animation as in the first one - it has to be exactly the same armature-object, linked to the second project in the way I described in the first paragraph. To perform this you can link the armature-object from the first project to the second project, in the second project select your objects and this linked copy of armature, make sure the last one is an active object, press Ctrl+P and choose "Armature Deform".
After that you can link to the new project your low-res object and the armature from the first project and high-res object from the second project - it will be automatically linked to the armature. Then you can create collections and arrange everything as you want.
And if you want to be able to control the armature animation directly from the main project with your linked meshes from other projects parented to it, inside their projects you have to parent them to the linked copy of the armature from the main project. Hope it makes sense.

It looks kike you may be onto something Andrey. Thankyou! I shall try it as soon as I get home from work today!

Thanks Andrey. You were correct. Very helpful. Being able to animate all the characters in low-res and then switch back to hi-res quickly is fantastic, and fits the intention perfectly.

Was glad to help! )

Create an armature, select both character and then the armature (must be the active object), hit CTRL+P to parent with Automatic Weights. Both characters are now linked to the armature and will move with it. Each character can have it's own collection. If you want to link more stuff to the armature (accessories, cloth, etc) just select your object, then the armature, and CTRL+P (you can choose Empty Groups and do the weight paint from scratch, doesn't matter).
You can still toggle On and Off your high poly character collections at anytime.
I'm fairly sure you are overthinking this ;)

Thanks Arthur, however the question was how does one go about LINKING an already existing character into another project. The armature already exists and works perfectly to control both resolutions - until the point it is all linked.

Ok one last attempt to help, maybe this will work. Set up your collections like this in the file where the animation work is being done, Hi res character art and lo res character go into one collection and this is where you will set the viewport and renderabilty options in the outliner the linked collection should reflect this in the other scene. I've linked the Cube collection into the scene low res will be visible in viewport but the hi res collection will render. You can also instance an animated armature from with in the same scene.

Animation

Scene with linked Cube collection, low poly visible in viewport.

Scene with linked Cube collection, hi res in render.

If you want the high res mesh to follow the same animation as the low res you should really only need one armature, but because your hi res character seems to be broken up into multiple collections whatever meshes you have will need their own armature modifiers. If you really need to have two separate armature for whatever reason because maybe the proportions are slightly different you can store your animation as an Action and apply that action to the other armature whenever you update the animation on that action the armatures will follow. As long as the bones in the armatures share the same naming conventions, Actions may be the solution you are looking for.

Hi Chris and thankyou for your reply. As you suggested, actions is the work-around I have been using thus far, however if this is the actual solution - then that is incredibly disappointing... its so cumbersome compared to just toggling visibility for the resolution that needs to be hidden. The point of the low-res character was to speed up the workflow - not to create extra work.

@JohnOctoberRage Then simply put the armature you are animating in it's own view layer and disable the view layer for the high res model collection it's the check mark to the left of the collection icon. Alternatively just disable the viewport display of the high res and disable the renderabilty of your low res.

Hi Chris I do very much appreciate your time thankyou for contributing. Those suggestions do sound practical - however upon LINKING a character - the individual collections within are unable to be hidden. Try it yourself! :)

@JohnOctoberRage You mention LINKING Are you working with anything linked from a separate Blend file?

Yes linking is the key. There is a quite complex scene with many characters, and a 'set' which is a small terrain with trees and rocks (by particle instancing). Linking in the characters works as intended (except of course - since the user is unable to switch off visibility of individual elements - therefore being unable to hide the HiRes collection makes everything extremely slow.)

@JohnOctoberRage if you are not editing the animation in your scene you shouldn't need to link the armature just the character collections.

The intention is to animate the character in the scene.


text:
Why do some faces, when cut (knife and loop cut) get group selected as if still one face?

Basically the title. Whenever trying to select this one face, it selects all of them. I have this in several parts of my work.

are you sure that there is not one big face here?

The edge may exist, but the face is still connected to the four adjacent vertices.  Select both adjacent faces AND the offending edge, and use Ctrl + F -> Weld edges into faces

Pretty sure Allen is right. When deleting the face there were still vertices there. i think i figured it out through trial and error.


text:
Straight UV island but stretched checker texture. How to solve?
The UV island of the detail looks fairly straight (selected in the screenshot; I had even aligned it and did the 'follow active quads' thing). Yet the texture of the face is stretched heavily, and I don't know why it is so and how to solve it as the UV island looks OK.

What is wrong and what to do? Thank you all.

this is because of the inner triangulation of the face, subdivide your mesh a bit (begin with some vertical loopcuts)

As your UV is stretched it will also stretch the inner triangles that make your quad:

To fix that, subdivide your mesh until the inner triangulations become unnoticeable:


text:
How to group/join/merge overlapping UV islands
I deliberately overlapped two UV-islands (on the screenshots) to texture them together and free some UV place, but when I unwrap the whole model (either via inner Blender algorithm or via uv packer addon) they unwrap separately and do not overlap.

How can I join/merge/group these two islands so they unwrap together?

Select the faces you want to be overlapped, set a view in which they overlap (front orthographic in your example) and press U > Project from view.
In the UV editor select all and press P to Pin this unwrap (or go to menu > UV > Pin).
Select all and Unwrap the model: pinned vertices will stay in place.
Alt P to Unpin.


text:
Problem with symmetry in sculpting mode
After I used the boolean modifier, and the multiresolution and the remesh to soften the object, I went back to the sculpting mode and my symmetry was a little bit off.
I already tried with the ctrl+a and apply to all transformations (and rotation too), the origin point is in the center and the 3D cursor too. I even tried with importing and exporting it but for some reason the file doesn't appear. What should I do?

Hello, it should work, maybe your object is asymmetrical? Symmetrize it in Edit mode: Select all then Mesh > Symmetrize?

@moonboots Hello! I did that, but my object is only symmetrical on its sides, not in the top, and it symmetrized the whole object, causing the top to lose its shape. But if I only select the part I want to symmetrize, will that work?

If your object is not symmetrical, it may be the reason why when you sculpt it you won't have the same thing on the other side? You can symmetrize a part only but it may not be easy to rework afterwards

@moonboots Yes, is only symmetrical on the sides, but still, the symmetry is not working, and the part I want to be symmetrical is only the sides. I'll try to symmetrize it. They're just a few details actually, I don't need to work it too much.

Maybe share your file?


text:
Composited Render is Different from the Viewer
Wondering what's going wrong here, the image that the viewer shows is what I want, yet the render after compositing looks different and in a way that doesn't seem to make sense. What I want to do is have a transparent object that also visually blocks whatever's behind it, is there a different way to achieve this?


text:
How can I use a mask modifier with a musgrave texture?
I'm trying to make a simple version of the masking technique used here:
https://www.youtube.com/watch?v=KFYFh8w4758
in (0:00 --> 0:06)
is there a way to achieve this effect using a mask modifier or anything else?
Thanks!

is it supposed to be animated?

The short answer is: sort of

This setup will make the parts of your mesh transparent where the musgrave texture is black. If you want to see the backside, or other objects through it, replace the holdout by transparent.
However the edges of the mask won't look 3D, the ones in the clip seem to have some depth, this method won't allow that, but maybe it's enough to get started. With animation nodes you can assemble your own meshes, it won't be easy, but in my opinion that would be the proper way to go.

This can be achieved by mixing your material with a Transparent BSDF where the Musgrave Texture (or any other texture) is used as the mixfactor.
The Musgrave Texture on its own will produce a soft fade in transparency.
To get the hard contours we see in the video a Math Node set to Greater Than or a ColorRamp between the texture and the Mix Shader can be used.

If you are using EEVEE the Properties Window > Material > Settings > Blend Mode has to be set to something other than Opaque to enable transparency.


text:
How to edit imported obj material easily?
I imported some obj from sketch up to Blender,
as you can see the white part should be other materials,
but whenever i want to select it, it is very hard for me to select only the object, as you can see the model has many faces, if i use select similar material, it will select other obj i dont want to edit. Please teach me how to assign material to this object easily, thanks.

You cab use the L key to select each of those loops. In Edit mode, hover your mouse over 1 or the vertices/edges/faces of one of the loops then hit the L key. This will selct all the geometry of that loop. Then move your mouse over the next loop and use the L key again to select all of it. Repeat for any other parts you want to include then assign the material to them.

THank you very much! it save me alot of time!


text:
Add a loop cut between all loop cuts
For example, I made a 10 x 10 grids by using loop cuts on a square plane, now I would like to make it to 20 x 20, is there any way I could change the grid instead of doing it from the beginning? thanks a lot

Just subdivide the mesh. It will create a new edge in between all edges.
From a single subdivision, a 10 by 10 grid will become 20 x 20.
Select all edges (press A).
From the menu, select Edge > Subdivide

Or you can do this from the context menu. Press the right mouse button and select subdivide

Wow thanks alot!


text:
Intersection of objects taking into account plane scale
After having a look at Loop at intersection of two objects (script) was wondering if I could do intersection of plane with mesh taking into account the plane scale... If I use the bmesh as is I get the following...

How could I get only intersection within the plane taking ito account the scale, i.e not getting the wrists?
Thanks!

Hello. What is the question? How to cut the mesh with the plane or howto make the script work as you describe?

Hi! Thanks for replying! So my question is how to make the script work as I describe. i.e how to create the bisection affected by the area of the plane.
Additionaly it would be great if I could get to know how to detect those 3 group (figure and wrists) if discarding a whole plane cut is not an option...
Thanks!

In the end I did was to cast a ray, from that ray create a bisection with a flat plane, then I got the closest edge and vertex in the bisection from the ray hit position then explored the topology of the mesh getting only the vertices I could reach from that point:
# Perform bisection
        bmesh.ops.bisect_plane(
            bm,
            geom=bm.faces[:] + bm.edges[:] + bm.verts[:],
            clear_inner=True,
            clear_outer=True,
            plane_co=plane_co,
            plane_no=plane_no
        )

        # Bisection cleanup
        closest_edge = self.find_closest_edge(bm)
        vertex_list = self.get_reachable_vertices(closest_edge)
        for v in [v for v in bm.verts if v not in vertex_list]:
            bm.verts.remove(v)

Example of exploring topology:
    def get_reachable_vertices(self, closest_edge):
    edge_list = [closest_edge]
    vertex_list = [v for v in closest_edge.verts]
    for v in vertex_list:
        for e in [edge for edge in v.link_edges if edge not in edge_list]:
            edge_list.append(e)
            if (e.other_vert(v) not in vertex_list):
                vertex_list.append(e.other_vert(v))

    return vertex_list


text:
PoseBone local rotation values to global with axis changed
I think this question has been ask a few times but haven't been able to produce an answer.
So for an addon I'm building I need to send the bone rotations of an armature. Those rotations are expected to be in global coordinates. So after doing to bone rotations that I need, I collect the rotations like so:
        for bone in context.object.pose.bones:

            bone_idx: int = get_bone_index(skeleton_info, bone)

            idx = list(context.object.pose.bones).index(bone)
            m = matrices[idx]
            axis_angle = bone.rotation_quaternion.to_axis_angle()
            v_axis = axis_angle[0]
            result = (bone.id_data.matrix_world.to_3x3().inverted()
                      @ m.inverted()
                      @ v_axis)

            result.normalize()

            result = result * axis_angle[1]
            pose_np[bone_idx*3] = result[0]
            pose_np[bone_idx*3+1] = result[1]
            pose_np[bone_idx*3+2] = result[2]

As you can see I get the quaternion local value, get the axis angle and perform some transformations on the vector representing that axis in order to get to the system of coordinates I want.
The thing is the matrices I expect contain weird values. I don't really understand how to use the matrices inside the PoseBone class to achieve what I want to do... The usage of matrix, matrix_local and matrix_channel confuses me especially to see how each bone accumulates transformations and whether if I need to call the inverse of the parent's object matrix world... Could you please give me some hints on what I might be doing wrong?
Thanks!

Not sure what you need. Try this for rotation between local space and world space
for pbone in context.object.pose.bones:
    # This is the transform from bone local space to world space
    world = context.object.matrix_world @ pbone.matrix

    # If there are non-uniform scalings or shears in `world`, this won't work...
    _loc, rot, _scale = world.decompose()

    print(rot.to_axis_angle())

If you want the relative rotation from the rest pose to the current pose in world space, maybe this
for pbone in context.object.pose.bones:
    world = context.object.matrix_world @ pbone.matrix
    world_rest = context.object.matrix_world @ pbone.bone.matrix_local

    _loc, rot, _scale = world.decompose()
    _loc, rot_rest, _scale = world_rest.decompose()

    print(rot.rotation_difference(rot_rest).to_axis_angle())

I ended up doing the following:
        for pose_bone in context.object.pose.bones:

            # We'll translate from bone coords to avatar coords
            # using the matrix_local matrix in the actual bone
            # (not the pose bone) which contains the rest pose matrix

            # From matrix_local we'll extract the rotation
            rot = pose_bone.bone.matrix_local.decompose()[1]
            rot = rot.to_matrix().to_3x3()

            # Apply the rotation to the direction axis angle
            axis_angle = pose_bone.rotation_quaternion.to_axis_angle()
            new_axis = rot @ axis_angle[0]
            new_axis.normalize()

            # Get the actual axis angle multiplying the magnitude
            # with the unitary vector calculated earlier
            result = new_axis * axis_angle[1]

            # Assign the rotations to the locations avatar-core expects
            # on the pose numpy array
            bone_idx: int = get_bone_index(skeleton_info, pose_bone)
            pose_np[bone_idx*3] = result[0]
            pose_np[bone_idx*3+1] = result[1]
            pose_np[bone_idx*3+2] = result[2]

Object.convert_space
There is a convenience method available on objects to help convert spaces. For pose bones, can pass the pose bone, its pose matrix pb.matrix and convert it from 'POSE' space to world.
Little example script, to run in 'OBJECT' mode, only because it is placing empties using  calculated world matrix. The add empty operator requires 'OBJECT' mode.
import bpy
context = bpy.context
ob = context.object

for pb in ob.pose.bones:
    mw = ob.convert_space(
            pose_bone=pb,
            matrix=pb.matrix,
            from_space='POSE',
            to_space='WORLD',
            )

    bpy.ops.object.empty_add()
    mt = context.object
    mt.empty_display_type = 'ARROWS'
    mt.matrix_world = mw

Note this aligns empties with blender bones, such the shaft of the bone is in the Y axis of the world matrix.
Or from a bones local space with
mw = ob.convert_space(
        pose_bone=pb,
        matrix=pb.matrix_basis,
        from_space='LOCAL',
        to_space='WORLD',
        )

Should you require to change this to can use bpy_extras.io_utils.axis_conversion to transform to another space
>>> bpy_extras.io_utils.axis_conversion(
axis_conversion(from_forward='Y', from_up='Z', to_forward='Y', to_up='Z')
Each argument us an axis in ['X', 'Y', 'Z', '-X', '-Y', '-Z']
where the first 2 are a source and the second 2 are the target.

Same as above with resultant world matrix pointing z axis along bone.
import bpy
context = bpy.context
ob = context.object
from bpy_extras.io_utils import axis_conversion

A = axis_conversion(
    to_up='Y',
    to_forward='Z'
    ).to_4x4()

for pb in ob.pose.bones:
    mw = ob.convert_space(
            pose_bone=pb,
            matrix=pb.matrix,
            from_space='POSE',
            to_space='WORLD',
            )

    bpy.ops.object.empty_add()
    mt = context.object
    mt.empty_display_type = 'ARROWS'
    mt.matrix_world = mw @ A

Python, How to get pose bone to rotate with another pose bone from a different armature? Finding Rotational difference
Python How to make pose bone rotation toward a point?
How can I move a PoseBone to a specific world space position?

Thanks! Didn't know such function existed! I'll take a look at it to see if it fits our needs!


text:
How do I move bones relative to global position rather than its parent?
Is there any way I can transform my bone in pose mode relative to the world instead of what it inherited from it's parent in Edit mode?  When I try to do absolute transformations (see red arrow in image), I'd like to zero out everything and have the bone move to 0, 0, 0., but if I zero the transformation it's only relative to parent.
Alternatively, I could use a way to stop a bone from inheriting the move a parent makes between Edit mode and Pose mode.  I already know about dis-selecting "inherit rotation" and "inherit scale" but I still need my bone to inherit those things, just not the move from edit to pose.
For background, I'm taking already created models that have already had their pose and edit positions created, and I'm just trying to modify/add to them.
Oh, and one other way I could solve my problem is if I could parent my bone in Pose mode instead of Edit mode.

A way to do that is, instead of parenting your bone, you could use a "Child Of" constraint on it. You can animate its influence during your animation.
And if you want to push this further, you can even have its influence driven by a controller, parented to your bone.


text:
Separate texture in viewport
Is there a way to assign a separate texture for specific 3D View?
Like if I have some texture in material node, but want to see UV checker in viewport without changing material itself.

Assigning separate materials to a view port is not possible ( as far I know )
Alternative:
With the Node Wrangler plugin you can press Ctrl + Shift + Click on a node, and it will change it to that specific node. So you can just add an image texture to your node an swap between them.

See: http://gregzaal.github.io/node-wrangler/ ( Emission Viewer )