text:
In Blender 2.80, when i try to bake a fluid simulation using flip fluids, it gives me the error 'Cannot find fluid engine library: libblpyfluid.dll'
When I bake a fluid simulation in FLIP Fluids(which a built from source using Visual Studio 16 2019),it shows the error

Cannot find fluid engine library: libblpyfluid.dll.

I really want to use flip fluids and mantaflow seems to be less powerful.
On https://blog.dodslaser.se/Building-and-Installing-the-Blender-FLIP-Fluids-Addon-from-Source/ I did try to change
if system == "Windows":
    libname = "libblpyfluid.dll" to
if system == "Windows":
    libname = "blpyfluid.dll")
Specs:
OS:Windows 10 insider build 18956
Blender version: blender 2.80
CPU: Intel(R) Core(TM) i7-4610M CPU @ 3.00GHz
GPU: using integrated graphics with PHDGD Skylake v2.9 custom driver(i tried it without it and same error)
wanting t build it to see if any limitatios are not in the build one(RLGUY could you update your answer for this?)

I found a video explaining it! yay(RLGUY you still helped alot ;) ) https://www.youtube.com/watch?v=44n3z3g9sVc&t=3s

According to a note on the the GitHub repository, the Microsoft Visual Studio Compiler is not officially supported:

WARNING: Compilation using MSVC (Microsoft Visual Studio Compiler) is experimental and not officially supported. Building with MSVC may result in errors and performance issues.

When building the FLIP Fluids addon for Windows, the MinGW compiler should be used to avoid potential errors and to ensure the simulator runs correctly.

RLguy you still here? got ploblem when compiling in Mingw makeflies https://imgur.com/a/1DYY40Y

At first glace it looks like your development environment might not be set up correctly with the installed MinGW compiler and GNU Make utility, or that CMake is unable to locate your MinGW installation or GNU Make installation. This seems like more of a programming related question rather than a Blender question and you might have better luck at finding a solution on the programming related stack exchanges.

