text:
How to fix weird cloth physics behaviour? (Armature + Cloth simulation)
I'm struggling to figure out why my dress glitches out when I move a hip bone. What happens is that after a hip moves, it bends in a weird way as if it had some weight painting but it doesn't.
The way I set up the physics is

I gave a cage cloth physics and added a Surface Deform modifier to the dress. There are actually 3 cages and 3 Surface Deform modifiers: one for each loose part of the dress that hangs down.
settings for the physics are mostly default (cotton preset). I've just added a pin group which are top vertices of the cage, so the armature can move the cage mesh.
each cage is a child of the COG control bone of the armature, so it moves with the model (Parent To > Bone ...)

Here is my model:

we can't inspect the file, so it's hard to tell, isn't it the pin group that holds vertices in place?

pls provide blend file because it can be a lot of reasons and you just showed a very little bit of information we would need to answer that. thx.

Hi, R1ck1s, I think we do need a share of the failing portion of your file, here, on https://blend-exchange.com/ , or we can't diagnose your problem. At the moment this post is vulnerable to being voted 'unclear'

The root of all evil here is that you bound the (cage) mesh with the cloth simulation to a bone. It looks like the Surface Deform modifier stops working properly when you do this. If you bind the mesh via vertex groups, everything is fine.
Other than that, there are a few other things you should fix/change because they can and will also cause problems.
Complete List of Fixes
Preparation and Clean Up

clear the (2) keyframes of the dress, body, legs, and the rest of the model. Only the armature and the cloth simulation should control the model.

unbind the Surface Deform modifiers of the dress using the Unbind button in the modifier settings

apply Scale and Rotation (Ctrl+A) to the dress, the model (body, legs, etc), and the 3 cages. Now the (1) Rotation and Scale values in the side panel should be (0°, 0°, 0°) and (1.0, 1.0, 1.0), respectively.

change the order of the modifiers. (3) + (5): the Armature comes first, followed by the Surface Deform modifiers, and the other modifiers come last. This way the armature deforms the mesh, then the Surface Deform modifiers do their job, and when the shape is final the other modifiers can add additional geometry.

optional: improve the topology of the dress. Add some cuts and dissolve the vertices to create a better quad structure. You can set the (4) Vertex Crease value to 1.0 for the selected corner vertex to make it pointy. (Or bevel the horizontal edge to split it into 2 support edges.)

turn the cages into planes because the Surface Deform modifier works with surfaces (while the Mesh Deform modifier works with cages). Just keep the front faces of the cage, delete the rest.

now it's time to delete the baked simulation data

Major fix, re-bind the cage/plane with weights to the armature

clear the parent of the "cage"/plane (it's now a plane) (Alt+P)
bind the cage/plane with weights to the armature. Choose a deformation bone like the hip bone instead of a control bone. (A deformation bone has the Deform option enabled so the armature can deform it.)
so, create the new vertex group (6) hip, select all vertices of the cage/plane, and add them with full weights (1.0) to the hip vertex group
finally, use Ctrl+P Parent To > With Empty Groups to bind the cage/plane to the armature
optionally, clean up: remove all unused vertex groups except hip and pin
change the order of the cage/plane's modifiers (7) to Armature first, then Cloth, so the cloth simulation follows the armature's movements
bake the cloth simulation (or at least refresh the cache by changing an option because it will be messed up now)
last step: Go to frame 1 (rest position) and rebind the dress mesh to the Surface Deform modifiers using the Bind button in the modifier settings

That's it. Now the Armature, Surface Deform, and the Cloth modifiers should work together.

Thank you so much for help it finally works! I also appreciate the additional tips.


text:
How to fix black lines on a model's hair?

^previous render i have done
I'm like super confused how to fix this, it's never done this before & I'm on alpha hashed and also tried max transparency bounces on light paths. I'd love to know what's causing this! (I am fairly new to blender so please bare with)

hello please show your material settings, maybe even share the hair object?

Hi, it is a dae so I don't think I'd be able to share the object as I ripped the model and imported as a dae (correct me if I'm wrong I don't know a thing about blender lol) where can I find the material settings sorry?

The material set up can be seen in the Shader Editor. It seems you are using Eevee as render engine. Can you please edit your question and show the material of the hair and - as you have mentioned that it previously worked  - a screenshot from a previous render.

Okay I'll edit my post now, I am using cycles and the hair is apart of the whole model so it's not separate if that makes sense since I imported the entire dae from a ripper program.

The best would be to share the hair object itself, make sure that you've packed your image (FIle > External Data > Pack Resources)

source: Stack Exchange

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

sort: votes


text:
How do I assign values from .csv to point position in Geometry Nodes? (Blender 3.4)
I have data in a .csv in the form of:

Frame #
P0 Z Height
P1 Z Height
P2 Z Height
...
P19 Z Height

1
19.23
24.43
84.94
...
83.27

2
12.43
21.33
24.44
...
53.21

...
...
...
...
...
...

300
49.23
24.43
84.94
...
83.27

What I would like to do is make a 4x5 grid of points, and adjust each point's Z position based on a lookup into this table each frame.
For instance: the vertex with index 0 should have a z position of 12.43 on frame 2.
I've used Simon Broggi's Spreadsheet Data Importer to get Named Attributes for each of the points like this:

I'm having trouble figuring out how to select by named attribute off of an index. I've gotten selecting by index working and set position working, but I don't know how to grab the value for say "Frame 13, Position 7" and get 233.983 back in order to set the position of Point 7.
Does anyone have any pointers? I'm new to geo nodes and the data flow is hard for me to understand.

Hi. Is the object that has the GN modifier the object that has the imported CSVs? (Group Input > Geometry). In the node tree you use the geometry of this object with the joined geometry of the grid for the Sample Index node. I would just use the Group Input > Geometry. Also you use the Named Attribute 'VALUE'. But according to screenshot 1 the columns are named '1', '2', '3', '4'... There is no column named 'VALUE'. Next challenge is to do this x times for all needed columns without a loop (Blender 4 supports loops)

I think your approach is not the best, because either you add a "named attribute" node for each named attribute, which means for each frame of the animation [ouch], or you use current frame to evaluate strings, to pass them as attribute names (but strings don't support fields, which is a limitation…). Meanwhile, you can just load data as vertex positions, and operate on that, so this is the workflow I'll present.
If we have some csv file, for example comma delimited coordinates of a rotating triangle:
from math import cos, sin, tau
with open("E:/file.csv", "w") as f:
    for i in range(300):
        for j in (0, 1/3*tau, 2/3*tau):
            x = round(sin(i/100+j), 3)
            y = round(cos(i/100+j), 3)
            print(x, y, .0, sep=',', file=f)

I won't paste the whole file here, instead here's how it's supposed to be read:
frame0 vert0 x, frame0 vert0 y, frame0 vert0 z
frame0 vert1 x, frame0 vert1 y, frame0 vert1 z
frame0 vert2 x, frame0 vert2 y, frame0 vert2 z
frame1 vert0 x, frame1 vert0 y, frame1 vert0 z
frame1 vert1 x, frame1 vert1 y, frame1 vert1 z
frame1 vert2 x, frame1 vert2 y, frame1 vert2 z
frame2 vert0 x, frame2 vert0 y, frame2 vert0 z
frame2 vert1 x, frame2 vert1 y, frame2 vert1 z
frame2 vert2 x, frame2 vert2 y, frame2 vert2 z
frame3 vert0 x, frame3 vert0 y, frame3 vert0 z
frame3 vert1 x, frame3 vert1 y, frame3 vert1 z
frame3 vert2 x, frame3 vert2 y, frame3 vert2 z
...

Now we can load that to a numpy array and efficiently add a new mesh with the correct number of vertices and set their positions:
import numpy as np
from bpy import context as C, data as D

coords = np.loadtxt("E:/file.csv", delimiter=',', dtype=np.float32)
me = D.meshes.new('data_mesh')
me.vertices.add(len(coords))
coords = coords.flatten()  # foreach_set always expects 1-dimensional array
me.vertices.foreach_set('co', coords)
ob = D.objects.new('data_object', me)
C.collection.objects.link(ob)

And now this new object can be loaded to geonodes, or geonodes can be applied on that object. Then positions can be sampled on the vertices according to some formula:

The example is not astonishing, but it works:

You could do various stuff with this data now, for example you can use geometry proximity to find out which 'vertex' (in quotes, because it's technically a vertex, but it's just there to hold data about position of the actual vertex) is the closest to a given position, and then the obtained index modulo 3 will give you the index of the (actual) vertex, and floor(index/3) will give you a frame on which this vertex was at that spot. You can't do stuff like this using named attributes…

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


text:
python code to set color attributes per vertex in blender 3.5
I have a python script that sets vertex colors per vertex (reading the data from lists) which worked in blender3.3.
I'd like to use that script in blender 3.5 (simulations branch) but it throws an error message, ( that it cannot find the color attributes name in the vertex' loops names )
I cant find any sample code of how to write the list of rgba values into a specified mesh's color attribute.
Any link or hint to sample code ? set color attributes via foreach_set() sample or smth like that? thanks for your time.
Previously used code, that wont work in blender 3.5, since it doesn't use layers to store color_attributes, i guess:
    bpy.ops.object.mode_set(mode='OBJECT')
    names=[l.name for l in obj.data.attributes]
    if colname not in names:
        bpy.ops.geometry.color_attribute_add(name=colname)
    bpy.ops.object.mode_set(mode='EDIT')
    bpy.ops.mesh.select_all(action='DESELECT')
    bm = bmesh.from_edit_mesh(obj.data)
    for v in bm.verts:
        for l in v.link_loops:
            vcol=bm.loops.layers.color[colname]
            l[vcol] = [coldict[v.index],coldict[v.index],coldict[v.index], 1.0 ]

Color attributes have a domain and type. The reason your code doesn't work is the color_attribute_add creates a [Domain: Vertex, Type: Float Color] attribute, but your BMesh code is correct for a [Domain: Face Corner, Type: Byte Color] attribute.
Here's how you access the different kinds through a BMesh.

Domain
Type
How to access with BMesh

Vertex
Byte Color
bm.verts.layers.color

Vertex
Float Color
bm.verts.layers.float_color

Face Corner
Byte Color
bm.loops.layers.color

Face Corner
Float Color
bm.loops.layers.float_color

That said, you don't need to switch between modes, you can do it all in one mode.
In Object mode
colattr = obj.data.color_attributes.new(
    name=colname,
    type='FLOAT_COLOR',
    domain='POINT',
)

for v_index in range(len(obj.data.vertices)):
    colattr.data[v_index].color = [r, g, b, 1]

# alternatively, using foreach_set...
cols = []
for v_index in range(len(obj.data.vertices)):
    cols += [r, g, b, 1]
colattr.data.foreach_set("color", cols)

In Edit mode
bm = bmesh.from_edit_mesh(obj.data)
collayer = bm.verts.layers.float_color.new(colname)
for v in bm.verts:
    v[collayer] = [r, g, b, 1]

Thanks a million! And what a sound explanation, It will help me to get better used to attributes in bpy.


text:
When i tile textures, every other tile on the y axis renders black
Clearly the texture should be seamless and it's pretty hard to screw up the mapping on a plane (which isn't the problem, I tried giving it thickness)

