text:
Environment Texture 360
New to blender. When I add an environment texture as photo theres also this line, which I'm assuming is the photo meeting together. IS there anyway to make this go away, trying to do a 360 animation and I dont want the line in it.

The image should be able to tile (at least left-right tile), which means it's seamless when placed next to a copy of itself.  Making an image seamlessly tileable is usually done in 2D image software like GIMP or Photoshop, not a 3D program like Blender.  You could search on how to make your image tileable, or you could find an HDRI (they're already left-right seamlessly tileable) and start from there.  https://polyhaven.com/hdris/skies

you need to fix that in an image editor like Krita or Photoshop, or project on a sphere and in Texture Paint mode use the Clone brush


text:
Transfer media pipe pose landmark data to 3d model
I used media pipe's Pose landmark detection python library to get the pose data from a video and saved it to a json file. I'm using WebSockets to stream the pose data and trying to apply it to the 3d model armature. The data streaming and acceptance work properly. I'm fairly new to Blender so I might have missed a simple detail. As I try to apply the pose data to the 3d model via blender scripting, the blender console prints: Moved bone 'mixamorig:LeftUpLeg' to (0.608, 0.44, 0) Moved bone 'mixamorig:RightUpLeg' to (0.593, 0.442, 0) Moved bone 'mixamorig:LeftLeg' to (0.612, 0.51, 0) Moved bone 'mixamorig:RightLeg' to (0.62, 0.515, 0) Moved bone 'mixamorig:LeftFoot' to (0.594, 0.581, 0) Moved bone 'mixamorig:RightFoot' to (0.659, 0.592, 0) but no visual changes are happening on the 3d model except the model is very slightly vibrating. I have not messed with scaling as the 3d model and media pipe's settings when capturing the pose data were at scale 1. What could be the Issue?
Blender Python code:
import bpy
import asyncio
import websockets
import json
import threading

# Bone mapping for Blender armature
bone_mapping = {
    "LEFT_SHOULDER": "mixamorig:LeftShoulder",
    "RIGHT_SHOULDER": "mixamorig:RightShoulder",
    "LEFT_ELBOW": "mixamorig:LeftForeArm",
    "RIGHT_ELBOW": "mixamorig:RightForeArm",
    "LEFT_WRIST": "mixamorig:LeftHand",
    "RIGHT_WRIST": "mixamorig:RightHand",
    "LEFT_HIP": "mixamorig:LeftUpLeg",
    "RIGHT_HIP": "mixamorig:RightUpLeg",
    "LEFT_KNEE": "mixamorig:LeftLeg",
    "RIGHT_KNEE": "mixamorig:RightLeg",
    "LEFT_ANKLE": "mixamorig:LeftFoot",
    "RIGHT_ANKLE": "mixamorig:RightFoot"
}

# Apply pose data to the Blender armature
def apply_pose_to_armature(pose_data):
    def update_armature():
        armature = bpy.data.objects.get("Armature")
        if not armature:
            print("Armature not found!")
            return

        # Ensure the armature is set as the active object and switch to pose mode
        bpy.context.view_layer.objects.active = armature
        if bpy.context.view_layer.objects.active.type == 'ARMATURE':
            bpy.ops.object.mode_set(mode='POSE')

            for landmark in pose_data:
                name = landmark["name"]
                x, y = landmark["x"], landmark["y"]
                bone_name = bone_mapping.get(name)

                if bone_name:
                    try:
                        bone = armature.pose.bones[bone_name]
                        bone.matrix_basis.translation = (x / 1000, y / 1000, 0)  # Scale
                        print(f"Moved bone '{bone_name}' to ({x / 1000}, {y / 1000}, 0)")
                    except KeyError:
                        print(f"Bone '{bone_name}' not found in armature.")
                else:
                    print(f"No mapping found for landmark '{name}'.")

            bpy.ops.object.mode_set(mode='OBJECT')  # Switch back to object mode
        else:
            print("Active object is not an armature!")

    # Schedule the update on the main thread
    bpy.app.timers.register(update_armature)

# WebSocket client to receive pose data
async def receive_pose_data():
    async with websockets.connect("ws://localhost:5000") as websocket:
        while True:
            message = await websocket.recv()
            pose_data = json.loads(message)
            apply_pose_to_armature(pose_data)

# Start WebSocket client
def start_websocket_client():
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    loop.run_until_complete(receive_pose_data())

# Run WebSocket client in a separate thread
threading.Thread(target=start_websocket_client, daemon=True).start()

Media pipe pose detection script:
import cv2
import mediapipe as mp
import time
import json
import asyncio
import websockets

class poseDetector():
    def __init__(self, mode=False, smooth=True, detectionCon=0.5, trackCon=0.5):
        self.mode = mode
        self.smooth = smooth
        self.detectionCon = detectionCon
        self.trackCon = trackCon
        self.pTime = 0

        self.mpDraw = mp.solutions.drawing_utils
        self.mpPose = mp.solutions.pose
        self.pose = self.mpPose.Pose(static_image_mode=self.mode,
                                smooth_landmarks=self.smooth,
                                min_detection_confidence=self.detectionCon,
                                min_tracking_confidence=self.trackCon)

    def findPose(self, img, draw=True):
        imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
        self.results = self.pose.process(imgRGB)

        if self.results.pose_landmarks:
            if draw:
                self.mpDraw.draw_landmarks(img, self.results.pose_landmarks, self.mpPose.POSE_CONNECTIONS)
        return img

    def getPosition(self, img):
        self.lmList = []
        if self.results.pose_landmarks:
            for id, lm in enumerate(self.results.pose_landmarks.landmark):
                h, w, c = img.shape
                cx, cy = int(lm.x * w), int(lm.y * h)
                self.lmList.append([id, cx, cy])
        return self.lmList

    def showFps(self, img):
        cTime = time.time()
        fbs = 1 / (cTime - self.pTime)
        self.pTime = cTime
        cv2.putText(img, str(int(fbs)), (70, 80), cv2.FONT_HERSHEY_PLAIN, 3,
                    (255, 0, 0), 3)

def get_landmark_names():
    return [
        "NOSE", "LEFT_EYE_INNER", "LEFT_EYE", "LEFT_EYE_OUTER", "RIGHT_EYE_INNER", "RIGHT_EYE", "RIGHT_EYE_OUTER",
        "LEFT_EAR", "RIGHT_EAR", "MOUTH_LEFT", "MOUTH_RIGHT", "LEFT_SHOULDER", "RIGHT_SHOULDER", "LEFT_ELBOW",
        "RIGHT_ELBOW", "LEFT_WRIST", "RIGHT_WRIST", "LEFT_PINKY", "RIGHT_PINKY", "LEFT_INDEX", "RIGHT_INDEX",
        "LEFT_THUMB", "RIGHT_THUMB", "LEFT_HIP", "RIGHT_HIP", "LEFT_KNEE", "RIGHT_KNEE", "LEFT_ANKLE", "RIGHT_ANKLE",
        "LEFT_HEEL", "RIGHT_HEEL", "LEFT_FOOT_INDEX", "RIGHT_FOOT_INDEX"
    ]

async def send_pose_data(video_path, websocket, output_file):
    detector = poseDetector()
    cap = cv2.VideoCapture(video_path)  # Use video file
    landmark_names = get_landmark_names()
    all_pose_data = []

    while True:
        success, img = cap.read()
        if not success:
            break
        img = detector.findPose(img)
        lmList = detector.getPosition(img)
        detector.showFps(img)
        named_lmList = [{ "name": landmark_names[id], "x": cx, "y": cy } for id, cx, cy in lmList]
        all_pose_data.append(named_lmList)
        data = json.dumps(named_lmList)
        await websocket.send(data)  # Send pose data to WebSocket
        cv2.imshow("Image", img)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    with open(output_file, 'w') as f:
        json.dump(all_pose_data, f)

    cap.release()
    cv2.destroyAllWindows()

async def handler(websocket):
    video_path = "trainee/videos/model_1.mp4"
    output_file = "pose_data.json"
    await send_pose_data(video_path, websocket, output_file)

async def main():
    async with websockets.serve(handler, "0.0.0.0", 5000):
        await asyncio.Future()  # Run forever

if __name__ == "__main__":
    asyncio.run(main())

I'm working on something similar. I think this project might help you to understand how to do this using armatures, but I haven't been able to reproduce this on my own: https://github.com/cgtinker/BlendArMocap/blob/main/src/cgt_transfer/cgt_tf_object_properties.py
One problem I think you are experiencing based on your description is due to hierarchical way bones or organized in blender, there might be some way to resolve this but I haven't figured it out yet. The output we're getting from mediapipe is absolute, so I found it easier to just import the point data as an empty object for each point. Here is the script I used:
import bpy
import json

# Path to the Mediapipe JSON file
json_file_path = "./output.json"

# Open and parse the JSON file
with open(json_file_path, 'r') as file:
    animation_data = json.load(file)

# Names for the points based on Mediapipe documentation
point_names = [
    "WRIST", "THUMB_CMC", "THUMB_MCP", "THUMB_IP", "THUMB_TIP",
    "INDEX_FINGER_MCP", "INDEX_FINGER_PIP", "INDEX_FINGER_DIP", "INDEX_FINGER_TIP",
    "MIDDLE_FINGER_MCP", "MIDDLE_FINGER_PIP", "MIDDLE_FINGER_DIP", "MIDDLE_FINGER_TIP",
    "RING_FINGER_MCP", "RING_FINGER_PIP", "RING_FINGER_DIP", "RING_FINGER_TIP",
    "PINKY_MCP", "PINKY_PIP", "PINKY_DIP", "PINKY_TIP"
]

# Create an empty object for each point
empty_objects = []
for i, name in enumerate(point_names):
    empty = bpy.data.objects.new(name, None)
    bpy.context.scene.collection.objects.link(empty)
    empty.empty_display_size = 0.02
    empty.empty_display_type = 'SPHERE'
    empty_objects.append(empty)

# Animate the empty objects
frame_number = 1
for frame_data in animation_data:
    landmarks = frame_data[0]  # Get the first hand data in the frame
    for idx, coords in enumerate(landmarks):
        x, y, z = coords  # Mediapipe landmarks are normalized; adjust if needed.
        empty = empty_objects[idx]
        empty.location = (x, y, z)
        empty.keyframe_insert(data_path="location", frame=frame_number)
    frame_number += 1

print("Empty objects created and animation data imported successfully!")

source: Stack Exchange

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

sort: votes