ok yeah i did not install it properly and i also had to add C:\MinGW\bin to my Path(not PATH) system variables. but i still got the error,should i also build with Open_CL?(console error here:https://pastebin.com/F3NqFSkF)

You had mentioned in the question that you modified the source to look for blpyfluid.dll instead of libblpyfluid.dll. I would suggest reverting back to the original source. When the addon is built in a supported compiler, it will generate the .dll as libblpyfluid.dll.

changed, still error but its cannot find libbpyfluid.dll, should i try building from console/cmd?(pastebin https://pastebin.com/PpWVLT9S)

If the fluid engine library cannot be found, that could indicate that the compilation of the engine did not complete. I would check for any errors during the build/compile stage. When the addon compiles completely, the file should be located at bl_flip_fluids/flip_fluids_addon/pyfluid/lib/libblpyfluid.dll. I have not used the CMake gui application, so I am not sure if there are differences. We use the commands in the repository build instructions.

built it from cmd using mingw.no file in the lib folder

also, should i try MSYS and see if that helps?

I haven't used MSYS, so I'm not sure. At the end of compiling, the location of the .dll should be displayed: https://i.imgur.com/zWi5qus.jpg

when i type "make" and hit tab since im not finnilliar with that command to tell me nothings and gives me an error, using powershell, any ideas?(on windows 10 insider build 18956)(also this is my first time building something so i'm probably doing something wrong)

just read the help by typing cmake --help and tried mingw32-make and problem solved! took way to long.wish i read the docs earlier.Thanks for the help! EDIT:well when ran got new error... https://imgur.com/a/GQMU6tl

also just tried install mingw-w64 dono how to use but when i did the same command hoping for a defference same error

RLGUY could you see whats wrong? not that good with building from source :)

Hi, it sounds like CMake might still be selecting the 32-bit compiler. You might need to look up how to force CMake to use the 64-bit compiler on one of the programming exchanges. Sometimes resolving build errors can be difficult without some programming experience.


text:
How do I correct the rotation of an instance for each face using Geometry Nodes Blender 3.0?
I am using a normal value to rotate a simple cone instance along the parent geometry normals. It works great, but it appears to have a slight angle delta for each face.
Is there a way to "correct" the rotation of each instance?

Here is a screenshot of my Geometry Node structure:

is there a specific reason why you don't provide your blend file?

@Chris I updated the post with the blend file. Any help would be greatly appreciated.

The proper way to rotate individual points is to assign a Transform node to the instance mesh. In addition, the Align Euler to Vector node must be set to the X or Y axis in order to produce the intended results. Since the 4-sided cone appears diagonal, the xyz coordinates will be (90, 45, 90) on the X axis. For Object Info nodes, the xyz coordinates will be (0, 90, 0) on the X axis.
Result:

Geometry node:

If you prefer to use the point normals, here is the more simple solution:

Very handy... where do these angles come from? The code, or experimentation?

@RobinBetts the coordinates come from tons of Youtube videos about Euler rotations and tons of experimentation lol. Feel free to upvote my question and answer if you feel this will help others.

I have +1ed, already :) I've been using 2 Align Euler nodes, as here in the old-style. Just wondered if yours was a better way.

@RobinBetts my solution seems to act slightly off when applied to a Torus mesh. In Blender 3.0, the Align Rotation to Vector node doesn't seem to want to connect to the geometry point instance, but I'll message you if I figure it out.

source: Stack Exchange

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

sort: votes


text:
Problem with cloth physics
I want to create a small animation of a cloth covering a car and then getting pulled off the car.
So I was thinking about making 2 simulations.
The first one would be the cloth falling on the top of the car and the second would be the actual animation of the cloth being pulled off the car (I was thinking about pinning some vertexes and parenting some bones that I would animate moving)

I stuck at the first part as you wan see and I am having some trouble in some areas with weird artifacts.
Here is a photo of the physics settings from the hood object. Everything is default settings

I attached a blend file with the simulations appended from the original file
Also, the original file has a level 7 of subsurface but the uploaded has a level of 3, if your computer can handle it please add it to 7.

there is no car in the uploaded file. there is only a box and a plane.

Yes I know. I am not allowed to upload the car.
Is it possible to solve the problem with only a cube?

with level 3 of subdivision there is not problem. Are you sure you need to go with sub div of 7? it's really massive

Do you think that's the problem?

Hello again! Here the the cloth with level 3 sub https://imgur.com/KavMS2f . It looks bad and I am not sure whats the problem

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


text:
How do I output to HDR10 Movie format in Blender?
Ok, so I have just purchased an HDR10 compatible 3840*2160 Display (4K), and I want to render some videos in Blender to look at in full HDR10 glory on it.
However it's Roku TV based OS has limitations regarding what file formats it can take, the supported file formats and codecs are listed in the image below:

However, in my searches, no one has been able to answer how to output to an HDR video format (TIFF can output to 16-bit RGBA, but TIFF does not work on the TV), everyone has how to input and manipulate HDR content inside of Blender and render that as the background.
Can anyone please figure out how to output to an HDR10 video in of Blender, I know that resolution doesn't really matter, but I specifically want the colors to be of HDR10. (the TV plays 720p HDR10 footage from YouTube just fine, so you do not have to worry about resolution issues)
(And for anyone wondering, the TV model is the TCL 55s401, and its spec sheet can be found here, also if you want to see some actual HDR content that works on this TV, almost all the videos in this zip do run on this TV as well).

I'm not even sure Blender supports any HDR video format, as far as I know. Only HDR based static dimage file formats life OpenEXR and Multilayer EXR

Is there a way to contact Blender Team and ask for HDR in the next major release, 2.80?

you could put a request over here : https://blender.community/c/rightclickselect/

While Blender supports rendering in wide-dynamic range (32bit float) scene-referred files, as of v3.6 Blender lacks the ability to save these in a format most HDR displays and video players will accept as input. You can save OpenEXR sequences from Blender to create a finished HDR video in other software such as DaVinci Resolve.
It is possible to export 16bit TIFFs from Blender that are already formatted for HLG or HDR10 PQ with the help of an OpenColorIO configuration such as ACES by using one of the appropriate HDR ODTs such as "Rec. 2020 ST2084 1000 nits". For more information on ACES in Blender, see this question Using Blender with wider gamut than 709 primaries (like ACES) You will still need additional software to convert to a 10bit HEVC/VP9/AV1 video file and apply the relevant metadata so that players and TVs will recognize it properly. This can be done with FFMPEG however instead of needing something like Resolve, or by using one of the many frontends for FFMPEG. Note that many more common FFMPEG frontends (such as Handbrake) do not support 10bit encoding or adding the HDR10/HLG metadata. Staxrip and Hybrid are examples of frontends that can do the job.
Encoding Dolby Vision is significantly more complicated and building the final playback file requires some special tools and licenses that most people do not have access to.

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


text:
Python: Bisect mesh into n parts, without separate 'LOOSE'
Using Python I want to split a mesh into tiles. All the solutions to this question rely on bpy.ops.mesh.separate(type='LOOSE'). But this leads to problems in the following mesh:

I need 10 objects, named bisect-1, bisect-2 etc. But after bisecting with the code below the overhanging cubes on top become disconnected from the surface, and will end up in their own object as a result of bpy.ops.mesh.separate(type='LOOSE'). I end up with 36 objects instead of 10.
How to bisect a mesh into n parts, without separate 'LOOSE'?
import bpy, bmesh
from bpy import context as C
from mathutils import Vector

def bounds(obj, local=False):

    local_coords = obj.bound_box[:]
    om = obj.matrix_world

    if not local:
        worldify = lambda p: om * Vector(p[:])
        coords = [worldify(p).to_tuple() for p in local_coords]
    else:
        coords = [p[:] for p in local_coords]

    rotated = zip(*coords[::-1])

    push_axis = []
    for (axis, _list) in zip('xyz', rotated):
        info = lambda: None
        info.max = max(_list)
        info.min = min(_list)
        info.distance = info.max - info.min
        push_axis.append(info)

    import collections

    originals = dict(zip(['x', 'y', 'z'], push_axis))

    o_details = collections.namedtuple('object_details', 'x y z')
    return o_details(**originals)

object_details = bounds(C.object, True)

bpy.ops.object.mode_set(mode='EDIT')

bm = bmesh.from_edit_mesh(C.object.data)

edges = []

# split the model into parts along y-axis, with steps of 10 in local coordinate space (this ignores the scale property, so make sure to apply it before)
for i in range(int(round(object_details.y.min)), int(round(object_details.y.max)), 10):
        ret = bmesh.ops.bisect_plane(bm, geom=bm.verts[:]+bm.edges[:]+bm.faces[:], plane_co=(0,i,0), plane_no=(0,1,0))
        bmesh.ops.split_edges(bm, edges=[e for e in ret['geom_cut'] if isinstance(e, bmesh.types.BMEdge)])

bmesh.update_edit_mesh(C.object.data)

bpy.ops.mesh.separate(type='LOOSE')
bpy.ops.object.mode_set(mode='OBJECT')

Edit: code changes after comment from batFINGER. Object isn't yet split after bisecting. But the 36 separate islands are identified. Now I need to group the islands based on the bisection coordinates, make separate objects and name them appropriately. But I'm not sure how to approach this.
import bpy, bmesh
from bpy import context as C
from mathutils import Vector

# https://blender.stackexchange.com/questions/75332/how-to-find-the-number-of-loose-parts-with-python/105142#105142
def walk_island(vert):
    ''' walk all un-tagged linked verts '''
    vert.tag = True
    yield(vert)
    linked_verts = [e.other_vert(vert) for e in vert.link_edges
            if not e.other_vert(vert).tag]

    for v in linked_verts:
        if v.tag:
            continue
        yield from walk_island(v)

def get_islands(bm, verts=[]):
    def tag(verts, switch):
        for v in verts:
            v.tag = switch
    tag(bm.verts, True)
    tag(verts, False)
    ret = {"islands" : []}
    verts = set(verts)
    while verts:
        v = verts.pop()
        verts.add(v)
        island = set(walk_island(v))
        ret["islands"].append(list(island))
        tag(island, False) # remove tag = True
        verts -= island
    return ret

# https://blender.stackexchange.com/questions/32283/what-are-all-values-in-bound-box
def bounds(obj, local=False):

    local_coords = obj.bound_box[:]
    om = obj.matrix_world

    if not local:
        worldify = lambda p: om * Vector(p[:])
        coords = [worldify(p).to_tuple() for p in local_coords]
    else:
        coords = [p[:] for p in local_coords]

    rotated = zip(*coords[::-1])

    push_axis = []
    for (axis, _list) in zip('xyz', rotated):
        info = lambda: None
        info.max = max(_list)
        info.min = min(_list)
        info.distance = info.max - info.min
        push_axis.append(info)

    import collections

    originals = dict(zip(['x', 'y', 'z'], push_axis))

    o_details = collections.namedtuple('object_details', 'x y z')
    return o_details(**originals)

object_details = bounds(C.object, True)

bpy.ops.object.mode_set(mode='EDIT')

bm = bmesh.from_edit_mesh(C.object.data)

edges = []

# split the model into parts along y-axis, with steps of 10 in local coordinate space (this ignores the scale property, so make sure to apply it before)
for i in range(int(round(object_details.y.min)), int(round(object_details.y.max)), 10):
        ret = bmesh.ops.bisect_plane(bm, geom=bm.verts[:]+bm.edges[:]+bm.faces[:], plane_co=(0,i,0), plane_no=(0,1,0))
        bmesh.ops.split_edges(bm, edges=[e for e in ret['geom_cut'] if isinstance(e, bmesh.types.BMEdge)])

bmesh.update_edit_mesh(C.object.data)

# bpy.ops.mesh.separate(type='LOOSE')

islands = [island for island in get_islands(bm, verts=bm.verts)["islands"]]
print("Islands:", len(islands))
print([len(i) for i in islands])

bpy.ops.object.mode_set(mode='OBJECT')

Might find this answer useful.  Instead of separating into new objects returns a dictionary of the islands.

Thought there was something familiar about this.  After running your bisects, get the list of islands using code from comment above. Each island will belong to a bisect based on coords. There may be none, one or more islands per bisect. From there could split by selection, or (possibly simpler-ish) join the split objects that share verts in a bisect.

This is interesting! Code from first comment finds 36 islands. So how do I group these into 10 objects? I'd like to name them bisect-1, bisect-2 etc. Do you think I need this answer to make separate objects?

Yes that would be one way. Or use something like left - right test to see if (say centroid) point of each split is between planes. Also there is a clear inner (or outer) on the bisect plane operator. Might be easier to step thru this way with each set of two planes. ie copy bmesh bisect clear inner on plane i, and outer on plane i+1 write to new mesh...   for each section. example of clear outer

Using clear inner and outer on bisect plane operator.
Further to my comment, think this may be the simplest way.
Test script, which I've tested on Suzanne (who has seperate eye objects) and appears to work correctly.
Test script uses bmesh of original object, then for each set of two planes bisects and clears inner on left hand plane, and outer on right hand plane on a copy of the original bmesh.
Run in object mode with object to split selected. Creates a new object for each split. Doesn't remove original.
(for example sake splits in along local z axis in units from -10 to 10)
import bpy, bmesh
from bpy import context as C
from  mathutils import Vector

def newobj(bm):
    me = bpy.data.meshes.new("split")
    bm.to_mesh(me)
    ob = bpy.data.objects.new("split", me)
    C.scene.objects.link(ob)

bmo = bmesh.new()
bmo.from_mesh(C.object.data)

planes = [Vector((0, 0, i)) for i in range(-10, 10, 1)]
p0 = planes.pop(0)
while planes:
    bm = bmo.copy()
    p1 = planes.pop(0)

    bmesh.ops.bisect_plane(bm, geom=bm.verts[:] + bm.edges[:] + bm.faces[:],
            plane_co=p0,
            plane_no=(0,0,1),
            clear_inner=True)

    bmesh.ops.bisect_plane(bm, geom=bm.verts[:] + bm.edges[:] + bm.faces[:],
            plane_co=p1,
            plane_no=(0,0,1),
            clear_outer=True)
    if len(bm.verts):
        newobj(bm)
    p0 = p1

Naming the bisects based on each plane pair should be trivial after determining the correct splits as you have in question.

Thanks to the comments of batFINGER I came up with a nearly identical solution. Main difference is that I cut again from the remains of the previous iteration, gradually reducing the mesh to bisect. I guess this performs better than bisecting from the original bmesh each iteration.
import bpy, bmesh
from bpy import context as C
from mathutils import Vector

def newobj(bm, name):
    me = bpy.data.meshes.new(name)
    bm.to_mesh(me)
    ob = bpy.data.objects.new(name,me)
    C.scene.objects.link(ob)
    return ob

# https://blender.stackexchange.com/questions/32283/what-are-all-values-in-bound-box
def bounds(obj, local=False):

    local_coords = obj.bound_box[:]
    om = obj.matrix_world

    if not local:
        worldify = lambda p: om * Vector(p[:])
        coords = [worldify(p).to_tuple() for p in local_coords]
    else:
        coords = [p[:] for p in local_coords]

    rotated = zip(*coords[::-1])

    push_axis = []
    for (axis, _list) in zip('xyz', rotated):
        info = lambda: None
        info.max = max(_list)
        info.min = min(_list)
        info.distance = info.max - info.min
        push_axis.append(info)

    import collections

    originals = dict(zip(['x', 'y', 'z'], push_axis))

    o_details = collections.namedtuple('object_details', 'x y z')
    return o_details(**originals)

object_details = bounds(C.object, True)

bpy.ops.object.mode_set(mode='OBJECT')

cut_index = 0
step_size = 10

bisection_outer = bmesh.new()
bisection_outer.from_mesh(C.object.data)

# split the model into parts along y-axis, with steps of 10 in local coordinate space (this ignores the scale property, so make sure to apply it before)
for i in range(int(round(object_details.y.min)), int(round(object_details.y.max+step_size)), step_size):
        bisection_inner = bisection_outer.copy()
        bmesh.ops.bisect_plane(bisection_outer, geom=bisection_outer.verts[:]+bisection_outer.edges[:]+bisection_outer.faces[:], plane_co=(0,i,0), plane_no=(0,1,0), clear_inner=True)
        bmesh.ops.bisect_plane(bisection_inner, geom=bisection_inner.verts[:]+bisection_inner.edges[:]+bisection_inner.faces[:], plane_co=(0,i,0), plane_no=(0,1,0), clear_outer=True)

        newobj(bisection_inner, "bisect-"+str(cut_index))
        bisection_inner.free()  # free and prevent further access
        cut_index+=1

bisection_outer.free()  # free and prevent further access

bpy.data.objects.remove(C.object, True)

Nice one, agree using cut down mesh each time more efficient, didn't bother for example sake.   Prob. no need for edit mode also.   Please consider upvoting too if you find questions and answers useful.

Thanks you're right. Works in object mode like your solution. Upvoted :)

It removes materials..


text:
(God Rays) Object ray visibility for camera is turned off and looks fine in viewport Rendered view but not when Rendering image
as stated above I have a scene where the sun shines light towards the camera and there are god rays visible. This is what it looks like in rendered view.
Rendered View

As you can see, the rays are visible.
However, when rendering the image, the rays disappear.
Render:

In the corner, there is a plane with holes to create this effect and a cube with volume scatter shader added.
Plane:

Box surround the scene:

Does anyone know why this happens and how to fix it?

@Crow I converted your post to a comment; there was a comment from Scoobyjeww: "turning off denoising did not fix the render. It still looks the same"


text:
Texture masks and colors being washed out with each mix shader node added
on the topic of creating custom textures, I always run into the same problem when creating custom masks and colors for said textures.
In my current project, I'm trying to create a label for a perfume bottle, however, even at the first mix shader I'm encountering issues.
This is the material preview for the mask I created. As seen, the color is vibrant without any issues.

However, once it is plugged into the mix shader, the color dulls and is washed out.

And subsequently, with more masks and mix shaders added, it just gets worse.

These are what the separate masks look like:

This has always happened in my previous projects and I still don't understand why.
Is this a problem with my masking or something else?

Your label is in the shadow. Have you tried to light it up?

Hello could you please pack the images and share your file?

What on Earth are you doing there? The first Mix Shader at the bottom left mixes a white Principled BSDF with nothing - that creates a white card surface with pitch black (= shadeless) rim and text. Then you mix in a white text over the black text. Then you mix a white rim over the black rim, leaving you with a completely white card (except for some antialiasing perhaps at the boundaries between the different parts). And like @DanielMöller already said, your label is in the shadow. The Material Preview uses some default HDRI lighting.

If you are plugging an Image Texture directly into the Output it will work as if you'd use an Emission shader, as soon as you plug it into a Principled BSDF it will work as a Diffuse, it won't emit light anymore and it will be subject to lights and shadows. Also it makes no sense to use a Mix Shader that mixes a Principled BSDF with nothing, plug your Image Texture into the Principled BSDF that you plug into the Output and add a light in your scene to get the label lit.

I did not say mixing with nothing doesn't make sense, if someone wanted shadeless black in those parts that's the easiest way to achieve it  What doesn't make sense is having one mask that leaves rim and text black and then use inverted masks that basically erase the previous separation.

Thanks for the explanation, I made the stupid mistake of just missing out lighting for my label. Once I added a light directly on it, the colors didn't look "washed out" anymore
Thanks everyone!

The problem of the first image you posted is that your label is in the shadow.
There is no light on it. Add some light in front, or rotate the sun.
The last "nodes" setup is using "non-color" for two of the image textures. They should all be using "sRGB".
You also need to add some shader to the first mix, leaving it empty will probably give you some unwanted results.

He is using them as mix factor, it is a very common practice and even better in many cases to use Non-Color instead of sRGB if you want to use black and white or greyscale images as float values for masks. However what he does and what I mention in my comment is that he uses the masks to mix white materials with white materials which of course results in everything just being white. Leaving the second shader empty in the first mix doesn't matter since he's "overwriting" it in the following mixes anyway.

As stated above in the answer, you were right, I just needed to add a light to the label. Thank you!


text:
How can I bend this rectangle to turn it into a parchment?
Can someone please help me to make these parchment paper, scroll-type menu buttons? I am using 4.2.3. I started transforming scaling a simple mesh cube to be the shape of a piece of parchment paper. See this example that I'm going for, and the viewport screenshot below:

I added geometry to the rectangle with Loop Cuts:

And now I have added a "Simple Deform" modifier, set to bend along the "X" axis.

It's hard to describe what the modifier is doing to my geometry, and it's also hard to capture it in a screenshot, but rest assured, I have experimented with bending along multiple axes, with multiple settings, with my rectangle rotated in different ways, and with different faces selected. I want to bend the parchment procedurally, non-destructively. So far all I can get is something like this:

Can anyone please help me to bend the rectangle so it's like a scroll? I have surely used the search function and tried other solutions, such as the one here:
How to bend a plane? Bend won't bend

https://blender.stackexchange.com/questions/136600/spiral-unrolling-rolling-animation-in-animation-nodes https://blender.stackexchange.com/questions/137554/how-to-create-reeling-spool-effect

You could do it with the Curve modifier: Create a spiral curve (you need to enable the Add Curve: Extra Objects addon then ShiftA > Curve > Curve Spirals > Archemedian) and extrude its tip. Put your object at the same location as the curve:

Give your object a Curve modifier with the curve as Curve Object, move it on X until it rolls around the spiral:


text:
Physics Simulation - Setting Rigid Body World in the Code
I have an issue on a physics simulation in Blender. I code a falling down cubes and texted on the code the rigid world properties like cache.
To be brief when a run the code it doesn't generate the cubes grid as I want and the simulation doesn't run, when I set manually the rigid world properties in Blender and comment the rigid world strings the code works correctly.
Maybe is a Blender bug but I'm not sure. Anyone has any idea?
import bpy
import random
import numpy as np
#======================================================
# Time simulation parameters
start_f = 0
end_f = 1000
mult_delay = 10
#======================================================
bpy.ops.rigidbody.world_add()
bpy.context.scene.frame_end = end_f
bpy.context.scene.rigidbody_world.point_cache.frame_start = start_f
bpy.context.scene.rigidbody_world.point_cache.frame_end = end_f
#======================================================
mass = 1000.
d = 0.999
f = 0.8

Dn    = 1       # Numerical diameter [m]

nrows    = 8    # Number of cube according to x axes
ncolumns = 5    # Number of cubes according to y axes
nLayer   = 2    # Number of vertical layer

a = 1.40        # Spacing between cubes according to x axes
b = 1.40        # Spacing between cubes according to y axes
c = 1.50        # Spacing between cubes according to z axes

# First element coordinate
x1 = -(Dn*nrows/2.+(nrows/2-1)*(a-1)*Dn)+(a-1)*Dn/2.0
y1 = -(Dn*ncolumns/2.+(ncolumns/2-1)*(b-1)*Dn)+(b-1)*Dn/2.0
DX = -2.*x1
DY = -2.*y1
z0 = 3
# Bottom slope
m = 0.15        # V/H

#======================================================
rectangles = [(x1, y1), (x1, y1+DY), (x1+DX, y1+DY), (x1+DX, y1)]
plane_mesh = bpy.ops.mesh.primitive_plane_add()
plane = bpy.context.active_object
plane.location.xyz = (0,0,-x1*np.sin(np.arctan(m)))
plane.scale.xy = ((-x1+Dn/2.0)*1.1,(-y1+Dn/2.0)*1.1)
bpy.ops.transform.rotate(   value=np.arctan(m),
                            orient_axis='X',
                            orient_type='GLOBAL',
                            orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)),
                            orient_matrix_type='GLOBAL',
                            constraint_axis=(False, True, False),
                            mirror=True,
                            use_proportional_edit=False,
                            proportional_edit_falloff='SMOOTH',
                            proportional_size=1,
                            use_proportional_connected=False,
                            use_proportional_projected=False,
                            release_confirm=True)