Here is the .blend file with just the floor and it's texture

I think you don't give enough details, for example how did you unwrap your ground?

There not much to do when it comes to unwrapping a plane is there?

what do you mean when you say that you tiled? Is there one mesh for your ground, or several? Please give some more details, I guess it's impossible to help with so few details

that was bad wording on my part it's a single plane with the texture shown in the UV map and by tiled all i meant was it was repeating, im used to photoshop terms

so you unwraped your mesh and gave it the texture, then duplicate your object several times, and the problem is that the duplicated objects are black?

No its just a single plane with the texture, and when rendered, between the repeats in the texture, those black lines appear

perhaps share the file with only the floor and pack the image so it comes with the file: https://blend-exchange.giantcowfilms.com/

it renders just fine for me, might be a bug, I am using blender 2.79.6 Win Also tested in 2.8 and works just fine for me.

Its working after chaning nothing now but it wasnt earlier today so idk what was wrong but thanks for all your help anyway


text:
Which command is the right one for rendering with GPU?
I have a script that loads a scene with objects, cameras etc. and also sets the gpu rendering settings. When I use the script up until the rendering command and then click on the render button, the GPU is used. When I use the same script and use the bpy.ops.render.render(write_still=True) command the images are rendered and saved properly, but not with the GPU settings.
Which rendering command does the same as the one I have to click? It isn't the one described when hovering over it.
Parts of code related to gpu and render settings:
# [7.5] Set resolution
bpy.data.scenes["Scene"].render.resolution_percentage = 10
bpy.data.scenes["Scene"].render.tile_x = 512
bpy.data.scenes["Scene"].render.tile_y = 512

# [8] Enable CUDA and activate GPU
# code from https://developer.blender.org/T54099

scene = bpy.context.scene
scene.cycles.device = 'GPU'

prefs = bpy.context.user_preferences
cprefs = prefs.addons['cycles'].preferences

# Attempt to set GPU device types if available
for compute_device_type in ('CUDA', 'OPENCL', 'NONE'):
    try:
        cprefs.compute_device_type = compute_device_type
        break
    except TypeError:
        pass

# Enable all CPU and GPU devices
for device in cprefs.devices:
    device.use = True

bpy.context.scene.cycles.device = 'GPU'
bpy.data.scenes["Scene"].cycles.feature_set = 'EXPERIMENTAL'

for c in camNames:
    print(c,  r'C:\Users\X\Desktop\3DModels\TestRenderings\\' + model.split('\\')[-1] + '\\' + c + 'image.jpg')
    bpy.data.scenes["Scene"].camera = bpy.data.objects[c]
    bpy.data.scenes['Scene'].render.filepath = r'C:\Users\X\Desktop\3DModels\TestRenderings\\' + model.split('\\')[-1] + '\\' + c + 'image.jpg'
    R = random.uniform(0.0,0.2)
    G = random.uniform(0.0,0.2)
    B = random.uniform(0.0,0.2)

    bpy.data.materials['carpaint_basic'].node_tree.nodes['RGB'].outputs[0].default_value = (R, G, B, 10)

    bpy.ops.render.render(write_still=True)

bpy.ops.render.render(write_still=True) seems to work when typed into Python Console on Blender 2.97 when I try it with GPU rendering. I see GPU usage going up significantly while rendering. Maybe the problem is in another part of the code or the context it gets executed in. Could you tell more about how you run the code and maybe share the code itself or the relevant part of it?

@MartinZ After further investigation it seems like windows' taskmanager didn't track GPU usage correctly that wasn't on the main screen

For future comerades in suffering:  bpy.ops.render.render('INVOKE_DEFAULT', write_still = True) seemingly uses GPU while background renders don't, INVOKE_DEFAULT  bascially instructs blender to pretend a user pressed the render button


text:
Real time script execution
Trying to make a modelling tool that can update geometry in the 3D view as the user interacts with the scene. To do this the script needs to loop continuously so it can check for changes caused by the user. The problem seems to be that I cant get an infinite loop not to freeze Blender. I thought I could use something like...
import time

    def MainLoop():
        <code>

    While True:
        time.sleep(1)
        MainLoop()

However this freezes entirely and not sure why. Also if time.sleep() is used it not only stops the script but also Blender itself which defeats the purpose entirely.
This is meant to be a modelling tool and is not running through the BGE as it seems most talk about real time Blender scripts deal with BGE. As far as I can tell there is no built in time delta to use for non BGE scripts.
Update:
Made a threaded script in hopes that by running the process in a separate thread from the Blender GUI that time.sleep() could be called without affecting Blenders GUI but this did not work. After doing more reaserch on the threading module it worked! Can now make infinite loops limited with time.sleep() without pausing the Blender GUI in the process. Here is some example code...
import threading
import time

class ScriptThread (threading.Thread):
    def __init__(self, threadID, name):
        threading.Thread.__init__(self)
        self.threadID = threadID
        self.name = name

    def run(self):
        FPS = 1
        is_running = True

        tick = time.time()
        loop = 0
        while is_running is True:
            if time.time() >= tick+(1/FPS):
                tick = time.time()
                print(loop)
                time.sleep(1/FPS)
                loop += 1
                if loop >= 10:
                    is_running = False
            else:
                continue

#Make thread
thread = ScriptThread(1, "thread")
thread.start()

I'm not sure if this will have implications in querying and setting attributes in Blender but will find out soon enough.

You need a loop that starts with your script and stops with a key press.

But how would that be different? It wouldn’t limit the execution speed of the script to prevent large CPU load. It only serves as a break. My concern is that In a game engine we have the benefit of a framework with time relative loops but outside of such a framework we do not. There must be a way to wait the script without stopping Blenders Python based GUI as well.

I don't know the time function at all so I don't understand your code in the first place but why do you want to use a time function in a loop that you could close just by pressing enter or escape ? If you define your object 'mainloop' then put the loop inside of that object before making the call

The code will have a break, yes. In this particular instance the break happens by pressing a button. But while the code is running it must not be allowed to run as fast as the CPU is capable of or else is simply ties up system resources needlessly. The time.sleep() function suspends the script for x number of seconds, in other words if you use time.sleep(1) you would suspend the script for one second before resuming operation. In theory you can use this suspend in a loop however I have found that this doesn’t work and that it also stops the Blender GUI as it is also Python based.

You need to create a modal operator for this stuff; read this page on more information: https://www.blender.org/api/blender_python_api_2_76_2/info_gotcha.html#can-i-redraw-during-the-script

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


text:
how to make a mask that disables cloth physics on a defined area
It's as the title says, I want to make a mask that makes the cloth physics on a specified area. I know that is related to Geometry Nodes but I can't find any tutorial that explains that.
To make an example I have a sphere that is inflating by tweaking the pressure settings on the cloth tab and I want a mask with a shape of a plane mesh that allows me to turn the object back to normal on the area of effect of the mask.
I specifically want to obtain this effect but in this case, it was made with shape keys:
https://x.com/HeavyWomanGuy/status/1775752125131141218

The mask what you are looking for is the Shape > Pin Group of the cloth simulation settings. Here you can define a vertex group. Vertices with a weight of 1.0 are pinned and not affected by the simulation. They can be animated by key frames, armature or hooks. All other vertices are deformed by the cloth simulation. The influence depends on the vertex weight.
Here is an example animation of an expanding ball that bursts a rope wrapped around it:

The center edge loop of the ball and all vertices of the rope object are in a pin group. Both objects have a cloth simulation. To release the pin set the Pin weight to 0.0.
This can be done with a Vertex Weight Edit modifier or a Geometry Nodes modifier.
The Vertex Weight Edit modifier clears the Pin group by setting the Group Remove Threshold to 1.0 at frame 51. For frames 1 and 50 the value of the Group Remove Threshold is 0.0, so nothing changes.

Alternatively, you can use a little Geometry Nodes modifier. It sets the weight of the vertices in the group Selection to Value setting.
In this case you need 2 vertex groups. One for the selection (=center edge loop, weight 1.0) and the Pin group for the cloth settings. The weight will be set by the Geometry Nodes modifier (=Value setting).

There are key frames for the Value setting. For frames 1 to 50 it's 1.0 to pin the cloth at the center. And at frame 51 the Value is set to 0.0 to release the pin.
Additionally, the Pressure is increased (from   0 to 270 for 50 frames, then set to 50 at frame 52) and the Shrinking Factor is decreased slightly (frame 1: 0, frame 21: -0.25). The ball is 1.69m at the beginning, 2.21m at the end.
The ball and the floor have Collision physics enabled. Note that the order of the ball's modifier is important.
If you want to make the ball less wobbly try to lower the Cloth > Physical Properties > Vertex Mass setting of the Cloth physics.
Happy bursting!


text:
Why won't my smoke animation work?
I'm trying to create cigarette smoke and it never works. I've looked at multiple tutorials to try and understand what I'm doing wrong but I'm not sure what I'm missing. Any suggestions?
Image 1: I've selected a few things so you can see what's part of the smoke simulation

Image 2: With only the domain selected you can see some of the setup on the right

Image 2a: Only the domain is selected and I scrolled down further to show more of the setup on the right

Image 2b: Only the domain is selected and I scrolled down to show the last of the setup within 'physics'

Image 3: Only the object that will be dissolved is selected to show the setup on the right

Image 3a: Only the object that will be dissolved is selected to show the last of the setup within 'physics'

Do you have a texture assigned to the object?