text:
Can I output a geometry node field/attribute to an image texture, and if so how?
I'm trying to create masking textures that highlight specific regions of geometry on a mesh. For example, I want a mask that highlights areas near an edge that either has non-zero angle or is non-manifold. I know how to select such edges. Then I can subdivide the geometry many times to get high point density, and use the geometry proximity node get a nearly smooth distance field on each of the faces of the subdivided mesh. But now I need to store that information outside of geometry nodes (and indeed outside Blender itself), and also the final mesh needs to stay low-poly. The only way I can see that meets these critera is some sort of image texture storing the field values from the subdivided geometry, and then exported/attached to the original object similar to a normal or bump map, but I have no idea how to make that happen. Can someone help explain how to do this?

You can't directly generate images from attributes. Attributes (and geometry) are 3D, images are 2D, which mean you have to unwrap your mesh. So the way to do that would be as answered by Daniel Möller. There is no simple or obvious way to do that.

@Lutzi Attributes are 3D? In the special case that you are storing them on points in 3D space their storage location is 3D, but attributes in itself can have many dimensions, 1 up to 4 in Blender if I don't forget anything (4 being RGBA values). To map those 3D locations to 2D, a UV map is helpful. But you could also map them on a single line by just using the index for example. Or spearate the indices to form rows and columns which you could then use as 2D image. Apart from the "attributes are 3D" I agree though, baking with the help of UVs to an image is probably the best way.

@GordonBrinkmann I know, and it can go over 4D I think, for transforms (unsure but technically speaking 9D ?). I'm talking about unwrapping. The geometry containing the attributes is 3D and have to be project on a plane -> no obvious way.

@Lutzi No obvious way, true - that's why I agree UV mapping is the best solution. But still, attributes and geometry are not the same, and the attributes are not necessarily 3D (very often when you use them as factor for a shader they are just 1D floats). But let's say you have a mesh with 60,000 verts - you could simply transform them into a 2-dimensional matrix by their index, 300 columns by 200 rows, first row is index 0 to 299, row 2 is 300 to 599 and so on. Then you can easily create a 300 × 200 pixels image with greyscale values representing the attribute floats.

...the harder thing in the Shader Editor then would be to map the pixels back to a vertex index (I don't think there is a simple way in Blender...?) so therefore UV mapping is the best solution.

What Lutzi meant is that the attributes live on geometry that is in 3D space. Of course you can have geometry that has zero thickness in up to 3 dimensions, effectively making it 0-3 D. A texture is a collection of 2D grid aligned cells, and the UV map is part of the equation used to translate between the two. You don't need to bake, BTW, you can e.g. produce a plane, color it and render it.

Thanks! the part of the accepted answer that made it click for me was the "Store Named Attribute" plus the "Attribute" node in the Shader to transfer the data. (Because I didn't know that type of transfer was possible until now!) Now that I understand this part, I think I can bake geometry nodes attributes the same as I would any other Shader-graph output.

What you're looking for is called "baking".
It's when you create a procedural texture (color, roughness, normals, etc.) and save it as image.
There is baking that you just save your procedural textures.
And there is baking that you transfer data from high poly meshes to low poly meshes (and saves as textures).
Explaining how to bake in an answer would take a lot of space, and would also require to know exactly what you want. (Your question is vague)
But there are plenty of tutorials about baking available (I liked the Blender Guru's "Anvil Tutorial", there is a chapter about baking a sculpted surface onto a low poly mesh as a normal map)
One last thing, you can in geometry nodes use a "Store Name Attribute" node in the "point" domain to save your information.
Then you can use that information in shader nodes with an "Attribute" node.
And then you bake.

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


text:
How to re-orientate a mesh with messed up world co-ordinates
I am very new to Blender so apologies is if this obvious.
I have downloaded a mesh from the Internet and one part of it is an eye for a cartoon character. The short of this is that I want to 3d print it but whenever I "slice" it in my 3d printing software, it is not coming out clean because the object is skewed as you will see in the image.
I want to re-orientate it correctly and save it as a new mesh so that it is orientated correctly with the correct planes. Wondering how I might do that. I have tried using snap to a plane and it still orientates it wrong. You can see from the image that it clearly was made originally on the angle I want to put it on, but for some reason was saved as an STL being on a slant.
I know I can rotate it manually, but this is a pain and it still does not print correctly sometimes. How might I go about doing this?
The mesh is in two parts, the outer eye and the pupil. Once I re-orientate the outer eye correcly, I'd also like to move the pupil to be exactly in the middle and orientated correctly as well.
Even this didn't work https://www.youtube.com/watch?v=n7W46Cxvn0I&t=10s
Thanks,

https://blender.stackexchange.com/questions/56882/how-do-you-rotate-an-object-so-that-a-particular-face-is-parallel-to-the-ground/56886#56886

@DuarteFarrajotaRamos that doesn't work, I already tried it

In Edit mode select an edge loop you want the origin to be aligned with, in the Transform Orientations panel click on the "+" and keep the new orientation selected:

In Object mode activate the Only Affect Origins option:

Go into Object > Transform > Align to Transform Orientation so that the origin align with the custom orientation:

Deactivate the Affect Only Origins option and press AltR to reset the rotation, then rotate it along the desired axis and apply the rotation with CtrlA:

One way of doing it would be to, in Object mode, select the orgin manipulation on the top Right drop menu. This makes it so you are manipulating the origin and not the object mesh.
Then activate Snapping to Faces or Vertices with 'Align Rotation to target' enabled.
Then press G to move the origin and snap it to a vertice or face that is aligned with the orientation you want. For an object like that there's probably a vertex right in the middle of the bottom part that has the correct normal.

The snapping won't alight the Y and X normals of the object perfectly but if you just want it to be oriented upwards correctly then it's probably the fastest way.
Another solution is to just rotate the object manually. It will work with a regularly shaped obj like this, that has flat loops to use as reference
Just get a really close up view of the red X part in isometric view and put the cursor there. Then use the cursor as the pivot and rotate it until the green line aligns with the grid in the background. The closer you get to the ideal rotation the closed you can zoom in on the other side, blue circle, to make sure that it aligns with the grid there as well.
The object seems to only be rotated in the Y axis so this would also be pretty quick to do in this case. And past a certain point it doesn't really matter if the alignment is 100% or not for 3d printing


text:
Why is my fluid sim in blender ignoring my obstacle mesh from unreal (megascan asset)?
So im doing a little creek thing planning on having flowing water eventually, but at the moment have run into a problem with the mesh I brought into blender from UE5 using megascans.
Im using the FLIP fluids addon for blender 4.1, ive tried adding a solidifier modifier this did not work, and I've double checked normals. Yes, there are a couple of cracks in the creek bed since it is made up from multiple megascan assets, was thinking that wouldnt matter though?
I did attempt to try and remesh it but blender crashed so I thought Id ask around before trying to get that to work.
Really bummed about this so any help would be much appreciated!!


text:
Insert Keyframe doesn't put keyframe in animator timeline
I'm making a simple character in blender. I want to animate it, so in pose mode, I rotated the bones a bit and pressed I to insert keyframe.

When I click the Location, rotation, and scale button however, no keyframes appear in the animation timeline window. I'm probably forgetting something really dumb. Can anybody tell me what it is?

I figured out why. It's because I wasn't in the Action Editor.

i am sorry, but i have to disappoint you. If you are in pose mode (and the color of your bones gives this impression) and if you keyframe now your selected bones with "I" in the viewport this WILL work. The reason in your case why it might not work is, that you had no keyframes before and you press I while your cursor was on the timeline (or even another reason). So...sorry, your answer is wrong.


text:
Texture Painting draw tool doesn't work, but fill tool does
I'm trying to texture paint a character in blender, however I'm running into a problem. I'm able to use the fill tool to color in the mesh, but the draw doesn't do anything.
For example, when I use the fill tool and choose a color like blue, then click the character, it turns blue. But when I select the draw tool and try to color the character, nothing happens.

Here's a picture of my UV's. I think I got everything for the texture painting to work. Does anybody know why it doesn't?!?

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

Actually, I've found the answer. It's because I had a texture for my paint brush. Since there was no texture, nothing happened when I clicked with the brush. I solved this by going to the texture properties tab and deleting the brush


text:
how to perfectly straighten an object?
BEFORE

AFTER

Degree is not known.
Is there a method to straighten an object?
no need to re-create.

@JohnEason
in the first image, the object is rotated approximately 30 degrees along the x-axis. But it is not known how much exactly.

Ok. I deleted my comment because I saw what you meant before you added your comment. See if this YT video helps.

Incidentally that video is for Blender 2.8 but I assume you can still do the same in 2.79?

@JohnEason thank you very much, when I clicked on the link, youtube suggested another video, this video also helped another-video-yt

if there are other ways, i would love to know

Glad to be able to help. It's not something I've encountered myself but a quick Google search usually finds an answer. You just have to work out how to word your search term to get the answer you need! :^)

2.81+

In Edit mode select one of the rectangular faces and make a new custom orientation from the orientation menu in top of 3D view:

In Object mode choose affect only origins in the right top corner of the 3D view:

Now in menu Object ⇾ Transform ⇾ Align to transform orientation

Disable affect only origins back and press Alt + R. Object will be perfectly aligned.

Note for older versions.
In case if you are using older versions, and you haven't affect only origins option which was introduced in 2.81, you can do the following:

As before

Add new empty object and in menu Object ⇾ Transform ⇾ Align to transform orientation

Parent object to empty, select empty and press Alt + R

Select Object and unparent it Alt + P - Keep transform.

Apply transform Ctrl + A -> Rotation

Thank you! Also remove the custom orientation in step 4


text:
Why doesn't the render focal length match my camera focal length?

I've changed the focal length of my camera from ~50mm to 35mm
I want to be able to see the door and the ceiling in the rendering
BUT the rendering is stuck on 50mm
As you can see in Image 2, the ceiling and door are cut off.
I've tried:
-re-saving and re-starting Blender
-making a new camera altogether and setting it as the active camera
Many thanks in advance!

are you sure that you've selected the good camera in the Scene panel? Please share your file so that we can check: https://pasteall.org/blend/

Thanks for answering!
Yes I did check :)

Woops, meant to add: Something weird is that the focal length doesn't always save... Like I change it to 35mm then close Blender and re-open and it's at 50mm again. Here's the file: https://pasteall.org/blend/726cdf2243f64fb8a6bfc3935f82c75e

weird because it works fine for me, the camera view matches with the render: https://zupimages.net/up/22/20/nsg6.jpg

Thanks for checking it moonboots! So the camera view / render view in your screenshots is ~50mm, not 35mm. As I mentioned, changing the camera focal length to 35mm doesn't seem to stick when I save and close. Do you mind checking if you're able to change the camera lens length to 35mm and see if it's still set that way when you close and re-open blender? Maybe that's part of why I can't render the 35mm view?

it still works, but note that you've keyframed your Focal Length, so if you change its value, make sure that you keyframe again with the new value, or remove this keyframe, otherwise it will go back to the keyframed value

You've keyframed the Focal Length of your camera at 50, so if you ever want to change the focal length you need to either remove the existing keyframe or keyframe the new value, otherwise the render will stay at a focal length of 50:

Oh my gosh, that was it! Thanks so much for figuring it out!! Much appreciated!!!


text:
How to properly override bpy.ops.node.backimage_fit()?
I need some help calling bpy.ops.node.backimage_fit(), I cannot find the proper context override
screen = bpy.context.screen
for area in screen.areas:
    if area.type == "NODE_EDITOR":
        windows = context.window_manager.windows
        print(context.active_node) # Node Editor area not found!?

        with context.temp_override(
            active_node= composite_node,
            window=windows[-1], # new opened window
            area=area, # node editor
            region=area.regions[3], # bl_rna: <bpy_struct, Struct("SpaceNodeEditor") at 0x00007FF61BDE9C80>
            space_data=area.spaces[0] # <bpy_struct, SpaceNodeEditor at 0x0000019FBA1E6388>,
        ):
            bpy.ops.node.backimage_fit()

Attached is a picture of the new window I'm calling this on (it's a different window from the "main" window)
This seems to be the C code that defines the poll for the operator, but I don't think I understand it
https://github.com/blender/blender/blob/ad7d7212c10f87ce153f0270c5c26b2317375b1c/source/blender/editors/space_node/node_view.cc#L58

