text:
Geometry node difference gives inconsistent results
I am trying to make a dice with the symbols on the face carved out.
To do so I setup some geometry nodes to extrude a string and set it on the face normal. Then I thought a difference between the cube and the extruded face would give me what I want.

However I get the following results, two faces have the symbol as desired, all the others are flat. To add to my confusion the faces showing the symbols and the blank ones are different depending on the string used.

When viewing in wireframe mode all the symbols are where they're supposed to be. They just seem to not get caught in the difference operation for some reason. I've tried translating them a bit so the edges would be proturding out of the dice face, thinking maybe they were just under the face but it does not change anything.

So... What am I doing wrong ?

Issue - you Extrude to negative value, that generates mesh with switched normal orientation for your boolean operation. This also generates even more random errors for shapes with hole (like 0, 8, 9, ...).

Solution - add Flip Face node after Fill Curve node and Extrude in positive direction.

Notes:

You can extrude in negative too, just move Flip Face node after Extrude Mesh node instead. There is no difference.
For shapes with hole like (0, 6, 8 ,9 ...) disable Individual under Extrude node to prevent extruding connections with a hole.

Thank you for the help, I upvoted but I don't have enough reputation for it to show yet... I observed these problems with the holes too. Is it because this way of setting up the geometry nodes is bad and I should do it differently? Or is it a "bug"?

Negative Extrude generates normals in unwanted orientation for boolean operation. When extruded in positive, non-manifold issue was solved as well ... answer edited :)

It works pretty nice, one minor trouble is that by doing this way the numbers are mirrored, works for 0 but not for the others (unless I want to give a cool effect to the dice lol). Every rotation I tried so far brought the previous issue back so I'm not sure how to fix it.

Solution is even more simple ... :) Sorry for that I spotted later, that. See edit. Also you can use negative Extrude, just place Flip Face after Extrusion node instead :)


text:
Smooth shading and N-gons troubles
I'm trying to make a cup.
Problem is where the handle meets the cup, the smooth shading is not giving correct results.

I have read that this is usually caused by N-gons, like the ones where the handle meets the cup with different mesh number.
I have tried to get rid of them by triangles and wiggling them around, but it does not change anything.

Basically the questions is how to solve this situation? I guess it happens every time a "detailed" part meets a flat part so that must be quite common.

why do you have too much geometry on the handle as compared to the cup? does adding a subdivision surface modifier mitigate the problem?

I made the handle by extruding an ellipse along a path because it's a weird shape. The result gave me super dense meshes so I already dissolved tons to get to what you see here. Subdivision surface doesn't really help, I guess it's just my way of doing things that is wrong here.

You have ngons, on round surfaces it can create shading problems. As Harry says, you don't need so many vertices to create the handle, 8 vertices are enough (even 6 are enough):

Flatter shape with sharper edges on the side:

Thank you for your help, looks good however the actual cup handle is a flat-ish ellipse, if I make it with only 8/6 vertices I get super sharp edges near the focus points, any advice on how to solve this?

See my edit, is it what you want?

dumb me was placing a single edge right at the peak of the curve, making it super sharp. Thank you for showing the proper way.

source: Stack Exchange

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

sort: votes


text:
Investigating why realism feels off
I'm trying to create a realistic looking chess board. I don't have a picture to compare it to, I'm just improvising.
However after rendering it feels "off" and being a noob I don't have the experience to pinpoint what is causing this impression.
Can anyone give some pointers on the usual sources of "non realism" to look for?
I know this is very broad but I'm hopping there is some common causes that should be investigated first in that kind of situations.

I don't have a picture to compare it to Maybe start from there. Gather some references. Not just one; many, for different things, may it be color arrangement, texture believability, composition, lighting whatever. And pinpoint from them what you are missing in your render. There are good reasons why pros work from reference all the time.

There are two broad classes of 'realistic' photographs: product photography and everything else.  Your render appears to be an attempt to mimic product photography and I suspect you didn't intend it to be. There are two main differences: product photography is meant to highlight a product against a background and strives for perfection in the image, that is no dirt, no wear, et cetera; while other photography strives to tell a story.  But there are common elements from the point of view of realism.
Your chess board doesn't look credible. Thake a look at some commercial products.  The board is always framed by a boarder that's roughly as thick as one of the pieces.  It's also usually thinner top-to-bottom then your board.  The round over on the edges is usually more pronounced.
Glass chess pieces are very difficult to photograph and I'd recommend using a solid white until you got an image you like.  Then you can experiment with making the glass work.
The rook's top bits seem thin, but check a real set in the style you're interested in.  The bishop's face pieces are obscured, making it hard to tell if they have the usual slot. Otherwise the set seems to be well proportioned.
For a product photograph the wood is too busy. It draws the eye away from the product.  Product photos almost always have simple backgrounds.
Reconsider your lighting.  For a product shot, diffuse lighting is often more common than spot, and the vignette effect is a bit much.  What are you trying to accomplish?  Do you want even lighting to display the product clearly or do you want to focus on a specific piece as an example of the craftmanship?
For a non-product photograph, you probably don't have set dressers making sure that the set is spotless and hand selecting the pieces and board so that they have no wear.  You did a good job of making sure that the pieces weren't aligned too accurately, but perhaps the forward white knight might be angled a bit towards the center? But you could use a bit more wear. The edge of the board border would be a good place.  If the board is more worn but the pieces are much cleaner it tells a story about how much the user cares about each, for example.
Also, a non-product photograph should tell a story.  If you're going to use such a tight focus on the board, then you have to make the positions of the pieces work for you.  Why is this position interesting?  It's a pretty common opening. Maybe a different position later in the game?  Something that tells of a long battle between two styles?  Even non-players will see the configuration and thing something has happened.
Back to lighting: Even in a tight focus, so many shiny objects would reflect many things.  an HDR can be very helpful here; especially a credible interior HDR.

I think one of the biggest problems with this (in terms of photorealism) is that it looks too perfect. Perfection is a telltale sign of CGI as opposed to a real photograph.
You can fix this by adding surface imperfections such as fingerprints, polish streaks, maybe some damage or dirt and dust or something.
The wooden tabletop surface looks too flat. It needs a bump or normal map to bring out that wood grain. In a pinch, you can just use the image texture as a bump map but a good texture would have come shipped with normal and roughness maps.
Same applies to your chessboard. Textures with marble or woodgrain-like appearances rarely have uniform roughness or a perfectly flat surface. You can't see too many reflections on the chessboard but it's worth consideration.
The spotlight isolates the chessboard and draws the eye to the focal point, but in the real world, you rarely get this kind of setup. Think about what kind of room this is in and consider what the lighting setup of that room would look like. Make it feel less like this 'photo' was taken in a studio.
A commenter suggested looking at real photos - which is a great tip as well.
Other than that, I think the scene is too empty. It needs one or two more props - some books, a light (or candle) or something. Maybe some paper or a coaster with ring stains on it or something. Think about other things that might accompany your chessboard on or around the table.

FWIW, most commercial photographers would disagree with the first paragraph, although most CGI artists would strongly support it.  Product photography is, in the large, about faking perfection.  If we can't do it in camera, we fix in post, using retouching techniques that date back to the early days of negative "fixing".

True enough @MartyFouts. Some experts and commentators remark at the irony that professional photographers chase perfection, while CGI artists do the opposite and expend effort on making things less perfect. It's especially true in product photography, but I'd wager that it's less so with more candid or on-location shots.

Beyond the other advice on this page (which is all very good) you should work on making the Blender camera behave more like a real camera.  Things like depth of field and a very slight fish-eye to replicate some lens distortion will go a long way here.

It seems you are either using a very long focal length or parallel projection. Make sure to have a wider FOV, try setting the camera to 35mm focal length.
You have only one light roughly at the camera position, this is not very realistic. Make sure you actually have some background light, ideally by using a 360° image as background. If you do that right, you don't need any discrete lights in your scene. If you add lights, make sure you use area lights and not point lights. Don't just use white light - experiment with different color temperatures.
Make sure all the concave parts and silhouettes of your objects are tesselated well enough and don't rely on normal maps for structural features.
Never have sharp edges - make use of the bevel modifier.
If you have multiple instances of the same object, make sure to rotate each instance or shift the texture coordinates enough to make them look different.
Add some deliberate damage to your geometry, such as chipped edges.
Don't just dial in fixed values on the material properties but rather use textures that contain some slight variations for all the parameters (you can find material libraries for free on the internet).
For very uneven surfaces, use displacement maps instead of normal maps.
Use PBR materials.
Make use of subsurface scattering, especially for materials like marble, skin, plastic.
Enable depth of field and choose an interesting focal point. Add some slight lens flares.
Add some slight fisheye distortion in post.
Use the cycles renderer.
Render a higher resolution image than you need and downsample with a high quality filter.

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


text:
Struggling to understand Raycast node behavior
I am trying to use the Raycast geometry node to apply different textures to surfaces lit by a point light and surfaces in the dark.
But I don't understand the results obtained. The "set material" node applies the red colored material.
First with just the raycast node, without light source position consideration:

Why is the non exposed side of the sphere getting this weird pattern instead of being the default material all over?
Then with the light source location as origin for the rays:

And finally when the light source location is obtained via "Capture Attribute" node:

Why are the two situation with the light source position failing. And why are they not even giving the same results?
My expected result would be to have the bright side of the sphere in the red material and the dark side in white but obviously that's not what is happening here.

In this minimal version:

Raycast casts a ray from each point of the geometry towards the given light-object
The target of the Raycast is the geometry itself. This opens the way to floating-point error: the ray is likely to hit the point it is cast from.
So a tiny fraction of the point -> light vector is added to the ray source position, for clearance. (The 'Multiplier' in the Epsilon frame is 0.00001)
The light-object can't be hit, so it's sufficient to test whether or not there is any hit at all.

The Boolean attribute can be picked up as 0/1 by a shader:

i fear you have a misunderstanding, what the ray_cast node does.
The idea of it is to cast a single ray for each position vector in the specified direction and evaluate if it hits the target geometry. Using the light source as position origin propably only casts one ray.
Maybe dig deeper into the ray_cast node first.