@Starry-EyedDonut I'm assuming you're referring to the small puck-like object that dissolves to become the smoke? No, I didn't create a texture for it.

You haven't really described your problem, so I'm not quite sure what to suggest. Is the smoke not rendering? Is it not showing up in the Material tab? Does the simulation not run when you hit play?

@Starry-EyedDonut There is no smoke visible at all. I press play, but nothing happens. It took 3 hours to "bake" so I'm assuming something happened?

@Starry-EyedDonut I just checked and nothing is showing up in the Material's tab.

So nothing shows up when you try to render it? If so, then my guess would be that you need to assign a texture/material to your smoke domain.

@Starry-EyedDonut I tried assigning a material to the object and the smoke is still not rendering.

See if this helps: https://blender.stackexchange.com/questions/52740/problem-when-rendering-fire-and-smoke-in-blender-render?rq=1

https://blender.stackexchange.com/questions/272061/cycles-isn-t-rendering-fire-smoke-simulations?rq=1

@Starry-EyedDonut You were right! I needed to assign a material. I had added a Principled BSDF shader instead of a Principled Volume shader. I had glanced at the smoke material section of the Blender manual too quickly and thought I read to add 'Principled BSDF' to the smoke material. I also ended up getting rid of the domain and smoke material and instead, created a new dissolve object and used Quick Smoke. Thank you for your help!

No problem. I'm glad I was able to help you. :) Would you like me to put "assign material" as the correct answer for future users to see?

@Starry-EyedDonut Yes! Please do so.

Done. :) Let me know if you'd like me to edit my post and add the part of the answer that you figured out.

@Starry-EyedDonut Go for it! Whatever you think would be the most helpful to anyone who stumbles upon my question.

Since I only suggested the solution and you were the one that came up with the complete solution, maybe you should post your own answer. I don't want to take credit for the part that you figured out. :)

The solution was to assign a material to the object. See comments for further details.

Hi. Please include the further details from the comments to your answer because comments can be deleted anytime.


text:
Python exercise to learn - spiral circular shape
I’m trying to use bmesh extrusion and Matrix to do some spiral shape like this :

I would like to start from a circle (like it is described on the picture)
Here where I’m stuck:
import bpy
import bmesh
from mathutils import Matrix
from math import pi

bm = bmesh.new()
bmesh.ops.create_circle(
                        bm,
                        cap_ends=False,
                        radius=0.5,
                        segments=24)

edges_ext = [ele for ele in bm.edges
                if isinstance(ele, bmesh.types.BMEdge)]

steps = 12
Ry = Matrix.Rotation(-pi/(steps), 4, 'Y')
T = Matrix.Translation((3,0,0))
My = T @ Ry @ T.inverted()

for i in range(steps):
    extruded = bmesh.ops.extrude_edge_only(bm, edges=edges_ext)
    verts_extruded = [ele for ele in extruded["geom"]
        if isinstance(ele, bmesh.types.BMVert)]
    edges_extruded = [ele for ele in extruded["geom"]
        if isinstance(ele, bmesh.types.BMEdge)]
    bmesh.ops.transform(bm, matrix= My, verts=verts_extruded)
    edges_ext = edges_extruded

me = bpy.data.meshes.new("Mesh")
bm.to_mesh(me)
bm.free()

obj = bpy.data.objects.new("Object", me)
bpy.context.collection.objects.link(obj)

It seems ok to rotate the circle around a small radius but
I cannot do all the remaining matrix operations on the extruded verts (translate and rotate around big circle)
Any advices or tips or tricks?
PS: I asked a similar question on another site but unfortunately I didn't get any answers... If it's not here that I can ask this type of question either could you direct me to a site where can I find the answer?
Thank you very much

Hi there. Please post a complete and executable script. The import statements were missing, and it's just annoying to figure out what to import from where if you just want to try it out. Cheers!

OK my bad ! thank you for the remark.

Hi. In the first step, I would try to create just one spiral. If you want to continue your approach, you must rotate each circle that you extrude slightly around the Z axis. The lower part of a loop (=1/2 segment of the spiral as shown in the screenshot) must be rotated in one direction and the upper part in the other. The centre of rotation is on the other side of the starting point (=right end of the model in the screenshot). Then you have a spiral segment & you can create multiple of them. Each segment must be moved along the Y axis to create a spiral...

Another approach would be to just create a spiral, then extrude it and bend it with the Simple Deform modifier ;-). Probably you could calculate the bending with a matrix rotation immediately. But I have no idea how far each point of the spiral has to be rotated to get a 360° bent spiral.

Thank you for your answers !
I continue to search for a code solution ... I haven't managed to put the theory into practice yet ;-)

Ignore my first comment. You don't need to rotate parts of the spiral loops. You can create a spiral by just using bmesh.ops.translate() to move the circle loops along the Y-axis. I cannot help you with the bending. My linear algebra is too poor for that.


text:
Face Overlapping Edge
I just recently started using Blender, so I am new to this.
Currently I'm working on a model of a mask. For that I created a flat rectangular shaped block, where I'm trying to cut out eye holes using the boolean modifier and a cylinder.
After applying the boolean modifier I fixed the ngons and removed doubles. Now I get the unwanted result of a face overlapping the edges of my mesh:

As you can see the marked area creates an overlapping face.
In the render it will look like a rotated square:

I appreciate all the help.

Concave polygons can cause artifacts. Could you explain your topology necessities for this project?

Well the at the end it should simply be a wooden mask with two eye holes carved into it. The project is just for learning purpose.

What you are seeing is explained in answers to this question

As previously said by Carlo: "Concave polygons can cause artifacts" because Blender is not sure how he is supposed to fill the surface between the vertices.
So here is a better way to make a hole in a 4x4 surface. I think you should avoid Booleans as much as possible, especially for such a simple operation. To make a hole you can simply select the central point and delete it. Then to round the shape, select the edge loop and use the LoopTools addon > Circle. Then you can extrude once, then scale down the extrusion, give it the shape you want, etc...

Would be good if you could add some information as to why their current method isn't working.


text:
Object exists but are not visible
I just started learning Blender and something happened. I have couple objects Cube, 2x Planes and Camera. But now all objects but Cube disappeared. If I choose them (in the right side panel), they have location, scale, dimension, but I can't see them. There is one thing I noticed. When I choose Cube (only visible object). In the properties panel is Item. But when I choose any other object the Item is not visible.

EDIT: thanks it was the / on numpad, just find out that regular / is not the same as numpad /
And because my notebook does not have numeric keyboard I had to use Fn.


text:
Help figure out unexpected arm rotation
I made some characters in blender, and armature deform with automatic weights.
everything goes fine, except the arms. Import them in unity3d as humanoid,
and play an idle animation, the arms should be straight, but all of the arms are rotated backwardly.
I spent hours, tried to paint different weights, moved bones. But problems remain.
Thanks for any insight.
https://www.dropbox.com/s/yl3div22tf8gkuv/seaman.blend?dl=0

could you please share one of your object+armature? https://blend-exchange.giantcowfilms.com/

Yes, blender file. https://www.dropbox.com/s/yl3div22tf8gkuv/seaman.blend?dl=0

what do you mean when you say that the arms rotate backwardly? they look fine, except that the weight painting needs adjustments + you need IK + deactivate the Manipulate Center Point button on the horizontal menu bar

It's possible that mechanim's humanoid system prefers the bones to have a particular orientation to them, and it's automatically trying to fit your bones to that orientation, which causes the arms to rotate backwards.
In blender, go to edit mode of the armature and enable Object Data > Display > Axis. This allows you to see the current roll of each of your bones. Then in the properties panel > Transform with a bone selected, you can change the roll of that bone. If the arms are rotating 180 degrees in unity, then I would suggest rolling each of the arm bones by 180 degrees to see if this fixes the problem.
Also, it is helpful for ik solvers (like what mechanim uses) if the resting pose of the appendages are slightly bent indicating which way the appendage should bend toward. For example, you could change the t-pose of your character to have slightly bent elbows which would indicate to the solver the the arms should bend in that particular way, and this could help Unity set up the orientations correctly.

Thanks for the answer. I am new to blender and I am still confused. Would you please take a look at the blender file? https://www.dropbox.com/s/yl3div22tf8gkuv/seaman.blend?dl=0


text:
How to correctly LOCK motion tracking points so they don't move after reloading movie clip?
I was trying to stabilize some movie clip and met quite annoying issue in Blender 2.79b, although I recall this was happening in earlier versions too.
The following image shows an example of certain feature (a detail in the guardrail) which I was trying to track but the feature itself does not matter - this is a generic problem with any tracking point.
So... let's assume I reached the point where I am satisfied with tracking results. The matching was done to previous frame not the key frame, nevertheless the preview image was steady over all frames of interest (not counting minor changes due to perspective and noise). To prevent accidental editing I always click on the lock in the right top corner.

Now I can either restart Blender (after saving project of course) or just click Reload in the Clip section and all my tracking points are affected by little offsets in random frames, even if I have locked them. The image below is an example of such offset - the frame 11 is clearly shifted when compared to frame 10 and 12.

So any ideas what is happening here? Is it possible that tracking points are OK, but movie clip is different each time I reload it? (e.g. shifted/duplicated frames or something...). The movie is in MP4 format directly from my Lumia 640.
Edit: further notes
Just noticed that for certain frames it's even worse - the tracking information is completely lost! I don't need to actually Reload the clip - if I move forward the prefetched frames are removed from RAM (in the Movie Clip Editor there is such violet bar indicating which frames are cached in RAM). If I return to these frames, the tracking points are modified again.

As I remember; from the introduction of the tracker, it was always suggested to export a movie to an image sequence. This is to prevent decoding changes/errors to frames when scrubbing through, skipping and reversing direction, as all these conditions can affect the decoding process.
The symptoms of the problem you describe sound exactly like this problem.
I would suggest you convert your movie into individual frames, and then work on that image sequence.

Right, this seems to be related with non-deterministic decoding output - this is clearly visible now when I set e.g. 100th frame and click "Reload". The frame changes a bit. So, I will just follow your suggestions. Thanks!


text:
Select Linked operation ("L" key) doesn't work on my model
I imported this model from Roblox studio, and I tried to select all the faces on the outside but it doesn't work. Any ideas?

Watch this video to understand the structure of the imported model, as at the end I show how it looks from the inside.