I tried to brute-force it but still isn't working
  for window in context.window_manager.windows:
      screen = window.screen
      for area in screen.areas:
          for region in area.regions:
              try:
                  with context.temp_override(
                      active_node=composite_node,
                      window=window,
                      area=area,
                      region=region,
                  ):
                      bpy.ops.node.backimage_fit()
              except:
                  print(window, screen, area, region)


text:
Applying second material on part of object
I need to make object with multiple materials, but some parts need to be "irregular" shape. I attached screenshot to explain better what I need to do. What is the best way to select part of object surface (similar to one on screenshot) so I can apply secondary material (mostly that would be some other color)
Tnx for help

In the shader editor, create the first material you need. Then, duplicate the principled BSDF, and create the second material. Add a mix shader, and plug both BSDF into it.
In the factor, connect a mask texture. This is basically a black and white image telling Blender where to show each material.  It can be made with a noise texture and a color ramp. Use CTRL + SHIFT + LMB to preview a specific node. This will help you to know what your mask looks like.
This is what the node setup could look like.

Of course, for the mask, you can use any black and white image you want, meaning you can also make it by hand in the texture painting panel.
Hope this helps.

Thank you for your help!

You can use masking in a node based material or select the faces you want to have the specific material and press "assign" on the material tab (make sure the object contain multiples material)
here is a quick tutorial:
https://www.youtube.com/watch?v=ms89wP8m4ZU&ab_channel=Olav3DTutorials
and here a quick unpolished test showing what you can achieve:
Here I used the knife tool to create the blue shape, it is not ideal as it could mess with the topology (there is a subdivision surface modifier on the object so the shape is more organic) so I would recommend using masking in node based texture.

Thank you for your help!


text:
Image not updating in render when pixels changed using bpy
I've got the following simple setup:
import os
import pathlib
import bpy
import numpy as np

for i in range(10):
    if i == 0:
        # Add a camera
        cam = bpy.data.cameras.new("Camera")
        cam_ob = bpy.data.objects.new("Camera", cam)
        bpy.context.scene.collection.objects.link(cam_ob)
        bpy.context.scene.camera = cam_ob
        cam_ob.location = [0, 0, 15]

        # Add a light
        light_data = bpy.data.lights.new(name="SUN", type="SUN")
        light_obj = bpy.data.objects.new(name="SUN", object_data=light_data)
        bpy.context.collection.objects.link(light_obj)

        # Create plane
        vertices = [
            (-5, -5, 0), (5, -5, 0), (5, 5, 0), (-5, 5, 0)
        ]
        m = bpy.data.meshes.new("Cube Mesh")
        m.from_pydata(vertices, [], [range(len(vertices))])
        o = bpy.data.objects.new("Cube", m)
        bpy.context.scene.collection.objects.link(o)

        # Add a material
        mat = bpy.data.materials.new("Plane")
        m.materials.append(mat)
        mat.use_nodes = True

        # Create an image texture
        tex = mat.node_tree.nodes.new("ShaderNodeTexImage")
        bsdf = [node for node in mat.node_tree.nodes if node.bl_idname ==
                "ShaderNodeBsdfPrincipled"]
        assert len(bsdf) == 1
        mat.node_tree.links.new(
            tex.outputs["Color"], bsdf[0].inputs["Base Color"])
        tex.image = bpy.data.images.new("Albedo", width=200, height=200)

    # Update image pixels
    color = [np.random.random(), np.random.random(), np.random.random(), 1]
    albedo = np.full((200, 200, 4), color, dtype=np.float32)
    tex.image.pixels.foreach_set(
        albedo.ravel().tolist(),
    )

    # Render
    outdir = pathlib.Path("output")
    os.makedirs(str(outdir), exist_ok=True)
    bpy.context.scene.render.image_settings.file_format = "PNG"
    bpy.context.scene.render.filepath = str(outdir / f"render-{i}.png")
    bpy.ops.render.render(animation=False, write_still=True)

I'm rendering 10 images of a plane with an image texture.
At every iteration I'm creating an image with a random color and modifying the shader texture pixels.
The weird thing is that all the rendered images are the same. They all have the color applied on the first iteration.

Once the script has finished, if I go to the shading tab, I see that the image texture applied to the BSDF Base Color is different to the one being rendered. Even if I render manually (F12) I still get the original blue color, despite the color being the pink one:

If I manually re-apply the material to the object and re-render, I get the pink color on the render.
Is there a way to update the texture node before rendering?

Hello ! It's a shot in the dark but maybe try https://docs.blender.org/api/current/bpy.types.Image.html#bpy.types.Image.update

May I ask why does the Python have this test ... if i == 0 ... ?

Through a single execution of the Python script how many times do you believe ... color = [np.random.random(), np.random.random(), np.random.random(), 1] is executed?  How many different colors being created is your goal?


text:
how to make glass show up in my sene

i cant figer it out to fix it i thog someone wouod help me

This question is similar to: Transparent Glass Material Eevee Blender version 4.2. If you believe it’s different, please [edit] the question, make it clear how it’s different and/or how the answers on that question are not helpful for your problem.

You could at least show your material setup for the glass. Is there a glass dome supposed to be in the scene? To me it looks as if you have made the glass invisible by setting the alpha to 0, but this is not the right way to create a glass material.

In Eevee, since Blender 4.2 you first need to activate the Raytracing option in the Render panel:

Then select your glass object and in the Material panel > Settings > Surface > choose Render Method > Dithered, activate Raytrace Transmission and choose the Thickness:


text:
I'm struggling with fields
I come from a Houdini background and am trying to do something simple that you might be able to help with.
I want to iterate over each face of a cube using the for each element node with the domain set to face. I then want to make a mesh line start at the centroid of the face and extend out in the face normal direction.
Since I can only seem to get the Normal and position data from field nodes and can't connect field function data to attribute nodes how would I go about doing this.
I think I just need to see a basic node setup and understand it.
Note: I've watched the various videos on introduction to fields, but they don't seem to cover this kind of simple task.
thanks in advance!

Sounds like it would be easier to capture the face orientation, then instace the meshlines on the face positions and orient them.

What about Leander proposal to let an Instance on Points node take care of the loop ?

Your example doesn't really use the full power of "fields" (in the sense that fields can take multiple values, one for each element in the domain). This is because you're using a foreach and doing so, you're just taking single values. Anyway, you could do it in a similar way as you would do using fields, as shown below.
Fields are dependent on "context", and the context is usually given by the geometry you're attaching the fields. (This is not a strict rule, though, as you will see with the "sample index" node below) - This is a good reading, although incomplete regarding "which context" each input socket uses for many nodes: https://docs.blender.org/manual/en/latest/modeling/geometry_nodes/fields.html
Using a loop and sampling single values
Below, is a setup doing what you asked, with some comments:

I don't have blender 4.3, so instead of a foreach, I used a repeat zone