text:
How to get x,y,z location from a list with python?
How to get location from a list with python?
list = ["Cube1","Cube2", "Cube3"]
How can I get the Y location for the list?
I can get it for each individual object:
C1= bpy.data.objects["Cube1"].location

But I don't know how to convert list to [(X,Y,Z),(X,Y,Z),(X,Y,Z)]

loclist = [bpy.data.objects[name].location[:] for name in namelist]?  Or .location.y for the Y's? But maybe is this a Python question, not a Blender question?

Assuming we have the default cube and three clones as our object names, we can build new lists for the locations, and the Y locations. You asked for both in the question and I was unsure which you actually wanted...
import bpy

list = ["Cube","Cube.001", "Cube.002", "Cube.003"]
locations = []
yLocs = []

for n in list:
    locations.append( bpy.data.objects[n].location )
    yLocs.append( bpy.data.objects[n].location.y )

print( locations )
print( yLocs )


text:
How to get cursor position in 2.8
So I'm trying to convert the following script in 2.8
I have replaced scene with depsgraph.
But I'm getting an erroneous on last line:
Scene object has no attribute 'cursor.location'

import bpy
from mathutils import Vector

#A class that takes into account a context and one of its attributes value
#If the value changes a callback is fired
class EventWatcher:

    #Set of watchers
    eventWatchers = set()

    @staticmethod
    def AddWatcher( watcher ):
        EventWatcher.eventWatchers.add( watcher )

    @staticmethod
    def RemoveWatcher( watcher ):
        EventWatcher.eventWatchers.remove( watcher )

    @staticmethod
    def RemoveAllWatchers():
        EventWatcher.eventWatchers.clear()

    #From 'context', 'path' needs to exist
    #'comparer' is to compare the previous value of context.path to its new value
    #'callback' is the cb called if the value if changed
    #'copyValue' indicates if the value needs to be copied (that can be needed as if not old and new value may point onto the same object)
    def __init__( self, context, path, comparer, callback, copyValue ):
        self.context = context
        self.path = path
        self.comparer = comparer
        self.callback = callback
        self.copyValue = copyValue
        self.currentValue = self.GetValue()

    def GetValue( self ):
        value = getattr( self.context, self.path )
        if self.copyValue:
            value = value.copy()
        return value

    def Fire( self ):
        newValue = self.GetValue()
        if self.comparer( self.currentValue, newValue ) == False:
            self.callback( self, newValue )
            self.currentValue = newValue

#Global loop on the watchers. This callback responds to scene_update_post global handler
def cb_scene_update(context):
    for ew in EventWatcher.eventWatchers:
        ew.Fire()

#To stop the calls at the scene_update_post event level
class StopCallback(bpy.types.Operator):
    bl_idname = "scene.stop_callback"
    bl_label = "Stop Callback"

    @classmethod
    def poll(cls, context):
        return cb_scene_update in bpy.app.handlers.depsgraph_update_post

    def execute(self, context):
        bpy.app.handlers.scene_depsgraph_post.remove(cb_scene_update)
        return {'FINISHED'}

#To start the calls at the scene_update_post event level
class StartCallback(bpy.types.Operator):
    bl_idname = "scene.start_callback"
    bl_label = "Start Callback"

    @classmethod
    def poll(cls, context):
        return cb_scene_update not in bpy.app.handlers.depsgraph_update_post

    def execute(self, context):
        bpy.app.handlers.depsgraph_update_post.append(cb_scene_update)
        return {'FINISHED'}

#The panel is located in the scene properties
class SceneEventsPanel(bpy.types.Panel):
    bl_label = "Scene events"
    bl_idname = "OBJECT_PT_scene_events"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

    def draw(self, context):
        layout = self.layout
        row = layout.row()
        row.operator("scene.start_callback")
        row = layout.row()
        row.operator("scene.stop_callback")

def register():
    bpy.utils.register_class(SceneEventsPanel)
    bpy.utils.register_class(StartCallback)
    bpy.utils.register_class(StopCallback)

def unregister():
    bpy.utils.unregister_class(SceneEventsPanel)
    bpy.utils.unregister_class(StartCallback)
    bpy.utils.unregister_class(StopCallback)

if __name__ == '__main__':
    register()

print( '--------' )

#Example:

#The comparaison (for cursor location, it is a vector comparison)
def CompareLocation( l1, l2 ):
    return l1 == l2

#The callback to execute when the cursor's location changes
def CompareLocationCallback( watcher, newValue ):
    print( 'New value', newValue )

#Install the watcher which will run the callback
EventWatcher.AddWatcher( EventWatcher( bpy.data.scenes[0], "cursor.location", CompareLocation, CompareLocationCallback, True ) )

Actually it is not the last line that is causing the error but the GetValue method.
In order to access the location attribute of the cursor attribute of the scene, you must execute scene.cursor.location. Meaning you must first get access to the cursor, then to its location. What you can do is replace your GetValuemethod with :
def GetValue( self ):
    split_path = self.path.split(".")
    attr_path = split_path[0]
    if not hasattr(self.context, attr_path):
        print(f"Error : {self.context} does not have any attribute named {attr_path}")
        return None
    value = getattr(self.context, split_path[0])  # Access 1st member of the property path
    for depth in range(len(split_path[1::])):  # Iteratively access the other members
        attr_path = split_path[depth + 1]
        if not hasattr(value, attr_path):
            print(f"Error : {value} does not have any attribute named {attr_path}")
            break
        value = getattr(value, attr_path)
    if self.copyValue and hasattr(value, "copy"):
        value = value.copy()
    return value

Meaning, if you want to access the X coordinate of the cursor location, you can change the last line to :
EventWatcher.AddWatcher(EventWatcher(bpy.data.scenes[0], "cursor.location.x", CompareLocation, CompareLocationCallback, True))

Result :

By the way, I suggest looking at the guidelines for python naming and such in Blender.

thank you so much. How can I add a cube in those locations, pe each click?

Glad it helped. :) I can answer your other question but it is outside the scope of this one, would you mind adding it as another question and then linking it in the comments ?


text:
See smoke emitter texture in viewport
In 2.8+, how can I see a smoke emitter's texture in the viewport, so I have visual reference for the emitting locations?

Add > Mesh > Plane
Object > Quick Effects > Quick Smoke
set up a noise texture in Texture Properties
select plane
enable PhysicsProperties > Texture to control the emitting via a texture
select the noise texture in PhysicsProperties > Texture > Texture

... now the smoke emission is being controlled by the smoke texture. But how can I see this noise texture in the viewport so I have quick visual feedback?
And, along the same lines: how can I set this noise texture as eg the diffuse texture of the emitting object? Ideally I would be referencing the same noise texture in both the smoke emitter, and the smoke emitters shader.
Thanks for your help, much appreciated!

Thx, cegaton! Although it doesn't help in my case, since I want to use procedural and animated textures to control the emission... which is working, although I have to adjust it blindly.

Did this ever got solved? Seems like no answer is out there for what seems like should be a no brainer feature, if texture is even offered...


text:
Is speed control effect for a time range or just one specific strip?
I'm using v2.79,when I add speed control to one single video strip,and it would affect audio strip within the time range of the video strip I select,so how can I avoid that?

Try extracting audio and video from your clip to get two separate files. Next, in VSE, change only the extracted video strip speed.

thank you for your advice,that effect could be achieved in this way indeed,but the method is not "elegent" enough in my opinion,I wonder if there is an option inside blender to control this?And I followed the tutorial by Mikeycal Meyers on youtube,in his video,the speed control was just applied to the strip he selected


text:
Geometry nodes, curve tilt problem
when i apply thickness to the curve, it creates an unexpected rotation/tilt .

the result i want:

Geometry nodes:

It's 0° tilt, but related to what? You need to set the base normal, and you have two options for that: calculated from the 'shape' of the curve in such a way to minimize twisting, or just always pointing up, and it seems you want the latter:

If neither option works for you, you could use this answer as a starting point to developing your own tilt calculation:
Trimming start of the curve geometry nodes without altering tilt

thank u, I didn't know about this node.


text:
Geometry nodes, how to flat mesh islands on z axis
I have these mesh islands, I need these inner boundaries to be flat on the Z-axis, the Z position of each inner boundary should be an average of each island position.
I tried using Accumulate field and mesh island nodes, but something is missing
mesh islands:

(How to flat inner boundaries?)

(desired result)

Blender 3.6+

I didn't get it because these nodes are controlling the purple islands, but in the 'desired result' image your are dislocating the green ones.