Update:
Merging the vertices by distance (M) worked in a way, but now the face (egg) and the hatched shell do not overlap: https://youtu.be/C-Vhd00e_Ec

merge by distance?

It worked in a way, but now the face (egg) and the hatched shell do not overlap
https://youtu.be/C-Vhd00e_Ec

The L shortcut works perfectly fine in the first video. It selects all vertices linked to the one you hover your mouse over (or close to) when pressing the key. The reason it selects only a few is that the mesh is a bunch of unconnected pieces. Just because two faces are next to each other they are not necessarily connected - most likely they have their own separate vertices lying in the same location. Using Merge by Distance now merges everything within a threshold. Is it too small it might not merge all it should, is t too big then perhaps some unwanted parts are merged as well.


text:
Why is the last frame in my render taking so long?
I'm rendering an animation in Cycles and the animation is getting really slow at the last frame. I checked all of my settings and animation keyframes and confirmed that the settings were identical throughout the render. The render is fairly heavy, but keeps the same amount of objects and detail throughout the animation.

The 149th frame (the last frame) is taking about 60 times as long to render. This doesn't bother me that much right now, but I will need to render much more heavy scenes in the future, and would like to know why this is happening.
If it helps, here are my system specs:

RTX 4080 GPU, i7 13700kf, and 32GB of RAM.

I am rendering with Optix. I also am saving as an FFmpeg video, so I can't just quit the render on the last frame.
Update: There was one more frame (frame 150) and this one is taking an absurdly long time to render. The time estimate shows 8 hours, which I can't afford to wait for. Canceling the render causes the GPU to go crazy, and I have to force quit the application. I reopened Blender, and tried rendering the animation again. The same thing happened. I also tried rendering the frame in question by itself, and it took less than thirty seconds.
Update 2: On the third render of the animation, it becomes super slow from frame one, frame one being estimated to render for 18 hours. Upon further investigation, it seems like a particle emitter in my scene is the problem. I tried reverting to a version without the emitter, and it rendered fine. I also tried simply pointing the camera away from the scene and towards the HDRI I was using, and it also rendered as expected.
However, I need the particle effects that are causing the problem, and I also don't know why the particle effects aren't rendering. When I render an image with even 10 times the particles, it still manages to render in under 2 minutes, yet each frame in the animation is estimated to take days.

I seem to have fixed the issue by slightly moving the camera. I have no idea why this worked, but the frames now seem to render normally.


text:
How can I rig the face so that the mouth opens by tilting a part of the head to the back?
How do I rig the character's face to open up like this?

Hello and welcome. Instead of having users go through links and external sites please use the builtin tools to embed images in your post. See How to upload an image to a post? or GIF

Please use a title that matches the content of the question. It should be descriptive but succinct, unique and identifying, summarizing the issue so that anyone searching for a similar problem is likely to find it. Remove anything superfluous, avoid using words like "this", "help with", "issue" or "question about", instead describe what "it" is. Remember, your title is the first thing potential visitors see, answers you get depend heavily on how insightful it is. See What is the problem of asking “How do I do this?"

to tilt the upper part of the head you need to add a bone where the 3D cursor is. Make it a child of the head bone with offset and change the weights so the mesh moves with the bone.


text:
Invisible faces
I extracted a model from a game. Normally this works fine but this particular object seems to have invisible faces. I wanted to do UV wrapping but the selection of multiple parts of the object is not even on the image and some of them are displaying correct textures? Also, when I select these faces the correct image isn't shown even though it is in the assets.
The UV wrapping is not on images but still have the textures?

It's invisible here

moving the UV wrapping selection of the invisible one to brick texture does not change anything

This is how its supposed to look like.

The first image - yes, because you have Image node set Repeat. The second issue I cant reproduce. You didnt pack images with blend, but if I load some it is there.

Sorry new to blender, how i pack images with blender?

you have 6 different materials, if you move UV it doesn't change the material

https://docs.blender.org/manual/en/latest/files/blend/packed_data.html

I cant seem to upload the blender file as its 80 mb and only 30mb allowed hmm. but if i move UV its supposed to get the metrial shape atleast no?


text:
Why is the shading different on these cubes?
Can someone explain why the shading is different on these cubes? Ideally, I want them all to have the same shading as the cube on the left.

Any help would be HUGELY appreciated

More information would be very helpful... Light source(s), render engine, maybe upload your .blend file http://blend-exchange.giantcowfilms.com/  etc.

What render engine are you using and what material setup did you apply? It may be a lighting problem, but it also looks like a smoothing or normal artifact, hard to tell without any valid information

i don't know if i got it right but you can use a Hemi lamp

Hi Mohammad, that is exactly the effect I was looking for! Is there any chance I could have your .blend file because I've played around with mine too much now? I'll just edit the material and re-add the textures. Thanks for your comment!

I've sorted it now so don't worry, thanks again for your comment.

youre welcome,  well just in case     also you can turn on Ambient Occlusion in in the world options (if you like it )  its already on in the .blend file

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


text:
How can I connect the armature to my mesh without blender crashing?
I am trying to make the armature the parent to the mesh with automatic weights but every time I try blender stops responding and has to be closed? Am I doing something wrong?
I'm running Blender v2.76 on the cycles render

You should post your blend file via blend exchange

can you post a picture with the armature and mesh??

added an image :)

Possible duplicate of Blender render crash when using subsurf modifiers.

Try to remove subsurf modifier on you mesh before you apply the armature.

Else the armature will use the subsurfed model (much more vertices).

I have noticed this problem a couple of times. As best as I could tell it was down to either the mesh not having enough geometry for Blender to figure out the weighting or it was due to part of the armature not being 'inside' the mesh. On both occasions I was able to resolve the issue with some tweaking.

authors: Максим Тихонов


text:
BGE: Use separate texture as alpha channel
I want to use a separate texture (grayscale) on a material in the Blender game engine as alpha channel of that material, because I reuse the other (rgb) texture on another, opaque material.
I set up everything as depicted in the screenshots. The preview of the material looks as expected, but in the 3D view or in game mode (p), the material is opaque.

How do I setup this correctly to actually see the alpha effect?
Here is the test scene: http://www.file-upload.net/download-11505718/AlphaTestScene.blend.html
Edit: When I bake the alpha channel into the rgb-texture and check color and alpha in the influence, then it works. But it would be nice to have separate textures for each purpose (like specularity or bump maps).

I have pretty much the same as you have.
In-Game

Alpha = texture that feeds alpha channel
Color = texture that feeds color channel

Alpha color is not visible at all.
Where Alpha is transparent, nothing is visible
Where Color is transparent you see the material color
Where Color is opaque you see Color texture (rgb)

Material

Textures

Yeah, because it seems you painted in the alpha channel of your alpha texture ;-) This is easy, however I tried to use the grayscale information of a texture to make an alpha channel. Like grayscale can be  bump or specular... I guess Blender can't do it right now... Just curious why the material preview is perfect.

Ah, good point.

To use the greyscale information, try checking the "RGB to intensity" button.


text:
Creating cartoon animations
I hope this is the right place to put this but here goes.
I was watching this trailer https://www.youtube.com/watch?v=mZXyxZK28QY
When i wondered how they made it. I have seen this style in a anime called Terror in resonance and other games.
but i was just wondering how it is done or what programs were used for this.
I have also seen something like that here https://www.youtube.com/watch?v=EEqTmym-Dds

The first video is a cut-out animation. This technique can be achieved in Blender by rigging textured planes.
Regarding the setting, those planes are distributed in 3D space to achieve depth. This is enhanced by the use of depth of field through a perspective camera and other effects.
A recent example is Nikolai Mamashev's rig inspired in the comic Pepper&Carrot by David Revoy:
https://www.youtube.com/watch?v=W9N3D2RisH0
This covers at least the character animation. Effects such as smoke, particles, and image post-processing can also be composited in Blender.
The second video might be a vector animation. Here the assets are drawn in a vectorial software. Even though the technique is similar to cut-out, it also allows to keyframe the vectors for a smooth animation such as the one for the hair.
As far as I know, this could not be achieved in Blender as easily as the previous example. If you are looking for a Free Software package for the task, I recommend Synfig.