That's why I have a "face index" (that you don't need)
and a frame containing the separation of a single face by index (that you also don't need)

In each iteration, you create a mesh line.

Since I'll be connecting values to the sockets of this mesh line node, this line will be the one creating the context
But this node expects "single values", though, which defeats the "field" usage ((notice the "round" sockets instead of diamond sockets)

Since you want values from "another geometry" (not the lines), you will need to use nodes like "sample index", "sample nearest", etc.

The sample index works like this:

The "index" socket of the "sample index" uses the context of the "mesh line" (the geometry that is after it) - So, any input node you put there will be reading from the "mesh line"

I'm sampling index = 0 because we have a single face (the for each element does that)
Also because the "mesh line" doesn't expect "field values", it expects single values.

The "value" input socket, on the other hand, will use the context of the "face" (the input geometry of the sample node) - So, the input nodes there will take from the face

Not using a loop and sampling field values
An example exploring the power of fields in the sense of taking multiple values:

Here, I explore the power of fields by making them actally sample multiple values:

The "Points" node has a "position" input socket.

The context of this position input is the points
I sample the position of the faces (because the faces are a different geometry from the points)

Index input of the "sample index" is then using the "index of the points" (translation of the setup: give me the face whose index equals the index of the current point I'm working with)
The "value" input of the "sample index" is using the context of the face (translation of the setup: give me the "position" of this face)

The "instance on points" is working in a similar way

The context is the "points"
The "sample index" will read the index of the points and return the face with that index
The context of the "value" is the cube and it reads the normal of the cube

The main different in terms of "fields" between the two is that in the first example, I use "sample index" with a constant index = 0 (that means I'm sampling "single values" instead of field values, and this will be compatible with your task)
In the second example, though, I'm connecting a field to the "index" in the sample index, making it actually a "field value", varying for each element in the context.

In the second solution I think you should connect "Face Count" to "Count" of Points node but I could be wrong

@DanyaK, thanks]


text:
Mirroring shape key for blink gone wrong
I've been trying to duplicate and mirror a blink shape key so that both eyes have the same animation, it is for ARKit fave tracking, and i've watched a bunch of tutorials for simetrical and non simetrical objects, I followed this tutorial https://www.youtube.com/watch?v=oEjPN_QcwxU creating a Sahpe from Mix > Mirror topology and something weird happens with the vertex that breaks the shape key
This is the inside of the face in the normal blink that works:

And this is the mirrored one:

The blink transfers fine, but for some reason there is like a duplicate of the entire face that is doing a horizontal mirroring at the same time


text:
One object becoming black in render view
i'm following a tutorial and i just have to render it but the headboard of the bed is black in render view. Another weird thing is that in render view the top part is black and when rendering, the front part is black instead. What could be causing this?

Hello maybe it's z-fighting effect (faces overlapping)? Check the topology of your bed...


text:
Is it possible to randomly generate objects along a selected objects edge or curve?
Looking to see if I can add objects along another objects edge (or a curve) from a selection of objects (E.G: Cube, Sphere, Cone).  What I'm also looking for is the ability to edit the objects that have been generated afterwards.
Below is an example of what I want to achieve but on a larger scale :

The 3 smaller objects would be randomly generated fully around the selected edge loop in no particular order.
Pretty sure Geometry Nodes will play a part in this but I'm fairly new to it and can't see an edge option.
Any help is appreciated!

With geometry nodes there are a few options:

For all of them, you will need a collection containing the random things.

The "origin" of the random things must be at their center or base depending on your goal (the point that will coincide with the geometry is the origin)
The scale of the random things must be 1 (apply scale if needed with ctrl+a)

Option 1:
On existing vertices of geometry:

Option 2
Random points on faces:

Option 3
On curves:

Important:
Since you want to "edit" the random things later:

you need the "realize instances" node (to transform instances into actual geometry
you need to "apply" the geometry nodes (to make the modifier become an actual mesh)

For using the "selected loop"

Make a "tool" geometry nodes instead of a "modifier"

Make it available in "edit" mode

Then you use a "Selection" node to read the selected points. In this case, I used a "capture attribute" instead of using two "sample index"

Alternatively, you can convert the selected loop to curve (mesh to curve) and use the curve option instead.

File

This works really well!  Slight improvement which I forgot to mention.  Is it possible to make the generations equal distance apart and in order?  Kind of like an array modifier but with the randomness of each object?

On a curve, yes. (Convert mesh to curve with "mesh to curve"). On the "sample curve" node, the "factor" will be (instead of a "random value") an expression "index" / point count - @Gracus

If the post answers your question, please mark it as answered


text:
Image Sequence render issue
Im using an image sequence as a texture on a plane
The issue is when I render my scene it is not rendering the image sequence correctly.
My image sequence is simply some text that as the frames go on it says "Police in your body"
like so

Now here is my render result. It stops at "Police". Its like Blender is experiencing an issue with reading the image sequence properly. Its the same in the viewport its correct up until a certain point.

I  would greatly appreciate any help

When it's a texture on a plane, the very least you could do is show us a screenshot of the material setup of the plane. And you are sure the image sequence is correct, all frames are okay and in the place where Blender is looking for them?


text:
Sheepit missing video textures
I am using an mp4 as a video texture in my blend file. I don't have any issues with any other of my textures only the mp4. When I try to upload my file to sheepit I get the following messages. I have attached some images so you may understand my problem.

I have read online that maybe Blender doesn't support the packing of mp4 videos. I have found a work around this in the past. I just cant remember how I manage to upload a blend file that uses an mp4 as a texture.

Yeah, it does seem like video files can't be packed, according to the docs. Maybe converting the MP4 to a image sequence might do the trick?

Can't you upload zip files to sheepit, containing the video alongside the blend file correctly mapped in the blend file?

Suggest you ask Sheepit since it doesn't have anything to do with Blender!

What you have read online is true, you cannot pack videos into a blend file. Apart from that I agree with @JohnEason that it's not really a Blender problem.


text:
Emmision not working for Principled BSDF
I have an image texture of some windows(as you can see from the other objects in my file. When I plug in this image texture into the emission it does not work. I tried it with a cube and it worked. Im guessing my issue might have to do with my mesh but I have no clue what to do.

Do you have UVs on your windows? If not, the texture won't be visible as it has nothing to sit on

Thanks I cube projected it then it worked


text:
How to fix UV's
Ive finished making these buildings. Now I want to UV unwrap and project the buildings to transfer to a different project. The problem is my UVs. Ive tried merging by distance and I still have bad UV's. Any Ideas? I cant move or scale the faces because it will change the look.
Thanks for your help

hello what do you mean by fix the UVs? If the result is the one you want, why would you change the UVs?

Search for anvil tutorial (I think modern version is chair tutorial), it teaches how to UV unwrap an object. It seems that you're missing some seams.

Apologies for the confusion, I may have caused by using the wrong terms I'm a beginner still. I want to unwrap and bake these buildings to bring to a different blender project. In my UV editor, it tells me something is wrong. What should I do? Ive been researching for solutions but can't find any I've tried merging faces by distance and it hasn't helped @moonboots

@MarkusvonBroady Thanks for the reply I will check it out wish me luck!

"it tells me something is wrong" Do you have an error message? What is it? You should start by that.

Okay following the standard process. I made a new material then I smart UV projected my building on this. The first problem I noticed is my "windows" looks different now. The second problem I have is overlapping vertice. Any advice? @L0Lock

So no error message anymore? Also, your model look like they are already textured, why do you want to change de UVs?

Yeah please ignore the error message for now. I reverted to an older version of my file and have tried to begin this process again. Maybe I am communicating my problem the wrong way. I want to bring these buildings to a different project. So the first thing to do is unwrap then bake right? If this is correct, how do I fix  the problem of my windows looking different after smart UV projecting the buildings @L0Lock

How are your textures mapped in your screenshot? If it's already using UVs, then you don't need to unwrap UVs again.

Select the sharp edges at the corner of buildings and mark those edges as seem. They should show a red tint. After you did all the necessary cuts, you can unwrap your model and you would have one "simplified" face for each side of the building in your UV.


text:
python - How to color accurately convert from rgb 0-255 format to values in 0.0f-1.0f
The color accuracy is completely wrong when you convert from byte rgb to float.
13/255.0, 105/255.0, 171/255.0 =
R: 0.050980, G: 0.411764, B: 0.67058

While if you were to convert the byte rgb to hex and insert that into blender where you change the base color of the material, you would get these values.
R: 0.004025, G: 0.141263, B: 0.40724

I first thought that the inaccuracy might happen because of floating division accuracy but that isn't the case and its most likely some sort of gamma correction happening within blender.
The problem is that you can not create materials by giving diffuse_color hex values let alone byte values since it only accepts floating numbers.
https://docs.blender.org/api/current/bpy.types.Material.html#bpy.types.Material.diffuse_color
Is there some sort of way to do the gamma correction which blender does but apply it when converting from byte rgb to floats?

Hex colors are in sRGB. You need linear colors. The conversion is (from here)
def color_srgb_to_scene_linear(c):
    if c < 0.04045:
        return 0.0 if c < 0.0 else c * (1.0 / 12.92)
    else:
        return ((c + 0.055) * (1.0 / 1.055)) ** 2.4

print(color_srgb_to_scene_linear(13/255))  # => 0.00402
print(color_srgb_to_scene_linear(105/255)) # => 0.14126
print(color_srgb_to_scene_linear(171/255)) # => 0.40724


text:
Bottom half of cycles render isn't rendering specific material
The image (as attached below) is a Cycles render (not viewport render) that I tried to see what was going on with the glass in my project. In rendered viewport mode, the glass is completely invisible.
As time goes on, the render renders less and less of the glass - in sharp lines (as emphasized by the pink lines). I don't know what's going on.

Steps I've tried:

Changing the lighting to highlight the glass more.
Appending the collection to a separate file.
Turning up Transparent light bounces from 8 to 56.
Turning up ALL bounces to 56.
Turning on (and off) Simplify.
Changing the camera angle.
Appending everything from one file to another.
Unhiding all objects.

None of these changes have made any impact whatsoever thusfar and I have no idea what the issue is. This is the second time I've had an issue similar to this, on two separate versions of Blender (2.something, 3.1)
As for the material, here is what my node group looks like: (Keep in mind my UI is just purple, there are no drivers. Also, the Texture Coordinate nodes are both being used as UV outputs.)

And here are the steps I've taken to fix this:

Removing the Normal Map.
Removing the Glass BSDF.
Replacing the material with the default Principled BSDF (THIS DID WORK, but doesn't really help)

Changing the default Principled BSDF Roughness to 0.0 and Transmission to 1.0 (this also worked, but still doesn't really help)

Replacing the Specular input with 1.0 and Specular Tint with 0.0 (and 1.0, neither worked)

IOR was set to 0.0. Setting all IOR values to 0.05 fixes the issue. This seems like a bug.


text:
I'm stuck on lasso mode
I started using Blender yesterday after using Maya for 6 years. I'm in edit mode, stuck on some kind of lasso mode. I'm not sure how I even got into lasso mode. Previously it was in circle mode. This is only happening in Edit mode. In object mode I have a traditional marque square to select with. I would like to get this in Edit mode. Please can anyone tell me how to get rid of this lasso? Thank you.

The hotkey W lets you swap between selection modes. Press W a few times until you get to your desired selection mode.

I tried the W, it didn't do anything. I feel like there are lot of bugs in Blender. But, I finally did figure it out. I was trying to right click. It never occurred to me I needed to left click to change it, lol. This is so different than Maya, lol.

The shortcut might be different depending your settings. You can see it in the tooltip when hovering the GUI with your mouse. But in any case you can just hold-click that active tool (or any active tool icon with a white corner) to see and select a different mode of the tool.

If you click and hold the lasso tool in edit mode, you will get a list of tools to select from:
From there you can select "Select Box". You can also do this in object mode.

Hi. Thanks. I finally got it. I was right clicking instead of left clicking. This is such a learning process, lol. I'm just coming over from Maya. It's all so different. thanks again.

@akabk_74 I think you can change the default to right-click instead of left click to select


text:
Upgrading 2.79 .py addon to 2.80
I'd like to figure out how to get this addon working in post 2.79 versions of blender.
Any pointers where to start?
> bl_info = {
    "name": "Unreal Brush to Clipboard (.t3d)",
    "category": "Import-Export",
    "desctiption": "This is an exporter for Unreal Editor 2 (Unreal Engine 1).\n\nIt uses subprocess and Windows' clip command to paste the brush data\ninto the clipboard so it can be pasted directly into Unreal Editor.",
    "author": "Gustavo Ramos 'Gustavo6046' Rehermann"
}

import functools
import bpy

brush_template = """
Begin Map
Begin Actor Class=Brush Name=Brush0
    CsgOper=CSG_{}
    PolyFlags={}
    MainScale=(SheerAxis=SHEER_ZX)
    PostScale=(SheerAxis=SHEER_ZX)
    Level=LevelInfo'MyLevel.LevelInfo0'
    Tag=Brush
    Region=(Zone=LevelInfo'MyLevel.LevelInfo0',iLeaf=-1)
    bSelected=False
    Begin Brush Name=BlenderExportedBrush
        Begin PolyList
            {polygons}
        End PolyList
    End Brush
    Brush=Model'MyLevel.BlenderExportedBrush'
    Name=Brush1
End Actor
End Map
"""

polygon_template = """
            Begin Polygon Texture=BKGND Flags={flags}
                {vertices}
            End Polygon
"""

vertex_template = """
                Vertex {x},{y},{z}
"""

csg_kinds = {
    "add": "Add",
    "sub": "Subtract",
    "act": "Active",
}

solidity_kinds = {
    "solid": "0",
    "smsld": "20",
    "nonsd": "8",
}

flag_kinds = {
    "masked": "2",
    "modulated": "40",
    "twosides": "100",
    "portal": "4000000",
    "translucent": "4",
    "mirror": "8000000",
    "unlit": "400000",
}

def get_flags(flags):
    try:
        return functools.reduce(lambda x, y: x | y, [int(flag_kinds[x], 16) for x in tuple(flags)])

    except TypeError:
        return 0

def generate_brush(polygons, csg, flags, solidity):
    return brush_template.format(csg_kinds[csg], get_flags(flags) | int(solidity_kinds[solidity], 16), polygons="\n   ".join(polygons))

def generate_polygon(vertices, flags, solidity):
    return polygon_template.format(flags=get_flags(flags) | int(solidity_kinds[solidity], 16), vertices="\n ".join(vertices))

def generate_vertex(x, y, z):
    if x >= 0: x = "+" + str(x)
    if y >= 0: y = "+" + str(y)
    if z >= 0: z = "+" + str(z)

    return vertex_template.format(x=x, y=y, z=z)

def convert_mesh(object, scale=64, csg="add", solidity="solid", flags={"twosides"}):
    mesh = object.data

    vertices = [x.co for x in mesh.vertices]
    polygons = mesh.polygons

    result = ""

    polys = []

    for poly in polygons:
        polygon_vertices = []

        for vi in poly.vertices:
            polygon_vertices.append([x - y for x, y in zip(vertices[vi], vertices[0])])

        polys.append(generate_polygon([generate_vertex(*[x * scale for x in v]) for v in polygon_vertices], flags, solidity))

    return generate_brush(polys, csg, flags, solidity)

class ClipUnrealBrush(bpy.types.Operator):
    """Blender to Unreal Brush to Clipboard (.t3d)"""
    bl_idname = "export.unreal_brush_clipboard"
    bl_label = "Export Unreal Brush to Clipboard (.t3d)"
    bl_options = {'REGISTER'}

    scale = bpy.props.FloatProperty(name="Scale", default=64, min=1, max=2048)

    filename = bpy.props.StringProperty(name="Filename", description="The file to save .t3d to.", default="", subtype='FILE_PATH')

    clipboard = bpy.props.BoolProperty(name="Clipboard", description="Whether should the data be copied in the clipboard.", default=True)
    export_file = bpy.props.BoolProperty(name="Save to File", description="Whether should the data be exported to a file.", default=False)

    csg = bpy.props.EnumProperty(name="CSG Type", items=(
        ("add", "Additive",             "This kind of brush will fill empty space previously subtracted in UnrealEd. The map's void is filled entirely with this for instance."),
        ("sub", "Subtractive",          "This kind of brush will attempt to add empty space where there isn't yet inside the brush's enclosing."),
        ("act", "Red Builder Brush",    "This is the Red Builder Brush, which is useful in generating multiple brushes of it's kind, and of any CSG kind, including semisolid."),
    ), description="The CSG of the brush exported to the clipboard.", default="add")

    solidity = bpy.props.EnumProperty(name="Solidity", items=(
        ("solid",   "Solid",        "Solid brushes won't do BSP cuts in semisolids. All subtractive brushes are solid."),
        ("smsld",   "Semisolid",    "Semisolid brushes won't do BSP cuts in solids, useful for avoiding BSP errors in solid brushes, but only available for Additive brushes."),
        ("nonsd",   "Nonsolid",     "Nonsolid brushes are a special kind of brush where instead of being a volume, the polygons determine each a different plane. Useful for complex zone separators, but cuts through both Solids and Semisolids as a plane. Some of the physics in Nonsolids are also present in non-manifold (in the sense of no volume) Solid and Semisolid polygons."),
    ), description="The Solidity of the brush exported to the clipboard.", default="solid")

    flags = bpy.props.EnumProperty(name="Polygonal Flags", items=(
        ("masked",      "Masked",           "Every pixel containing as color the 1st index of the bitmap's pallete will be transparent in the polygons."),
        ("modulated",   "Modulated",        "A special kind of transparency. For more see: https://wiki.beyondunreal.com/Legacy:Color_Blending#Color_Blending_Modes"),
        ("twosides",    "Two-Sided",        "Every polygon has two sides, no matter the normal. Useful for when you are unsure as for the polygons' normals or non-manifoldness."),
        ("portal",      "Zone Portal",      "Used to separate multiple zones, e.g. a plane to separate a water's submerged zone from the outdoors lake area and the indoors factory. But this is probably my creative imagination. :3"),
        ("translucent", "Transparent",      "The polygons are translucent (i.e. semi-transparent; not the exact notation used in Blender)."),
        ("mirror",      "Mirror Surfaces",  "Like the Glossy material in Cycles, reflects in real-time."),
        ("unlit",       "Unlit",            "The surfaces are always full-bright,no matter the light sources around in UnrealEd."),
    ), options={'ANIMATABLE', 'ENUM_FLAG'}, description="The flags of every polygon exported into the clipboard.")

    def execute(self, context):
        print(self.csg)
        print(str(self.csg))
        result = convert_mesh(context.object, self.scale, str(self.csg), str(self.solidity), set(self.flags))

        res = result.splitlines()
        result = ""

        for l in res:
            if l.replace(" ", "").replace(" ", "") != "":
                result += "\n" + l

        result = result[1:]

        if self.clipboard:
            bpy.context.window_manager.clipboard = result

        if self.export_file:
            file = open(self.filename, "w")

            file.write(result)

            del file

        return {'FINISHED'}

    def invoke(self, context, event):
        wm = context.window_manager
        return wm.invoke_props_dialog(self)

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

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

if __name__ == "__main__":
    register()

replace = with : every time there is a bpy.props definition inside an operator

Thanks, that's got it working.


text:
how to deselect one keyframe every nth on a multiple objects selection?
I selected multiple keyframes on the Dope Sheet > summary (multiple objects then).
I'd like to deselect one keyframe every two (selected, not-selected, selected, ...), like a true-false in the list of keyframes.
Bonus: I'll also like to deselect every nth frame.

https://blender.stackexchange.com/questions/3292/how-to-select-even-odd-keyframes-with-python

My point was to DEselect, so here's the working script based on link provided:
bl_info = {
    "name": "Partial Deselect",
    "blender": (3, 0, 0),
    "category": "Object",
}

import bpy

def main(context, nthkey=2):
        for action in bpy.data.actions:
            for channel in action.fcurves:
                for key in channel.keyframe_points.values()[0::nthkey]:
                    key.select_control_point = False
                    key.select_left_handle = False
                    key.select_right_handle = False

class ChannelSelect4Key(bpy.types.Operator):
    """Partial deSelect"""      # Use this as a tooltip for menu items and buttons.
    bl_idname = "anim.channel_select_4th"
    bl_label = "DeSelect 1 keyframe every 4 keys"
    bl_options = {'REGISTER', 'UNDO'}  # Enable undo for the operator.

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

class ChannelSelect3Key(bpy.types.Operator):
    """Partial deSelect"""      # Use this as a tooltip for menu items and buttons.
    bl_idname = "anim.channel_select_3th"
    bl_label = "DeSelect 1 keyframe every 3 keys"
    bl_options = {'REGISTER', 'UNDO'}  # Enable undo for the operator.

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

class ChannelSelect2Key(bpy.types.Operator):
    '''Select odd keys for selected channels in the dopesheet'''
    bl_idname = "anim.channel_select_2nd"
    bl_label = "DeSelect 1 keyframe every 2 keys (even)"
    bl_options = {'REGISTER', 'UNDO'}  # Enable undo for the operator.

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

def menu_func(self, context):
    self.layout.operator(ChannelSelect4Key.bl_idname)
    self.layout.operator(ChannelSelect3Key.bl_idname)
    self.layout.operator(ChannelSelect2Key.bl_idname)

def register():
    bpy.utils.register_class(ChannelSelect4Key)
    bpy.utils.register_class(ChannelSelect3Key)
    bpy.utils.register_class(ChannelSelect2Key)
#    bpy.types.VIEW3D_MT_object.append(menu_func)  # Adds the new operator to an existing menu.

def unregister():
    bpy.utils.unregister_class(ChannelSelect4Key)
    bpy.utils.unregister_class(ChannelSelect3Key)
    bpy.utils.unregister_class(ChannelSelect2Key)

# This allows you to run the script directly from Blender's Text editor
# to test the add-on without having to install it.
if __name__ == "__main__":
    register()

You'll need to enable Edit > Operator Search through Edit > Preferences > Interface > Developers Extra and search for 4 or 3 or 2, and you'll get the deselection.


text:
Animated array modifier and scaling
I want to create an animation of a wing deploying to this position:
From a position where all of the "feathers" are pointed straight down:

I am using an array modifier with an empty for the scale and rotation of the feathers, and when I change the rotation of the empty to put the feathers in the back position, they change their shape.
Is there some way that I can maintain the size and shape of the feathers when I rotate the empty?

if you don't scale the empty, the instances should not scale

if he doesn't scale the empty, the meshes won't be scaled -> but that's what he wants ;), that's why i think the array modifier might not be the right solution here....

i would give GN a try:

The mix color nodes is used here to drive the animation from zero rotation to the "right" rotation. Animated is just the factor from zero to one.

It should be fine with an object-offset array around an Empty.The transform from array element 1 and the Empty will be recursively applied between elements 1 and 2, 2 and 3, and so on.
Here, the Empty and element 1  share an origin in XY. The Empty is slightly down in Z. The Empty is scaled along its local X. The X axes start out aligned.

As the Empty is rotated about the common local Z, the blades are splayed. But GN is a more flexible solution here. You have no control over the shape of the wing using an array, in which each blade must be a constant scale of the previous one.


text:
Missing Edges - How can i fix this?
im new to blender and Im following a tutorial.
Yesterday, i was working on vertices and edges to create a 'human face'. i saved it.
Today, i opened my file again and i realise that some of the edges(i used subdivide) are missing.
i tried to subdivide but its reading as if its a second subdivide and not on the supposed curved edge.
is it still posible to fix this??

Does it still happen when you de-select that little blue, upside down triangle shape in the sub-division surface modifier you have there?

@MarkGrant I de-select the 'On Cage' and still not reveal those edge

I would have said as Mark Grant, but please share your file: https://pasteall.org/blend/

@moonboots i tried uploading it https://pasteall.org/blend/dde90c39ed924b38abe517f0419c27e7

so that's what Mark said, the Subdivision Surface modifier creates new vertices, you can't select them as they are virtual (you need to apply the modifier to make them exist).

@moonboots i see.. i understand it now :)


text:
Replace Mesh into Spot Light
can I turn meshes into light object?
Like 10 cones into 10 spot lights
I use SketchUp as my main modelling software & cycles as my main renderer.
The idea are... I place a cone (mesh) on every downlights on sketchup, then later, I want to replace all of them with spot light (light) on blender. is there any way how to do that?
thanks.

Uhh... this is VERY unconventional. However, if the cones actually DO ex/import as individual objects and not one big object or 500 individual face objects, this can be done rather easily.

The cones actually do import as individual objects on blender. 10 mesh on sketchup = 10 mesh on blender. Why can't I comment on people answer, on my own threads? :(

Can reply to comments from your original Raha account.  This is another with same username. Edit any extra details into question.


text:
Spotlights not touching the scene
I'm new-ish to Blender, mostly using it on a casual basis. I have no experience with cycles or nodes but am working with basic geometry to make a floor plan/scene in my spare time.
My issue, which I haven't understood the answer to in the questions I looked for, is that the spotlights I've added to the scene aren't even affecting the rendered image. At first it was grey with the world lighting, but after I followed some advice and lowered the world strength it simply went black. My spotlights aren't working at all.
Very basic question but would love some help with this

Increasing the power to 1000 or 10000 watts usually fixes it. Watt values usually aren't  below 100

Thank you, that helped me!


text:
Sun Lamp not shining through Glass
I've set up my first scene in experimenting with lighting and glass, and at one point I managed to have the Sun lamp object shine through the windows and cast intense shadow inside the room. This was exactly what I wanted. However, in trying to switch to 'Cycles' mode, my PC crashed. I lost those few hours of work. No big deal, except I can't make the transparency work again.
Emission objects seem to pass their light through the glass, but the Sun lamp I set up isn't. This is really frustrating! Image is attached for reference of nodes used (yes, it's Principled BDSF but I used a Glass node earlier and it still didn't work as intended.) I really would love some help

can you provide your blend file?

in eevee you can use this setup:
-> important is the blend and shadow mode of the material.

if you then toggle to cycles, it works as well:

and here is the blend file:

Man, I just deleted an object I had making emission light and bam, the shadows are back! Everything is fine! Thank you for helping, I was getting incredibly frustrated!


text:
Infinite light in Blender (like c4d)?
One thing I miss coming from Cinema 4d is the Infinite light. Is there a similar light in Blender? If not, is there a way to do something similar?
For those of you who don't know, the Infinite light doesn't depend on position (doesn't matter where you put it). Instead, in order to change the lighting you change the rotation of the light.
https://youtu.be/StPAPmZN5gg?t=273
Thanks for any help!

it sound like Sun in Blender, only rotation matters, not location

What you want is most likely the sun light: https://docs.blender.org/manual/en/latest/render/lights/light_object.html?highlight=light#sun-light


text:
How do you achieve a retro 3D style, today?
Limitations of 90's 3d computer graphics produced some very stylized images.
See here: https://www.pcmag.com/news/trippy-3d-art-from-the-early-90s
I can't quite articulate, in 3d terms, why it looks retro. Low resolution? Harsh shadows? Lighting? Unrealistic materials? Of course, today's technology has gotten a lot better and more realistic.
What techniques would you use to create a 90's 3d retro style today?
I'm a beginner in 3d software. Thanks!

Robert A. Mickelsen

This is a brilliant question. One of the main things was that back then, everything was in grayspace. There was very little in the way of raytracing, so non-lamped areas, reflected (or absorbed) a particularly dead gray. This is apparent even in the most well produced 3D animation and art of the time.
Because processing power was so low, edges weren't beveled, so they were infinitely sharp--a real reality breaker.
Textures were often applied directly to primitive faces so the scale and vanishing points rarely matched between different textures if applied to planes. This gives a kind of "collage" effect that is, besides the gray cast, a hallmark of 90s 3D art.
Also, lighting was really cold, and because of the gray-ness of the surrounding bodies, everything had a gray cast.
I hope this addresses some of the issues in play, though not all of them, I'm sure.

Does a "brilliant question" not warrant an upvote?


text:
How to animate a plane that shows warping animation in the middle?
I am new to video editing and I want to animate gravity by showing a warping flat plane that curves deeper while the sphere becomes closer and closer to the flat piece of plane. How to use keyframe properly?


text:
I cant select vertex on this work or this is mask on scupting or something?
Hi i'm a newbie for blender and when im done on sculpting mode and back in edit mode i can't select vertex like my ref and when i check in sculpting mode this erea is blue, this is mask or something? how can i remove or clear out of my work?

ps.blender 3.1.2

these are face sets, you can remove them in Sculpt Mode > header menu > Face Sets > Face Set from Visible, but it should not prevent you to select a vertex in Edit mode... maybe share youre file? https://pasteall.org/blend/

It work!!  I use shot cut "W" to manage and all this gone and vertex back to normal thank you!!

ok but it doesn't explain why you couldn't select the vertex, weird

OK i know now because i press "G" to move vertex but some time my finger slap to "H"  and  "H"  has a shot key for "Hide selected" and when i press "Alt+H" that "Reveal all" that is back to normal vertex. thank to you and dummie website to help me for blender shot cut explain  https://www.dummies.com/article/technology/software/animation-software/blender/blender-for-dummies-cheat-sheet-208646/

ok so it has nothing to do with the face sets  ;)

These are face sets, which are a sort of face masks. You can remove them in Sculpt Mode > header menu > Face Sets > Face Set from Visible.


text:
UV map texture missing when edit the model
I had a problem when I edited the model. and adjusted the UV, but when I spread out the UV, only the part where the UV was visible There are only hands and feet as shown in the picture I attached. (I fixed the whole body except the hands and feet which are still original)I've tried uploading it several times but it's still the same. Did I miss something here?

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

From your image, looks like you need to activate Sync UV, it's the icon at the left of vertex selection icon (inside the UV editor) the icon is like two arrow

my link file

You have 2 slots in your material list, you've assigned the second slot to the body faces, and this slot is empty, if you want to assign the material that is assigned to the first slot, simply remove this second slot in Object mode:

wow it's work thank you ^_^


text:
Blender thinks there's a seam when UV unwrapping after applying mirror modifier
hoping you can help with this. Bit of a weird one.
Applied the mirror modifier and then started UV unwrapping, quickly noticed that the UV splits down the middle where the mirror point was. It's almost like Blender thinks there's a seam here. The issue goes away when using Smart UV, but using the general Unwrap method shows the issue. I've made sure there's no overlapping verts. Scale and location are all applied.
Do I need to do UV unwrapping BEFORE applying the mirror modifier? Does Blender ALWAYS see the mirror point as a seam?
Thanks in advance :)

Is there an internal face where the mirror joined? If so, delete it and try again.

could you please share your object or at least show the UV Editor? https://pasteall.org/blend/

I'm with @JohnEason here, this looks like there might be internal faces. Or at least I get a similar result when I have internal faces on a test object.

You guys are heroes, turns out there were internal faces I forgot to sort out before applying the mirror modifier. Deleted them and unwrapped again and it looks good! Thanks a lot guys! This was driving me a bit crazy!


text:
How to achieve Geospatial Voronoi pattern?
I would like to achieve a voronoi pattern like this:

What I want to do is place a curve and control the size of the voronoi cells using proximity.
Since there is no way to control the size of the cells the way I have described it. I did come up with a work-around which involves the use of multiple voronoi texture nodes with different scales.

Now, there is a small problem with this setup. You can see that in the ref image, all the cells feel connected. But in the workaround that I have come up with, the next size will be a sudden jump. Now in theory, I could just use more and more voronoi nodes. But that will come with the cost of performance which is something that I want to avoid. Also, that won't completely solve the issue of them not being naturally connected.

Distribute random points with density based on proximity to given geo. Spawn overlapping cones - looking at them from top orthographic view is a cheap way to find intersections:

Color the cones:

Result:

You can animate the bottom radius for an effect like on Wikipedia page:

(the cell points visible above is just a happy accident due to camera clipping)

Set the Vertices $ = 4$, for Manhattan distance:

$3$ and $5$ vertices also look fun…

This one takes a leaf out of @vklidu's book, for creating  triangle-cell-based Voronoi geometry.
This version takes as input a plane, and a curve.

The plane is scaled up and subdivided, to distribute points with variable density
The density is based on a mapping of proximity to the curve
A 1-point curve primitive is instanced on the points, and realized
The scaled plane is converted to a curve, combined with the points, and triangle-filled.
The Dual is taken of the triangulation
The whole is Boolean-trimmed with a box created from the input plane.

Producing this kind of result, in geometry:

As @Markus points out in the commentary, this is not a true representation of regions closest to  the distributed points, so you would have to watch out for that, if you needed it.

Awesome. I learned the "fill 0-length curves" trick from vklidu as well. Nice touch to just resample it to 1 point. This is not true Voronoi BTW, but honestly, it looks better than the true Voronoi.

@MarkusvonBroady  Hmm. True,  The Dual is not a distance-function from the vertices, is it. So if you needed minimum-distance-from-points for something else,, it wouldn't work.


text:
How do I turn on snapping for node editors by default?
I really like to keep my nodes snapped to the grid. I am a psychopath about it. But one thing that I hate is that I have to manually turn on snapping everytime I open Blender. Is there any way to keep it on by default?

Save it in the startup file https://blender.stackexchange.com/questions/169217/keep-operator-properties-popup-expanded


text:
Is there a way to render the wireframe without the triangulation?
The Wireframe node gives out an output in which the faces are triangulated. Is there any way in which I can use the wireframe which I see in the viewport. ie. before the triangulation of the mesh occurs in the render engine? And in case I am using a Subdivision Surface Modifier, is it possible to use just the original wireframe that I am workinng with? The image below will definitely clear  things up if you did not understand what I have typed above.

And I know that this might be possible using the wireframe modifier on a duplicated copy of the object and stuff. But I don't want that. I want to be able to use this wireframe in the shader editor itself as some kind of mask.

You can get what you want if you do a render through View > Viewport Render Image?

(On my phone right now, will post pictures later if needed)
It should be quite easy to do with Grease Pencil (GP):

Make a Collection to which you can assign any object you want to show a wireframe on, or skip to next step if you want all the objects of your scene anyway.
Shift A > Add a Grease Pencil Line Art collection or scene. It will create an empty GP object with a Line Art GP modifier targeting your scene or collection.
In that Line Art GP modifier, make sure the right collection/scene it targeted. And enable at least "Edge Marks":
.
Select all the mesh objects you want wireframes on, Tab into Edit mode, select all edges, hold down Alt and set the Grease Pencil Edge setting in the sidebar to 1.

From there you can edit the material, add modifiers and change the scene GP settings to customize the looks of your GP.
Good to read


text:
How to change crosshair size / color change in edit mode
for the life of me how does one change this setting? V 4.1

There is no such setting

Not a solution, but... This works for Windows 11. I did it for Windows 10, but I cant find where I did it. The probable downside for you is that if you make a change, the change applies to everything you do on your computer. You can change the pointer size and choose among a few colors for it. In Windows 11 go to Settings->Accessibility->Mouse pointer and touch. I don't use the white pointer, but in Blender in Edit mode the crosshair changes to white.

Not really a Blender solution, but if you are using Windows 10, the options that @curious_1 mentioned are under Settings > Ease of Access > Cursor & Pointer.

See this posting.

@DuarteFarrajotaRamos That looks like an answer to me :)

@Joachim A very terse and bare one. I'd much prefer curious_1 one as an actual answer, since it does present a possible workaround


text:
Changing specific color using color drop
I have been texture painting an object on a UV map. The problem is that now when I see the final result, I’m not happy with some of the colors that I have been using.
Is there some Way that I Can change only certain colors without having to re paint on top of everything all over again ?
Is it possible to color drop and change only one color, just like in procreate ?
It’s a pity if we have to re paint all of it, if we are unhappy with only parts of it.

Did you solve this on your own?

I ended up using the Ucupaint addon. Thank you for taking your time to help me out.

Fill Threshold is a setting in the Image Editor only for the Fill Tool. Set it low enough that your desired color is dropped only within the range of your previous color pixels. This is not an available feature in the Fill Tool in the 3D View for Texture Paint.


text:
Texture paint imperfection / discoloration. See image
What causes these imperfections when texture painting on a low poly UV mapped object ?
They appear randomly elsewhere on the object than where I am painting.
See image. The arrow is pointing at what I mean

How about a photo of your whole screen and including the UV map so we can see how the map coincides with the artifacts? From this picture all I can tell is that something that looks like triangular faces is showing up in your field of red - that could be stray faces in your UV mapping overlapped by other islands or something else.

You can try increasing the "Bleed" value of the brush, play also increasing the "Margin" value of UV islands.


text:
How to select Vertices that get deselected after duplicating mesh
How do I select vertices that have been deselected after I duplicated that part of the mesh ?
I have duplicated a part of the mesh and separated that part of the mesh from the original mesh.
After doing so, the same vertices on the original mesh aren’t selected anymore. Is there a way to make them remain selected after duplicating them? And not having to manually select one by one again. It’s a complex mesh.

Create a vertex group.

Select the vertices once
Go to the data tab of the object
Create a new vertext group and rename it
"Assign" the selected points to the new gropus (with weight = 1)
Whenever you need, you can click "select" to select all the points of a group

Thank you so much !


text:
How to fix depth passes vdb issue？

As long as there is a volume object or vdb in the scene, check the Z passes and render, the volume and vdb in the depth passes will have this damaged jagged noise speckled problem, how should I fix this? Tried exr 32bit, increase volume step, change vdb precision to full, still can't solve this problem.The version is blender4.2.

The Z Depth pass is only rendered with 1 sample, so all edges are usually jagged and not anti-aliased. The issue becomes only even more visible on volumetrics since they have no clearly defined boundaries like mesh objects. If you need something more refined and anti-aliased, use the Mist pass.
Z Depth pass:

Mist pass:

But note that none of them will get you real depth information for the volume because therefore it had to be converted into a mesh.

Thank you very much for your help, I finally figured it out, thank you!


text:
Distorted Arm Mesh
Good Morning,
I've been having an issue where no matter what I try, the arm segment is always distorted in UE5. I am currently using Game Rig Tools along with Voxel Diffuse Skinning and Import to Unreal.
I have tried the following:

Auto Apply Weights + Voxel Diffuse
Cleared overlapping vertices
Disconnect Mesh from hand (see if hand mesh is influencing arm)
Recreated arms mesh
Clear all weights, reset pose (Alt+G/R/S), "Apply pose as rest pose"
Clear additional bones from arm,(There were "Twist" bones in the upper and lower arm)
Hand paint weights (Multiple times before trying Voxel Diffuse Skinning

I've spent a good several days attempting to fix this, and this is my first attempt at character creation and rigging. Any insight would greatly be appreciated, I feel it's something simple that I'm unaware of.

Hello and welcome. Please share the blend file https://blend-exchange.com


text:
How to remove the weird dots in grid-like pattern

https://drive.google.com/file/d/1eVAzBuTpyHvcMq2-e7vNIy8jIGd_pa3P/view?usp=drive_link
The dots first appeared when i transferred my object from an older version of blender to 4.2

That link requests access so we can't download your file but that looks like a graphics driver problem to me. Check that your drivers are up to date and that your graphics card is supported under Blender 4.2.

And now that you've allowed access it's not showing any problem here using Blender 4.2.3 so I reckon it's a graphics problem on your machine as I suggested before.

I opened your model. I don't have any points on the mesh like you do. Maybe it's on the texture (there is no texture in your file).
Try the following options:

import the model
run Append
create a new scene > open > disable Load UI in the settings

This is what came to mind.

I think the problem was my graphics drivers like John Eason suggested. I created an entirely new scene/model and the problem appeared there as well.


text:
DAZ Iray section planes for Blender?
DAZ has a feature called Iray Section Planes, that lets you hide geometry from the renderer in order to speed up the rendering process.
It also lets you keep any light emitted by that geometry, so when you render parts of a scene with hidden geometry, the lighting will not change.
For example, part of a rooms ceiling is emitting light, and you can hide parts of the ceiling without changing the overall lighting of the scene.
Does Blender (or maybe an add-on) offer this functionality?
Thanks!

That kind of thing would depend on the render engine.
With Cycles, I think disabling the Camera ray visibility would do the trick
This can be done either in the object's settings, or in the shader nodes, depending on if you want to filter out a whole object or only parts of if that have a specific material - or multiple objects that share the same material:

Per object wouldn't work well, if there is an entire room with maybe dozens of individual objects, and most of them off camera for a particular shot. With DAZ, you place a plane behind the camera for example, and all that geometry behind the plane will be invisible to the Iray engine. Except any lights emitted from that area. This can drop render times easily by 80% depending on the shot.

Clearly neither Cycles nor Eevee have a specific feature like Iray's, but perhaps we can achieve a similar result using the above. I don't think it would matter much for Eevee since raster engines do not calculate anything that is out of screen. As for Cycles, perhaps we can get similar result using the above shader. Maybe even a Holdout shader node would work better than a Transparent. But the idea is there: use the Light Path node to "filter out" what to let pass through the plane or not.


text:
Baking an fk animation to the same characters IK rig?
In Motionbuilder, I can quickly bake an animation on a character's FK bone rig to a generated IK rig and back. This allows for seamlessly switching between an fk and ik animation workflow.
All I can find for Blender is snapping a single pose back and forth, but not how to do this for animations.
This is such an essential tool for animators, which I hope is available in Blender as well? Maybe via addon? I've looked at MHX and Rigify ik rigs, but I don't see that same functionality in there. Any idea on how to do that in Blender?

Some Blender rigs, like all Rigify IK/FK chains, have a built in functionality  for baking from IK to FK and Viceversa, which appears whenever a bone of the chain is selected.
If a rig doesn't have it, you can easily add some copy transform constraints to bones and then bake their effect on the whole animation using the Pose menu > Pose > Animation > Bake action (Visual Keying, Clear Constraints, Overwrite current).


text:
OLD P3D model files for old games
We are currently modding an old game but having trouble finding out how to create a model in old P3D, then insert it into the game. In addition, we'd like to export some of the existing models so we can have a reference point.
I know Arma 3 uses P3D, but they use proprietary software to achieve that.
Where can I find a tool or guide or script/plugin/addon to achieve these goals?

in Blender it looks like there's an addon to import/export p3d? https://github.com/wurunduk/blender-p3d-import-export

Ya i tried that and it is only for crashday models. I really appreciaate you directing me there. Any other ideas?


text:
How can I make an already rigged model be controlled by newly added bones?
I learned a physical method that requires multiple types of bones. So, I need add some bones. But the new bones can not control the model.

hello your question is too vague, maybe add details, maybe a screenshot, etc

A bone controls some vertices of the mesh if theese conditions are set:

The mesh has an Armature modifier, targeting the Armature that contains the bone.

The vertices are part of a vertex group which has the same exact name of the bone.

Every vertex can be assigned to more than a single vertex group, so it can be controlled by more than one bone: weights values are used to distribute and control the influence between bones/vertex groups.
So you can add new bones to an existing armature, then create on the mesh some new vertex groups with the same name of the bones, and assign them some vertices with a weight (in edit mode) or via weight painting.
Or adding new bones with a new armature: a similar method, but needs an additional Armature modifier, targeting the new armature object (generally worse, unless necessary).
Usually the mesh is parented to the Armaturo object in object mode, but this isn't strictly necessary.


text:
Animation changes when creating control rig (Mixamo)
thanks for reading. I downloaded some animations from Mixamo and they seem to work great, but I need to modify them a little bit. When I try to use the Mixamo plugin to create a Control Rig, the animation revolves around the hipbone, instead of the other constraints. Does anyone know how I can fix this? (or an alternate way to modify the animation using inverse kinematics on the hands?). I'm using 4.2.3 and the Mixamo plugin for Blender 4+. Thanks!
Animation working when first imported to Blender:

Option selected for Create Control Rig:

Setting for Create Control Rig:

Animation not working (revolves around the hip bone) after creating control rig:


text:
Line Art Flickering in Animation (Vid below) pls help
I made an unlisted youtube video of the current render here: https://youtube.com/shorts/89_TVMOhfBs?feature=share
I'm sure you can see from the video, the flickering issue in the helmet region. This project has been months of troubleshooting and trying to make line art work. The majority of the model is back-face culled, so the only areas that have the line art modifier on them are the head/helmet/sword/body-suit. I've messed with every settings of the modifier and painfully waited for renders to show any difference for days now and I've run out of ideas. To be honest I'm on my last leg here, ready to be done with the project that was supposed to be small. I started with Cycles and switched to Eevvee because the back-face culled meshes were not rendering correctly.
If you have any wisdom to lend I'd be happy to hear from you. Thanks for you're time!!
P.S. if you have any tips on making videos render faster please throw them my way!!


text:
Wrong Rotantion with particles emitter along spline
I am having trouble with the particle emitter in Blender. When I try to emit some boxes along a spiral, the boxes are strangely distorted. I would like to know how I can make the boxes respect the orientation according to the image shown with the red lines?

This isn’t distortion of the particles, this is the curve twisting. I remember there’s a setting you can turn on in the spline to make it always point upward, but I don’t remember where it is.

@TheLabCat: do you think to the Object Data Properties > Shape > Twist Method panel, set to "Z-Up" ?


text:
Visibility viewports\renders togglable option for specific collection of animations
I have a set of POV hand animations (4, to be precise). One animation is called unsheathe, wich is basic unsheathing animation. I also have Sword object with sword armature (a single bone). So i've researched internet to find a way, to make sword object disappear. Many tutorials called for Visibility property in Object Properties, wich is working (e.g. i need for the sword to be invisible from frame 0 to frame 7, so i untoggled show in for viewport and render at 0 and toggled it back on 7). But it also changes visibility of the sword in all other collections, so i have my sword reappear on frame 7 in any other animation. I've tried applaying it with In active Group or Only Selected Channels (when pressing I on Action editor) and it's still the same conclusion. Sword is disappearing and appearing in all of my animations. Is there a way to fix it?

Put the sword into it's own collection, then instance in the same way I explain in this answer. Then instead of having the sword object referenced in multiple collections you can just have several separate instanced sword objects and animate the viewport visibility of the modifier where you want to hide it instead. I think that should solve your problem.


text:
How to connect between mesh and mesh smoothly and naturally

After merging multiple meshes, the mesh boundaries appear unnatural, as shown in the image. I would like to smooth out the mesh boundaries to make them look like a single, continuous mesh. How can I achieve this?

Can you share your Blender project file? Instructions for sharing.


text:
Vdb-export to blender not showing
using embergen 1.2.1, blender 4.0.2
i’m exporting a solid looking and working simulation in an vdb-format.

when importing into blender, nothing shows in the viewport.

the only way i got to see something, is, by choosing “flames” under the “grids” inside of the volume settings (right-hand-side, green cloud).

this only works in the viewport shading mode “solid” and isn’t visible in the render preview or final render.

also it’s weird because a vdb-file exported out of embergen beta 0.7.5.2 works completely fine in the viewport same as the final render.

any tips and tricks that might help are welcome. thanks in advance!

You have to give the object a material which uses the smoke and fire information. I would recommend watching a tutorial on fire simulation in Blender for that. You do not need to create the simulation, but a similar material like for a simulation.

thanks for your response. the issue seems to be the density 'grid' / 'attribute' which apparently is empty / doesn’t work. i made a shader only with the 'flames' information which seems to work now.


text:
how to get these icons to appear on my bone collections?
The bones of my model's armature are hidden and i cant make them appear. so i loaded the model again and notice this time it had these circle like icons on the bone collection.
how can i make these appear?

Are you sure bones are not individually hidden? In edit mode on the armature, press Alt + H.

The circle icons indicate in which bone collection the selected bones are. (You need to be in Edit or Pose mode to see the selected bones.) The filled circle/dot icon is for the active bone and the circle icons are for the other selected bones. You can add a bone to several collections using the Assign button. When you select this bone, you will see 2 or more dot icons, one for each collection it is in. The dot icon has priority and overwrites the circle icon.


text:
Driver : delta Z between two bones?
I want to drive a bone X rotation with a value based on two other bones Z position

TargetBone.rotation.x = BoneA.location.Z - BoneB.location.Z

but I dont understand how to do that with dirvers
it is asking for a path, but how do I find the path ?
do I have to use a property ? then how do I update that property from that delta Z ?
thanks for your help

you can use a driver like this (be aware, i didn't use your properties/axis you have to adapt that, but it is similar)

You start by right click on rotation value of the bone in pose mode and choose "add driver".
For a simple driver like this you would use transform channel. Here you can choose the type and the space. So you won't have the problem with data path.
Press the "add input variable" button to add a new property and choose your other bone. I have renamed them to y1 and y2 to differentiate between them easily.
Note: if you ever need to know the data path, you can just right click in a field and then choose "copy data path". Then you can paste that data path whereever you need that data path.

result:

thanks, I indeed figured it out in the end :-)

Great!! Glad it worked for you


text:
Model Stretching
Tried to pose this model for a cutscene. It appeared like this, I don't know what I hit or what caused it, but it won't stretch back or take up the poses I set up for it.

Hello, maybe this will answer? https://blender.stackexchange.com/questions/260687/my-character-go-nuts-when-i-apply-automatic-weight/260694#260694

That didn't seem to do anything, but when I delete the rig, it goes back to normal but now I can't pose it.

But did you have some Stretch To constraint for some of your bones?

No, I checked the other models too and they don't have any either.

maybe share your file so that we can see what is the problem (upload and copy paste the URL it will generate): https://pasteall.org/blend/


text:
Model not appearing, animating
The model in the lower right animates when I hit play and won't appear in Render Image. I don't want the model to animate and don't know how to turn it off. All other models appear just fine and do not animate when I hit play.

Look into the Outliner and see if you've not assigned an animation to your armature? If yes, right click and Clear Animation Data

Oh, thanks for your help!

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.

Look into the Outliner and see if you've not assigned an animation to your armature. If so, right click and Clear Animation Data.


text:
How do i pick a start and end frame to scale key frames?
I'm making a visualizer for my own music. I find sometimes when I do this, the keyframes come out as if my audio was slowed down 300% or so. I think this is just a glitch because the geometry of what I'm working on is too complex and blender seems to lag the keyframes due to my machine's poor performance. So I'm trying to shrink the keyframes so that the spikes for the 4x4 kickdrum line up with the audio. I've tried scaling in the dope sheet but it seems that I need to scale and grab multiple times and can never get it right.
Is there a way to pick the start point of all my key frames and an end point and have it scale accordingly?


text:
How do I make the camera follow a animated character while focusing on the face?
I've tried parenting the camera to my character, armature, an empty then parenting the empty to the character, and the camera still won't follow the character. How can I get this to work?

What do you mean by "follow"?  Do you want the camera to stay stationary but always pointed at the character or do you want the camera to move when the character moves?  Different solutions.

Select the Camera, shift select the armature, switch to pose mode, select an appropriate moving bone (Maybe Hip bone), press Ctrl P > Bone.
This makes the camera move solidly with that bone.
Then you can add to the camera a Dumped track constraint, targeting the armature > head bone, so that the camera always looks at the head.
To add some more control you can bone parent an empty to the head bone in the same way and make the damped track constraint target the empty, so that you can adjust the aim animating the empty.


text:
How do I slow down boid particles without disturbing the speed of everything else in scene?
I'm following this tutorial on how to slow down particles but I do not see the integration tab under physics like in the video. I noticed if I switched to a different physics type, it showed the integration tab but I need the boid physics type for my particular scene. How do I slow down the particles but keep everything else at a normal speed?
Tutorial I'm following

Boids Physics for particle systems is controlled in the Movement sub panel of the Physics panel.  You can't set speeds, only ranges of influence, but if you want the boids to fly at most half as fast as they are now, you can change Max Air Speed to half the value you currently hae it set at.


text:
Hair is not generated perpendicular to the face
I'm new to blender, and I was following a tutorial to make grass, the point is, I haven't been able to follow it well since in one step you have to generate hair particles and render them as objects, but my hair particles are not generated in perpendicular to the deformed faces of my subdivided plane (deformed trying to get an organic irregular terrain)

While in the tutorial, the objects (arrows) come out perpendicular to the faces

I thought it could be the Normal Map, but I have no problem with that since it is the same as the tutorial

Here below I leave the tutorial

I appreciate the time to read all this.
And sorry for my bad english

Finish using "apply scale": Ctrl + A -> Scale in object mode.
Then I recreated the hair
this was important: Why is it important to apply transformation to an objects data?


text:
How can I use the grid geometry node with a collection and fill in every spot at an equal distance
Sorry for the bad title, but sort of like this image

I want them to sort of match up to each other, when I just use a grid it's a set distance. I started geonodes yesterday, but I just want to know what nodes I would use for something like this.

Do you want to create a grid that looks like a brick wall with edges as joints? Maybe add what you have and what a result you expect because the question is not clear (to me at least). What is the collection mentioned in the title?

Thank you for responding, but I found a solution that works well enough for what I'm doing. What I meant by my question is I want each brick to have a random x scale but still all fill in from the same distance. Ignore the collection because I thought you couldn't randomize the size through geo nodes but now know I can so that doesn't matter.


text:
How to increase texture mask opacity?
I'd like to stencil an image texture onto a surface; however it's not in the colors that I want. So, I instead use it as a texture mask. This allows me to paint with whatever color I want but still produce relative darknesses of the texture. However, the effect is too dim and I'd like to essentially increase the opacity of my texture mask. How do I do so?

hello could you please show screenshots of your interface so that we understand better what you mean?

If you are saying the paint going through the mask isn't thick enough to your taste, you may need to turn on Accumulate or adjust the contrast in your texture mask image prior to using it.

I read more about opacity masks and used curves to increase its contrast