bpy.ops.object.select_all(action='DESELECT')
bpy.ops.rigidbody.object_add()
# Assign the rigid body properties to the plane
rigid_body = plane.rigid_body
rigid_body.type = 'PASSIVE'
rigid_body.friction = f
#======================================================
cube_mesh = bpy.ops.mesh.primitive_cube_add()
bpy.context.active_object.dimensions = (1,1,1)
#======================================================
bpy.ops.object.select_all(action='DESELECT') # Deselects all objects on the scene
cube = bpy.data.objects['Cube']              # Create for cube
cube.select_set(True)                        # Selects only the cube
bpy.context.view_layer.objects.active = cube # Makes the cube an active object
#=====================================================

bpy.ops.rigidbody.object_add()               # Adds rigid body to cube

# Assign the rigid body properties to cube
rigid_body = cube.rigid_body
rigid_body.type = 'ACTIVE'
rigid_body.mass = mass
rigid_body.friction = f
rigid_body.linear_damping = d

zz = np.arange(z0,z0+c*Dn*nLayer,c*Dn)
xx = 0
yy = 0
cont = -1
for iz,z1 in enumerate(zz):
    del xx,yy
    xx = np.arange(x1+float(iz % 2)*a*Dn/2.,
                   x1 + a*Dn*nrows    - float(iz % 2)*a*Dn,
                   a*Dn)
    yy = np.arange(y1+float(iz % 2)*b*Dn/2.,
                   y1 + b*Dn*ncolumns - float(iz % 2)*b*Dn,
                   b*Dn)

    data = []
    for x in xx:
        for y in yy:
            data.append([x,y,z1])

    print("data",data)
    lines = len(data)

    # for line in range(lines):
    #     pos = data[line]
    #     print ("pos",pos)
    for i, pos in enumerate(data):
        cont += 1
        delay = cont * mult_delay
        print('delay',delay)

        bpy.ops.object.duplicate()
        num1=random.uniform(0,2.0*np.pi)
        num2=random.uniform(0,2.0*np.pi)
        num3=random.uniform(0,2.0*np.pi)
        bpy.ops.transform.rotate(   value=num1,
                                    orient_axis='Z',
                                    orient_type='GLOBAL',
                                    orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)),
                                    orient_matrix_type='GLOBAL',
                                    constraint_axis=(False, False, True),
                                    mirror=True,
                                    use_proportional_edit=False,
                                    proportional_edit_falloff='SMOOTH',
                                    proportional_size=1,
                                    use_proportional_connected=False,
                                    use_proportional_projected=False,
                                    release_confirm=True)
        bpy.ops.transform.rotate(   value=num2,
                                    orient_axis='X',
                                    orient_type='GLOBAL',
                                    orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)),
                                    orient_matrix_type='GLOBAL',
                                    constraint_axis=(False, True, False),
                                    mirror=True,
                                    use_proportional_edit=False,
                                    proportional_edit_falloff='SMOOTH',
                                    proportional_size=1,
                                    use_proportional_connected=False,
                                    use_proportional_projected=False,
                                    release_confirm=True)
        bpy.ops.transform.rotate(   value=num3,
                                    orient_axis='Y',
                                    orient_type='GLOBAL',
                                    orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)),
                                    orient_matrix_type='GLOBAL',
                                    constraint_axis=(True, False, False),
                                    mirror=True,
                                    use_proportional_edit=False,
                                    proportional_edit_falloff='SMOOTH',
                                    proportional_size=1,
                                    use_proportional_connected=False,
                                    use_proportional_projected=False,
                                    release_confirm=True)
        obj = bpy.context.active_object
        obj.location = pos

        obj.rigid_body.enabled = True
        obj.hide_viewport = False
        obj.rigid_body.mass = mass
        obj.rigid_body.linear_damping = d

        obj.keyframe_insert(data_path='hide_viewport', frame=start_f)
        obj.keyframe_insert(data_path='rigid_body.enabled', frame=start_f)
        obj.keyframe_insert(data_path='rigid_body.linear_damping', frame=start_f)

        obj.rigid_body.enabled = False
        obj.hide_viewport = False

        obj.keyframe_insert(data_path='hide_viewport', frame=start_f + delay)
        obj.keyframe_insert(data_path="rigid_body.enabled",frame=start_f + delay)

        obj.rigid_body.enabled = True
        obj.hide_viewport = False
        obj.keyframe_insert(data_path="hide_viewport",frame=start_f + delay + 10)
        obj.keyframe_insert(data_path="rigid_body.enabled",frame=start_f + delay + 10)

obj.select_set(False)

cube.select_set(True)
bpy.ops.object.delete()
#======================================================
bpy.ops.screen.animation_play()     # To start animation

Hello and welcome. Please don't write in all caps in the title or body of any posts, it is the written equivalent of shouting, is harder to read and may be considered rude. Please use the [edit] button below the post to change you text into regular case.

Also use proper code formatting for posting scripts and python code

Yes, sorry for the mistake @DuarteFarrajotaRamos

No problem @ValerioGianforte. But hey, the title is still waiting for you and wants to get fixed  ;-)


text:
How to draw a Curve onto a mesh with the Draw tool
I can create a Curve line, then move it over to my mesh, turn on the "snap to faces" then move it point by point to my mesh (snapping them onto the surfce as I go) and generate paths on the surface of my mesh in that way.
But, is it possuble to draw onto a mesh with the Curve Pen or Draw tool and have the Curve snap to mesh's faces.
I am looking for a faster way to create hair curve paths (not the built in particle method).

Add Curve object, switch to Edit mode Delete curve, take Draw tool (free-hand pen), under Tool properties (N) switch to Surface ... draw a shape over your model ...

Notes:

just be sure Curve object is set to 3D type