text:
Volumetric light rendering a hard cut-off in the scatter rays
I'm using Cycles in Blender 2.79
I have got a volume scatter material set up on a cube (0.2 density ) and a spot lamp (20000 intensity) above the volume (though I have the same problem if it's within the volume too) I'm getting a weird hard cut-off in the volumetric lighting and neither moving the lamp nor changing the intensity of the lamp changes where that hard cut-off is.
The only thing that seems to change the height of the cut-off is moving the volume itself and it doesn't move by an equal amount. Any ideas what my trouble might be?

I figured out that the hard line is the edge of the volume out of camera clipping range. If I reduce the size of the volume then it renders correctly
Volume within camera clipping

Volume larger than camera clipping

I guess this is just how Blender works?

Glad you have found a solution. Please add an answer to your own question. You can then mark it as the ‘accepted’ solution so that others can benefit from your experience.

The problem was the camera clipping distance was less than the size of the volume.
By reducing the size of the volume so that the far side of the volume is within camera clipping distance the artifact (mostly disappeared)
A second problem I then had was the top of the volume I had given a surface shader (and a separate material) which caused lesser artifacts on top of any objects. Removing the surface shader fixed this.


text:
Combining two objects with volume materials
I would like to create a volume material with two channels: red and green. For each channel I have corresponding voxel data. I tried to create two separate objects and overlay them, but standard blender render fails to do that (cycles, as I know, doesn't even support voxel data). What are my options?

For some reason, blender didn't include voxel files. Here they are (128×128×128).

Looks like there are emission shaders in each cube. Add them together in single material on a single cube?

Thanks! But I after a lot of trials I still have no idea how to do it. How do you mix two volume textures in one material?

With the Add Shader, if you add screenshot of node setups of your materials I can post an example adding them as an answer.

When I click “use nodes” it switches to surface rendering somehow and I can only see the volume texture through the other box. (https://i.imgur.com/0mpSe54.png) I have no idea how to make nodes work with voxel textures in the first place.

Oh you are using Blender Render and not Cycles. My bad, I missed the tag. Then you have a material with Voxel Data or Point Density texture. Make a single material with 2 volumetric textures and set the blend parameter to Add (it's under influence of each texture).


text:
How to select and separate same vertices as current selection on copied, very similar geometry
My main goal is to separate multiple geometries the same way by vertice selection. All the objects differ only a little bit in their vertice position, because they only are deformed by already applied shape keys originating from the same origin object (amount and distribution of vertices are the same).
My current strategy (corresponding to the bpy script below): Starting with a selection of vertices on the initial geometry, I would like to additionally import multiple very similar ones. By saving the vertice selection, the separation should be applied one object after another. (edited)
Please see my code below. Since it did not work to directly compare vertice objects, that initially have been stored to a list (previous version), I now try to compare list indexes.
Unfortunately, my example code only separates one object in the two geometrical parts:
import bpy
import os, glob

# script to separate same edit mode selection on multiple imported .fbx files in directory

class Import(object):
    def __init__(self):
        pass

    @staticmethod
    def import_fbxfiles_from_dir(path = "C:\\Users\\user\\Desktop\\test_parts\\"):
        os.chdir(path)
        for fbx in [f for f in os.listdir(path) if f.endswith(".fbx")]:
            print ("imported file: " + fbx)
            bpy.ops.import_scene.fbx(filepath=fbx, filter_glob=".fbx;", axis_forward="-Z", axis_up="Y")

class Separate_test(object):
    def __init__(self):
        pass

    def separate_initially_selected_verts(self):
        obj = bpy.context.scene.objects.active  # active object
        mesh = obj.data
        self.selected_vert_list_IDs = [key for key,v in enumerate(mesh.vertices) if v.select]
        print("selected verts:", self.selected_vert_list_IDs)

        bpy.ops.object.mode_set(mode='OBJECT')  # exit edit mode

        obNr = 0
        for ob in bpy.context.scene.objects:
            if ob.type == 'MESH':
                print("-- Object:", obNr, "/", len(bpy.context.scene.objects))
                bpy.context.scene.objects.active = ob

                # set to edit mode
                bpy.ops.object.mode_set(mode='EDIT')

                # select verts from list
                count_select = 1
                for key_ob,v in enumerate(bpy.context.scene.objects.active.data.vertices):
                    if key_ob in self.selected_vert_list_IDs:
                        count_select += 1
                        # print("vertices separated in obj: {0} of {1}".format(count_select, len(self.selected_vert_list_IDs)))
                        v.select = True

                bpy.ops.mesh.separate(type='SELECTED')
                bpy.ops.object.mode_set(mode='OBJECT')  # exit edit mode
            obNr += 1

if __name__ == "__main__":
    Import.import_fbxfiles_from_dir()
    separate_obj = Separate_test()

    separate_obj.separate_initially_selected_verts()
    input("press return to quit.")

That is really unclear. Please describe what your goals are clearly.

Welcome to bse. Suggest for sake of question ditching the import (how can I test without that folder or without the obj's to import or what they look like???) and the input code (rarely used in blender) .  To clarify for me: Lets say I have a default cone with base verts selected as active object.  Would I then expect to separate out the corresponding base of a default cylinder?... or are all other objects also cones.

I significantly improved my question for better understanding. input code was for debugging only. Unfortunately, it is my first time scripting blender.

Perfect candidate for bmesh
Script to run in edit or object mode with "basis" mesh selected.
For each mesh object having same amount of vertices add a split by selection object.  Selection: Default 'SELECT' uses selected vertices in basis. 'LOC' tags all verts within a tolerance of basis.
Set this up as a class such that it can be instanced with the basis object, and called with another.
import bpy
import bmesh

class diff:
    def split(self, scene, ob, select='SELECT'):
        me = ob.data
        bm = bmesh.new()
        bm.from_mesh(me)
        if select == 'SELECT':
            select = self.tag_select(bm)
        elif select == 'LOCATION':
            select = self.tag_same_loc(bm)
        else:
            print("Error.. not in SELECT, LOCATION")
            select = False

        if select:
            obcopy = ob.copy()
            me = me.copy()
            # remove selected from one
            bmesh.ops.delete(bm, geom=[v for v in bm.verts if not v.tag], context=1)
            bm.to_mesh(me)
            obcopy.data = me
            scene.objects.link(obcopy)

    def tag_select(self, bm):
        for v0, v in zip(self.bm.verts, bm.verts):
            v.tag = v0.select
        return any(v.tag for v in bm.verts)

    def tag_same_loc(self, bm, TOL=1.0e-3):
        for v0, v in zip(self.bm.verts, bm.verts):
            v.tag = (v.co - v0.co).length < TOL
        return any(v.tag for v in bm.verts)

    def __init__(self, scene, ob):
        me = ob.data
        if ob.mode == 'EDIT':
            bm = bmesh.from_edit_mesh(me)
        else:
            bm = bmesh.new()
            bm.from_mesh(me)
        self.bm = bm

if __name__ == "__main__":
    context = bpy.context
    scene = context.scene
    ob = context.object
    d = diff(scene, ob)
    shapes = [o for o in scene.objects
                if o.type == 'MESH'
                and len(o.data.vertices) == len(o.data.vertices)]
    shapes.remove(ob)

    for s in shapes:
        d.split(scene, s)

works like a charm. It would still be helpful, if the other part of the mesh would be separated too.

It seems bpy.ops.mesh.separate operator requires some specific context to run. You could override the context for the operator or you could just make an operator that you can run in the 3d View panel so it is run in the correct context that would be something like this:
import bpy

class SeparateSameVertices(bpy.types.Operator):
    """Separate Same Vertices(by index) on selected objects"""
    bl_idname = "object.separate_same_vertices"
    bl_label = "Separate Same Vertices"

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

    def execute(self, context):
        selected_vertices = []
        obj = bpy.context.scene.objects.active
        for every_vertex in obj.data.vertices:
            if every_vertex.select:
                selected_vertices.append(every_vertex.index)
        selected_objects = bpy.context.selected_objects
        for every_object in selected_objects:
            for faces in every_object.data.polygons:
                faces.select = False
            for edges in every_object.data.edges:
                edges.select = False
            for every_vertex in every_object.data.vertices:
                if every_vertex.index in selected_vertices:
                    every_vertex.select = True
                else:
                    every_vertex.select = False
            bpy.context.scene.objects.active = every_object
            bpy.ops.object.editmode_toggle()
            bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='VERT')
            bpy.ops.mesh.separate(type='SELECTED')
            bpy.ops.object.editmode_toggle()
        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

    # test call
 #   bpy.ops.object.simple_operator()

This uses the selection from the active object and separates all the selected objects based on that. You would need to run it and use the 'Separate Same Vertices' operator from the space menu in 3d viewport.
I think you might also be able to achieve this with bmesh in a more elegant way.

Looks like to me you have an Object, store the ID's of the selected vertices and divide all objects in the scene based on those. That can not work because other objects dont have vertices correspoding to those selected vertices.
I can only offer a solution that works before you apply complex transforms.
If you have an object and duplicate it, you can create ordered lists based on the 3D location of the vertices, that way no matter how transform, you can always find the "same" vertices. Finding the selected vertices in and object and comparing them to the list should be trivial if the ID doesn't change

Hi, thanks for your response. But since at least the list length of all the mesh objects should be the same, the script should be able to separate some 'other two parts' of the additionally loaded files in the for loop? I predict the error to be somewhere there (I am not very experienced with the blender API) and still have hope for the concept to work..

I think my proposed way would work for any seperations based on vertices, of course only if the transforms are done after initialization step @boeni

@boeni It would also be possible to write an algorithm that finds the right vertices after the transfrom but thats too overcomplicated. The list length will be the same but I'm not sure the order of them within the list will

Thanks again. Exactly, I am not sure about the list index sequence either. That's why I would like to first make the script running, because it should separate something at all the parts (which it doesn't do right now without throwing an error) - eventhough possibly with wrong vertices.


text:
Rotate bones using a texture?
I have an armature, and I want to do a "flailing limbs" effect. I figure a good way to do this would be to have a noise texture and rotate the bones in accordance with the texture.
Is this something that can be done? Is there a better way?

I don't know if it's possible, haven't found any mechanism to link texture value to bone transformation. But we can make random flailing movement by adding Noise modifier to the bone's rotation f-curve. From the manual entry on F-Curve Modifiers, this modifier

Modifies the curve with a noise formula. This is useful for creating
subtle or extreme randomness to animated movements, like camera shake.

If applied to the bone's rotation in at least one axis, it could create the effect you wanted:

Thanks. Turns out the effect I'm after is to just use a cyclic motion, but this will definitely be helpful.


text:
When bending a cylinder while posing an armature, some surfaces are flat and the mesh doesn't keep it's volume
I am making a stethoscope that bends smoothly like a curve this is before posing

After posing this is the result after bending two bones at the position I want them to be.

This is before in the side view

After

I want the curve to be smooth like a noodle not, misshapen flat, when I try rigging, sometimes the curve bends backwards. How do I fix this?

I want the curve to be smooth like a noodle not, misshapen flat, when I try rigging, sometimes the curve bends backwards, how to i fix this?

Have you tried a bendy bone? They can bend like a noodle but only work in Blender. Here is an example: https://youtu.be/RGQeLhecfHw (If you want to export it to a game engine you need to convert them.)


text:
Joining two meshes results in materials changing for one of the objects
When I try to join (Ctrl+J) two meshes, one of the objects changes its colour and loses its noise texture.
Before (The vegetable on the right to be joined with plant leaves):

After:

I have applied all the transforms to both the plant and the vegetable prior to joining so the scale etc. should be correct. The face orientation of both objects also seems correct before and after joining and also after recalculating normals.
Neither of the objects uses an image texture so I think UV Maps are not the issue, all the shading is done with nodes like ColorRamp and Noise Texture and unwrapping does not change how the objects look.
After joining I have tried playing around with the materials being assigned to the faces of the vegetable and they also appear to be the same materials as they were prior to joining.
Neither of the objects being joined has any active modifiers.
If it matters the material of the vegetable after joining also looks incorrect when it is rendered in Cycles.

It's hard to tell because we don't know what the shaders look like. Maybe it's because the object's size has changed and the procedural texture relies on it. Is there a Mapping node? Different values for the Noise Texture? What happens if you assign the material of the left bell pepper to the right one?

I'm failing to see the problem with your "After" (looks exactly like Before, so I'm missing something!).   Don't know why but ... I would try to first create a Vertex Group of all vertices in the pepper, then you can try to reapply the Material to that VG in the joined object.

@Blunder I think you're right, changing the noise texture for the vegetable material still changes what the material looks like but the scale is just now many times smaller. I'm guessing the most simple solution would just be to create a separate new material and go from there.


text:
Linking Instances in Geometry Nodes
I want to put a link between two instances created on Instance on Points with the links not centrally located but rather on the edge of the instanced object. The problem comes with the fact that I want the objects to rotate independently (along one axis) and so the position that the links connect to changes.
A couple of screenshots below that are showing where I'd like the links to join to

End result would look like this with links between all elements

can u pls explain a bit more what your end goal is? do you wanna make something like a pearl necklace? or...? as far as i understood it currently i would use an armature...but...i think i didn't understood quite well

I've updated the original to show an image of how the links would be.

Let's assume that we instantiate the individual objects with random rotation at the points of a grid. This should look something like this:

However, if now before instantiation these objects are sent through the node Bounding Box, instead of the objects we get a couple of beautiful cuboids, each corresponding to the dimensions of the original object and having 6 sides/faces. Also, the added rotation of the objects is taken over. This could then look something like this:

Now these cuboids have to be processed (before instantiation) with the node Dual Mesh, which converts faces to points and points to faces:

At the same time we split the grid on which we want to instantiate the objects with the node Split Edges, and scale these edges a bit.

Now that the individual edges are available and the beautiful structure we created earlier with the rotated objects, we only need to transfer the closest points of these to the points of the edges. To do this, the node Transfer Attribute is set to Nearest. With Set Position these positions are then transferred to the points of the edges:

If you then use the original objects at the points of the grid, you have the desired result:

And here is the corresponding node tree and the blend file:
(Blender 3.2+)

That's perfect. Thank you!

@SaintPaulie You are welcome!


text:
How to generate Points (x,y,z) model from a 3D model using Blender
I am a newcomer to Blender.
Briefly, I want to generate Points (x,y,z) model from a 3D model using Blender. And use these points to do numerical simulation.
These points should be not only on the surface of the model.
I want to divide a 3D model into many small cubes at first, and then place some points inside each cube. Export these points' locations.
I've tried exporting my object as a .ply and chose the "ASCII" format instead of binary. But I find it only exports a few points. I want to control the number and location of points like points cloud.
If there were good solutions, please help me. Thanks.

I would try exporting your object as a .ply and choose "ASCII" format instead of binary. You can open the .ply with a text editor and the data will be written as plain text.

Thanks. I find it only export few points. I want to control the number and location of points like points cloud.

You'll have to be a little more specific about your workflow here because there is litterally an infinite number of ways to distribute points on a mesh surface :)

What I want is to divide a 3d model into many small cubes at first, and then place some points inside of each cube. Export these points' location.

Hello and welcome! Please give as many details as you can and add them to your question => Edit because the comments here can be removed, hidden, and change their order when they get upvotes.

"divide a 3D model into many small cubes" sounds like voxelized. This can be done with the Remesh modifier. With the new Geometry Node "Distribute Points in Volume" of the new Blender 3.4 version you should be able to fill the cubes.

Wait, the Remesh modifier only creates cubes for the surface. It does not fill the model if this is what you want. But the GN Mesh To Volumes does this. Should the cubes all be the same size? Why do you want/need these cubes? -- And I am not sure if you can export the GN point cloud in a .ply format. Maybe you need to create vertices from them first.

Thank you for your reply. I am doing a research on Material Point Method(MPM). This method separate the object into many particles to compute in background mesh. I want to look for an easy way to build the model (very similar to point cloud).

This sounds like what I'm trying to do (3d occupancy AI training data generation), Anyway if you want it to work like point cloud and export .ply file. Try to use the blender range scanner addon: https://github.com/ln-12/blainder-range-scanner. it simulates the real radar/lidar scanner and gives you point cloud files(.ply), you can also change the scanner resolution to adjust the density of the points. But note that those points are all located on the mesh surface and don't go inside. It doesn't vocalize your scene/model. Anyway, I also wish to have that .ply you described(or any other file th

I'm not sure if this is exactly what you want but let's give it a try.
The latest Blender version 3.4 that got released today has a new Geometry Node called Distribute Points in Volume. With it, you can scatter points inside a mesh.
Add a Geometry Nodes modifier to your mesh and wire the following nodes. Adjust their values according to your needs (Random/Grid, Density, Voxel Amount, etc).

When you apply the modifier, you will have these scattered vertices in 3D space. (To apply it, hover the mouse over the modifier and press Ctrl+A or use the dropdown menu right next to its name. The menu entry Object > Convert To > Mesh also works.)
Point Clouds are still under development and access via Python script is limited. But since we can convert them to vertices they can be exported. Unfortunately, the *.ply ASCII exporter doesn't work when there are no faces. So here is a little script that does the export. Just adjust the file path, select the object with the point cloud vertices, and run it.
import bpy

obj = bpy.context.active_object

f = open("c:/tmp/point_cloud_data.csv", "w")
for v in obj.data.vertices:
    f.write(f"{v.co.x}, {v.co.y}, {v.co.z}\n")
f.close()


text:
Eye rigging via mapping node
I'm trying to rig these eyes so the bone can move them, rotate them, and scale them.

I can get the location to work fine, but I can't figure out how to get the rotation and scale to work correctly. I want the origin of the scale and rotation to be at the center of the pupil. I've been using the mapping node along with drivers, but can't figure out the right set up.
Here's the blend file:


text:
Odd Vanishing Visual Glitch (Both in Viewport and Render)
I was prepping a render for a customer which involved this Mass Effect scene. But recently I updated my graphics drivers and PC and now even when I redownload the scene I still have an odd glitch.
When I look around in the viewport, random walls, and floors vanish from sight as if I am clipping into them but I have fiddled with clipping settings multiple times but to no avail. The missing walls and floors also do not appear in the final render as if they have been deleted. It is such a strange problem and I cannot figure out if it's something wrong with my PC or Blender, I don't think it is the scene as it used to work perfectly fine.
The most specific detail is more my view or the camera is what causes different objects of the scene to either vanish or come back into view.
Here is the scene if you are willing to test it out to see if you get the same issue: https://open3dlab.com/project/33781/
I really appreciate any ideas or help!

Hello and welcome. While files, images, and external videos or links may be helpful additions they should not be the only way to obtain information about your issue. Don't make understanding your question rely on downloading a file, watching a video or visiting an external site. Use the builtin tools to upload images or gifs, along with thoroughly explaining the problem in written form so it can be indexed and searched for thus helping future visitors with similar issues.

Also be sure to break your wall of text into paragraphs so it isn't so hard to read

I've used the walk navigation to check the room and there were no missing/disappearing walls. A test render looked ok.


text:
Slow cloth simulation baking when collider mesh starts moving
I'm trying to animate a model after finally getting everything rigged, but the cloth sim slows to an imperceivable crawl the moment the collider mesh starts to move.
I'm using a hidden decimated mesh as the collider, thinking this would solve the issue but it barely makes a difference. The cloth mesh doesn't have that many faces either, as it uses a subdivision down below the cloth modifier.
When everything is stationary the bake goes at about half a second per frame, then it gets stuck on the first frame of actual motion.
I see people in tutorials using the same methods as me, getting simulations that basically run in real-time with little effort. I'm wondering if I'm missing anything, or maybe I just need to double down on what I've already tried.

Cloth simulation can take a while. Without knowing your file, not even seeing any screenshot etc. (or knowing what your hardware is capable of either) you do not provide any information other than from your expectation it should be faster, but we have no clue if that is the case.

Sorry, I was very tired when I wrote this. I'm running an intel i5 12th gen with a rtx 3060, fairly new pc. The files I'm testing on are all different but have similarly slow bake times. In each case I have a low poly mesh moving underneath a cloth mesh with the cloth mesh pinned onto the same armature as the collider mesh. I can't share images of these files as it would violate nda. I was hoping somebody could give me a general best practice for fast simulations, I think I have the hang of most points, just may have missed something in my own workflow that I can't find.


text:
Python: Traceback (most recent call last): line 131, in execute in button3 AttributeError: 'NoneType' object has no attribute 'data'
I was making a Blender add-on that can create a predefined light-setup and generate HDRIs. For this it changes some settings of the camera in the scene.
The script creates two sections named Illumin8r Quick Lights and Illumin8r HDRI Maker in the Scene Properties tab with each two buttons. The HDRI buttons require the camera to be selected in order to change its settings.
I run into this error when I click the buttons Turn scene into HDIR and Turn settings back to normal in the Illumin8r HDRI Maker section (LayoutDemoPanel2 class in the script):
Error:
File "C:\Users\....\w3.blend\Text", line 147, in execute
  File "C:\Users\....\w3.blend\Text", line 131, in button3
AttributeError: 'NoneType' object has no attribute 'data

The error seems to be related with the following lines
def button3(context):
    // ...
    bpy.context.object.data.type = 'PANO'
    bpy.context.object.data.cycles.panorama_type = 'EQUIRECTANGULAR'

and
def button4(context):
    bpy.context.object.data.type = 'PERSP'
    bpy.context.object.data.cycles.panorama_type = 'FISHEYE_EQUISOLID'

The script looks like this:
bl_info = {
    "name": "Illumin8r",
    "author": "BinaryOdysseus",
}

import bpy
target_obj = bpy.context.scene.objects[0]

collection = bpy.context.collection

def create_point_light1(name):

    light_data = bpy.data.lights.new(name=name, type='POINT')
    light_data.color = (1,1,1)
    light_data.energy = 100
    light_data.shadow_soft_size = 1.75

    light_object = bpy.data.objects.new(name=name, object_data=light_data)
    light_object.location = (1.35, -2.5, 2.56)

    bpy.context.collection.objects.link(light_object)

def create_point_light2(name):

    light_data = bpy.data.lights.new(name=name, type='POINT')
    light_data.color = (1,1,1)
    light_data.energy = 250
    light_data.shadow_soft_size = 1.75

    light_object = bpy.data.objects.new(name=name, object_data=light_data)
    light_object.location = (-1.175, -5.5, 4.64)

    bpy.context.collection.objects.link(light_object)

def create_point_light3(name):

    light_data = bpy.data.lights.new(name=name, type='POINT')
    light_data.color = (1,1,1)
    light_data.energy = 500
    light_data.shadow_soft_size = 2.15

    light_object = bpy.data.objects.new(name=name, object_data=light_data)
    light_object.location = (-6.7, -0.1, 2.2)

    bpy.context.collection.objects.link(light_object)

def create_point_light4(name):

    light_data = bpy.data.lights.new(name=name, type='POINT')
    light_data.color = (1, 0.612277, 0.441099)
    light_data.energy = 1000
    light_data.shadow_soft_size = 3.17

    light_object = bpy.data.objects.new(name=name, object_data=light_data)
    light_object.location = (0, -0.6, 3.2)

    bpy.context.collection.objects.link(light_object)

def create_spot_light(name):

    light_data = bpy.data.lights.new(name=name, type='SPOT')
    light_data.color = (1, 0.868938, 0.686679)
    light_data.energy = 10000
    light_data.spot_size = 180

    light_object = bpy.data.objects.new(name=name, object_data=light_data)
    light_object.location = (0, 0, 14)

    bpy.context.collection.objects.link(light_object)

def create_sun_light(name):

    light_data = bpy.data.lights.new(name=name, type='SUN')
    light_data.color = (1, 0.984, 0.675)

    light_object = bpy.data.objects.new(name=name, object_data=light_data)
    light_object.location = (0, 0, 14)
    light_constraint = light_object.constraints.new(type='TRACK_TO')
    light_constraint.target = target_obj
    light_constraint.track_axis = 'TRACK_NEGATIVE_Z'
    light_constraint.up_axis = 'UP_Y'

    bpy.context.collection.objects.link(light_object)

def button1(context):
    create_point_light1("Point")
    create_point_light2("Point")
    create_point_light3("Point")
    create_point_light4("Point")
    create_spot_light("Spot")
    create_sun_light("Sun")

class Add_Lights(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "illumin8r.add_lights"
    bl_label = "Add quick lights"

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

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

def button2(context):
    bpy.ops.object.select_by_type(type = 'LIGHT')
    bpy.ops.object.delete(use_global=False, confirm=False)

class Remove_Lights(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "illumin8r.remove_lights"
    bl_label = "Remove all lights"

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

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

def button3(context):
    bpy.context.scene.render.engine = 'CYCLES'
    bpy.context.object.data.type = 'PANO'
    bpy.context.object.data.cycles.panorama_type = 'EQUIRECTANGULAR'
    bpy.context.scene.render.resolution_percentage = 200
    bpy.context.scene.render.image_settings.file_format = 'HDR'

class Make_Scene_HDRI(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "illumin8r.make_scene_hrdi"
    bl_label = "Turn scene into HDRI"

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

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

def button4(context):
    bpy.context.object.data.type = 'PERSP'
    bpy.context.object.data.cycles.panorama_type = 'FISHEYE_EQUISOLID'
    bpy.context.scene.render.resolution_percentage = 100
    bpy.context.scene.render.image_settings.file_format = 'PNG'

class Make_Scene_Normal(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "illumin8r.make_scene_normal"
    bl_label = "Turn settings back to normal"

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

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

def menu_func(self, context):
    self.layout.operator(SimpleOperator.bl_idname, text=SimpleOperator.bl_label)

class LayoutDemoPanel(bpy.types.Panel):
    """Creates a Panel in the scene context of the properties editor"""
    bl_label = "Illumin8r Quick Lights"
    bl_idname = "SCENE_PT_layout"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

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

        scene = context.scene

        # Big buttons
        row = layout.row()
        row.scale_y = 1.25
        row.operator("illumin8r.add_lights")

        row = layout.row()
        row.scale_y = 1.25
        row.operator("illumin8r.remove_lights")

class LayoutDemoPanel2(bpy.types.Panel):
    """Creates a Panel in the scene context of the properties editor"""
    bl_label = "Illumin8r HDRI Maker"
    bl_idname = "SCENE_PT_layout_2"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

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

        scene = context.scene

        # Big buttons
        row = layout.row()
        row.scale_y = 1.25
        row.operator("illumin8r.make_scene_hrdi")

        row = layout.row()
        row.scale_y = 1.25
        row.operator("illumin8r.make_scene_normal")

def register():
    bpy.utils.register_class(Make_Scene_HDRI)
    bpy.utils.register_class(Make_Scene_Normal)
    bpy.utils.register_class(Remove_Lights)
    bpy.utils.register_class(Add_Lights)
    bpy.types.VIEW3D_MT_object.append(menu_func)
    bpy.utils.register_class(LayoutDemoPanel)
    bpy.utils.register_class(LayoutDemoPanel2)

def unregister():
    bpy.utils.unregister_class(Make_Scene_HDRI)
    bpy.utils.unregister_class(Make_Scene_Normal)
    bpy.utils.unregister_class(Remove_Lights)
    bpy.utils.unregister_class(Add_Lights)
    bpy.types.VIEW3D_MT_object.remove(menu_func)
    bpy.utils.unregister_class(LayoutDemoPanel)
    bpy.utils.unregister_class(LayoutDemoPanel2)

if __name__ == "__main__":
    register()

Hi and welcome! You need to add more details to your question. 1) where are the buttons that cause the error? (A: Scene Properties tab > Illumin8r HDRI Maker) 2) what's the name of the button? (A: button Turn scene into HDRI) 3) Must an object be selected? Also, the error occurs in line 131 not 147: bpy.context.object.data.type = 'PANO'. The object is the active object. 4) What kind of object should that be? Mesh objects like the default cube have not data.type. This is what the error tells you. 5) What means 'PANO'? 6) What are you trying to do here?

Ok, you have to select the Camera object to make your script work.

The problem is the following function that is executed when the button "Turn scene into HDRI" is pressed:
    def button3(context):
        bpy.context.scene.render.engine = 'CYCLES'
        bpy.context.object.data.type = 'PANO'
        bpy.context.object.data.cycles.panorama_type = 'EQUIRECTANGULAR'
        bpy.context.scene.render.resolution_percentage = 200
        bpy.context.scene.render.image_settings.file_format = 'HDR'

you use bpy.context and not the given context object
the error happens because in your case (or better context) context.active_object is the camera and context.object is None. They are not the same. See the question "https://blender.stackexchange.com/q/204074/107598" for another side case.

Fixed version:
    def button3(context):
        context.scene.render.engine = 'CYCLES'
        context.active_object.data.type = 'PANO'
        context.active_object.data.cycles.panorama_type = 'EQUIRECTANGULAR'
        context.scene.render.resolution_percentage = 200
        context.scene.render.image_settings.file_format = 'HDR'

Do the same for def button4(context):.
you could also create a new object like this:
def button3(context):
bpy.context.scene.render.resolution_percentage = 200
bpy.context.scene.render.image_settings.file_format = 'HDR'

camera_data = bpy.data.cameras.new(name="hi")

camera_object = bpy.data.objects.new(name="HDRI Camera", object_data=camera_data)
camera_object.location = (0, 0, 4)
camera_object.data.type = 'PANO'
camera_object.data.cycles.panorama_type = 'EQUIRECTANGULAR'

bpy.context.collection.objects.link(camera_object)


text:
Calculating join angle of an armature
For a school project I need to calculate joint angle of an armature. I found some code that works with 2 bones, but I need to calculate the angle of every 2 adjacent bones (knees, elbows, back, etc). I'm not getting it to work for multiple bones. In a perfect situation I need a text output in the 3d viewer that shows a list of the angles.
#stock code
import bpy
import math  # we need this to get the anglein degrees
import numpy  # we need this for the Vector Math
cob = bpy.data.objects.get('Armature')

# remember, we are working on the Pose Bones in this example!
bones = cob.pose.bones

# get the bones
bone1 = bones['FirstBone']
bone2 = bones['LastBone']

# get the bone locations as Vectors in World Space
pointA = bone1.head
pointB = bone1.tail
pointC = bone2.tail

# find the two Vectors
# you retrieve the Vector by subtracting the intended Vector Root coordinate from the Tip coordinate
vecA = pointA - pointB
vecB = pointC - pointB

print(vecA, vecB)

# calculate the angle, formula taken from https://stackoverflow.com/questions/39497496/angle-between-two-vectors-3d-python
angle=numpy.arccos(numpy.dot(vecA,vecB)/(numpy.linalg.norm(vecA)*numpy.linalg.norm(vecB)))

# remember the angle is in RADIANS!
print(math.degrees(angle))

# remixed code
import bpy
import math  # we need this to get the anglein degrees
import numpy  # we need this for the Vector Math
cob = bpy.data.objects.get('Mannequin')

# remember, we are working on the Pose Bones in this example!
bones = cob.pose.bones

# get the bones
bone1 = bones['RightUpLeg']
bone2 = bones['RightLowLeg']
bone3 = bones['RightUpArm']
bone4 = bones['RightLowArm']

# get the bone locations as Vectors in World Space
pointA = bone1.head
pointB = bone1.tail
pointC = bone2.tail
pointD = bone3.head
pointE = bone3.tail
pointF = bone4.tail

# find the two Vectors
# you retrieve the Vector by subtracting the intended Vector Root coordinate from the Tip coordinate
vecA = pointA - pointB
vecB = pointC - pointB
vecD = pointD - pointE
vecE = pointF - pointE

print(vecA, vecB)
print(vecD, vecE)

# calculate the angle, formula taken from https://stackoverflow.com/questions/39497496/angle-between-two-vectors-3d-python
angle1=numpy.arccos(numpy.dot(vecA,vecB)/(numpy.linalg.norm(vecA)*numpy.linalg.norm(vecB)))
angle2=numpy.arccos(numpy.dot(vecD,vecE)/(numpy.linalg.norm(vecD)*numpy.linalg.norm(vecE)))

# remember the angle is in RADIANS!
print(math.degrees(angle1))
print(math.degrees(angle2))

# let's for the show assign the angle to a Text Object for display in the Viewport
bpy.data.objects.get('Output1').data.body = str(math.degrees(angle1))
bpy.data.objects.get('Output2').data.body = str(math.degrees(angle2))

Right now I got the code working for multiple joints but I can figure out how to loop the code so it runs on every frame.

What's wrong with the remixed code? Can you provide an example Mannequin? I think you need a list of bone pairs for which you want to calculate the angles (or loop over the whole armature) and then do the calculations. Where are you stuck?

Right now I got the code working for multiple joints but I can figure out how to loop the code so it runs on every frame.

This is a very important detail that should be added to your question. To do the calculation for every frame have a look at the so-called Application Handlers


text:
How to properly set up this PBR texture
I'm working with this PBR metal texture. I have the images plugged into the proper slots, and everything seems fine except for the normal map.
If you look at the bottom of the image, when I connect the normal image, the preview goes black. It seems to still render in preview, but I'm not sure the normals are working. So first question is why?
Secondly you can see how the texture is repeating very small on the object. I tried adding a Mapping node between the color texture, but playing around with scale there (no matter if I select texture, point, whatever) didn't do anything. How can I get it to scale properly?
I am using 2.79, rendering with Cycles of course. Yes, the object is UV unwrapped.

Perhaps try adding an uv map node to drive the image vector, and instead of pushing the normal map into the Displacement, try adding a normal map node and plugging into the normal of the Principled BSDF node. Also, did you apply scale and rotation of your object before this?

The Normal map goes into the normal mode normally (from what I've seen on tutorials that I can recall). Right now there's a displacement map that is going into the displacement node. Are you saying replace it with the normal map? I'm not sure what you mean/how to drive the image vector with a UV map node. Yes, I applied rotation and scale.

The normal texture needs to go tough the Normal Map node. The texture data is normalised so the normal vector is between 0 and 1 (0.5 as mid value) for each channel. This needs to be recalculated to be in the range from -1 to 1 (0 as mid value). It will also convert the tangent space vector to world space.

If you need to scale the UV coordinates, the Mapper node should change the values from the UV Map node. UV coordinates are usually 2-dimensional where a texture always are within 0 - 1 range. If you go outside this range the texture gets repeated if the Texture node is set to Repeat.

But the simplest way is just to scale the UV coordinates in the UV Editor.
It does not matter if the islands are overlapping (unless they are used for baking) or exceeds the texture boundaries (if the texture is tiling). In fact, tiling textures are made to work this way.

Ah, got it. That seems to be working. Do you know how to fix the scale?

I would like to see your file if it's possible? You seem to have some unusual problems with your texture coordinates.

I have update my answer with some pointer in hope that you will find them useful.

Thank you Jackdaw. For some reason I didn't have my UVs done right. Updating that solved the issue. Thank you so much.

Add a "Normal Map" node, which is the bridge connecting normals texture and the shader. Remember to set that normals texture node at "Non-color Data".
For the scale, you can try playing with "Mapping" node, which defines scale, rotation, location, etc., with the coordination of "Object" output from "Texture coordinate" node. Or, try distributing the object a proper UV map.
For more information you can check out BlenderGuru's Anvil Creation Tutorial at here.


text:
Blender artifacts when zooming out
I facing the problem that I get artifacts around areas where polygons are close together when zooming out: this is also visible in rendered shading.
It seems like some of the polygons disappear:
This does happen with polygons from the same mesh and polygons of other meshes as long as theyre close together.
I checked the normals which are fine.
It is fine when I frehsly reopend blender and open the scene but after editing the mesh just a little the artefacts reoccour.
I already tried making a completely new scene and importing the mesh but the artefacts also happen then.

Looks like edge problems to me, please upload your .blend

Have you checked the views near and far plane? Does this occur when rendering as well? Could it be z-fighting (maybe caused by a solidify modifier).

@WhatAMesh here is the .blend https://drive.google.com/open?id=1P3TJo42edrd2tv_zHiU1cLWnWzmQ69ne

@Leander it happens in rendered shading but not when rendering,

Your mesh is fine, but it is way too big in blender dimensions, you should scale it down quite a bit.

Oh I see, as I'm beginner I used a premade generic human 3D-model to model this mesh around and it apparently had pretty big dimensions. Thank you I will keep and an eye out in the future to not go too big in dimensions

Did it actually work for you?

yes no more artifacts in the 3D view so far

@Chris Ok, great!

It can be the Clipping Distance of the Scene view and the camera, try to set a higher number, and those weird clipping artifacts will disappear.


text:
Weird mesh tearing
An object I've made appears to have tearing on the corners. video All doubles are removed, it is scaled by 1 on all axes, It is auto smoothed but removing that does not fix it, turning double-sided on also does not fix it, the origin of the object is close. Mesh is triangulated, turning mesh into quads does not fix it. Any ideas?

could you please share the part of your object with the problem? https://blend-exchange.giantcowfilms.com/

 - hope this works

Your objects seem to be too small, scaling them up worked.

WhatAMesh is right, scale it up. Also, the rest of the lid topology is not very good, the long triangles tend to create artefacts, you should fix that, unless it doesn't create any visible problem when rendered?

@moonboots Will do!


text:
Boolean modifier "conflicts" with Bevel modifier
im new here and i have just a question:Im using blender from not a long time (excuse my bad english too),and while i was modelling a PS2 model,i encountered a problem.
I have a Bevel modifier on the upper part(not applied,just there)and it does his work,but as soon as i try to add a Boolean modifier to cut a hole(the P1 controller port) they just act as if they "conflict": I mean,if one is on,the other one doesnt work.Switching them up and down on the modifiers tab shows that only the first one actually takes effect on the mesh.
I tried even applying Bevel first,then cut the Boolean hole but if i do so the hole just doesnt happen.If i apply the Boolean difference,then the Bevel modifier just doesnt work in any way,even deleting and putting a new one.
I will try to upload some screenshot of the part that im talking about.I hope was not a stupid question,but i really cant figure out if i have to find another way or maybe im missing something.If needed i can try upload the file aswell.Thanks in advance

yes please share the file: https://blend-exchange.giantcowfilms.com/   but sometimes you can't find a solution with modifiers and you need to do it manually

     i hope the link is ok,first time trying it

It looks like if you decrease the boolean object's Subdivision Surface subdivisions down to 2, it works, I can't tell you why though:


text:
Creating a procedural stone texture
I am trying to create a really worn-out stone texture. Here are some images similar to what I'm looking for:

I'm looking for something that looks like the first image. Dirty and greyish-black. But I want it cracked like the second image. What kind of procedural texture nodes can/should I use for this? Here's what I got so far:

It's a little vague what you want because the diffuse color of the two images are different. Do you want it dirty or clean for instance?

Can you be a little more specific? Realistic is subjective.

@Gunslinger Sorry about that. I'm looking for something like the first image. Dirty and grey, but cracked like the second image.

No worries. In a couple of hours I will have some free time and I have this exact problem on the table. I plan to release it as a youtube tutorial later (if it goes well) but hopefully I will have a sufficient node-group answer soon.

I have made a node setup that renders like this:

It consists of two diffuse shaders. One is your stone texture from above (well almost). The other is a simple green "dirt" material. The real trick is to combine the dirt with the stone in a believable pattern. I tried multiplying two noise textures with some distortion. Distortion makes noise be liked two colors of paint where you have stirred it some. You get a swirling pattern.
To get this further, I would add some bump to the dirt shader. Also, I would bake an AO map and use that in the mask, letting it influence the mask so that there is more dirt in crevices.
Here is the node setup.

Here is another attempt, using Musgrave noise to create an overall uneven distribution to the dirt:

Material node setup:

The Voronoi Crackle node group:

Here is the blendfile.

The Difference method for mixing cells is quite smart.

The cracks link seems to be gone @LeonCheung

@fabriced indeed. Unfortunately I cannot remember what I did and how. Sorry man.


text:
Daily Builds are no longer having an exectueable
Blender doesn't start. For the last two downloads on daily builds, including today's Friday Aug 31, when I untar them the executable are not coming up executable but as shard libraries. anyone else experiencing this?
Linux OS Blender 2.79 64 bit
Daily Builds

Which one are you downloading? In windows 2.79 from today im getting the .exe

sorry I forgot to add the Linux part. let me go edit that.. thanks for point that out.


text:
How can I make a paint-covered material in Blender?
So I'm struggling with the wheel rim's surface material and this is what I've done:

The nodes:

(PBR material from Remington Graphics)
The real stuff:

(For more references check this out)
So I'd like to have a little noisy effect to make the surface a bit rough and looks more realistic, for the current one it's too shiny (what about HDR?) and it seems too smooth.
I had some attempts before this question comes out:

But I'm not sure if it's a proper setup, and should it be the surface color, or height texture feeding roughness??

maybe this will help? https://blender.stackexchange.com/questions/129316/is-there-a-way-to-make-slight-imperfections-on-a-model/129330#129330   and to make it less shiny on some parts, as I say, plug a Noise node into the factor of a Mix shader that mixes a Glossy and a less Glossy?

download the pbr shader version 2.3 from remington graphics, you are using version 2.2 which its the older https://remingtongraphics.net/tools/pbr-shader/

@moonboots yeah that really helps!


text:
Which video format should I use to render out 2d animation
Ok so I'm trying to make 2d animation, but when it comes to rendering I don't know what format should I use, it will be no longer than 5 minutes and probably will be distributed online let's say it will be youtube, resolution is 1920x1080, fps will probably be 25, but maybe it'll be lower.
So what format should I choose to get good looking colors and shapes that don't weights too much?
Is any detailed guide on this topic? Oh and yes it will contain music/sound.
P.S. yes i know about first rendering every frame as .png as I can pause rendering at any time and I don't have to go from start in case of crushing, I'll pass that since it may weight too much.

You should consult with whoever is going to host your video. For example here is a link to YouTubes video format guidelines https://support.google.com/youtube/troubleshooter/2888402?hl=en

@Dontwalk well this is only saying that they support variety of video formats, and that you cant upload project file it has to be rendered, well I get that. Thing is I don't know differences between formats and which one should I use for Good quality and that it doesn't weights too much, also i won't to choose format which is overkill for 2d animation

As it stands this question is both opinion based and about video codecs, non of which is on topic here. In theory no codec provides "better quality over others", what might happen is you get a bigger file size for equivalent quality, but there are just way too many variables to give you concise response. Want quality go with lossless compression, which is probably overkill, otherwise why not stick with the "standard" MP4 H264, I'm sure it will be enough unless you have some special needs.

Have you thouroughly read Dontwalks linked page? Literally the only link on it shows youtube's recommended encoding settings, all of which can be set in Blender

@DuarteFarrajotaRamos In other words I could slap any video format that host supports and I'll be fine no need to pick any special?

I'm pretty sure you wouldn't be able to tell the difference between them, not even side by side

@DuarteFarrajotaRamos Well I tought it was kind of important, guess I'm wrong. If you want you can form this into answer and add some article about differences in formats. Thanks