I need both purple and the green around it to be flat as the "desired result" image. (my node setup isn't complete )

@GordonBrinkmann , aw no it's not flat, thanks for your time.

First, you need to mark the inner boundary. You're already doing it in your Select Inner Void zone:

It's a nice and clever solution (create two splines out of boundary edges, the longer one is outer), you should post it and apparently already posted (and suggested by you) here:
Geometry nodes, how to select the boundaries of mesh islands?
So once you have it, you need to transfer this information to the original mesh, calculate the mean $z$ coordinate of inner vertices, with a separate mean for each mesh island, and then set the $z$ of these inner vertices to their island's mean. Multiple means can be achieved by the simple pattern of Accumulate Field Total with accumulated value, divided by another Accumulate Field Total with accumulated $1$ of the selection (or accumulated selection, same thing):

Keep in mind your blue faces won't match, because Fill Curve is two-dimensional and sets all $z = 0$.

Explanation
The "Capture Attribute" node's role is to calculate the boolean value once per each edge. Otherwise the value would have to be calculated 3 times, as that's how many times this field is used. Moreover, the CA node specifies the "Edge" domain, and so enforces the calculation to be done in this domain, whereas the "Accumulate Field" nodes (explicitly, chosen in options) and "Set Position" node (implicitly, always the case) use the "Point" domain: if you didn't use the CA node, you would need to replace it with "Evaluate on Domain" node in "Edge" mode.
"Position" → "Separate XYZ" → "Combine XYZ" are there to change only the $z$ coordinate and leave the rest.
"Math: Multiply" node wouldn't be needed if the "Accumulate Field" node had a "Selection" input - but it doesn't. So what I do is multiply the $z$ coordinates of all irrelevant vertices by $0$, therefore not contributing to the total $z$ coordinate. This is because irrelevant vertices hold False value, which translates into $0$ float value. Meanwhile True value translates into $1$ float value. Multiplying anything by $1$ does nothing, keeps it unchanged.
Upper "Accumulate Field" node sums up all relevant $z$ coordinates, and the other AF node sums up all $1$s (Trues) therefore counting the number of relevant vertices. Dividing a sum of values in a collection by the number values in a collection gives you an average value in that collection, and that's exactly what happens here.
...................
For blue zones, I [addition by Pooya heydari] added a bit more extra nodes:

"It's a nice and clever solution (create two splines out of boundary edges, the longer one is outer)" ...This answer was already given: https://blender.stackexchange.com/a/299484/145249

@quellenform aaah you edited the original answer (the original being about the number of edge neighbors of a vertex). Maybe you should have added a separate answer since it's a separate approach.

hm, you might be right though. I added it because the answer looked more like a "variant" of the existing solution to me.

Yes, shout out to @quellenform, all my questions are kind of relative to each other. :D

Thanks, @MarkusvonBroady This is a great answer, can you explain a bit about node setup? Why do we need to capture attribute, why use multiply node and ... :D

@Pooyaheydari see edit.

@MarkusvonBroady thank's a lot.


text:
How can I fix the pink coloring during rendering?
When I was looking around on how to fix the pink coloring, I ran into a problem. Everybody who has this problem is because of imported textures, however I have not imported any textures, I did use the shade editor but I don't think that's the problem. I don't know what to do.

please share your file at https://blend-exchange.com

The missing texture might be caused by a missing HDRI in your scene world's, material nodes. You can check this by going to Shader Editor - Shader Type: World.

I didn't use an HDRI either

Do you still get the pink if you switch to Cycles? Do you get any console errors?

Yes, not console errors though

@SimplyChaos The pink is not caused by using an HDRI or not, it's caused by setting up the world material to show an HDRI but then not using any.

yes exactly. very well said

That is missing HDRI. Either change the setting (in red box) or Open an HDRI file

or delete the texture node as pointed out by @RPaladin

Thank you, for the help.


text:
Artifact of mesh will not Edit out, appears in Object mode only

Ball mesh, artifact only in Object mode, need to Edit out

please share your file https://blend-exchange.com

hello could you please share your file? https://pasteall.org/blend/

Is the artifact hidden in Edit Mode? Go to Edit Mode and press Alt+H to unhide everything. Mesh parts hidden in Edit Mode are visible in Object Mode.


text:
Is it normal for rigid body simulation to be too slow?
Blend file download (11MB)
After importing the smartphone model through obj, the copy modifier plugin did not work well, so I just used Ctrl+J to merge the sub-objects into one and performed rigid simulation.
Compared to a cube of similar shape, the rotation due to falling is slow even though it was initially rotated 5 degrees as the cube. Also, it doesn't move any more suddenly around 270 frames.
Is this a problem with the way I imported the smartphone or the smartphone model?
(I tried mesh simulation but it is too laggy and shows strange moving, but it didnt stop anyway)

The simulation seems overall slow, because you are not using the right scale for objects while using accurate weights in the rigid body settings.
Do you remember the default cube you see each time you make a new scene in Blender? That cube is 2 meters on each side, it's bigger than a human being.
As of right now, your phone have a z dimension of 25.4m, that's as high as a six-story building:

What you can do is ⇧ ShiftS → set 3D cursor to world origin, then set your pivot point to the 3D cursor:

Go through each object that have keyframes on their scale, right click their scale and hit Clear keyframes.
Select all your objects, ending by your phone, and scale it down until the dimension is something more accurate. Once done, hit ⎈ CtrlA → apply scale.
You will need to redo the animation a bit, but it will be more accurate.


text:
How do I move a vert on my uvs that's overlaying another vert without moving both of them?
As the title says I have a vert overlaying another vert in the uv image editor and I would like to be able to move one of them without moving the other one.

maybe click twice on the vertex?

You can H hide the elements you don't want moved. either in the map, or the model.(Usual combinations .. Alt-H Unhide, Shift-H Hide inverted selection)


text:
Rotating vector based upon area
I have a normal vector like
normal=Vector((0.0, 0.0, 1.0))
that I want to rotate 90° in the x-y plane and wonder how to do this?
/Max

One thing, I will not use the rotated vector, only print it to a textfile.


text:
Extrude and separate faces
I have a bulding floorplan with a few hundred rooms where each room is a separate face. I now want to convert these into separate volume objects and I tinking of somting like this:

Select the faces in edit mode (there are lots of other faces like walls and doors).
Make a copy of each face.
Extrude the faces in Z with a given height, for example 3 m.
Separate the new geometry into a new object

It works fine for one or two but I need to automize this process with a script and wonder if someone can help me?

I used the following commands and it worked rather fine but it is very slow.
bpy.ops.object.mode_set(mode = 'EDIT')
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.edge_split()
bpy.ops.mesh.separate(type='LOOSE')
bpy.ops.object.mode_set(mode = 'OBJECT')


text:
Delete all vertices except lowest Z
I have written a script that deletes all vertices but the ones with lowest Z for selected objects in object mode but it does only work for a single object due to the delete function and I wonder if someone could help me to make it work for more then one selected object. The error is RuntimeError: Operator bpy.ops.object.mode_set.poll() Context missing active object
            C = bpy.context
            objs = C.selected_objects
            for ob in objs:
                loc_vertex_coordinates = [ v.co for v in ob.data.vertices ] # local coordinates of vertices
                # Find the lowest Z value amongst the object's verts
                minZ = min( [ co.z for co in loc_vertex_coordinates ] )
                maxZ = max( [ co.z for co in loc_vertex_coordinates ] )
                # Delete all vertices below maxZ (or above low)
                #Start to deselect all vertices. To deselect vertices we need to deselect faces(polygons) and edges at first
                for v in ob.data.polygons:
                    v.select=False
                for v in ob.data.edges:
                    v.select=False
                for v in ob.data.vertices:
                    v.select = False
                    v.select = v.co.z > minZ
                # enter edit mode and delete selected vertices
                bpy.ops.object.mode_set(mode='EDIT')
                bpy.ops.mesh.delete(type='VERT')
                bpy.ops.mesh.remove_doubles()
                bpy.ops.mesh.dissolve_degenerate() #Clean som more
                bpy.ops.mesh.edge_face_add() #Merge
                bpy.ops.object.mode_set(mode='OBJECT')

first read about avoiding the use of bpy.ops but it sometimes requires a bit a "head scratching" to understand the object specific method.  Instead, operate on the objects MESH data.
here is a script (does not contain some of your cleanup -- like removing strays and adding faces) that you can start with:
import bpy
import bmesh

C = bpy.context
objs = C.selected_objects
for ob in objs:
    print(ob.name)
    msh = bmesh.new()
    msh.from_mesh( ob.data )  # access the object mesh data
    msh.verts.ensure_lookup_table() # for coherency
    loc_vertex_coordinates = [ v.co for v in msh.verts ] # local coordinates of vertices
    # Find the lowest Z value amongst the object's verts
    minZ = min( [ co.z for co in loc_vertex_coordinates ] )
    maxZ = max( [ co.z for co in loc_vertex_coordinates ] )
    # Delete all vertices below maxZ (or above low)
    for v in msh.verts:
        if v.co.z > minZ:
            print('remove',v,'at',v.co)
            msh.verts.remove(v)
    msh.to_mesh(ob.data) # write the bmesh back to the mesh
    msh.free()  # free and prevent further access

in an example file:

Thanks a lot, the script works fine when I run it but when I run it from a operator button the code does not run until I left click the 3D view. Not sure why, the old code worked fine.

@user2404987 -- I am no blender-python guru and know little about "operator buttons".  I do generally run my scripts manually.


text:
UV project modifier, not working properly
I used a UV project modifier and an empty that acts like a Cube Projection, but after applying the modifier to other objects, some of them worked fine, but the others did not.
what do you think the problem is?

You need to apply the rotation of the 2 objects otherwise the projection won't work with your settings, for the moment the objects rotations are not 0/0/0


text:
Geometry nodes, curve to mesh profile direction
I convert my meshes to curves to give them a profile.
but their direction is different.
how can I fix it?

blender 3.6+

This has to do something with the generated spline directions. It is obvious that one of them has inverted direction - the square. If you rotate the face in Edit mode along X or Y axis that will resolve the issue. What I suggest is creating the faces always in specific order (clockwise or counter-clockwise). Checking the Spline direction in Geometry Nodes is a bit tricky. I will try and see if a "fool-proof" module can be inserted into the node set up to align the direction of all splines and will post it as an answer.

...maybe related: https://blender.stackexchange.com/questions/271761/how-to-correct-curve-tilt-tangents-and-normals-of-a-curve/

The Spline direction controls how the Profile Curve is initially oriented in the Curve To Mesh node. The Spline direction is defined by the start and end points of the curve.
There is no, currently, a built-in Node that tells the Spline direction and not always the ordering of point indices coincide with the direction.
One way to solve setting all Splines to have the same direction is to calculate a small change of position along each Spline using the Factor parameter (Factor of 0 gives the start of the Spline, and Factor of 1 gives the end of the Spline).
Note: this works for 2D splines in the XY plane as in your case.
Using two slightly different Factor values we get two separate positional vectors.
Calculating the Cross Product between them give us a third vector perpendicular to the given two vectors and oriented according to their order.
Calculating the Dot Product between the third vector and a Unit Z vector = (0,0,1) will give a negative or positive number depending on the direction of the two vectors. If they point in the same direction the Dot Product is positive, if they point in opposite direction - negative. The result can be easily converted to Boolean value for selection of the splines with the same direction (negative float numbers are always 0-s and positive numbers are 1-s)
Bellow are shown the place of insertion of the custom Node Group (Unify Spline Direction) and the set up of the Node Group:

thanks for your answer.

Hi Pooya. You're welcome.


text:
Geometry nodes, disable object rotation
is there a way to ignore object rotation using geometry nodes so Object rotation has no effect on our geoNode?

Other than the duplicate, there's also an older question with Robin Betts' answer for Blender 3.x, which is better than mine (just one "transform geometry" node): Geometry Nodes: How to lock a geometry's global orientation using a Self Object?

Since The Chris' answer relies on experimental branch (Blender 4.1α), and the latest stable version, Blender 4.0.2 still has the Rotation socket blue, I decided to rework my comment into an answer.
This answer will probably get outdated soon, but since some people still use as old versions of Blender as 2.69, surely some geonoders will stay on 3.6 for a while…
Blender 4.0 and newer
Chris' answer, but if your socket is blue, just convert it to purple and back:

Here's a more thorough answer, involving also canceling (inverting) scaling and translation:
How do you invert a transformation in geometry nodes?
Blender 3.x
Robin Betts' answer is better:
Geometry Nodes: How to lock a geometry's global orientation using a Self Object?
Continue reading mine only as alternative explanation:
Multiply the XYZ rotations by $-1$, and apply them separately in reversed order:

You could maybe optimize it by recalculating a single XYZ Euler equivalent, but I haven't figured how or why exactly it doesn't work.
There's also a Vector Rotate → Set Position alternative, but according to my tests, it takes 7 times more time than a single Transform Geometry, and since we only need 3 of these here… Yeah.

thank u, can u explain why we should apply transform geometry 3 times?

@Pooyaheydari Transform Geometry node applies the euler rotation in XYZ order. So by using it 3 times, we can force it to rotate first around Z, then around Y, and finally arounx X, which results in reversed ZYX order.

Just invert the rotation of the object itself.

Damn I can't access my PC rn, why your Object info rotation socket is purple? It's newest Blender or it happens when you connect it to purple socket? Normally I use euler to rotation node... also B3.6- you need to either use set position + vector rotate node (it has "invert" option) or split the axes (vector math multiply <-1, 0, 0> for example to get x axis, minus is there to invert) and use 3 separate "transform geo" nodes in order z y x

thank you, which blender version do you use?

it is version 4.1

I can see the version can be downloaded here, for some reason Blender Launcher fails to show it on a list...


text:
Geometry nodes, match rotation/orientation to the edge
I made a GN that captures the dimension of an edge. I'd like to match the rotation of the TEXT(dimension) to the direction of the edge. also how to disable origin orientation.
GN:

Problem:

Desired result:

Use Align Euler to Vector to calculate Euler rotation to rotate the text by:

thank u, Can u explain the second "align Euler..." the one that selected Y?

@Pooyaheydari you can see in the GIF, that one Euler aligns to the edge, but it has still one dimension of freedom - it is not clear to the "Align Euler" how to rotate the object around the edge. So you align it again, around its (local) $x$ to point up (this way the number is never upside-down)


text:
set a default workspace so it's not change base on blender file
how can I set a default workspace so that when I open any Blender project from anywhere, the workspace doesn't change?
for example: I want my workspace always be like this:

Arrange the workspace like you want it to be, go to File > Defaults > Save Startup File.

Now that you've changed your default workspace, when you now open a file through the Open dialogue, there you can bring up the options side panel with N, there you can disable the Load UI option. This way, your workspace does not change. Unfortunately you have to do this every time you open a file.

.........................
i find a way to disable load UI permanently.
from preferences - save & load - load ui.

thank u, but it's not what i'm looking for. for example, if u send me a blend file, when i open it on my computer, workspaces changes.

I see. I've edited my answer.

thank you, ❤❤

Oh, stupid me... yeah, you can set it in the preferences  :D


text:
how to select mesh island by its area?
I'd like to create multiple floors based on the area of geometry island.
right now it's based on face area, and if the faces are not similar it's not working fine.
any suggestion ?

(blender 3.6.1)

Use Accumulate Field node, and group by Island Index:

thank u, it works perfectly


text:
Geometry nodes, how can I select one random polygon per island?
how can I select one or more random polygons per island?
(one polygon per island )

The accumulate field node.

use the islands index (mesh island node) into the group ID (set node to face)
also use the islands index for the ID of a random value node (set to Integer)
use the total output as the max of the random value node. (and 1 as the min)
compare the leading output (of the accumulated field node) with the output of the random value node. set the compare to equal.

this will give you one random selection per mesh island.

thank u, why in accumulate field node, the value is 1 also in the random value node, the minimum is 1 ?

You are basically making an index per island and the total points. the trailing gives you an index starting from 0, and leading gives you an index starting from 1. The random value has to be in the range of the index (we generated). so if the range of the random value would be from 0, then it would have to go till one less then the total and be compared with trailing. granted this will only be one more node (subtract 1 from the total) I thought this was simpler (why add an extra node).


text:
Geometry nodes, how to select the boundaries of mesh islands?
is it possible to select only the outer boundaries of these meshes using geometry nodes?

blender 3.6+

See this question's .blend file for a solution that creates splines based on boundaries, and picks the shorter spline for the inner boundary: Geometry nodes, how to flat mesh islands on z axis

If the method with the raycast from Markus von Broady does not work for you, you can also go the indirect way via splines:

Here I first capture with Capture Attribute the number of points to which each point is connected. This value will later help me to distinguish the inside edge from the outside edge, because only the inside curve has vertices that are connected to four (or more) points. Also, in the first step, I convert the outer edges of the mesh to curves so that I can process this geometry more easily. In doing so, the previously captured values in the point domain are preserved:

Then I capture the index in the spline domain, which I use as ID to accumulate the previously captured values per point. The value Total that the node Accumulate Field gives me is thus for all points within a spline always either $0$ if it is an outer edge, or greater/equal $4$ if the spline contains points that were previously connected with four or more points.
And with just this selection, you can then remove the spline that was the inside edge in the original mesh:

But in order to then be able to use these values in the original mesh, I "transfer" these values. To do this, I compare the positions of the points of the mesh with those of the still existing splines, and if the positions are the same, then it is the outer edge and thus the selection we are looking for. The node Extrude Mesh, however, processes the values in the edge domain, which is why this selection is finally transferred from the point domain to the edge domain with Evaluate Domain.
(Blender 3.6+)

Update:
An idea came up in the comments (thanks to @Pooya heydari) about detecting curves based on Mesh Island and Spline Length.
This is a terrific idea, and the solution for it could look like this:

After I have extracted the splines (as described above) I accumulate their lengths per Mesh Island, divide this value and simply compare which spline is longer/shorter. This way it should be possible to reliably (?) identify the outer (longer) spline.
(Blender 3.6+)

Smart observation that inner corners are topologically different. I was thinking about a curve solution too but I didn't have an exact plan: add a big square-spline, Fill Curve, and Blender does the work of figuring out outer/inner for filling, something like that. It would still be overfitted to the specific OP's case though, so why bother. BTW, a boolean False/True converts to integer 0/1, so no need for the switch except if you're a fan of explicitness. Same goes for int > 0. Maybe I'll write 2 Q&As, on conversions and interpolations…

So you're not a fan of explicitness after all :D

@MarkusvonBroady Yes, I'm generally a fan of explicitness, but in this case you're absolutely right :D Well observed! Often artifacts remain in my node trees that I overlook when cleaning up, and sometimes something can still be optimized. Thanks for your feedback!

I have an idea, is it possible to select the boundary edges based on each "mesh island" and it's "Spline Length" ? (select the longer spline ) because in some cases "vertex count" doesn't work.

@Pooyaheydari Oh yeah, that's a good idea to use the spline length for that! Well observed! ...give me a second, there's a solution.

omg, u r amazing, thank u.

"This way it should be possible to reliably (?)" - not 100% reliably, as you can have a "U" shape hole that has a longer (inner) boundary than the outside rectangular boundary. Yes, it took me long time to realize that, and actually someone else pointed it out to me lol

Very hard problem in general, but in your particular case you can raycast to see if you're on the inside - though you need to know which direction to raycast to… If the normals are pointing in a way as if you duplicated the floor, moved on top, merged and recalculated normals outside, then it's easy, so what I do below is extrude faces instead of edges to get the 'correct' normals. And similarly near the end I also flip the normals of the input geometry, anticipating some future problems if you don't:

Thank u. I'll try it.


text:
Normal direction from rotation
I have two imported object that were alligned with the axes and then rotated. One was initially pointing upwards (0,0,1) and one forwards (0,-1,0). I now wonder how I can determine the new normal direction after rotation? I tried
v = mathutils.Vector((0,-1,0))
print (v.rotate(ob.rotation_euler))

but it did not work.

When you say that "it didn't work", do you mean that it does not give you the result you were expecting or does Blender raise an exception in the script you're running?

All I get is "None"

The issue is that v.rotate(ob.rotation_euler) modifies the state of the vector v, but does not return a value. Instead of using print(v.rotate(ob.rotation_euler)) you can modify the rotation first and then inspect the value through print(v).
import bpy
import mathutils

ob = bpy.context.object
v = mathutils.Vector((0,-1,0))
print(f"vector before: {v}")
v.rotate(ob.rotation_euler)
print(f"vector after: {v}")


text:
Select objects with custom property
I am trying to select all objects with a custom property with a given value but with no success. The custom property is "category" and the value is "Windows". This is what I have tried. Any ideas?
    for obj in bpy.context.visible_objects:
        if bpy.data.objects[str(obj.name)]["category"]=="Windows":
            obj.select_set(True)

There might also be variants of "Windows" so wildcards would be useful.

If you want to setup custom lookup rules for the property names I suggest you look up regex (regular expressions) they're daunting at first but really powerful.

for obj in bpy.context.visible_objects:
    if "category" in obj:
        if obj["category"] == "Windows":
            obj.select_set(True)

If you allocate a custom property to bpy.types.object then every object will have that property and your first if will always return True.


text:
Select all transparent objects
I have imported a large IFC-file using BlendeBIM and want to select all objects with some transparency (viewport display color alpha > 0) and wonder how to do this with a python script? Any ideas?

The viewport color can be accessed with bpy.types.Object.color and the alpha is the fourth element of the color iterator : $(Red, Green, Blue, Alpha)$.
import bpy

for obj in bpy.context.selectable_objects:
    obj.select_set(obj.color[3] < 1)

# Not mandatory : Change active object
bpy.context.view_layer.objects.active = bpy.context.selected_objects[0]

Thanks a lot. In this case most of the window objects consists of solid and transparent parts. I need to separate the glazed/transparent part for each object into a new object with only transparent content and wonder how to do this, so far I have separated each trasparent object into a separate object and that is not very practical for windows with multiple panes.

@user2404987 You can easily separate objects by material with P (in edit mode) > By Material. It works with multiple objects selected at the same time


text:
Create planar meshes in middle of boxes
I need to create planar meshes in the middle of the largest surfaces of selected boxes with the same size as the largest surfaces. Also, they need to have similar names as the boxes and I wonder if you could point me in the right direction?

This answer is under the assumption that you changed the scales in the object properties of the box to distort its x, y, and z lengths. What I did was duplicate the box and deleted all the faces except the largest amongst the 0th, 1st, and 2nd faces, and I then set the remaining face's geometry to its origin, which is the same origin location of the original box. You can also set plane.name = box.name and then concatenate some other string to give it your preferred uniqueness.
import bpy

o = bpy.ops.object
m = bpy.ops.mesh

box = bpy.data.objects['Box']
box.select_set(True)
bpy.context.view_layer.objects.active = box

o.duplicate()
# plane at following line is actually the duplicated box
plane = bpy.context.active_object
faces = plane.data.polygons

# select all faces
o.mode_set(mode = 'EDIT')
m.select_mode(type='FACE')
m.select_all(action = 'SELECT')
o.mode_set(mode = 'OBJECT')

(x, y, z) = box.scale
# deselect the face you want to keep by largest area, xy = 0th face, xz = 1st face, yz = 2nd face
areas = [x*y, x*z, y*z]
faces[areas.index(max(areas))].select = False

# delete unwanted faces and set geometry to origin
o.mode_set(mode = 'EDIT')
m.delete(type='FACE')
o.mode_set(mode = 'OBJECT')
o.origin_set(type='GEOMETRY_ORIGIN', center='MEDIAN')

# give plane similar name
plane.name = box.name + ' Plane'

Thanks a lot, it worked great. What I need is to be able to select and perform this operation on a number of boxes with more or less random names. I guess I could do this with a for loop but not really sure how.

@user2404987 I would think about which unique characteristics these boxes have and try to get these boxes that you need to perform this script on in a list somehow under some boolean condition. Then iterate through that list and perform the plane adding method every iteration.

Thanks Adam. In my case I select them manually and I know that they are valid boxes since they are created by Blender as bounding boxes.


text:
What is wrong with my render?
I am new to Blender and I have attached the photo of the render and the photo of the scene I'm working on. If anyone knows what I'm doing wrong please let me know, thank you!

Your camera is pointing in a random direction. Move it to correct position. Camera location and config is used for rendering.

First, make sure your render camera matches the viewport angle you like by pressing Ctrl + Alt + Numpad0 to snap the camera to view (I can't tell where the camera is in your scene so I don't know if you've done this already). Secondly, keep in mind that objects hidden in the viewport will still be visible in renders - make sure your hidden "venice gal" is not in the way of the camera.

if the above answers doesn't help you, please provide your blend file


text:
Bake mesh not clickable
I'm trying to make a fountain and I have finished the fluid baking...Now I want to bake the mesh it doesn't allow me to bake it.
I have to bake it in the domain

The reason for this is not resumable data. Click on the button near the cache . Hope that helps!

thank you :) then I press bake all right?

Yes, then you press "bake".


text:
Compositing video footage into a 3d scene?
I am trying to composite some footage of a person that has been chroma keyed into a scene of a dark room with flickering lights. My problem is that I don't even know how I would get close to making it seem somewhat realistic.
How would the lights affect the person if they aren't actually a 3D model, just a flat video? For reference, this video is basically what I am trying to replicate, minus the robotic camera movements.
Video Link

It will depend on a number of things, not the least of which is your footage device. If your footage device can capture a log encoding, there’s a trivial way to get from the camera code value encoding to the reflectance level and colours that the camera saw.
In order, you will loosely need to consider the following:

Illumination of the scene. Any CGI will need to have the illumination / emissions of the scene pushed back into the CGI context. HDRIs or proper camera footage captured from the location can help with this, with further work.
Tracking. If the camera moves at all, it will require tracking.
Distortion. The camera will have a degree of lens distortion that will need to be removed, then reapplied.
Proxy geometry. For certain emission effects and shadows, a loose idea of the scene will be required in terms of geometry.
Proper footage. Log encodings that capture scene reflectance is more or less mandatory here.
Decent camera rendering transform. The CGI and the footage will need to be composited under a reasonable camera rendering transform to make the effect as seamless as possible within the limitations of your toolset.

Paul Chambers has done a fantastic series of blog posts that leads down this rabbit hole, and is well worth researching. From using loose proxy geometry to exploring how scene referred lighting ratios work, his posts are tremendously insightful. There is a wealth of information hidden away over there.


text:
How to evenly space edges to make a car rooftop?
I model a car and I want to make a rooftop first of all. I would like to make it like this:

How to evenly space the edges to make what I want?

Do your edges need to be even, or those specific lengths? You can even a series of edges by selecting them and using LoopTools > Space to even out their lengths.

Yes, this does.


text:
Which is edge is longer?
I need to know which edge is longer only in the Right Orthographic.
.

You can just turn on showing of edge length, then any selected edges will display their length next to them:

There are also the MeasureIt tools which you can find in the view tab of the right side bar for more complicated cases (You may need to enable the addon to see the tab).


text:
A graphics card and driver with support for OpenGL 3.3 or higher is required error
I can't execute newest Blender 2.80, it says that I need a graphics card that supports OpenGL 3.3 or higher
ERROR: A graphics card and driver with support for OpenGL 3.3 or higher is required

Processor: AMD A6-3670 APU with Radeon(tm) HD Graphics, 2695MHz
BIOS Version: HPQOEM - 1072009
Dedicated GPU: AMD Radeon HD 6530D Graphics

This is a very old PC, but when I search online it seems that theoretically Blender 2.8 should run since my openGL is 4.4

Unfortunately your graphics card doesn't fulfill the minimum requirements of Blender 2.8. The Radeon HD 6530D has the old Terascale 2 architecture and GCN first generation or newer is required. You won't be able to run Blender 2.8 on your hardware.

If I buy a GT 1030 will I be able to run it?

@Toriality yes with the Nvidia Geforce 1030 GT you will be able to run Blender, however from the specification that I found GPU rendering will not be possible with it, you'll have to render on the CPU.

I use two 2080TIs and I get this error all of the time. Blender V2.8+ is simply bugged, sometimes it works fine, and other times it won't even start. V2.79 never had nearly so many flaws..

@Logic1 Sounds more like an issue with your OS or drivers to me. Make sure that you're using one of your 2080 TI to start Blender and not the integrated graphics from your CPU. Update your graphics driver directly from the Nvidia website or GeForce Experience.

@Robert Gützkow - nah, I tried all of that and it does the same on Win8 too.. It's a bug in Blender that causes it. The devs have not fully tested it so they do not uncover the bugs that power users get to see. I have a quad-head display, and some blender files try to open windows off screen (if they were saved that way) this causes Blender to crash violently without recovery options, hell, if I tryed the share that file then it would be corrupted for anyone else without the same display configureation. Not very well designed IMHO, blender 2.8+ is so flawed...

@Logic1 For the problematic file you've mentioned, try to  uncheck Load UI when opening the file through File > Open. They can't fix bugs that aren't reported.. Create a bug report either through that link or Help > Report a Bug. Attach your system information, the driver versions, display configuration and affected blend file to the report.

I will keep "Load UI" in mind, Thank you for that hint!!

@Logic1 I cant reply to you directly but thank you so much for the Uncheck load UI" suggestion. I have been trying to work this out for weeks and the error has been leaving me locked out of my projects and wasted so many hours. To add a bit more clarification for other people who have the same issue:
after loading blender, go to file, open. then in the top right click the cog icon. then uncheck Load UI. after that load the project that was causing the error. this instantly fixed the issue for me. If you see this, would you mind explaining to me how you worked this out and why the error occur

@PeskyNgon Disabling Load UI results in using the default UI layout, ignoring the one saved in the project file. Since the issue was caused by a window positioned of screen (for the issue described by Logic1), this was the most obvious workaround.

@PeskyNgon oh, haha, no, that credit actually belongs to Robert Gützkow, he's the one who clarified the issue. Blender was crashing if multiple displays were used and save Blender file with a detached window somewhere. His solution works 100%. But I'm glad our conversation helped out!

Using Blender 2.93 now and this error is appearing whenever I click "save" from the file menu. Even a completely new/blank project clicking "save" or "save as" results in this error and a crash - However I think this is still related to multi-gpu bugs in Blender. To resolve this I must open Blender by right clicking and selecting "Render OpenGL on" then select one of my GPUs. "They can't fix bugs that aren't reported" suggests they don't test the software.

For others that might come to this who do have a graphics card that they think is supported. Try just updating your drivers and OS updates and restart. It worked for me on Linux.

I had the same thing pop up
I ended up needing to update the driver
I downloaded the Intel® Driver & Support Assistant and let it do a system check
https://www.intel.com/content/www/us/en/support/detect.html
I also found the latest driver for my intel computer in the link below
https://www.intel.com/content/www/us/en/support/products/98909/graphics/intel-hd-graphics-family/intel-hd-graphics-630.html

For me, plugging the two monitors on the same graphic card (have two) fixed the problem.


text:
Import only textures from large obj file
I have two 3D laser scanned files of a complex object I want to model. One has a "medium resolution" and I used it as a reference to create the model with Blender. Everything's fine. Now I have to attach the textures, however I would like to use the pictures at full resolution.
For the high resolution, they gave me a .obj, .mtl and several .jpg files. The problem is that this .obj file is over 5 GB, and there's no way to import it into Blender as 32 GB of RAM is insufficient. I've already tried all the suggestions from previous similar questions (like this) with no results. I tried to convert it to ABC but still doesn't import it. I also tried other programs like Open3D, but again no 32 GB of memory is insufficient.
However, I only want the textures to paste them into my model, not the full obj model (because I used the smaller one as a reference). Is there a way to extract (in a decent understandable format) the textures from the obj/mtl? Because the current .jpg files contains random parts of the object and it looks very difficult manually pick them (example of a texture follows).

Manually extracting the textures of the object from there looks very difficult...

You may have better luck with MeshLab instead of working directly in Blender. While not a complete answer and hence a comment, I would recommend to decimate the original mesh down to a reasonable vertex density so that you can import it into Blender and then create a low(er) poly mesh with a proper UV to bake the texture from the scan onto. If the model cannot be reduce enough, then you may have to split it into separate parts to work on.

You might also consider running Blender in headless mode to conserve RAM as well.

@RPaladin yes, forgot to mention, tried also in headless mode but didn't work

Ok, here's the solution I found:

Convert the textual .obj to the binary format .ply. This is achievable with a dedicated tool, I used ctmconv because it is available on Linux. It took around 2 minutes to perform the conversion.
Install MeshLab and open the ply file (the original obj file was too large also for MeshLab, while the ply worked).
Simplify the object if necessary with MeshLab tools
Load the original texture files and then export the baked image (as explained here)
You have now a decent texture file to load into Blender.


text:
Geometry Nodes, how to randomize the height of some cubes?
I need to slightly randomize the heights of some cubes. (like the following image )
any ideas?

Blender 3.6+

I'm not sure if all bottoms are on same height, if so, the setup is as simple as that:

yes, they are on the same height, thank u

In this case the node Mesh Island will help you.
This gives you a unique value per mesh island: Island Index:

You can use this value for the input ID of the node Random Value, which will give you a new unique random value per mesh island.
To ensure that only the top faces (or their points) are moved, you must also check the normals of the faces. The node Compare (set to Vector and Dot Product) helps you to do this.
If you compare the normals of the faces with the up-vector, and the dot product is greater than $0$, you get a selection of the corresponding points and can move them with the previously generated random value.
(Blender 3.2+)

thank u, I did not know about "input ID"


text:
Geometry nodes, how to create dimension for every edge separately
I'd like to create dimension per edge.
I think it's possible by repeat zone.
(edges count is not fixed)
any ideas?

desired result:

You can remove the last "Join Geometry", and remove the beginning that separates a single edge:

Then you can name it "Your Logic", create a new node tree, and insert the previous node tree inside a Repeat Zone:

thank u Markus


text:
Geometry nodes, how to select the top edges of faces
how to select the top edges of faces, using Geometry nodes?
I tried using this post, but I couldn't get result.
Delete edges on the top of geometry in geometry nodes

First, let's define what is a "top edge"...
Edge, which position is the highest
Here's one way to implement it, and you can see this is not the same result as in your screenshot:

Edge, which highest vertex is the highest
Here we have a problem, because edges share the highest vertex and so the following result is correct based on the definition in the header:

The vertical edges are picked, because they happen to be first in the "Less Than" comparison. Since their highest vertex position is the same as the actual edge we wanted to pick, it's $z$ isn't Less Than the same vertex of the other edge compared, and so this first edge position is picked in the switch.
So what are we missing here... We have a tie, two edges of a face are ex æquo winners in the highest $z$ discipline. We need a different tie-breaker than just quasi-random edge ordering… How about edge position (the position of the center of the edge)?
First Edge sorted by two criteria: 1st: highest vertex; 2nd: highest center
Let's add an additional check: if the top vertices $z$ are equal, use edge $z$ instead:

I think this setup could be simpler working with the insight that it's all about the highest vertex… But I didn't take the time to simplify it, because…

So, what happened here…? See, a very, very short almost vertical edge, will have its center above a very very long almost horizontal edge:

The definition of the problem is still incorrect! How about we take the direction from this top vertex to the other vertex of the edge, normalize the direction, move there and use that position's $z$ as sorting Weight?
Edge, for which, the position obtained by moving 1 meter from its higher vertex towards (and potentially through and past) the lower vertex, is the highest

Why 1 meter? Because that's the default for normalization. If it's too much, and has to be adjusted, then it's a problem because it become arbitrary, subjective…

It seems it works!

Keep in mind I assumed the edge of interest is still an edge with the highest vertex of the face, which could be a wrong assumption for some weird ngons:

But for your purposes it's probably fine...


text:
Geometry nodes, select faces that are connected to the selected edges
I have these edges, and I need to separate the faces that are connected to these edges.
I think it's possible by using "evaluate on domain node", but I couldn't make it.

Boolean edge won't interpolate into faces by spilling onto faces that have just one true edge. Capture the boolean true as float $1$, this will spill to a face depending on the number of edges of that face: $1 \over 3$ for triangles, $0.25$ for quads, $1 \over n$ for $n$-gons ($s \over n$ for all faces, where $s$ is the number of selected edges). Since for any face if at least one edge is selected, the resulting interpolation will be non-zero, it converts back to boolean as true.


text:
Rotate each face on their own axis. Geometry nodes
I would like to rotate these faces, by their normal.
I followed these solutions, but it doesn't work for me. any ideas?
Rotate each face on their own axis and limit slope
Rotate each face on their own axis in geometry nodes


text:
Is there any way to mask out parts of a texture to make it a different colour to the rest?
Been following this really great tutorial from "Critical Giants" on how to make procedural planets, and to begin, I wanted to try making an Earth-like planet.
While I've got a decent understanding of how these nodes work together, I'm not exactly sure how I could go about making the top land mass white (as if it was the north pole), or even how I'd make certain parts of the planet different colours (like parts of the ocean green, making certain land masses more green than others, etc). Is there a way to mask out that particular area of the texture? Kind of like how you would do it in After Effects or Photoshop?
For reference:
https://pasteboard.co/DmuhMHn5WOSF.jpg - current render of the planet
https://pasteboard.co/WoJH1F8cLSKO.png - nodes (just for the planet, atmosphere & clouds are separate models)
This has all been done in Eevee.
Hopefully, that made sense, and thanks for anyone's help in advance!

try the mix node, use the factor with a factor from a built in texture or paint an image on your mesh.

You can use Black and White values to control which color or shader gets passed through a mix node. Plug  black and white values(non-color) to the factor socket in the node editor.
This doesn't have to be pure Black and white values, any light/dark values will work. If you already have an image texture, try tweaking making the brighter values brighter and darker values darker with curves node and use them as a factor map.
Procedural texturing is a topic on its own, an example :
Here I have used the math node to add two Gradient textures which resulted in a new gradient texture, and then used that resulting gradient to mask out parts of a checker texture.

Ah thank you! I've tried to use this now, but still am struggling to get it working how I want it. How can I stop the checker texture from covering the whole planet? And is there any way I can change the shape so it covers the top island more easily? Sorry for all the questions, I'm quite new to node editing overall.
here's an img reference for where I'm at:
https://pasteboard.co/l5Ig0Qe7aXjO.png
https://pasteboard.co/TlzxaCHCWyOs.png

I have edited the answer, in short you can combine masks like adding and cutting to get the desired texture you want.

Thanks again! This has been super helpful. One more question, is there any way I can make it so that the mask only affects the land mass and not the ocean?

To add to Agnivesh's answer, if you need to mix 2 materials that have different shaders (for example you need to mix 2 Principled BSDF that have different settings), mix them through a Mix Shader, with your black and white image or noise as factor:


text:
Generating a Rig using rigify keeps creating this error?
The character I'm rigging for is very simple and only requires basic eye controls, but whenever I delete the unnecessary bones and try to generate, I get this error:
Generation has thrown an exception: 'bpy_prop_collection[key]: key "ORG-nose" not found'

I've tried keeping the nose bones as well, but the error then changes to the lips, or the ears, depending on which is left. As far as I can tell, the eye bones are still parented to the main face control, and if I delete this main face control, the rig generates without the eye controls.
How do I fix this?

The face sample is a whole piece, so you have to generate the rig with all of its components (or without the whole face).
Then, after generating, you can turn on visibility of all bone layers, select in edit mode all bones related with nose, lips, cheecks, ... and delete them.


text:
How to save (not as a blender file)
I know where the "save" button is, I save but it`s a blender file in my files. I need it to be a 3d object that I can view in my laptops 3d viewer. It was that way when I first saved it, now it saves it automatically as a blender file. Can some one help?

You want to export your model, rather than save the file.
You need to know which file format your 3d viewer uses and select it from the menu.  Not all of the export formats are enabled by default.  You need to go to user preferences (CTRL-ALT-U), switch to the addons tab and look for the right exporter
You can find most of the exporters by selecting the import-export category.
If the exporter you want isn't there, then search for the question 'how do I export files of type


text:
Exporting fire animation
as mentioned in the title I want to export my fire animation as Collada(.dae), but this makes my smoke domain an actual cube. Any idea how to fix this since I dont want any smoke at all?
Thanks in advance

Unfortunately, i don't think that's possible to bake a particle and export it as a collada file. If i'm not mistaken you can export it as .mdd to modo, but exporting it to an external game engine or something like that is not supported

Thank you for your quick answer. If I was to fake the fire by using a fluid simulation, would this be supported?

@EvilMeatball Yes you can, check out this video https://youtu.be/YTDEdZovHbw it might help you


text:
Strange viewport shading issue with perspective camera
I have been having this very strange problem when viewing geometry through a perspective camera in the viewport. It doesn't matter what kind of shading I apply and it doesn't happen with the orthographic camera or when I just navigate around normally. The geometry looks almost transparent and the edges have this weird jagged quality.
I am using Blender 3.2 on Windows 10. Graphics card is Nvidia GTX 1060 Max Q design. Any idea what might be going on?

maybe tweak the Clip Start and Clip End values of your camera?

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

Thanks yeah I think it was this Z-fighting caused by the camera clip. My camera was quite far away, my clipping range was unnecessarily wide, and I was zoomed in really close--from the normal camera distance it looked fine.
I expect some of this comes from my old graphics card as I don't have this issue on my newer computer.


text:
cone shaped holes in a sphere
recently I met the same question as @Edu39 from this post, I saw a very helpful answer from @Robin Betts as the image shown below, I was wondering how we can download the add-ons that he mentioned? Looking forward to your kindly help! Thank you in advance.
Geodesic Domes add-on

The Geodesic Domes addon is already shipped with Blender. Go to Edit Preferences > Addons tab and start typing 'geodesic' into the search field. Put a checkmark beside the 'Add Mesh: Geodesic Domes' entry and you'll then find an extra entry for it at the bottom of the Add > Mesh menu.

Hi, @wenqiang xiang !   Maybe a language issue..  the key word is 'shipped'. You'll see it in quite a few answers :)


text:
Threading on UI Panel?
I'm trying to create a simple menu in blender that will execute a long calculation. So I'm trying to execute that operation in parallel. But in my code when I click in "Exec" button blender get stuck until finish operation.
Is there a way to run "Exec"  and continuing using blender interface?
Simple code just to example:
import bpy
from bpy.types import Panel, Operator
import threading

class ADDONNAME_PT_main_panel(Panel):
    bl_label = "Conf"
    bl_idname = "ADDONNAME_PT_main_panel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = "Menu"
    def draw(self, context):
        layout = self.layout
        layout.operator("addonname.myop_operator")

class ADDONNAME_OT_my_op(Operator):
    bl_label = "Exec"
    bl_idname = "addonname.myop_operator"
    def execute(self, context):
        self.report({'INFO'}, "Exec")
        ################################################## threading ################################
        threading.Thread(target=Exec()).start()

        return {'FINISHED'}

classes = [ADDONNAME_PT_main_panel, ADDONNAME_OT_my_op]

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

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

 ######################## Exec #########################

def Exec():
    print("really long time operation")

 #######################################################

if __name__ == "__main__":
    register()

```

import bpy, time
from bpy.types import Panel, Operator
import threading

class ADDONNAME_PT_main_panel(Panel):
    bl_label = "Conf"
    bl_idname = "ADDONNAME_PT_main_panel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = "Menu"
    def draw(self, context):
        layout = self.layout
        layout.operator("addonname.myop_operator")

class ADDONNAME_OT_my_op(Operator):
    bl_label = "Exec"
    bl_idname = "addonname.myop_operator"
    def execute(self, context):
        self.report({'INFO'}, "Exec")
        ################################################## threading ################################
        threading.Thread(target=Exec).start()

        return {'FINISHED'}

classes = [ADDONNAME_PT_main_panel, ADDONNAME_OT_my_op]

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

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

######################## Exec #########################

def Exec():
    print("run")
    t = time.time()
    target_time = t + 10
    fn = time.time

    while fn() < target_time:
        pass

    print(f"It take {fn() - t} sec")
    print("done")
#######################################################

if __name__ == "__main__":
    register()


text:
How to make an object explode/blast out of a launcher?
So basically, I have an object as a launcher and an object that resides in it.
I want the object in the launcher to blast/move out very fast, hit a wall, and crack down.
If the blasting/moving out and cracking down after collision is 2 questions in one, I'm okay with getting an answer only for the blasting out.
I'd be grateful if anyone could demonstrate how to do this, whether with just the default cube.
Thanks in advance!

Create the object that is supposed to break, subvidide it a bit, in Object > Quick Effect > Cell Fracture, choose the amount of fragments with the Source Limit value, click OK. Keep the fragments selected, parent to the original object. Create the wall.
Select the original object, animate it (throw it against the wall), at the frame where it is supposed to explode, make it disappear (you can keyframe the Viewports and Renders visibility in the Object panel > Visibility).
Select one fragment, give it a Physics > Rigid Body, Type > Active, Shape > Convex Hull. At frame 0 enable the Animated option and keyframe, at the frame where the object is supposed to explode, deactivate and keyframe again. Also keyframe its visibility in the Object panel > Visibility so that it becomes visible when the object hits the wall.
Select all the other fragments, shift select the one you've set and Object > Rigid Body > Copy from Active, and press CtrlL > Link Animation Data so that all the other fragments share the same physics settings and the same keyframes.
Play:

Thanks a lot for the answer! However, the main question was to make an object blast out of a launcher, In a way that looks natural (for example a canon) not as though it was animated out to go forward in a straight line.

@TheUnknownContributor What does not work for you? Just to be clear, to get the momentum you need to animate the first few frames by keyframing the location. Then switch on the physics and let the simulation do the job. For Rigid body, the switch is the Animation setting that you can be keyframed. For cloth sim, it's the Pin group and for Soft body it's the Goal setting. Here is an example with the Cloth physics: https://i.sstatic.net/Lvhic.gif The Pin vertex group is controlled by a Vertex Weight Mix modifier.

@ The Unknown Contributor, as Blunder says, you can animate the projectile with its Animated option that you keyframe, then let the physics act on it, the rest is exactly as I show

@Blunder Thanks for the advice!


text:
How to animate a box opening using geometry nodes only?
I've read quite a few questions here about animating a box opening, but is this possible to do using only geometry nodes?
The animation can be a box opening from any side, so I guess even a simple cube to start from wouldn't be a problem.
Thanks in advance!

Here is a very simple example:

So that the individual faces of the cube can be processed separately from each other, I first apply the node Split Edges. This way I get separate faces.
From these I simply separate the face with index $0$ (in the case of the cube this is the topmost face).
To be able to rotate it comfortably, I turn it into an instance with Geometry to Instance. This allows me to achieve a rotation with only one value around a certain point. The node Rotate Instances does the rotation here.
I simply take the rotation point from one of the vertices of the face with the node Bounding Box.
The rotation itself I bring in via a Group Input. This way I can control the opening of the box via keyframe.

So is this possible to do with more than 1 flap?

@TheUnknownContributor You can basically apply the same technique to any number of faces/flaps. Basically, it depends on what result you want to achieve, but that's probably a very individual question/answer.

Got it. Thanks a lot for the answer!


text:
Animation lost on applying Displace Modifier on plane with Plane Axis as coordinate
Created a plane added a displace modifier and on texture I have set type as cloud and size(2.3) and depth(0) then I have set coordinate as object and selected Plane axis, so when we try to rotate the plane axis it creates some wave like effects but when I try to apply the modifier the plane axis is not anymore linked to the plane due which I loose my animation

That is what happens when you apply a modifier

I'm new to blender so is there any way I can export the animation with modifers. I need the export in gltf or glb format

https://blender.stackexchange.com/questions/92187/how-do-i-bake-animation-for-exporting-animation-created-by-wave-modifier https://blender.stackexchange.com/questions/35339/exporting-animation-with-modifier https://blender.stackexchange.com/questions/30310/how-to-apply-the-ocean-modifier-to-get-an-animated-object https://blender.stackexchange.com/questions/218511/export-object-with-modifier-animation-as-gltf-file


text:
Material won't show in solid mode
I made a football field material by watching a tutorial and have it on the object but I can't get it to become visible on the plane in solid mode. It is only visible in material preview mode. Heres a screenshot of it in solid mode and the material. It's not just a color but also has white lines and darker strips.

By default you won't see any material in Solid mode, it's a mode that is supposed to be as light as possible so that you can model quickly, that said you can display a texture: Open the Viewport Shading panel and click on Texture instead of Material

I clicked on texture there but it didn't make any difference, It's still as it was I guess.

I meant image texture, do you use an image texture? If not you won't see anything, again Solid mode is not made to show any material, instead switch to Material preview or Rendered preview mode

Yes but when I export this object as an fbx to use in unity I get it without that material/texture that I have added onto it which is only visible in material preview.

please share your object or at least a part of it, or at least show a screenshot of your Shader Editor, it looks like Unity can't read the material, it seems to be your problem here, no?

https://drive.google.com/file/d/1aDdW0C-dQPtkdY9n3t3Kn3auVRPji0DE/view?usp=sharing

You haven't packed your image, but there's a shader missing between your Image Texture and your Mix Shader, try to put a Diffuse shader for example

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

This is normal. Procedural materials never show up in solid mode, and image textures will only show up if you set them to be visible on that object in the Viewport Display panel of the Object Properties.

I still don't get it, I am actually trying to export this object to unity to use as a football field but when I export it as a fbx and place it there, there isn't anyting on it, just a grey object like it's showing in the solid view now, I want to export it so that the field material comes with it.

@SaifAli You didn’t mention that. Most export formats do not support procedural materials. You’ll have to bake it to an image texture. There are multiple answered questions on this site and resources elsewhere about that.


text:
Is there a way to scatter objects with its animation with geometry nodes?
So, I'm making a crowd generator, and I've set up the scattering already, but I cannot get the base object's animation to get played on the scattered ones. So the base one's animation is playing, but the scattered people are static.

of course you can.
Just use instance on points with e.g. collection like this:

In the collection the objets should be animated.
Press play and enjoy the show.

you can e.g. import mixamo animations+characters, just move the rigged mesh (not the armature) in the collection...and you got:

Thank you so much! Works like a charm :D

you are welcome


text:
How to attach mesh to particle system?
So I have a hair particle system animated with wind, and I want the hairband to move with it. Is it possible to do this without converting the hair to mesh? I've tried that but my computer cannot handle that much vertex while simulating with the cloth animation. The hair animation goes smoothly, so I'd prefer that if it's possible.

Can you add a screenshot of the hair and the hairband and the modifiers? Has the hairband a cloth simulation? If you're looking for an option to attach a hair tie/hairband or a bow on a braid then the Particle Instance modifier can help you.


text:
Scale every object on all keyframes at once
I have more around 300 objects in the scene, every object has its animations baked from frame 1 to frame 1000, and I have to scale every object up. Is there any way to do this without having to do it for the 1000 keyframes one by one?

Set an empty parent of all 300 objects and scale the empty.


text:
Baking armature's animation to mesh as keyframes
I basically have an armature with a simple mesh (it's a human body in this case), and I want the mesh to have animated transform with keyframes (not with shapekeys controlled by keyframes). Is there a possible solution for this? I tried exporting and then reimporting as .mdd but that reimports every movement as shapekeys controlled by keyframes.

Export as Alembic (.abc) and import back.

afaik it doesn't exisist as is. The tools to deform a mesh are the ones you seem to not want to use.

Not 100% sure this is what you're after but you could try:
In 3d viewport with object selected. Go to object menu > animation> bake to key frames.
Select visual keying and that should bake any animation to key frames. I use it for baking retargeted animations so I'm not sure if it works for animated shape keys but should be worth a try.

In my case this wouldn't work because the object is parented to the armature, and if I try to bake the object's animation, it does nothing, it'll generate empty keyframes unfortunately.

Select the mesh, apply transforms, export to PC2 (Point Cache), duplicate the mesh, remove all parenting and all modifiers, add the Mesh Cache modifier to the duplicate, select "PC2".


text:
How do I install the new cloth brush
I recently saw that the cloth brush is now open for people to use, but I don't know how to get it?

Download the 2.83 alpha https://builder.blender.org/download/

@FFeller I already have, but I can't see the brush in the sculpting tab

Click on the following link to download Blender 2.83 Beta from the official website (It's still experimental).
Download link: https://builder.blender.org/download/blender-2.83-ff1040c6fefc-windows64.zip
After downloading, Open blender and go to sculpture tab and you will find the brush in the left menu (T menu).

The cloth brush a feature that is currently in development and therefore not yet included in any release or nightly builds. The differential still needs to be reviewed by other developers before it will be included.
There are two ways to test this feature, either you build Blender yourself with the patch applied or you can download the build created by LazyDodo from GraphicAll.

I've installed the build by lazy dodo, but what do I do next.


text:
How do I straighten just the inner hole of this mesh?
I'm attempting to make a combination wrench. The hole is supposed to be hexagonal, but I can't figure out how to sharpen the edges without causing pinching on the outer side of the wrench when I use a subdivision modifier. Anyone have any ideas on how to do this?

I also tried beveling the inner lines of the ring that caused an artifact:

if I understand correctly you want the hexagonal shape to stay hexagonal even after the subd modifier?

Beveling the edge created ngons, these don't subdivide well.

Edit: actually, a bit simpler method. First, the destructive version:

Create a 6 vertices circle.
Subdivide it once.
Extrude it inwards.
Make its external edge loop a circle with W > Looptools > Circle.
Extrude it up on the Z axis.
Give it a Bevel modifier / Angle mode, with an Angle low enough to smooth the internal vertical edges.
Smooth with a Subdivision Surface modifier and a Smooth Shading.

The non-destructive version:

Create a 6 vertices circle.
Subdivide it once.
Give it a Solidify modifier.
Create a 12 vertices circle.
Extrude inwards and merge it on its center.
Give it a Solidify modifier.
Give it a Boolean modifier / Difference mode with the first circle as Object.
Give it a Bevel modifier / Angle mode, with an Angle low enough to smooth the vertical internal edges.
Smooth with a Subdivision Surface modifier and a Smooth Shading.
Apply the modifier if you are happy with the result.

Your destructive approach will almost certainly have far nice topology than your nondestructive approach (due to the Boolean modifier), right?

no, it will actually be the same, because the 12 vertical edges of the boolean object will perfectly match with the 12 edges of the main object, destructive or non-destructive is just a matter of preference in this case

creasing edges with SHIFT + E could also be a non destructive option if you don't want to modify existing geometry

Create a 6 sided mesh circle and rotate it $30º$
Now add a slightly larger circle with three times more sides $3 \times 6 = 18$ and also rotate it $30º$
Subdivide the inner circle with a number of cuts of 2
Bridge both circles and add the desired modifiers, like a Subsurf and Solidify
Now you can adjust the smoothness of the inner edges by selecting the two middle vertex of each edge, setting the Pivot center to 'Individual Origins', and scaling them up, outwards towards the edges.

Just add some loop cuts near the vertex of the hexagon and all the edges, it works.
if you want outer layer smooth then, you can remove the outer redundant cuts then you will get what you want.

finally, it looks like the image below after some tweaks. For this, you can scale the respective vertices and scale by setting the pivot point as individual origins


text:
Baking Normals Problem in Blender 2.8
I've tried many things to try and get this to work. (ALT+G, Recalculation outside and inside normals, using a cage, flipping the normals on both meshes, and changing the extrusion size) I still get artifacts.
Blend File
I think it renders on the mesh properly. but based off the actual image, I think something is not right.

Fixed! I had to disconnect the Image texture in the shader editor. I really don't know why this caused a problem...


text:
Create volume cube around object with equal padding from bounding box center?
I want to create a volume cube around an object with equal padding from the center of the bounding box of the object. Ideally, this would be a single value input (ie. "padding amount").
The issue(s) I'm having are:

Adjustments to the min/max values of the volume cube appear (to me) to be done from
the origin of the object and not the center of the bounding box.
I can tweak min/max values to get the padding I want, but it is cumbersome and not intuitive because it involves 2 values and (⬆see 1 above⬆).

Basically, I just want the volume cube to be larger than the bounding box with an easy way to adjust how much.
Any assistance would be appreciated.

Try scaling up ("inflate") the input geometry by its normal to get some padding:

I like the relative simplicity of this solution. Thank you! I also received an alternative solution on blender artists which I will include as an alternative answer.

I love the relative simplicity of the solution provided. It's worth noting I received an alternative solution on Blender Artists which provides a more mathematical answer.


text:
Transform text in GeoNodes using global orientation?
I want to transform and alter (live) text (not converted to a mesh) using global orientation.
The problem is that text is created facing the Z axis (back row of image) and geometry node transforms on the text are done using its local axis (center row of image) and it isn't possible to reset the local axis when text is live.
What I want to be able to do is to manually orient the text so the top of the letters are aligned with the Z axis (ie. rotate 90 along X) and then be able to apply geometry node transforms using the global axis (front row of image).

Can we have a use-case, so we can see what's unacceptable about rotating the 'Live' text inside  GN, (leaving object axes aligned to World)?

Why don't you use the 'String Curve' instead of a text object?

My specific question as I asked it was answered on Blender Artists so I am marking this solved, but it doesn't specifically solve my actual problem (which admittedly, I was not clear about).


text:
Merge two planes one above the other
New to Blender here! I'm trying to build a rudimentary race track with Blender 2.79b which currently consists in:

a square plane subdivided n times to create a terrain which will have bumps
a track modeled using Array and Curve modifiers that fit to a Bezier curve.

What I'd like to achieve is merging the two planes so that:

the track will be correctly rendered
sculpting the terrain will affect the surrounding track

However, I may be going in the wrong direction trying to do this, so I'm grateful for any proposal that is better practice!

perhaps look at Shrinkwrap: https://blender.stackexchange.com/questions/121908/project-road-on-a-landscape/121954#121954

Hi Zim in this case its best to use the ShrinkWrap or KnifeProject. The 1st one is more simple to use so thats what we try. I prepared the scene looking like this:

You could see the road above the terrain so now its good to make the road subdivided (preferably more that the terrain) for ShrinkWrap being possible so use Subdivide to achieve this result:

Its enough to acomplish what we want so now the modifier takes place. Add it and as a target choose the terrain object (in my case its "Plane"). Now use the settings as below (GREEN). As a MODE use the Project and dont forgot to check the Negative projection (in our case we have road above the surface so its negative). Also dont forget to set the Offset to about 0.01 (lets try lowest value possible) to avoid overlapping faces.

Everything is done so hope it helps Buddy.
Sincerely, Jan

Hi Jan thanks for your answer which gives a satisfying result, but this does not help regarding my second expectation (sculpting the terrain will affect the surrounding track): sculpting a bump next to a curve will sculpt over the track...
I don't know if it's ever possible so I ended up drawing the track directly on the ground texture in an image editor. (upvoting anyway :)

Hi Zim it sound like a "glitch" cause it does not matter if You sculpt the terrain the road should be above it no matter what so please share the blend file here so I could look.

Here it is: http://s000.tinyupload.com/index.php?file_id=28872486417056360452 (edit: reuploaded without textures)

https://blend-exchange.giantcowfilms.com/b/5525/ ... problem SOLVED ;). The reason for the error was that You did not subdivide the basic mesh as I mentioned in the step 2 of my answer. Explore the file and especially the ROAD modifiers and settings.

Awesome! Thank you very much for you help Jan :) The terrain sculpting is very slow on my computer but it behaves exactly as I wish!

No problem happy to help.


text:
Remove wireframe lines from UV Map
So my model without any mapping is smooth and plain.

But when I go through the UV Mapping process, I end up with my model looking like this:

The problem is that it exports like that so when I programmatically load it up, i see all those lines that are not supposed to be there.  Is there a way to export it without those lines?  Or do I have to remove them from the PNG in an editing program after?

You will remove the lines while editing with picture editing apps. For instance if you are using photoshop, you can make the layer invisible when you are done with editing

I tried it and I still get the lines.  So what I'm doing is using the edit image externally option.  I have it set to open Paint.NET.  Then on three different tests, I painted it completely grey, erased everything, turned off visibility on the layer.  Saved the image, used the reload image option and redid the image save, UV export, and OBJ export.  But everytime I load it up in my browser I get the same thing (I blew the cache away each time, too).  The wireframe lines are still on the model.

NVM.  Something seemed off in my VS so I rebooted completely and it worked.  Thanks so much for the help.  Give you credit if you can throw that up as an answer.  thanks again.

You will remove the lines while editing with picture editing apps. For instance if you are using photoshop, you can make the layer invisible when you are done with editing