Thanks, I saw this one already, I tried it and...
!) should I dd the curve to the object?
2) if I just add a curve - Delete it - Take the draw tool - change to surface and draw --- it just draws in 2D behind the object...
Any other thoughts?

If you checked my note bellow my screen ...share your blend to let us see.

Thanks - I did also check that 3D type was selected.... As for sharing a file, I was simply trying to do this in a blank statup scene on an added mesh-uv sphere

I just ran through the steps again - and it did work! Thanks for all your help


text:
How can I blend two objects i.e fillup objects between two different objects?
I have to make something like the design shown below in Blender.
I have done this in CorelDraw using the blend tool. I want to do the same for 3D objects. How can I do that in Blender?
2 different objects:

Blend between two objects:

you can use Shape Keys: Create your square plane, give it 2 Shape Keys, for the second one round it with right click > LoopTools > Circle, then play with the Shape Key value

Helllo :) @batFINGER made a script for this a while ago here

...and this one   https://blender.stackexchange.com/questions/121583/how-can-i-create-a-wallmesh-from-2-profiles-and-a-path-that-connects-them/122315#122315    Possibly also related. https://blender.stackexchange.com/questions/30738/how-can-i-morph-a-flat-plane-to-be-a-flat-cirlce eg of use https://blender.stackexchange.com/questions/192234/is-there-a-straightforward-way-to-map-all-my-vertices-from-a-cubic-space-to-a-cy

You can use Shape Keys: Create your square plane:

Give it 2 Shape Keys:

For the second one round it with right click > LoopTools > Circle:

Then play with the Shape Key value:

Create as many duplications as necessary if you need to show a whole series of shapes.

It does make a lot of sense using shapekeys as moonsboots answered.
Just know that there exist other way which uses displacement.
you can do more stuff procedurally by manipulating vectors (like a tilted transition in the illustrated image).


text:
Geometry Node - Strawberry seeds distribution (checker pattern)
I got help here just a few minutes ago to set up a geometry node that looks like this.

Now I want to skip some of the instances. So it looks more like a strawberry. Like every other or every third. And I also want every row to be offset. Is this possible with geometry nodes?

Since strawberry seeds are very regular but not perfectly regular, I found that using Distribute Points -> Poisson Disk with a defined minimum distance to be a good solution.

Probably would be easier to enhance your base model first ... A topology closer to a strawberry seed like pattern ... rhombs.

Add Plane orientated on X axis (with Apply > Rotation Ctrl+A), aspect ratio 2:1, split in middle Ctrl+R

Modifiers:

Subdivision > Simple > 4
Simple Deform > Bend > 180 X
Simple Deform > Bend > 360 Z

... or just add UV Sphere :)

Simple Deform > Taper > Target Object > Empty
Decimate > Un-Subdiv > 1 (to get rhomb pattern)

Geometry Nodes for seeds instancing

Yeah this helped. I needed to change the mesh to make sure they were in the right place. In the end I ended up making a vertex selection and adding it to a particle system, but after playing around with geometry nodes I think this is a simpler and way less "work-around-y" solution.

I didn't hade to remake my mesh, I just decimated it once to get angled faces. It worked!

One possibility is like this:

result:

Note: Be aware that the result depends on your geometry sizes, so it will not work for "every" geometry.

Note: you need Blender 3.1 in order to open and check out the example blend file

*** UPDATE ***
one way, which of course is a bit tedious, to make it look a bit more like a stawberry pattern, is to go to edit mode with the uvsphere, select an edge loop like this:

and then rotate on z-axis with transform orientation set to normal:

so that you get this:

i just did this now for one edge loop, but if you do this for every second edge loop, it will look good.
So mine (because i am lazy) looks now like this:

Note: I just rotated one edge loop here. You should move every second.

*** UPDATE 2 ***
i just found out an easier solution for this:

Note: you can cut off the top and bottom part as i described above.

please ... Can you enhanced your A with a way for checker selection, so the final result will be closer to strawberry seed pattern? Otherwise it will generates third Q on this topic. Thank you.

i updated my answer. Unfortunately the checker select tool didn't help in that case.

@vklidu: i found a more elegant solution and updated my answer again.

Great the selection with Modulo :) Any hint how to make it work for GN Mesh Primitive UV Sphere? BTW If you mean checker deselect operator it works great - select all, deselect top and bottom vertex and than use Checker Deselect, Assign selection to a Vertex Group and use it as Attribute directly to Selection socket.

For strawberry seed distribution you can start with default Icosphere, Subdivided, Smooth modifier ...

Than based on this topology use any kind of instancing technique per Vertex ...


text:
How to make a model reset into a position that I set
I want to make running and idle animations for my model but each time I reset the position to start the other animation it puts it back into  a t pose so I have to reposition the fists each time which takes so long! how do I make it so that I reset it into a position that I want such as the one below.

You probably want to use Pose Library ...

Thank you so much!!!! It worked immediately

Great ... If the answer is correct for you, consider to click on check-mark under vote arrows to sign this answer as "solved" (that is only your privilege), so others can easily see it from a list of questions (don't worry, you can uncheck it any time in a future). Thank you keep this site organised :)


text:
Metal looks different in lookdev and render
I'm using the Poliigon material converter and a texture from Poliigon.
I chose the metalness download and in lookdev it looks very good, but in the render it just looks plain and not metallic. When searching for an answer I'm pretty sure it has to do with the lighting. So I changed the HDR in render to the same studio.exr but it doesn't look any good.
What can be done?
The top one is lookdev mode with studio HDR
The bottom on is render (Cycles, 600) with studio HDR

Can't get the file size down smaller than around 50mb. Now I tried with just a cube and the texture but it's the same and the file size remains. Tried packing the files into blender file.

Seems like the texture makes the file size very large, the folder that contains the texture is 55mb. Tried saving with compression but no difference. Thanks for trying to help me.

I think that it is uploaded now, sorry I'm so new to this. But now the texture file is not packed in there.

Proper way is to add this code into your question (simply via "edit" at bottom of your question). I did it. I guess we can delete all comments here (easier for followers). Thank you

Cycles Render View

Cycles Lookdev View

I would say you don't use the same lightning setup for render and lookdev. Render use World and Scene Lights / Lookdev Studio light.
In the file you provided I can't confirm you use studio HDR for render, also if would use the same HDR for lookdev and  render, difference will does studio lights that are not taken into lightning in lookdev.

If I (for example) disable Studio Lights and Scene World I can see Render and Lookdev in both Cycles and Eevee matchs.

Sorry I think i missed the studio lights in this file that I uploaded (made a new when trying to make it smaller). But anyway, you are completely right. As in many of these questions why it looks different in render it must depend on the light. Now I tried with an emission plane above the model 10x10 meters and it completely changed the look of it. Thanks for your help, I'll mark this as solved.


text:
Create frame around group of objects
I have a geometry node setup (screenshot attached) which I'm using for windows. I'm using mesh lines to control the number of windows for the width and height. Can someone help with adding a border around the composition, which would resize based on the number of windows (yellow line in 2nd screenshot)? Basically, I want to have an additional border only on the outside of the shape.
Thanks!

Bounding Box, Merge by Distance, Extrude, Delete > Top ... doesn't work for you?

To scale frame easier you can set generated geometry to center

Here is one way of frame ...

Mixed ...

You would have to scale frame or reposition frame profile, like now frame partly covers windows.
Note: probably would be easier to start with a Grid mesh primitive and instance faces, than build it on arrayed line ... but it depend on your needs.


text:
Telugu fonts are not recognized by Blender 2.8
Telugu font types with .ttf formatted files are NOT displayed under fonts section of Blender 2.8, Any additional plug-in required or is it an issue?

Are you trying to select the font for a text object or for the interface in the preferences? Both work for me using this version of the Dhurjati font.

I am trying to select the font for a text object, Font Dhurjati is not visible for me in the Blender font window, where the font is already available in the Windows fonts folder.

Perhaps the actual font file isn't called Dhurjati.ttf and therefore doesn't appear after Curlz when sorted in alphabetical order?

No, I checked the properties. It is .ttf file only. I updated the screenshot in the question.

It seems that your font file is missing the file extension. While Windows knows that it's a TrueType font, Blender simply filters files by their file extension. Since this particular file doesn't have one, it isn't displayed in the file browser. Add the .ttf file extension to the file name and it should work properly.
Alternatively you can temporarily disable the file extension filter in Blender and the file will be visible as well.
Blender 2.80:

Blender 2.81 and later:

There may be another reason why you don't find your font file in C:\Windows\Fonts.
There are two options for installing fonts, you can either Install it (only for your user) or Install for all users. In the latter case it installs the file as expected into C:\Windows\Fonts, however in the former case it will be placed into C:\Users\[your username]\AppData\Local\Microsoft\Windows\Fonts.

Image source: Announcing Windows 10 Insider Preview Build 17704
The Windows Explorer will list all fonts when looking at C:\Windows\Fonts, including those that were installed for your user only. Therefore it's necessary to check where the file is actually stored. The easiest way to find the path is by opening the file's properties. With the file selected, right-click on it to open the context menu and select Properties. The General tab contains the Location property, which is the path to the file.

I disabled the filter, now I could see some files with .ttf files in the explorer except the font I needed.

Alright. Press WIN + R, type cmd and press enter. In the command line window that opens up, type cd C:\Windows\Fonts and press enter. Once in the font directory type dir dhurjati* and press enter. Does it find the file?

I think I did the same. If you see the screenshot in the question.

@djavvadi no it's not the same. The reason why I asked you is because Windows allows you to install fonts for your user only. In that case it will be displayed by the Windows Explorer when navigating to C:\Windows\Fonts, however the font file isn't actually stored there. Instead it's actually in C:\Users\[your username]\AppData\Local\Microsoft\Windows\Fonts. If you list the files in the command line you would see that the file isn't stored in C:\Windows\Fonts. The file location can be identified through its Properties.

Yes, you are right, I realized after my comment earlier. I will configure the fonts folder to the desired location in blender and try again. Thanks a lot for your time and suggestions.

@djavvadi Great! If my answer solved your question, consider marking it as accepted by clicking on the checkmark next to it.

first search font in blender, switch to folder windows/fonts, select the font there, and drag and drop in into the blender-folder; it went to fast but the message was something like font installed below 'user/...`' and that's why blender doesn't find it

This is likely the reason, which is why I've asked them to check the content of the directory from the command line (see comment from Nov 17).

There are two steps for making it work:

Go to your Windows Fonts folder:

(C:\Windows\Fonts), and copy all the fonts and then paste them into the blender-fonts-folder:
(C:\Program Files\Blender Foundation\Blender 3.0\3.0\datafiles\fonts)

Go to the Blender User Preferences under Preferences -> File Paths-> Data -> Fonts

And change the source of the fonts to the blender-fonts-folder
You should be able to see all of the fonts now.


text:
How to eliminate obvious proximity crease intersections?
I've created a geometry node setup where instanced objects act as proximity objects used to displace a ground. Whenever the proximity objects are close together, there is a glaring edge between both objects. Is there any way to fix this issue?

if you don't show us your setup...we can only guess...so pls provide a blend file (you can delete everything except the problem, if you want)

@Chris ... even original version seems to me clear - anytime proximity meets another proximity generates edge ... but I didn't find any other option to smooth it than multiply noise, that hides the issue than solves it :) I'm looking forward for solution.

I think the solution for this is to find a way to apply a smooth minimum function to the distance field

My bad. I was going to use a different screenshot but decided to use a matcap to make the issue more apparent.

@vklidu you removed your screenshot and now there's another close vote

@MarkusvonBroady ... sorry ... I wrote already - issue is described enough from my opinion and also marked in screen ... author also attached blend, so I don't think anyone can complain here. I don't know why people continue vote for more details.

Here is some way ...
Smooth > Factor 0-1

Node Tree

Node Group - Smooth ... original article with detailed info ...

For stronger effect or dense topology you can just add more iterations ... or if someone smarter knows how to multiply the effect without crazy iteration - don't hesitate to fix the answer :)
Smooth Modifier
Much easier would be just output vertex group from GN and add Smooth modifier, but there is not straight-forward way ... devs opinion.
But thanks to Markus von Broady you can use his hard-work :)

"Much easier would be just output vertex group from GN and add Smooth modifier, but that is not (and never be) possible" - I've done that… Similarly saving to UV map

What blender version are you using? In blender 3.3.0 one of your nodes in the smoothing group is undefined.

@MarkusvonBroady ... I'm going to check that :) thanks ...

@MrChurch2005 blender 3.4 sorry ... Vector Mix node is missing? You can use Color Mix node instead in lower versions.

Using a technique I learned from vklidu here:
Coral reef - How to blend scattered instances

You can connect each point to nearby points (rather than connecting each point to all other points).
This already enables you to do some interesting stuff, for example once you find the nearest point, you can lerp between that point and self a little (let's say 99% nearest point, 1% self), and from there look for the nearest edge of that vklidu's geometry; now a rather straight-forward setup will allow you to use a Switch to access the other vertex of this edge, and now you can use Vector Math: Distance to decide on weights for an interpolation of your choice. This would smooth creases between two points, but not corners between 3 and more points (intersections of creases).
However, you can take this vklidu geometry, subdivide that 1-3 times with a simple subdivision (this will alter falloff) and then with Catmull-Clark:

Unfortunately [or maybe it could be useful] it still produces creases, but this time going from peaks to valleys:

You can raycast a new grid on top of that, to produce your own topology, and you can Catmull-Clark it to maybe try to remove those new creases:

Perhaps you could move a step further and base the displace on a formula involving both the distance to the nearest point and the raycasted depth…


text:
How can I keep quad topology on geometric models?
I'm building a small modern house where the ceiling is essentially just two triangles. This makes it really hard to add edge loops and assign materials to different parts of the object. Is there a way I could model the structure so it's still comprised of quads?

Hello could you please share your object?

just select the edge, then edge -> limited dissolve

Yeah sure! I've added the blend file to the post.

It's not very clear what you want to do. "...makes it really hard to add edge loops and assign materials to different parts of the object..." is really not specific and could mean anything. What you do in this situation depends on what specifically you want to do next. It would be way better if you told us what you actually want to model and showed a sketch maybe. I bet you would get loads of answers almost instantly. That's how it usually goes here with clear and specific modelling questions.

Sorry if I was unclear. In the photos and blend file, you can see that the ceiling is just two triangles because that was the most obvious way to model it originally. Now that I am in the later stages of the scene and want to texture it, I need to assign different materials to several parts of the wall via adding edge loops vertically along the object. I would like to maintain edge flow while doing so. When I attempt to add loops along the object, the loops cut off at the top because of the tris. So I was wondering if there was a way to model the ceiling so it was composed of quads.

is it the kind of loops you want to add? https://i.sstatic.net/36NOY.png

Yeah. That'd be ideal!

This is not conventional and may have consequences on the topology, but what can be done:
Select the wall bottom edges and subdivide them by 2. So that you have.

Join the vertices (select them 2 by 2 then J key).

Select each edge and push it to the border using GG (twice).

Now you can:

That works. Thanks for your help!

This reminds me of a particular comedic trope, I think I've seen it in the Scooby Doo: they couldn't get into a house, with the door being locked and a key inside, so they broke the window and entered the house through it, in order to take the key, go out through the window and finally open the door from the outside. Maybe it's worthwile to point out the loopcuts in the last image could have any other positioning or number, otherwise on the 2nd image you're already inside the house.

@MarkusvonBroady, yes something like that!! I should have added many more subdivisions from the first image...


text:
Why are there rough patches on my models?
Recently the models I've been importing have had patchy shading (I don't really know how to describe it). The patches disappear when I change the roughness to be higher or lower. Any explanation for this? I'm certain its on a roughness level because they disappear when i disconnect the roughness map. Any help would be appreciated.

Also, please note that the Poliigon node group itself isn't causing the issue as the problem persists when plugging in the roughness map (with non-color data) directly (without the node group).

You may have to post a screenshot of your node set up for people to better help you.

What could also help is to share your blend file https://blend-exchange.com

I'll add a screenshot of the node setup, though it's essentially a roughness map (non-color data) plugged into the roughness input of a Principled BSDF node, which I've used a million times before without any problems.

What happens when you disconnect your normal input and use base normals?  That's where I suspect the problem lies-- in whatever normal that node group is creating.  But, yeah, file is really the only way to do this that isn't just a game of twenty questions.

I already tried that. It looks the it would be the normals but it’s not, as the issue persists after disconnecting the normal map. And as for sharing the blend file, I usually would but in this case I don’t believe I’m able to as the models with the problem are paid and I can’t redistribute them. Sorry I can’t provide the files but I left a message on their website so maybe they’ll be able to answer it on there.


text:
Leaving edit mode loses almost all detail
I'm fairly new to Blender (and 3D modelling). I'm trying to model a human ear to attach to a head I've made. This is my second attempt because I wasn't happy with the first. I started with a single plain and extruded the basic shape. I added a subsurf modifier with subdivisions set to 1 and applied it. Then I added another subsurf modifer (which I haven't applied yet) and currently have the subdivisions set to 2. But I've just noticed that when I switch to object mode the ear loses almost all detail and I can't figure out why. This didn't happen on my first attempt at making an ear but I can't think of anything I've done differently other than laying out the initial faces in a slightly different pattern.
Edit Mode:

Object Mode:

EDIT:
Subdivisions set to 0:

Thanks, I tried, but it didn't work.

Maybe you have a shapekey?

If you set View to 0, does it look right again?

Can you tell me how to check if I have a shapekey please? I haven't used them before, so I assume the answer is no, but won't hurt to check.
I've added a picture with the view set to 0. I think the normal's were facing the wrong way in the original pics, hence the colour difference.

I found the shape keys and no I don't have any.

Here is the file: https://blend-exchange.giantcowfilms.com/b/4046/

The Scale units in your file are set to 0.01, and additionally you scaled the object to 0.0003 (or more zeros, a lot anyway) in Object mode. Apply scale and it should return back to normal. It's hard to explain that behaviour though as it isn't due to Subsurf

Related https://blender.stackexchange.com/questions/7298/why-is-it-important-to-apply-transformation-to-an-objects-data

Applying the scale worked, thank you. I'm trying to create a model for Unreal Engine 4 and I saw a tutorial which said to set the units to the Centimetres preset (which is 0.01). I don't ever remember scaling the object, only selected verts so I don't know how that's happened but thank you.

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


text:
Pixelated normals while baking problem
I'm new to blender and i just started to bake normal.In my case i am trying to bake details from high poly to a low poly obj but it gets pixelated(image below) along the curve.Can u please guide me on a workaround.i have also posted my render settings hope that helps

that seems to be due to the texture (image) resolution (size)

How do i fix it ? Current img size is 1024x1024 px . Update : i created a new img of 2048x2048 px and rebaked but still  Normals are pixelated

Hard to be totally sure it is the reason. What you can try is to give more space for this corner. To do that, mark seems around it and scale up this UV map part in your texture. If this still does not work, tell here...

So you have a high poly model and a low poly model? Which one is the model in your screenshot? Maybe you should upload your model to exchange.giantcowfilms.com/, edit your question and post the link there?

Hey thank u for feedback. I tried uploading through the site u mentioned but i got server code 0 error ;/ . And yes im baking highpoly(image) to low( which doesnt have extruded lines in it )

Sorry, wrong link. Try http://blend-exchange.giantcowfilms.com/


text:
Low level vs High level object creation speed UPDATE: Fast Data-Block Link to scene
I am trying to make a lot of objects with a python script. I have read multiple posts about low level vs high level programming and the slow-down due to scene-update of all objects after the creation of every one, and have based my second loop on them ('low level' programming).
The problem is that while the low level loop runs much faster, especially with the more objects added (I've tried up to 26,000), the scene never updates after creation. The windows 'waiting wheel' just spins and spins.
First, here is my data. I've shortened it to just be the first 1,000 rows. The view here is as a Pandas DataFrame, but I've converted it to a numpy array for speed before use.
        id  xcentre  ycentre  zcentre  xlength  ylength  zlength
0   783782  10236.5  14098.0    596.5      3.0      4.0      1.0
1   783783  10245.5  14091.0    596.5      5.0      2.0      1.0
2   783784  10247.5  14091.5    595.0      1.0      1.0      2.0
3   783785  10248.0  14093.0    594.5      4.0      2.0      1.0
4   783786  10245.5  14093.5    594.5      1.0      1.0      1.0
5   783787  10248.5  14087.5    595.5      1.0      1.0      1.0
6   783817  10240.5  14092.5    596.5      1.0      1.0      1.0
7   783818  10232.5  14099.5    596.5      1.0      1.0      1.0
8   783819  10234.5  14097.5    596.5      1.0      1.0      1.0
9   783820  10237.0  14095.5    596.5      2.0      1.0      1.0
10  783821  10238.5  14095.5    596.5      1.0      3.0      1.0
11  783822  10244.5  14089.5    596.5      1.0      1.0      1.0
12  783823  10246.5  14087.5    596.5      1.0      1.0      1.0
13  783833  10245.5  14091.5    595.5      3.0      1.0      1.0
14  783834  10234.0  14099.0    596.5      2.0      2.0      1.0
15  783835  10242.0  14092.0    596.5      2.0      2.0      1.0
16  783836  10246.0  14089.0    596.5      2.0      2.0      1.0
17  783837  10249.5  14082.0    596.5      1.0      4.0      1.0
18  783838  10247.0  14090.5    595.5      2.0      1.0      1.0
19  783839  10246.5  14096.0    596.0      7.0      8.0      2.0

Here is the first script ('high level'):
#shorten the DataFrame and convert to numpy matrix
cut1 = cut[0:1000]
cut1 = cut1.as_matrix()

#Make the material for the cubes
purple = bpy.data.materials.new("Purple")
purple.diffuse_color = (1.0, 0, 1.0)

#Make the material for the labels
label = bpy.data.materials.new("LABEL")
label.diffuse_color = (1.0,1.0,1.0)

#Make the label and parent
bpy.ops.object.text_add(view_align=False, location=(cut1[:,1].mean(), cut1[:,2].mean(),cut1[:,3].max()+500), rotation=(0,4.72,0))
txt = bpy.context.object
txt.name = "Cubes"
txt.data.body = "Cubes"
txt.dimensions = 200, 100, 0
txt.data.materials.append(label)

start = time.time()
for i in range(len(cut1)):

    bpy.ops.mesh.primitive_cube_add(location=(cut1[i,1], cut1[i,2], cut1[i,3]))
    block = bpy.context.object
    block.scale = (cut1[i,4]/2, cut1[i,5]/2, cut1[i,6]/2)
    block.data.materials.append(purple)
    block.parent = txt
    block.matrix_parent_inverse = txt.matrix_world.inverted()

end = time.time()

print("elapsed time is: {}".format(start-end))

This runs in 12 seconds, and the results are perfect, where the blocks are exactly as I want. The scene interacts (zoom, rotate, etc) very fast.
The problem here is that after about 3000 objects, the script slows down dramatically. By 10,000 objects it takes well over a second per object. To make the 26,000 objects that I want would take days.
Here is the second script ('low level'):
#shorten the DataFrame and convert to numpy matrix
cut1 = cut[0:1000]
cut1 = cut1.as_matrix()

#Make the material for the cubes
purple = bpy.data.materials.new("Purple")
purple.diffuse_color = (1.0, 0, 1.0)
#Make the material for the labels
label = bpy.data.materials.new("LABEL")
label.diffuse_color = (1.0,1.0,1.0)

#Make the label and parent
bpy.ops.object.text_add(view_align=False, location=(cut1[:,1].mean(), cut1[:,2].mean(),cut1[:,3].max()+500), rotation=(0,4.72,0))
txt = bpy.context.object
txt.name = "Cubes"
txt.data.body = "Cubes"
txt.dimensions = 200, 100, 0
txt.data.materials.append(label)

#make the first cube to be the base for the obs array
bpy.ops.mesh.primitive_cube_add(location=(0,0,0))
ob = bpy.context.object
obs = []
sce = bpy.context.scene
start = time.time()

for i in range(len(cut1)):

    copy = ob.copy()
    copy.location += Vector((cut1[i,1], cut1[i,2], cut1[i,3]))
    copy.scale += Vector((cut1[i,4]/2, cut1[i,5]/2, cut1[i,6]/2))
    copy.data.materials.append(purple)
    copy.data = copy.data.copy()
    copy.hide=True
    copy.parent = txt
    copy.matrix_parent_inverse = txt.matrix_world.inverted()
    obs.append(copy)

for ob in obs:
    sce.objects.link(ob)

end = time.time()
print('elapsed time is: {}'.format(end-start))

sce.update() # don't place this in either of the above loops!

end2 = time.time()
print("scene update took: {}".format(end2-end))

This is the result:

My question is this:
Is there some activity that goes on when doing a bpy.context.scene.objects.link() that slows things down? I have waited until after the program is run, and all of the objects are created, but the program is still very slow. It takes minutes to interact with it (rotate, zoom, un-hide, etc). You'll notice that the objects are all created with hide=true, so its not trying to display them in the 3D window.
I'm at a loss here, and any help would be appreciated!
Thanks!
EDIT:
The problem is with moving the new cubes from the data-block to the scene. I can run the 'low level' script with any number of cubes up to the 26,000 and it runs very fast and they are all viewable within the data-blocks.

Can anyone help me with a fast way to either duplicate these to the scene or link them to the scene? I've tried both this:
for ob in obs:
    sce.objects.link(ob)

and this:
for j in range(len(obs)):
    sce.objects.link(obs[j])
    bpy.ops.object.duplicate()
    sce.objects.unlink(obs[j])

And they are both very very slow.

Looks like you have messed up your addon folders, for example the osm_parser.py should be inside the blender_geo folder in your addons.  Do you need a separate mesh for each mesh copy? (copy.data = copy.data.copy()) if not remove this.  I can't see a reason not to in code posted.  Then  you will have 26000 objs 1 mesh instead of 26000 of both.  For monster data might look at using a modal timer loop or similar to split into smaller chunks and be able to kill it with

Related #1, #2, #3

@batFINGER- Thanks for the advice. I've gone and cleaned up some of the mess in my console, but the addons I've written need the 'bl_info' text block to get rid of the rest I believe. I did remove the copy.data = copy.data.copy() just now and re-ran it with no change.

@pink vertex- thanks for those links. I'll give the dupliverts a try here now. Question for you that I've been searching for- with dupliverts can unique properties like diffuse_color and scale be applied to each piece?

Ok - So after messing around with this all day, I came across batFINGER's answer to this persons question (link below- While it wasn't the chosen answer, I was able to modify it to my needs). I don't yet know why it works so fast, but it just does. So thanks batFINGER! The 'collar' here is the same data set as 'cut1' in the question above. This will generate 10,000 objects in just a few seconds.
Creating many primitive objects quickly with Python
Here is the code with my modifications:
import bpy
import pandas as pd
import numpy as np

context = bpy.context
scene = context.scene

collar = collar.as_matrix()

def base_object():
    #Creates base cylinder
    bpy.ops.mesh.primitive_cube_add()
    return

def clear_scene(scene):
    #Clears the current scene
    for obj in scene.objects:
        scene.objects.unlink(obj)
        bpy.data.objects.remove(obj)
    return

def object_creation(scene, clouds, collar):
    bpy.ops.object.text_add(view_align=False, location=(0,0,0))
    txt = bpy.context.object
    base_object()
    obj = scene.objects.active
    obj.parent = txt
    obj.matrix_parent_inverse = txt.matrix_world.inverted()
    mesh = obj.data
    purple = bpy.data.materials.new("Purple")
    purple.diffuse_color = (1.0, 0, 1.0)

    for attempts in range(clouds):
        x = collar[attempts,1]
        y = collar[attempts,2]
        z = collar[attempts,3]
        obj.location = (x, y, z)
        obj.scale = (collar[attempts,4]/2, collar[attempts,5]/2, collar[attempts,6]/2)
        obj.show_transparent = True
        obj.active_material = purple
        obj = obj.copy()
        obj.data = mesh.copy() # a new mesh for each object.
        scene.objects.link(obj) # link it to the scene

    return

clear_scene(scene)
object_creation(scene, 10000, collar)

That's a good question- it took me a minute too. Basically you have to copy whichever package you want to use into the site-packages folder. If you're using blender 2.79 you should be using python 3.5. If you have anaconda installed with python 3.5 just copy the c:/anaconda/Lib/site-packages/pandas folder to the c:/blender/2.79/python/Lib/site-packages folder and you should be able to import it. Those paths may not be exact- I'm not in front of my computer

authors: Владимир Владимирович

authors: Віталій Крутько


text:
Trying to render a sharp 300x300 video
I have a simple animation that I have made and I cannot seem to get clear videos out of at 300px x 300px fpr smartphones, either its the encoding in ffmpeg or the render.  At this point I am unsure. I am confident that when I look at it on the smartphone it doesn't look good.  I am using JPEG format to write from blender to, and webm out of ffmpeg.
Thought:
I am wondering if there is something like a lower limit to rendered frames or compressed video which causes this to be blurry.
I can post a link to the video but not now.
The ffmpeg command line (have tried many things) generally has these components in it.  I have seen that with JPEG in ffmpeg maybe '-qscale 1' is used for better quality, om vfx section of the ffmpeg wiki.  I have tried -pix_fmt yuv420p also which was recommended on another occasion on the ffmpeg mailing list.  This seemed to work at the time but not in this case.

When generating a Photo JPEG movie clip there is really only one
  setting which is relevant - qscale and it should be set to 1. The
  command line for generating a Photo JPEG movie is as follows:

ffmpeg -i image-file0%3d.jpg -vb 1M output-file.webm

These are settings for the render.

this is the render at 300x300

And as I mentioned the video is on the net, although I have to edit that link, will do.

I would never expect a 300x300 image/video to not be blurry...that's way to low. Try something like 1024x1024 or 2048x2048 if you want a square.

I guess this is very ignorant but how do I get it to scale (both file size and viewing size) for a smartphone?  What size should I use?

Believe it or not, but modern smartphones are just as high res as many computer monitors...you need to look up the specs for the device you are targeting. Blender's default 1920x1080 would be a decent res though. BTW If you want different "scaled" sizes you will need to actually make a video of each size using the video sequence editor.

The video is at http://snaokwrx.com/mobile/Animation.html  it is the mosquito video near the bottom.   Thanks.

the actual webm is here:  http://snaokwrx.com/mobile/mobile_page_16.webm

authors: Виктор Тросиненко


text:
Problem with extruding along normals
When I try to extrude along normals, it goes up and down instead of outwards. Any help? I'm still relatively new.
Like this I extruded faces along normals ...

we need more information or even better the file to look at.
could be flipped normals ?

hello, also have you applied the scale in Object mode?

https://drive.google.com/file/d/1s_Jnne7RSpVGL8Ra6o2XOHMJtXKiCB71/view?usp=share_link heres the file

If you hit Alt + E you get a menu for extrude options. One of then is Extrude Faces Along Normals:

You could just extrude normally and finish the operation and then use Shrink/Flatten - Alt + S.

Thats is what i did it didnt work

OK, so what have you tried to solve it? Does this happen to one object only? Did you apply scale like suggested in the comments? You should check if the object has something weird going on with its modifiers as well. You should share the file if you wish to get a better answer. https://blend-exchange.com/

Here is the cylinder im trying to extrude the faces of https://drive.google.com/file/d/1TQyJrKicRscqXRXC4NVz2P2tc07Jk_0R/view?usp=share_link

OK, well it's a mesh exported to FBX format, not a .blend file...

Oh my bad heres a blend file.
https://drive.google.com/file/d/1s_Jnne7RSpVGL8Ra6o2XOHMJtXKiCB71/view?usp=share_link

Seems to me you have your answer in the comments already.

what do you mean


text:
Addon: Render burst - doesn't work as expected
It should do a Render batch for selected cameras, but it just keeps repeating the same camera and I can't cancel it. I have to kill it with task manager.
 Video:

I'm voting to close this question as off-topic because it is an issue with an addon and should be reported to the author

Shameless self promotion: Even better use my fork from here, submitted a patch long time ago which fixes a lot of their code related issues, adds it properly to the menu bar and has a closed panel by default ;)

@p2or Such self-promotion is very appreciated :). Thanks.

You need to use the newest version with 2.81+ compatibility.
It's available here on GitHub, and here's a cleaned-up version by @p2or.
Don't forget to enable it in Preferences > Addons


text:
Location Data to create Proxy Mesh for shadow catcher
I received the suggestion to use the location data to create a proxy mesh. Do they mean to eyeball the point cloud and draw out a plane? What's the best way to recreate part of the cliff to catch shadows?

Point Cloud Visualizer is nice helper with point clouds ... for meshing point cloud there is add-on Skin Point Cloud for blender 3+ in this thread ... but it takes ages for complex cloud. It is better to use Meshlab for meshing point cloud Filters > Remeshing > Surface Reconstruction

It depends how data looks like ... if you have just a location and rotation of single point, than it assume to be a just Camera info. So you can fake some environment (cliff) according to your real footage.
If your data is point cloud, than you can reconstruct environment (cliff) from these points. I would recommend Meshlab application (Filters > Remeshing > Surface Reconstruction), that is fast and accurate with minimum errors (for more info see my comment link).
Speaking to Blender - you can try import point cloud data.

And use this Geometry Node's node group from BD3D to connect vertices by edges
(not perfect, but closest I found). Just adjust Threshold ...

Apply GN modifier and press F (Fill)

Ignore all errors and add Remesh modifier > Voxel ...

Comparison Blender vs Meshlab ... there is some lost of details but probably detailed enough for Shadow Catcher.


text:
Molecular add-on particles won't interact with a non-animated rigid body
I'm trying to make molecular add-on particles to interact with other rigid bodies and it appears that they can interact with an animated rigid body, but not with non-animated rigid body. Does that make any sense or I'm doing something wrong?
As soon as I'm animating the glass jar and move it with the keyframes, the particles are moving along in it (strangely squeezing into one corner and each other due to the gravity, but then distribute evenly again when it stops, but that's not my current issue), but as soon as I remove the animation and try to tip over that jar with a cube, they stop interacting with the jar and stay in one place, while the jar falls over.
I read people are rather having the other way around issues, does anyone have the expertise to see what's wrong there?
Thank you in advance!

I have to login to view your file (what if i can't or don't want to?) You might want to consider using the file sharing site especially for this Blender StackExchange. It's over here: https://blend-exchange.giantcowfilms.com/

Hi Fjoersteller, I'm sorry that was unintentional, I thought I've shared the file properly. And thanks for the file sharing service tip, done!

It seems like some cache conflict.

Notes:

The glass jar should be Physics Properties > Rigid Body > Collision > type Mesh (not Convex because it should behave like filled object, but it didn't, hmm ...)
it is always better to Apply Scale (Ctrl+A) to avoid weird behaviour of boundaries
only make a difference if Substeps is changed from 4 to 1
(but changing it back to 4, it explodes in some point of anim, because of some previously cached data, that I'm not able clear from file even I change amount of particles, that always helped in crisis like this.

Bake to Keyframes
What I can recommend is to select glass jar and Bake to Keyframes (if you played all animation so rigid body was cached, baked avoids caching RB. Since than I don't have an issue with molecules.
Also it solves cube (that is pushing the glass) to affect particles.

After bake you can use Decimate function (with cursor hovering in Graph Editor) to simplify F-curve.

Hi mate, thank you for your suggestions! Though it's getting even more interesting. Not sure why, your bake was working fine as expected. As soon I freed the bake and baked again with the exact settings you made, the particles again stay in their place while the glass bowl tips over.

vklidu, could you please advise the sequence of bake I should do? I'm baking the rigid world first, then baking the molecular addon. Is that how you baked your version?

No, I baked only Molecular, by baking RigidBody World became baked Molecular as well but in very weird way.

Okay... Tried that too. Very strange.

Sorry mate, what's your Blender version? Mine is the official 2.83.0

I use the same, and it is exploding in end part of anim again now too, there are visible frames with outdated sim. Even I delete all caches (world rig and particles) it still writes some cache data are stored. Blender has quite a lot of these particle cache headaches. Usually I fix it by changing amount of particles that resets it, but it is not working now. Also Im not sure how precisely was molecular add-on ported to 2.8x version so it can be poor blenders particles in combination with some add-on issue.

Yeah. That doesn't explain though why I can't bake properly at all... Thanks for spending your time on my problem anyway!

Oh, forgot to mention, I don't have that explosion that you are experiencing. So different behaviour on the same file.

One suggestion that probably would work for you, see last part of answer. Note to Explosion - yes it is because your cache state that stacks randomly is different.

Baking to keyframes did the trick for me! I still have a feeling that's rather a workaround in my case, but it works, which is the most important! Thank you very much

Yes it is workarround (I feel bad the same), but these cache glitches are for years in blender and no dev is going to try to fix now, because of complexity and fact that new node based particle system is planned. BTW for the purpose you want to achieve I was using Liero's addon https://blenderartists.org/t/copy-particles-to-rigid-bodies/563269

Thank you, I'll give it a read and try!


text:
Fluid simulation - Domain, i don't have the options
I don't see any of this option in my blender file. I'm trying to make a fluid all over the skull inside the cube.
I tried many tutorials, but I don`t have the options for any of that

Because tut is from 2.9 with Mantaflow solver and your blender is 2.8 that use blenders fluid solver. Update Blender :-)

Thanks a lot! i did not paid attention on this detail.. i feel a bit stupid for this question :)) , cheers!

In peace :) All of us do these small mistakes with big impact :)


text:
How to recreate this kind of line animation in Blender?
I'd like to create a line animation like this one :
(Jupiter Ascending UI for info)

The question has been asked here and the person who created this animation replied, but with indications for Cinema 4d's Thinking Particles.
Can this be replicated in Blender ?
I tried with particles & forces but i cannot get near that. For example, one of the problems is that particles are going in all directions, intersecting paths of each others.

Try wind applied to curve shapes

Try making an array of a plane along a curve. Deform the curve with a displace modifier driven by an object, then flatten the shape to a hidden plane.

Make a material with a few brick textures, use a Mapping node to animate their offset. This can drive the bricks along the surface to make a fake particle effect.

Thanks for your insight, i was looking into brick textures into brick textures, following your comment, but your node setup works great, many thanks ! I'll have to study it as the control along the geometry is completely new to me...

You'll probably want to use curves but they can be hard to make without using Animation Nodes or some other addon.
I have used particles with motion blur.
I made a curve and fit an object array along it. I applied a wind>curve force filed to the curve, while I applied a force>surface force field to the array object.

Thanks, but my problem is to make the lines not cross each other as seen in the reference image. I've come across a partial solution by emitting from a few aligned vertices with a curve guide, but it's still hard to control when i add more curves in it...

Ok then I'm thinking that procedural brick texture over an array curved plane might be better?


text:
MAC: executable binary within addon zip loses execute permission when addon zip is installed on Blender
I have made an addon that when installed on Windows works perfectly fine. But when installed on Blender running on Mac OS, the binary contained within the addon zip file loses the execute permission. Here to prove that the execute permissions in -rwxrwxrwx@ were there before installation, when zip was downloaded and extracted into /Users/user/Downloads/:
user@macbook % pwd
/Users/user/Downloads/addon-name/executables/0.0.1/darwin/myexe.app/Contents/MacOS
user@macbook % ls -la
total 8840
drwxrwxrwx@ 3 user  staff       96 Jan 19 09:46 .
drwxrwxrwx@ 6 user  staff      192 Jan 19 09:46 ..
-rwxrwxrwx@ 1 user  staff  4523992 Jan 18 01:19 executable-binary

But when I install the addon zip file in Blender running on Mac OS and check the directory /Users/user/Library/Application Support/Blender/4.0/scripts/addons/ where Blender puts the addon, I noticed that the binary has lost its execute permission in -rw-r--r-- and that's when my addon fails to function properly.
user@macbook % pwd
/Users/user/Library/Application Support/Blender/4.0/scripts/addons/addon-name/executables/0.0.1/darwin/myexe.app/Contents/MacOS
user@macbook % ls -la
total 8840
drwxr-xr-x  3 user  staff       96 Jan 19 14:26 .
drwxr-xr-x  6 user  staff      192 Jan 19 14:26 ..
-rw-r--r--  1 user  staff  4523992 Jan 19 14:26 executable-binary

My current workaround is to manually add the execute permissions to the binary using chmod +x executable-binary. All the other parent directories still have retained the execute permissions. It's just the binary that has lost it. I'm uncertain whether this behavior is a bug or intentional, but it seems unlikely to be intentional since it results in inconsistency, especially considering that it functions correctly on Windows. So my question is how do I properly deploy and install such an addon that uses third party executable binaries? So that I can properly communicate that to the users via documentation.

Can confirm and I personally guess this is intentional to prevent any execution of malware but I may be wrong... so I'd suggest to report this behavior to make sure. In the meantime, you can make it executable automatically in the register() call, see my basic setup (tested on 4.0) based on a rather old answer. Does this help?

@p2or hi thank you for looking into this! interesting i totally forgot to check if there was a script. but wouldn't os.chmod(executable_path, 0o755) be enough?

i think this is the solution/workaround to my issue. can you add that as an answer. in the meantime i will borrow a mac to test this. but i guess if this works on Windows Ubuntu app then it must definitely work on Mac i suppose?

No problem. Yep, os.chmod(app, 0o755) works as well (tested on OSX), just wanted to use 'Pathlib' and provide a cross-platform solution: https://docs.python.org/3/library/pathlib.html#pathlib.Path.chmod

awesome thank you so much for the save! please add as answer and i will award the bounty and i can close this question :)

The reason for this issue can be found in scripts/startup/bl_operators/userpref.py.
Addons provided as zip files are extracted using ZipFile.extractall(path=None, ...), see line 688. As part of the extraction process, shutil.copyfileobj() is getting called internally, which copies each file to the destination in an exemplary manner, but unfortunately without the execution bits.

However, you can make the file executable again within the register() call of your addon by using either the pathlib or the os module in combination with the stat module:
...

# Path to the app
from pathlib import Path
app = Path(__file__).parent / "name-of-executable"

classes = (
    WM_OT_HelloWorld,
    WM_PT_HelloWorld,
    ...
)

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

    import stat
    app.chmod(app.stat().st_mode | stat.S_IEXEC)
    #os.chmod(str(app), st.st_mode | stat.S_IEXEC)

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

Full demo to capture the output of a C++ program supplied by an addon, based on Use array values from a C++ program in blender (you just need to compile random-numbers.cpp and zip both files).


text:
How do I emit light from within an object using a point light (Chinese Lantern)

I scaled up an Icosphere and want to create the effect of a very big Chinese lantern, but irrespective of the material. I can't seem to get the light to emit from within the object. It just keeps getting trapped if that makes sense so I don't know wether or not there are certain volume settings I need to toggle to allow light to pass through or what.

What is your current shader setup, render result? Show us some reference of desired result. You can share simplified blend file so we can check it. https://blend-exchange.com/ ... something like this https://imgur.com/OuEhVKs ? Please extend your question. This site is meant to be source of knowledge, so others can learn from you too ... it is helpful also for you to learn by identifying your current issue.

Sorry for not adding my blend file as reference because like I said, I only have a scaled up sphere but am unsure on how to achieve the look created in my attached reference image.

Does this answer your question? Light passing through paper (Chinese Lantern)

https://blender.stackexchange.com/questions/210228
https://blender.stackexchange.com/questions/158718
https://blender.stackexchange.com/questions/292447
https://blender.stackexchange.com/questions/130391
https://blender.stackexchange.com/questions/69406 https://blender.stackexchange.com/questions/247759
https://blender.stackexchange.com/questions/44253
https://blender.stackexchange.com/questions/24886

I think Translucent BSDF shader is key of this material so check this answer.
Or you can use Principled BSDF shader where especially Transmission parameter set to 1 will do the job.

With Extra Curve addon you can add Spiral > Shere for lantern wire. Also care about Point light's Power and Radius, it affects final result.

You could fake it with a Layer Weight that you use as factor between 2 Emission shaders:


text:
Collapsing Verts without creating triangles
I have modeled this fork and have no idea how to finish this end.

I would love to have the curvature just continue without ending where all the verts are.
If I collapse the verts, I create lots of triangles and this causes further problems especially with modifiers.
Maybe somebody has an idea.
Thanks!

You could simply add some perpendicular edges.
That will keep the geometry even along the whole edge.

Hi Jachym. Thanks a lot.

Hi Jachym. Thanks a lot. I have added 2 more pictures to my original post. I have no idea if that was what you meant or if I have done it the most eficient way (probably not).  It does not look exactly like what you have on your picture but it looks definitely much better now.

Hey :). You got the principle right, glad it works for you. Good luck with your project :).

Thanks Jachym. Guess there is still a long way to go;-)

If you model your fork in the flat, and (initially) use a Solidify modifier to thicken it, there are no vertices to collapse. You can leave them as they are:

The longitudinal loops from the tines have been kept regular across the width by using the shipped add-on  Loop Tools, > Space
(All working under a Mirror) With Curve, Solidify, and Subdiv:

The Solidify can give you variable thickness by aiming it at a vertex group. You can paint the thicknesses in. If you need a bulbous end to the fork handle, I think you have to apply the Solidify, to put in a central loop:

... maybe, if you solidified before curving, you could do that non-destructively as well, with a Bevel?.. I haven't tried that. Anyway, you can proportionately Alt S scale that loop along its normals, to make the profile rounder in some places, squarer in others.

Awesome. Thanks guys!


text:
Blender Fluid Simulation Not Working
I have been meaning to ask this question for a while
I used to do fluid simulations a lot and when they changed to flip they just don't work anymore.
In the viewport the only thing that is showing is these particles
I watched some tutorials and I set it up how they said to and the collision objects also aren't working. Even in renders the fluid doesn't show up.
Here is a link to a google drive with the .blend file so someone can tell me what I did wrong Here
Thanks

Hi. Please make the title of the question specific to what you are asking and not just the general topic. Thanks.

Make sure you tick the Mesh checkbox in the physics panel of your liquid simulation and then click on bake mesh


text:
how to properly shrink wrap a torus looking thing
I'm trying to shrink wrap "cloth" to a torus looking object. It was going fine until I reach the quarter of the torus, the shrink wrap isn't working as I expected.
Here's the image of my current model

The wrap is overlapping on itself right now, but it's currently my biggest concern. As you can see from the images, the wrap twisted on the quarter way and rotating the curve vertices doesn't really fix it. What configuration of the shrink wrap should I use? Because I think this could be a shrink wrap issue. I'll upload my blend file so you guys can check it out.

It's not the Shrink Wrap modifier but the curve guide that you've created that causes the problems.
Curves have normals and can be tilted with Ctrl+T in Edit mode. In Edit mode, you also can activate the [X] Normals overlay. Just lower the number for the length to 0.005 else you will get a mess with the default value:
Normals of the curve guide
Now you can see the problem. The curve guide is twisted. You get a better result if you tilt them so they follow the torus:
Fixed normals
Select a control point in Edit mode and tilt it (Ctrl+T & move mouse)

Then the Shrink Wrap modifier can do a better job. Final result:

(Please note, I was confused by your settings ;-) So I've changed a few things as seen in the screenshots:

rotated the "cloth" (handle wrap 2) and aligned it along the Y-axis. (Yours is aligned along the X-axis and is laid out "flat".)
changed the Array modifier from [_] Constant Offset to [X] Relative Offset, and set Factor Y to 1.000
set the Curve modifier's Deform Axis from -X to Y)

wow, I didn't know a lot of things was affecting that. Honestly, I was just "brute forcing" that model with what I know. Will try your answer


text:
shrinkwrap doesn't go all around a Cylinder
So I was trying to Shrinkwrap an Array to a Cylinder and it doesn't go all the way. It only wraps to half of the Cylinder. So I looked at how to fix it. I found that you need to kind of help the Shrinkwrap by at least making the thing you want to Shrinkwrap be closer to the surface of the thing you want the Shrinkwrap to stick so I added a SimpleDeform so the Array would form a circle around the Cylinder. But, unfornately, it still only wraps half of it. I tried to lessen the Array but it would just make the Shrinkwrapped part stretched and I want to keep the number of Array and maybe even increase or decrease it without destroying the Shrinkwrap.

Also, if there's a way I could keep the shape of the ring which the top part is slightly going forward that would be helpful.
UPDATE:
So I tried what @Robin Betts suggested and wasn't able to get the same result the Target Normal Project part. I did however got the same result for the Weight Paint part but have to redo my topology as I didn't know that it's important for that process

Two questions..

(top row) You're using the wrong projection method in your Shrinkwrap modifier for this case.You have 'Project', along Y of the object space of your array (which is the same as the Y of your original element). Better to use 'Target Normal Project' (along the normals of the target) or 'Closest Surface Point'.
(bottom row) How to get an outward tilt of the peaks? The Shrinkwrap can be modulated by Vertex Weight. Assign a vertex group to the mesh, and weight it with lower values at the peaks. They will be influenced less, if you aim the  Shrinkwrap at the group.

I tried your solution and the 1st part didn't work like yours. The 2nd part worked perfectly but I need to fix my topology first to have a better looking result

It might depend on other steps.. I don't know how you're deforming your array into a circle .. maybe share your file on https://blend-exchange.giantcowfilms.com/

Nvm, my SimpleDeform was turned off that's why it's not wrapping up well. Thanks for the help


text:
Batch change color space in image textures
I am looking for a script which can batch change the settings in the image texture node. This is about using ACES in Blender.
I need this script to:

Batch change all the base color image textures from sRGB to Utility – sRGB – Texture.
Batch change all the other image textures, metallic, roughness, normal, displacement, etc from Non-Color to role_data.

Can anyone with scripting knowledge help please?

Currently I don't have ACES OCIO installed, so I can' try a fast answer, but Chat GPT is incredibly good at creating small Python Scripts for Blender like this.


text:
Error With Mirroring and Weight Paint
I am having a very weird problem. I have a model that is mirrored and a rig that is symetrized. Everything looks fine but when the weight painting is applied it only applies to half of the rig/model, and when I move into pose mode the movements on the left are mirrored by the right. It is really weird and I have no idea what is happening.

Put the Mirror modifier above the Armature modifier (or apply it).

That seemed to work to get the weight paint to sort of work. But now the character gets offset from the armature. I can manually move the character back in place in object mode, but is there a way to have it not move?

The scale of both your model and armature haven't been applied in Object mode which could well be giving problems. Select each in turn and use Ctrl-A > Scale in Object mode.

Thank you so much, that fixed everything.


text:
How can I create Benday dots/Halftones for my 2D Blender Animation
So i am new to 2D animation in blender, and for my project i needed to create a pop art animation, but unfortunately i couldn't find texture brush or anything related/ to create a benday dots or Halftone effect for the animation, so is there anyother way to make it happpen in 2d.
A brush/texture pack or anything

It would help if you posted some images of either an example from a 3rd party that you're aiming for or your current project that you need help with, or both. It's not easy to answer if you just say you want "benday dots" and not much else. Does it need to be a shader? Part of the UVd models texture? Post-Process effect in screenspace?

A couple posts for you to consider:
https://blender.stackexchange.com/questions/102352/blender-halftone-pattern-filter

https://blender.stackexchange.com/questions/296853/how-do-i-create-dot-texture-to-use-for-halftone-in-blenders-compositor

https://blender.stackexchange.com/questions/278596/non-photorealistic-shading-outline-in-an-illustration-aesthetic-style/278597#278597

I really do appericate your help, but im not doing my project in 3d. And i figured out that its not actually that hard to create half tone pattern in blender, i can do them manually. Basically im doing my project in an 80's pop art style so I needed those halftone/benday pattern for style purpose. but I can do them manually too. Again thanks for your help


text:
Outline of mesh showing with alpha
Im using a texture with alpha data to make parking lines, the mesh is just a plane and im using the texture coordinate's to scale and offset things, but as you can see there's still a clear outline/cutoff of the plane. I've switched the alpha to pre multiplied, turned transparent shadows in the material off and in object data turned off the shadow in ray visibility. I am also using cycles for the rendering

Looks like there are two planes, one over the other, one with transparency, introducing some impredictable Z - fighting.
Instead, you could create  a copy of the asphalt material, add the lines (with screen blending method, in my example), and assign it to the interested area.