text:
Odd rendering issue -- Extra lines
When I render one of my models in my app, black lines (which I did not draw) are getting rendered which run from various points on my model all to a single point.  Please see image.  As I move my camera around in the app, the single point moves around (and in turn the destination of the lines).  What are these black lines, what are they pointing to, and how do I fix?

Note: Blender newbie here
Thanks
Edit new photo showing mesh issues in blender too.  Removed reference to libgdx to remove confusion.

If it renders well in Blender, it should be asked to libGdx support perhaps...

all my other models are rendering well in libgdx so I don't think it's a problem there.  I believe it's a problem with the model itself.  Perhaps a vertex that's off or something.

Well I guess most users here don't use or even know what libGdx is, so unless you provide a blendfile we can look at and check for any errors I don't think you'll be able to get many quality answers here

I'm voting to close this question as off-topic because this doesn't seem to be a question about Blender or an issue caused by Blender

It doesn't have to do with LibGdx.  I regret mentioning it :)  I wish I could post my blender file but that would violate company policy.  Definitely mesh issues.

Found mesh issues in the model in Blender which appear like they might be related.  I'm posting a new picture.  Notice how some meshes show black lines in the blender picture?  Thinking they're the same black lines in the render.  Agree?  If so, how to fix?

posted a second screenshot in blender.  this time in object mode (first was in edit).

You might want to upload your .blend file to http://blend-exchange.giantcowfilms.com/ , then adding the given link your question above to receive a good answer. Otherwise than that, this seems to be caused by z-fighting due to double geometry. Go to edit mode, hit "A" to select everything, then "W" and "Remove Doubles".

Interesting thanks.  Unfortunately I'm not legally allowed to upload this file, however it does seem to be related.  It fixed it in a number of places, but perhaps more interesting it seems to have caused a new area to pop up with it.  A new spot to investigate.  Thanks

Welp, I didn't determine the exact issue for all situations, but it seemed some meshes had doubles issues, faces issues, normals issues, etc.  You could do things like select a vertex around a bad area and hit Ctrl+ to select similar ones, but the bad one wouldn't get selected.
To fix, I ended up selecting whole areas that were at issue and deleting them.  I then either rebuilt them or duplicated other similar areas and placing them there.
I hate not knowing the exact issue, but at least I'm up and running.
Thanks to those who took the time!


text:
Lines after Glareing Object
I am currently creating a character and i have a problem. I added a Glare Node (Whith a add Node) on my Project and now i have these lines and this white strip on my sword. How can i fix that?

Could you upload a screenshot of your node setup in the compositor? That would help troubleshooting

I solved the problem for the Sword. I now have only the problem with the eyes.

source: Stack Exchange

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

sort: votes


text:
Blender unit conversion without scaling relative to the scene?
I'm a fairly new employee and Blender user (long-time Maya user). I may have gotten myself into a bind and hoping you all can help me out...
As a new employee, one of the first things I asked was which unit we'd be using in Blender. I was told that everything is in centimeters unless specified otherwise, and that was rare. So I quickly set my units to centimeter, saved the startup file, and never looked back.

Well here we are a few months later and I'm learning that they don't really understand how units work in 3D software, so no one had ever changed anything from the default Blender Unit. All of our tools and exporters are written assuming that 1 BU = 1 cm. But after researching, it appears that 1 Blender Unit = 1 meter. I'm the first 3D artist that the company has hired, so it makes sense that they aren't very familiar with the software. No big deal, but now I have a problem...
I have rigged and animated a few scenes, which now need to be changed from centimeters to Blender Units. Unfortunately, a simple change in the units doesn't work, because then the scene is 100x too big.

Is there a way to convert the units while maintaining the relative scale? The grid floor should appear the same size relative to the objects in the scene. Or maybe there is a way to scale the entire scene back down to the correct size, precisely and without screwing up the rigging/animation? This should be possible, as I don't have any animation on the armatures in object mode, only on individual joints in pose mode.
Thanks in advance for any tips or advice!!!

Yes, but scaling an animated rig and applying transforms, breaks the rig.

I had exact the same problem - solution is - select whole scene, literaly everything and parent to empty, than scale empty :)

This should be a comment, not an answer.

You can scale the grid by going to the tab settings on the right, scroll down until you hit scale, and size that up until you have a pleasing result.

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


text:
Blender 2.8 sculpt mode shows triangulated faces
As the title says, when I switch to sculpt mode in Blender 2.8, the mesh I'm working on displays the faces as if they were triangulated. I'm sure I'm just missing a checkbox that's buried somewhere, but I can't seem to find it. Does anyone know what overlay or setting is causing this?

Update: To clarify, the mesh is not being triangulated, it is just displaying triangles when in sculpt mode.

Is the Dyntopo(Dynamic Topologies) setting on, check it in the Tool panel? It will force the face triangle.

Dyntopo is off. When I used Dyntopo before in 2.79 it actually triangulated the mesh and left it that way, but that's not what is happening here. What's happening for me in 2.8 is while in sculpt mode it is DISPLAYING triangles, but when switching back to object or edit mode it displays the normal quads.

I think it is a feature for accurately display. It tells you how render engine treat them by default. Or maybe just a bug..

Whether it's a bug or a feature, it's quite annoying because the triangulation calculation constantly shifts as you sculpt.

2.8 no longer supports Subsurf for sculpting (2.79 had problems with displaying modifiers result but could work with that); probably it will be in the next versions. Use Multires modifier instead.

Thanks for the tip Mr Zak, unfortunately that doesn't change anything in sculpt mode, and the Multires modifier doesn't play nice with the Solidify modifier (Multires doesn't allow Solidify first in the mod stack).

Also to clarify, this issue is not related to the modifiers I have on the mesh. When I remove all modifiers this "triangulation display" still occurs in sculpt mode. In the attached gif animation the modifiers are disabled, and the behavior is exactly the same when the modifiers are removed. This is not a modifier issue, it's an issue with sculpt mode.

As of June 5th, this behavior is no longer present in the latest build of Blender 2.8 beta. I guess it was a bug that has now been fixed.

cool! you can then mark your own answer as accepted so the question gets closed.


text:
Why won't this particle system render?

When I render my image, my particles system won't render, instead it just shows a black background.

I have search for answers and followed them.

I made sure that the render icon was on
I unchecked the emitter box that is in the "particles system" tab
I made a vertex group
I also added a mask modifier

I just have no idea what to do for my particles to render.

Sorry about not having a link to my blender. Blender exchange isn't working and I dont know how 'pasteall.org works. So if anyone knows another site i can link my blender, please let me know. Much appreciate it XD

@eromod They are halo and on the 'particle system tab under emission I set them on volume, just in case you need to know that as well

Did you assign a material to the particle system? Not sure now, but you probably need a Halo typo of material assigned to the object

I'm sorry, I'm still kinda new so what would the halo type of material be that I can assign it to my particles

Ok I'm doing right now, it will take a bit though.

Do you happen to know another site i can upload it because the blender-exchange isn't working for me

I am but it keeps telling me when it loads half way that "server responded with 0 code"

@user27472 Hi, I'm the owner/operator of Blend-Exchange, could you send me along some details of the error (how big the file you uploaded was, what browser and OS you were using as well as exact details of what the error looked like (including where it was displayed on the page). See here for details on how to reach me: http://giantcowfilms.com/contact/. Thanks :D

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


text:
no faces in edit mode
I have been working on a complicated model for a long time and today it suddenly quit displaying faces in edit mode. It appears to be in wireframe, and toggling wireframe does not change that (unattached parts in my project toggle appropriately).  I looked at the object display settings and Textured is selected.  I tried selecting four vertices and creating a new face, but no face appears.  When I go to object mode, the faces appear normally.
This anomaly occurred out of the blue while I was working on the model.  I have not been importing or changing versions or otherwise manipulating the file.

A picture of my model in edit.  Note that the pants have faces; that is part of the larger model no longer showing faces.
My blend file:

Could you post a picture of your model when it appears to be in Wireframe mode while is in Texure instead? Has the object got any modifer (one above all Mask Modifier)?

Could it be that you've checked Hidden Wire option in Tools panel > Shading ?

I can't seem to find that option!  I googled it and they show it under the Materials->Shading panel, but it isn't there on my model.

I don't know how to post pictures.

It's in the Tools panel, which can be opened only in the 3D View (and shown there too). To add images to the post click "Edit" button in the bottom of it, click somewhere where'd you like to add it and press Ctrl+G; select image from your computer or internet.

No modifiers at all.

@Amanda about your other question, not a problem. You can use the "edit" link below your post to edit any time.

As it's seen from screenshot, part of mesh (pants, which most likely are unconnected) has faces visible, while whole mesh doesn't, so this is definitely not Hidden Wire option used. Could you save that as a copy, delete almost everything except for small parts of body mesh and pants mesh and upload a file here ?

I put a link to my file in the question:   http://blender.stackexchange.com/questions/43277/no-faces-in-edit-mode

I'm not sure how could that be done, but if you enter Edit mode and press Alt+H (reveal all hidden geometry) you'll get all Shiva's faces visible and editable. At the same time this definitely isn't a duplicate of linked question.

@cegaton I'm still not sure it's a duplicate of questions you linked. The actions to repair are the same, that's true, while actions to get that behaviour which is in uploaded file are not. It won't work this way if just pressing H or Shift+H (correct me if this changed in latest builds). Tbh, I haven't ever seen such hiding faces only.

The reason the faces are not showing up is because they are hidden.
As Mr Zak suggested;

Enter edit mode and press Alt+H

This will reveal all hidden geometry.

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


text:
rotate an object while it follows a path
I am trying to rotate the moons and Planets as they orbit their parent bodies. In a way that does not require the setting up of key frames –  jwktrucker
You guys have been very helpful and Thanks to all of you.
On "Cyclic orbit animation" you showed me how to get an object to orbit another so using the follow path method how can I make the object rotate on its own axis as it orbits the other object. This project is to complex to clutter with key frames so if you can
Oh and the orbit speed and rotation speeds of objects will not be related to each other
Object 1 "Sun" stationary
Object 2 "Planet 1" orbits sun at 300 frames rotates in 26 frames
Object 3 "Moon 1" orbits planet 1 at 100 frames rotates in 15 frames
above is Just an example of project requirements The system I am building has 37 objects in it one of witch is an Asteroid Belt

I am trying to rotate the moons and Planets as they orbit their parent bodies. In a way that does not require the setting up of key frames

Please explain why you want no keyframes.

One way to do this is with an empty following the orbit. This way you can parent an object to the empty and rotate it independently:

Add an empty and make it follow a path (e.g. with the Follow Path constraint). Clicking Animate Patch will automatically add an fcurve modifier which endlessly moves the empty along the path:

To control the orbit speed, set the total number of frames required for an orbit by adjusting the Frames value in Properties > Object data > Path Animation with the curve selected:

Parent your object to the empty (⎈ CtrlP):

Now the object's transforms will be relative to the empty. You can rotate the empty to tilt the object's axis of rotation if you like.
Make the planet object spin. To do this, insert a keyframe on the Z rotation of the object ( RMB > Insert single keyframe). You'll only need this one keyframe. You could use drivers instead, however that may cause issues if you plan on using a renderfarm such as sheepit.
In the graph editor, add a Generator fcurve modifier. Note that internally blender stores rotations as radians, so to make the planet rotate once every 26 frames, you'll want the X multiplier to be 6.28318531/26 (6.28318531 radians = 360°).

Result:

Everything is because physics, you need to:

turn the gravity off if you haven't done yet.
Have a force field in the "center" of your solar system highly attractive (in my example -100).
An object that need to be your planet with an track constraint that makes it looking always to the force field. (look at the properties in the example image)
A force field attached to the planet, this force field needs to be slightly to some side to the planet. (in my example, 1 unit to the left, is on x because the constraint and it's strength is 20).
make the animation about 500 frames and in the scene properties tab, rigid body cache group make the end = 500.
Press play, eventually your planet is going to rotate around the biggest force field, and because the planet force field is attached to the planet and it's looking always to the "sun" it's starting to rotate around itself, I think the same principle it's applied to the moon.

In theory, our moon is always looking the earth with the same side and it's translation around the earth makes the earth rotates, so this principle is really and application to the moon physics rather than earth physics, but it's a beginning, hope I helped you with this.


text:
How to redefine x,y,z orientation of a model?
I need to reset my model's x,y,z orientation.  The back of it needs to be aligned with the z axis so I can use the edge-fade method described here:
How do you fade the edges of a model?
Right now the model's orientation seems to be at an odd angle.  Thank you for help!
EDIT: Problem solved.
Set normal orientation of origin
This answers the question.  I am leaving my question here in case anyone else does not know to look for "normal orientation"!


text:
Weird circle looking like coffee stain on windows
I'm making my first project and realised I got a weird circle on the glass on my windows looking like a coffee stain or something (the circle only appears on the windows). I don't know when it appeared and if it helps at all I'm using windows from the Archipack add-on.
Thank's for any help! I'll link some pictures.

hello, are you sure there's not an object than is invisible in preview but visible in render?

Hey thanks for the answer. Yeah, the circle is visible in the preview aswell. when I move the circle change place on the windows.

If you can move the circle, why not simply delete it or hide it in rendered view so that it's no longer visible?

Sorry I might have worded that wrong, when I move the camera* the circle change position on the window. I can't move the circle and it's not  an object (I think).

I'm guessing it has to do with the IOR of your glass. Since windows are flat, I think you can get away with setting the value as low as 1.05 or so. Does that make the circle disappear?

maybe provide your blend file so we can check it out?

Yeah I tried to set the IOR to 1.05 and the circle disappeared but it also made the glass into a mirror haha. I also tried lowering the IOR bit by bit and it seems to make the circle bigger and bigger until the glass becomes said mirror.

Alright let me figure out how to share the blend file

There I edited the post with a Blend-Exchange file.

The circle is a reflection of the object Plane.005, which is the empty room behind the camera. For whatever reason, the material has a Background set to black as a surface instead of a Principled BSDF, Diffuse BSDF or any other "real" object shader and I was wondering why it's not reflected as black room inside the window.
Then I looked at the glass material of the window and saw that there is a Fresnel node set to 40(!) as mix factor between a Glossy BSDF and a Transparent BSDF. This causes the reflection to somehow distort spherical between the front and back face of the glass. You can see that more clearly if you change the material of Plane.005 to white for example, you have simple reflection on the front face and the sphere on the backface - the IOR makes the reflection bend that much inside the glass.
When I set the IOR to something "normal" like 1.45, the window simply (strongly) reflects a pitch black room like a mirror, that's because there is a Glossy BSDF in there instead of a Glass BSDF. So the IOR is definitely way off. I don't know why the Archipack window has such a strange material... When I simply delete all nodes and put a Glass BSDF in there instead of this complex node setup, there is no circle and no mirrored pitch black room.

Hey, thank you so much! Im new to all this and what I learned is if I use a normal Glass BSDF the room will be filled with a lot of noise. I used the glass recommended by blender guru and clearly must have missed a step :D. Thank you so much again for that answer!

@Alex Yes, interiors are always problematic with noise etc. when you use real glass materials. If I don't care for realistic reflections of the interior on the windows, for a simple solution I put no window in there and use only the frame in the render. Or take a mix shader to make the glass only visible for the camera and completely transparent to the scene.


text:
How do I have an exception to a material override?
I tried to have this clay look to my model, and I used the material override to have all materials look like the default white. Works fine, but I would like to highlight the building I'm working on.
Is there a way to have everything the default white color except for that building only?

what method did you use for having the material override?

under view layer there is an option to use override which simply uses one single material for all of the objects in the file. This is a really simple way to have this clay look. I am using a few plugins for trees and all of their leaves and branches and all that have different materials so it is much easier to use this override function than to manually set all materials to white.

You can use the Pass Index to indicate to the material how to treat specific objects in your scene.
For those objects you want highlighting, set the Pass Index to a specific value (in this case, '1') :

In your material, use the Object Info node to get the Object Index and compare it to determine how to shade your object (in this case I've used the result of the compare to choose between colours in a MixRGB node) :

This produces the following result (with the cube set to index '1' and everything else left at index '0') :

To change the highlighted object, simply update the Pass Index to disable the previously highlighted one and enable the new one.

Oh, that's a good solution! I was trying to come up with one but that didn't work. Just curious: is there a specific reason you've set Epsilon to 0.1? Because the index is an integer and it should work with 0 or isn't it?

Thanks :-) It’s usually best to avoid exact comparisons with values as even though the pass index is an integer it’s getting compared to a floating point (the ‘value’ in the node). With floating point there is always the risk of a slight inaccuracy so it’s good practice to compare with a small tolerance to avoid problems. In this case, it probably doesn’t actually matter though.


text:
Blender Separating vertices on object when restarting Blender
Summary:
I am having this extreme problem with Blender where I have this character I am creating. The character uses a mirror modifier, and I am using Blender 2.83. I saved my file and restarted Blender and when I restarted Blender, some vertices and edges were not together and made it's own separate object.
What I  Tried:
I tried everything with all joining of vertices with using the F key and all. I cannot find any answer on the web about this. I am just learning Blender, but I know that everything was together and I know I didn't press anything that could cause it so I desperately need help with this.
Image Illustrations

Image of what is should look like together:
Isn't actually together but what it should look like together.
This image below shows it together and should be connected with the whole surrounding, it worked before I restarted Blender.

Image when it is separated:
But once I restarted blender, it wasn't together like it is suppose to. I had trouble selecting the whole separate object but it still proves but point on how difficult it is when it is separate.

Also, while I already have this question written, how do I hide and show that selector mover thing, the green, red, and blue arrows one, I accidentally shown it but don't know how to hide it again. I do have some uses for it in the future hopefully but like to hide it in the mean time so it's out of the way.

I believe I found the answer to this. It took a while but I think I finally found it. In Blender 2.8, you will select everything by pressing the "A" button and then you will go to the Mesh option on the nav bar on the 3D screen and hover over the merge option and then click by distance. So if anyone has this problem then this should help. If my answer seem to be confusion then here is a screenshot.


text:
Built-In Python Templates to Blender 3.2
Could anyone help me make sense of the import file template that Blender 3.2 gives for Python scripting? It seems a lot of this code is unnecessary for the function of opening a dialog box and selecting images. Where would I start inputting my code to utilize the files I selected and what here is unnecessary noise?
import bpy

def read_some_data(context, filepath, use_some_setting):
    print("running read_some_data...")
    f = open(filepath, 'r', encoding='utf-8')
    data = f.read()
    f.close()

    # would normally load the data here
    print(data)

    return {'FINISHED'}

# ImportHelper is a helper class, defines filename and
# invoke() function which calls the file selector.
from bpy_extras.io_utils import ImportHelper
from bpy.props import StringProperty, BoolProperty, EnumProperty
from bpy.types import Operator

class ImportSomeData(Operator, ImportHelper):
    """This appears in the tooltip of the operator and in the generated docs"""
    bl_idname = "import_test.some_data"  # important since its how bpy.ops.import_test.some_data is constructed
    bl_label = "Import Some Data"

    # ImportHelper mixin class uses this
    filename_ext = ".tif"

    filter_glob: StringProperty(
        default="*.tif",
        options={'HIDDEN'},
        maxlen=255,  # Max internal buffer length, longer would be clamped.
    )

    # List of operator properties, the attributes will be assigned
    # to the class instance from the operator settings before calling.
    use_setting: BoolProperty(
        name="Example Boolean",
        description="Example Tooltip",
        default=True,
    )

    type: EnumProperty(
        name="Example Enum",
        description="Choose between two items",
        items=(
            ('OPT_A', "First Option", "Description one"),
            ('OPT_B', "Second Option", "Description two"),
        ),
        default='OPT_A',
    )

    def execute(self, context):
        return read_some_data(context, self.filepath, self.use_setting)

# Only needed if you want to add into a dynamic menu.
def menu_func_import(self, context):
    self.layout.operator(ImportSomeData.bl_idname, text="Text Import Operator")

# Register and add to the "file selector" menu (required to use F3 search "Text Import Operator" for quick access).
def register():
    bpy.utils.register_class(ImportSomeData)
    bpy.types.TOPBAR_MT_file_import.append(menu_func_import)

def unregister():
    bpy.utils.unregister_class(ImportSomeData)
    bpy.types.TOPBAR_MT_file_import.remove(menu_func_import)

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.import_test.some_data('INVOKE_DEFAULT')
```

Except for read_some_data, the BoolProperty and EnumProperty which are currently not really doing anything useful, the other parts are necessary to get an import dialog and a menu entry in the UI. Perhaps your question is answered by this post if you are looking to get all filenames?

The ImportHelper class is not well documented, so I wrote this example to help explain it:
#-----------------------------------------------------------------------------
# Here's what the ImportHelper class does as a mix-in:
# It adds a StringProperty named 'filepath'
# It adds an invoke function
# It adds a "check function.
#
# The invoke function calls context.window_manager.fileselect_add
# This class is the same as the above class, except it makes these things
# explicit
# https://docs.blender.org/api/current/bpy.types.WindowManager.html#bpy.types.WindowManager.fileselect_add
#
from bpy.types import Operator
from pathlib import Path

class TLA_OT_stlhandlerv2(Operator):
    """ Import an STL and do things with it"""
    bl_idname = "import.stlhandlerv2"
    bl_label = "Process STL"
    bl_options = {"REGISTER", "UNDO"}

    # This is usually obtained from the ImportHelper mixin
    # It is used by fileselect_add if it is present.
    filepath: StringProperty(
        name="File Path",
        description="Filepath used for importing the file",
        maxlen=1024,
        subtype='FILE_PATH',
    )

    # This is used by fileselect_add if it is present.
    # It is not well documented.
    filter_glob: StringProperty(
        default='*.stl',
        options={'HIDDEN'}
    )

    # This is used by fileselect_add if it is present.
    directory: StringProperty(
        options={'HIDDEN'}
    )

    # This is used by fileselect_add if it is present.
    files: CollectionProperty(type=bpy.types.PropertyGroup)

    @classmethod
    def poll(cls, context):
        return context.mode == "OBJECT"

    def execute(self, context):
        directory_path = Path(self.filepath).parent
        for file in self.files:
            bpy.ops.import_mesh.stl(filepath=str(directory_path / file.name))
            print(f'Do Your thing here')
        return {'FINISHED'}

    # This is usually obtained from the ImportHelper mixin
    def invoke(self, context, _event):
        context.window_manager.fileselect_add(self)
        return {'RUNNING_MODAL'}

This example happens to use a dialog box to collect files that it then processes using the operator that imports an STL file. It implements this workflow:
When the handler is invoked, the fileselect_add function is called as a modal operator.  As a side effect, it has access to filepath, filter_glob, and directory and uses them to set up the the dialog box before it calls it.
When fileselect_path completes, it sets those variables, in case they have changed, and it fills out the files variable with the names of all of the files that were marked as selected in the dialog.
Note: Because the variable names are hard wired in the helper functions you must use the same spelling in your operator class.
Once fileselect_path completes, your execute function is called.  It can use the values to do whatever it wants.  In my example, it invokes the stl importer.
The other bits in the template file are just a way of demonstrating how to add your operator to a menu to invoke it.
Addition
To make this answer clearer, here is the code for an operator and panel.  The panel is added as the "TLA" tab in the Video Sequence Editor's side panel and contains a button labeled "Add Images".  Pressing the button will bring up the file dialog, but with no filtering (I've removed the glob variable).  It assumes that Channel 1 is empty and appends all of the files from the dialog to that image strip.
import bpy
from bpy.types import Operator
from bpy.types import Panel
from bpy.props import StringProperty
from bpy.props import CollectionProperty
from bpy_extras.io_utils import ImportHelper
from pathlib import Path

class TLA_OT_addimages(Operator, ImportHelper):
    """ add images to an image strip in the VSE"""
    bl_idname = "vse.addimages"
    bl_label = "Add Images"
    bl_options = {"REGISTER", "UNDO"}
    directory: StringProperty(
        options={'HIDDEN'}
    )
    # This is used by fileselect_add if it is present.
    files: CollectionProperty(type=bpy.types.PropertyGroup)
    @classmethod
    def poll(cls, context):
        return True
    def execute(self, context):
        self.report({'INFO'},
            f"execute()")
        directory_path = Path(self.filepath).parent
        file_list = []
        for file in self.files:
            file_list.append({"name":file.name})
        bpy.ops.sequencer.image_strip_add(
            directory=str(directory_path),
            files=file_list,
            relative_path=True,
            channel=1,
            fit_method='FIT'
        )
        return {'FINISHED'}

class TLA_PT_sidebar(Panel):
    """Display test button"""
    bl_label = "Add images"
    bl_space_type = "SEQUENCE_EDITOR"
    bl_region_type = "UI"
    bl_category = "TLA"
    def draw(self, context):
        col = self.layout.column(align=True)
        prop = col.operator("vse.addimages")

classes = [
    TLA_OT_addimages,
    TLA_PT_sidebar,
]

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

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

because the operator is invoked from the UI of the sequence editor it does not need a context overrride.

the name of my class must contain OT correct?

Why is ImportHelper not a parameter for your class? What benefit is there for the template to include it/does it do anything different whether or not its a parameter?

Yes, the name must be PREFIX_OT_SUFFIX.  ImportHelper is not a parameter (parent class) in my class only because I wanted to document explicitly what ImportHelper does implicitly.  The benefit for including it is that it includes the invoke function, so you don't have to write that yourself.

If my understanding is correct (which it may not be) I just need to run bpy.ops.workspace.append_activate(idname="Video Editing") bpy.context.area.type = 'SEQUENCE_EDITOR' to invoke in the context of the VSE? Or is there a better way to go about it? For the dictionary of self.files what is the benefit of using a dictionary rather than iterating through a list? What would I make the keys and value? Sorry for all the questions I am very new to Blender scripting

Why does image_strip_add use the file name twice? Is this and "name" somehow supposed to work out as my dictionary? Or is it a list of dictionaries?

I don’t know why twice. Maybe the manual’s description of the argument explains it? I am away from my desktop but can check tomorrow

@se2000 I've done some further checking.  The argument is supposed to be a list of OperatorFileListElement  I've tried not duplicating the  entry and the call seems to work just fine.  I now don't think it needs to be double and there's a bug in the add code for the VSE.


text:
Shear tool in Geometry Nodes?
Is it possible to do a geometry operation similar to the "Shear" tool in Geometry Nodes?
Thank you!

Sure.  A shear is pretty simple.  It moves verts in one axis, proportional to how far they lie against another (perpendicular) axis.
This is easiest if we pick object axes for these two axes.  I'll use object X and Y:

We multiply our X location by some constant (0.5 here) and apply that to the Z location of our vertices.


text:
Shadows from the background (EEVEE)
Can the background (environment map) generate soft shadows in the EEVEE renderer?

https://blender.stackexchange.com/questions/128120/how-can-i-get-hdri-shadows-in-an-eevee-scene/ https://blender.stackexchange.com/questions/99631/how-to-make-mesh-lights-work-in-blender-eevee https://blender.stackexchange.com/questions/101244/does-the-blender-eevee-rendering-engine-really-have-indirect-lighting

Hello and welcome. This question seems to have been asked before in multiple forms over time, and already has various answers but you never acknowledged any of them. We are not sure if you aware of the existing posts but none of the described techniques address your particular requisites, or you simply didn't do any research at all. Could you [edit] you post and clarify how your question differs from the suggested duplicates? Otherwise could you rephrase it to focus on a particular step you are stuck with?

You need to create a Light Probe > Irradiance Volume around your scene and click on Bake Indirect Lighting in the Render panel > Indirect Lighting:

Thank you! Is this the only way? Is it possible to create a Shadw Map shadow type (like from other light types) from the background?

Sure, you can bake the shadows in Cycles if this is what you mean


text:
Exporting to Collada: Physics don't get exported
I added basic rigidbody characteristics to a default sphere in Blender and exported it to Collada but the physics information isn't exporting.
How can I get the physics data to be exported along the geometry?
Thanks in advance.
I'm using Blender 2.68.4
EDIT:
As for Blender 2.68.4 there is no support for physics data to COLLADA :(
Althought it seems that there is already a patch to export physics:
http://wiki.blender.org/index.php/Dev:2.5/Source/Architecture/COLLADA
https://projects.blender.org/tracker/index.php?func=detail&aid=25601&group_id=9&atid=127
This patch was already accepted into upstream so maybe in a near version support for this is added :D
I will leave the question open to notify the ones that favorites this question once this functionality is added.
IN THE MEANTIME:
You can solve this issue by:

Saving the scene with physics in Blender format (.blend)
Importing the .blend file into Unity Engine (free edition)
Use the Unity Collada Exporter to get a fully physics functional COLLADA .dae file.

Credits to Rémi Arnaud.

@gandalf3: Thanks for your comment, unfortunately, what I want is to export the whole scene with its geometry, materials, etc and the models physics as well. How can I do that?

FYI (all readers), I'm guiding diosney into adding physics support to Blender.

Assuming you want the motion generated by the rigid-body simulation (not the mass and other parameters), you can bake the simulation to keyframes.
There are two ways to do this:
Method one:
In the Tool shelf (N in the 3D view) > Rigid body tools, press Bake to Keyframes:

Method two:
Press 3D view > Header > Object > Animation > Bake action:

@gandalf3: Thanks for your help, unfortunately, what I want is to export the whole scene with its geometry, materials, etc and the models physics as well. How can I do that?

@gandalf3: The final purpose is to use the scene to be imported in a game engine that supports Collada, but the .dae file exported by Blender doesn't have any physics information :(

@diosney AFAIK, the COLLADA exporter does not support exporting the physics data (mass, constraints, etc.). You can bake the simulation to a normal animation, (as in my answer) and then export, this will export the animation data as well as geometry. Material exporting is limited, see the wiki.

I tested what you suggested but don't worked for me :(

@diosney How did it not work? (what happened?)

In the exported .dae there is no physics information. As you say, seems that the exporter doesn't support yet the physics data. Do you know how to report this kind of thing to Blender or how can I get the code for the exporter to see if I can help and add this functionality?

Oh, to address your question, when I import the .dae into the game engine, the physics data related to the model isn't getting loaded, since it was an animation what was created.

It seems that there is already a patch to export physics: http://wiki.blender.org/index.php/Dev:2.5/Source/Architecture/COLLADA, https://projects.blender.org/tracker/index.php?func=detail&aid=25601&group_id=9&atid=127 that is already accepted into upstream so maybe in a near version support for this is added :D I will leave the question open to notify the ones that favorites this question once this functionality is added.


text:
Is there any technique for baking instanced/linked objects, Cycles/BI?
I would like to know is there any technique that I can bake textures of the Instanced or Linked Object meshes in Blender, Cycles or BI?

If their material is linked, they'll use the same. If you want them to be different, you need to make them single user.

Thanks, well, i know but i am looking for a workaround, I see engine like unreal can do that, is possible in Blender?

so you just want to re-bake the textures to the objects instead?

no, i want every instanced/linked object has unique baked texture on it, like Unity and Unreal engines, example of shadows baked on multiple instances.

As far as I know, blender lacks support for this, so it's not doable unless you make each instance single user and make a unique material for it.


text:
Making a light source invisible to everything except shadow rays
I saw this in another answer and I would like to know how to do it:
"Making a light source invisible to everything except shadow rays will cause it to only block light from other light sources and not influence anything else."
Thank you!

There are two ways to do this.
Materials nodes:

Ray visibility:

Using these ray visibility checkboxes instead of nodes will speed up render times a little, however you lose the flexibility of nodes.

authors: Артём Соболев


text:
Strange black bars with sun beams node?
So, when compositing using the sun beams node (and using an Add mix node), the sun beams node itself works, but I get some strange black bars:

How can I fix this?
I've tried on multiple computers.

Could you show your node setup, give some reference about where the bars are and more info in general about your scene? Are you able to tell the passage to reproduce this issue?

@Carlo As far as I'm aware the node setup doesn't matter (as long as it actually does have a sun beams node), as I've had this issue many times before. My scene simply comprises of a solidified plane with an emission shader and a small landscape down below.
EDIT: Could this be because I used an Add node to add the sun beams effect (instead of a multiply/screen/whatever)?

Could you upload to http://blend-exchange.giantcowfilms.com/ the simplest scene showing the problem? I was not able to reproduce it on my own with your instruction.

@Carlo that's odd... with pleasure.

@Carlo Well, the problem is avoiding me now. I'll get back if/when it comes back.

@Carlo source added to OP. I recreated it, just hit render and you should see a black bar down the left.

I see...it looks like a failure in rendering pixel color for rays that are perpendicullary pointing from the source to the camera, I can't tell why it's happening, but seems that slightly moving the light source (e.g. x factor = 0.801 intead of 0.800) would help you avoid that issue.

@Carlo I realised that this would solve my problem, but sometimes it's annoying because my source is already in the best spot :c
Ed: Oh, wait, you're talking extremely minute values. :P I'll try and then get back.


text:
How to do a rotation animation loop with easing?
What I have right now is an NLA track that has it's repeat set to 7 to loop an animation. This animation rotates an object from 0 to 360 degrees. (See here: https://blender.stackexchange.com/a/493/20394)
I turned off easing by turning linear extrapolation on.
I just noted the above details for clarity so you know what I have now. (I am more than willing to try a different method when suggested)
What the problem is now is that the animation stops immediatly when the repeat is over, and also starts immediatly at constant speed. What's the best way to both loop a rotation animation AND ease the animation in and out? Thanks!

If you set repeat in the NLA then it will repeat a set number of times. Setting linear extrapolation in the graph editor will give an endless rotation. Check that you set the extrapolation on the rotating axis and not another value. If you want to share your blend someone might see what you missed.


text:
Cycles Flame in Smoke Simulation not Rendering

I am trying to make an explosion in Blender.
I am having a problem with the smoke simulation with the Cycles rendering engine. More specifically, I have been able to render smoke, but flames do not show up. In the viewport however, everything looks perfectly fine.
The render looks like this:

But in the viewport, it is clear that there are flames. Does anyone have any idea what is going on?

This is NOT a duplicate of Smoke & fire simulation: Cycles material not showing fire because I have Flame Rate set to 1.0

Dude add a light! I presume you had no light setup in your scene

It looks that you've used Quick Smoke. Though its material setup is ready to add the fire, it hasn't the shaders to it.

So you only have to add some nodes to that Input: mainly an Emission connected to an Attribute Node set to flame. Eventually, you would need a ColorRamp to color the fire.

The name in the Attribute box must be without capital letter : flame and not Flame

Probably a good catch.  Perhaps a screen shot attribute box.

This is not the case. If you had downloaded the provided blend file, you would have seen that that's not the problem. There is no Attribute node in the shader so this couldn't be the answer.


text:
Explosions not rendering but showing up in viewport
I am trying to create an explosion in Blender. However, when I try to render the explosion, nothing happens, but I can see the explosion in the viewport. Am I doing something wrong, or did I forget to do something?

Note: I have two domains because apparently the smoke will flicker if I only use one.
EDIT: They've fixed this bug.

The Blend File:
Download the file
(apparently I can't post 2 links)

Did you create an appropriate material for the smoke domain?

I used the material generated using the Quick Smoke, "Smoke Domain Material"

I redid everything in Cycles, and everything seems to be working fine. It seems that I may have had a problem with lighting the the original render.


text:
How to add a light that is only visible to the shadow path?
I saw this option mentioned in another answer:
How can I cast artificially darker shadows?
I want to try this but I do not know how to add a light that is only visible to the shadow path.  My apologies if this has an obvious answer!  I am trying to learn everything at once and I am missing some fundamentals right now.

Well, you can very easily add a shadow whose caster isn't visible: go to the object's properties (the orange cube icon in the right-hand-side panel, scroll down and look for "Ray visibility" (or somesuch, I am not sure how it is worded). There you can disable visibility to everything except shadows.

Adding light visible to only shadow rays seems to be a weird consept. As far as I understand it, that would produce light that illuminates the scene, but does so solely through direct illumination.

The Shadow Ray output is a little unique in that its type is determined based on its end point (a light source), rather than its start point (the material it last interacted with).
Making a light source invisible to everything except shadow rays will cause it to only block light from other light sources and not influence anything else.
However, it is possible to limit the number bounces a light source is allowed to influence. (I suspect this is what more you want to do)
Lamps have a Max bounces setting, which when set to 0 will only allow that lamp to illuminate directly (disabling "bounce lighting" for that specific lamp):

To do the same with nodes (e.g. for mesh lights), you can use the Ray Depth output of the light path node:

As always when working with light paths, it's important to keep in mind that rays are traced backwards (from the camera).

Thank you, this is very helpful, but I am a little confused.  Is this how to make a light that is only visible to the shadow path?  Is that the same thing as what you write, "Making a light source invisible to shadow rays"?  Sorry, all of this is taking me some time to understand.  In the meantime I will try this and if I am just confused I will delete this comment later. :)

@WishyQ Sorry, it seems I confused myself while writing that.. Hopefully it's clearer now.

Thank you!  I am also interested in this: "Making a light source invisible to everything except shadow rays will cause it to only block light from other light sources and not influence anything else."  This seems like it would come in handy.  How is it done?

@WishyQ Post another question :) We try to keep to one question per post, in order to keep things as on-topic and organized as possible.

OK, posting another question now! :)


text:
How can I connect two seams on a mesh? They come apart while posing but not while modeling
I am learning how to rig properly using this simple molecule character.  I joined all the spheres and created seams by using ctrl-F and self-intersect.  I then deleted the internal faces.  The molecule now comes apart when I am testing the armature.

However, when I am modeling, there is no break in the seam; it is connected:

What can i do to make the seams remain connected while i am posing the character?
Here is the .Blend file:

Thank you!

Can you upload a .blend file?

@ShadyPuck Yes, I will.  Just a moment.

@ShadyPuck This .8 MB file has been sitting there for a while and has not yet begun to process.  Am i doing something wrong?  Is there some way to make the file smaller for uploading purposes?

Never mind, I skipped a step.  Here comes the file.

Idle Chit-chat
Ok, I switched to answer to give a more detailed, well, answer! It appears that your mesh is not actually one piece, despite appearances.
Problem
I am not familiar with the self-intersect tool you described (or Ctrl + F if those are one and the same), but the spheres are separate. I proved this by selecting a single verticy of one of the spheres and keying L. If the mesh were a whole, like rigging requires, everything would select. Everything, obviously, did not.
Solution
Luckily, there is a simple solution! Select the entire mesh with A, key W, and select Remove Doubles:

This will join all the seemingly joined edge loops. Now you can continue on and rig!

Thank you, this indeed connected the shapes!  I still would like to know why the shapes behave as one mesh while modeling, then separate during pose mode.  Also, why does the model look neat and tidy in edit mode, but has horrible seams in object mode?  I guess I'll have to post this as a separate question.

@WishyQ Glad to help. To answer your other question, unlike in real life, in Blender two or more objects with volume can occupy the same point(s) in space. Therefore, it is always ACTING as separate objects, as proved by my Key L test. It simply doesn't appear this way.


text:
How do I add a composite effect to a scene using material index?
I am trying to combine a shockwave (edited in the render layers compositor) with the rest of the composition (currently a torus).  I do not know how to add the shockwave to the rest of the scene.  I do not want the particle system to be visible, just the shockwave effect generated from the particle system.  This is the shockwave and my current non-effective node setup:

Here is the current render... The torus and the particle system, but no shockwave.  At one point I had managed to add the shockwave to the particle system, but I do not want to see the particle system.

Thank you for any help!
Here is the .Blend file:

EDIT in response to Cegaton's answer:
I set everything up and for some reason "Views" is not where to put Torus and Particles on my computer.  However, the torus is the only object showing up in the render, and I think it has to do with the missing AO checkbox:

You can see there is no checkbox for Alpha Over and I am guessing this is why it is not working in the render?  I checkmarked "AO" in "Passes" but I think this is not the same thing, since it is not working.
Thank you for advice!
Here is what "Views" is like on my computer:

That's why I was confused for a while!
EDIT !
Big problem solved!  I needed to click "transparent" under "Film" under "Render" (the little camera icon).  Now the render layers nodes have checkered backgrounds and everything seems to be working properly!

I think you may want to use layers & render layers.

@cegaton  Here is the file, thank you for help.


text:
How does Blender figure out the normal of a face?
I want to use bpy module to create a polygon in blender.
However, I have some problem with the normal of faces.
See the following example (adopt from this post):
Works:
import bpy

verts = [(1.0, 1.0, -1.0),
         (1.0, -1.0, -1.0),
         (-1.0, -1.0, -1.0),
         (-1.0, 1.0, -1.0),
         (1.0, 1.0, 1.0),
         (1.0, -1.0, 1.0),
         (-1.0, -1.0, 1.0),
         (-1.0, 1.0, 1.0)]

faces = [(0, 1, 2, 3),
         (4, 7, 6, 5),
         (0, 4, 5, 1),
         (1, 5, 6, 2),
         (2, 6, 7, 3),
         (4, 0, 3, 7)]

mesh = bpy.data.meshes.new('CubeMesh')
mesh.from_pydata(verts, [], faces)
mesh.update()
cube = bpy.data.objects.new('Cube', mesh)
scn = bpy.context.scene
scn.objects.link(cube)

The normals in the edit mode are correctly outward.
Then, I did some experiment on the same example code like this:
Don't Work:
import bpy

verts = [(1.0, 1.0, -1.0),
         (1.0, -1.0, -1.0),
         (-1.0, -1.0, -1.0),
         (-1.0, 1.0, -1.0),
         (1.0, 1.0, 1.0),
         (1.0, -1.0, 1.0),
         (-1.0, -1.0, 1.0),
         (-1.0, 1.0, 1.0)]

faces = [(0, 1, 2, 3),
         (4, 5, 6, 7),         # (4, 7, 6, 5) --> (4, 5, 6, 7)
         (0, 4, 5, 1),
         (1, 5, 6, 2),
         (2, 6, 7, 3),
         (4, 0, 3, 7)]

mesh = bpy.data.meshes.new('CubeMesh')
mesh.from_pydata(verts, [], faces)
mesh.update()
cube = bpy.data.objects.new('Cube', mesh)
scn = bpy.context.scene
scn.objects.link(cube)

If you copy and paste above code, you will see the face defined by (4, 5, 6, 7) flipped down.
It seems like the order of the vertices which define a face are critical on determining the direction of the normal.
My question is then how Blender internally determines the direction of normal of a face given the vertices? Is it the right-hand rule or something else? If it is so, is there any helper function or module that can help me with ensuring an outward normal of a face with respect to the world origin (0, 0, 0)?
Thanks.

Yes, you are right.
I have fixed it, thanks.

Yes, the order in which we define the vertex indices of the Face directly influence the Face's normal.
See this thread on StackOverflow for some insight
Usually when constructing geometry you can keep track of the order and never encounter this problem, just be consistent. If you suddenly change the order in which you specify the vertices, you will get an inverted normal on that face (which is what happens to you). There's no way for Blender to know if that's intentional or not.

Sometimes it can be more convenient to let an algorithm recalculate normals at the end, as an extra processing step.
bmesh.ops
There's a bmesh.ops to recalculate normals .
bmesh.ops.recalc_face_normals(bm, faces=bm.faces)

See TextEditor > Templates > Python > Bmesh Simple for the template to get a bmesh representation from an object.
import bpy
import bmesh

verts = [(1.0, 1.0, -1.0),
         (1.0, -1.0, -1.0),
         (-1.0, -1.0, -1.0),
         (-1.0, 1.0, -1.0),
         (1.0, 1.0, 1.0),
         (1.0, -1.0, 1.0),
         (-1.0, -1.0, 1.0),
         (-1.0, 1.0, 1.0)]

faces = [(0, 1, 2, 3),
         (4, 5, 6, 7),         # (4, 7, 6, 5) --> (4, 5, 6, 7)
         (0, 4, 5, 1),
         (1, 5, 6, 2),
         (2, 6, 7, 3),
         (4, 0, 3, 7)]

mesh = bpy.data.meshes.new('CubeMesh')
scn = bpy.context.scene
mesh.from_pydata(verts, [], faces)
mesh.update()

bm = bmesh.new()
bm.from_mesh(mesh)
bmesh.ops.recalc_face_normals(bm, faces=bm.faces)
bm.to_mesh(mesh)
bm.free()

cube = bpy.data.objects.new('Cube', mesh)
scn.objects.link(cube)

You may want to work this into a function for clarity.
bpy.ops.mesh
You can use normals_make_consistent() if it's more convenient, there are however general reasons to avoid using bpy.ops within a scripting context. See the post on why to avoid bpy.ops
def make_object(name, verts, faces, normal_recalc=True):

    scn = bpy.context.scene

    mesh = bpy.data.meshes.new(name + "_Mesh")
    mesh.from_pydata(verts, [], faces)
    mesh.update()

    ob = bpy.data.objects.new(name, mesh)
    scn.objects.link(ob)
    if normal_recalc:
        scn.objects.active = ob
        bpy.ops.object.mode_set(mode = 'EDIT')
        bpy.ops.mesh.normals_make_consistent()
        bpy.ops.object.mode_set(mode = 'OBJECT')

    return ob

make_object('my_cube', verts, faces)
# make_object(name, verts, faces, normal_recalc=False)

I find a interesting post and find out that there is a magic function in the bpy module which will recalculate the normal for you.
Just make the object you want to recalculate normal for be selected and run:
bpy.ops.mesh.normals_make_consistent()
Boom! all the normals are outward now.

yes, bpy.ops are a useful alternative too.

I think it is better to have solutions as many as possible.
Here is my solution with only bpy
import bpy

verts = [(1.0, 1.0, -1.0),
         (1.0, -1.0, -1.0),
         (-1.0, -1.0, -1.0),
         (-1.0, 1.0, -1.0),
         (1.0, 1.0, 1.0),
         (1.0, -1.0, 1.0),
         (-1.0, -1.0, 1.0),
         (-1.0, 1.0, 1.0)]

faces = [(0, 1, 2, 3),
         (4, 5, 6, 7),
         (0, 4, 5, 1),
         (1, 5, 6, 2),
         (2, 6, 7, 3),
         (4, 0, 3, 7)]

mesh = bpy.data.meshes.new('CubeMesh')
mesh.from_pydata(verts, [], faces)
mesh.update()

cube = bpy.data.objects.new('Cube', mesh)
scn = bpy.context.scene
scn.objects.link(cube)
scn.objects.active = cube

cube.select = True
bpy.ops.object.mode_set(mode = 'EDIT')     # Enter edit mode.
bpy.ops.mesh.normals_make_consistent()     # Recalculate the normals.
bpy.ops.object.mode_set(mode = 'OBJECT')   # Turn back to object mode.

there's a post about why to avoid bpy.ops which may be of some interest to readers: http://blender.stackexchange.com/questions/2848/why-avoid-bpy-ops


text:
Baking a material with a diffuse color and an image texture
I want to bake an object material for importing it in a game engine.

a cuboid with a half cut arrow in one face.
I created the material in Cycles Render like this

But whenever I bake it I always get some fail result like
This is my .blend file.

Can somebody help me make a perfectly baked image for this material?
Thanks to the community in advance.

The information you posted is not sufficient to help you with your issue. If possible, please upload a .blend file, see https://blender.meta.stackexchange.com/questions/658/including-a-blend-file

Instead of plugging shader (Diffuse BSDF) into mixing color (Color > MixRGB) use either simple color input (Input > RGB) or another MixRGB node. See https://blender.stackexchange.com/questions/33915/what-is-the-meaning-of-the-color-of-the-node-sockets-in-the-node-editor


text:
How to find and fix local minima in any mesh for 3d printing (Scripting)
I am randomly generating organic shapes that I want to 3D print lightweight and thus with 0% infill, a single perimeter, and zero top and bottom layers. To make this work properly I need the mesh to contain no local minima (no vertices lower than all their connected vertices) other than at the base of the mesh, and all walls (edges/faces) must be minimally sloped. Vertices at local minima in the z direction will cause slicers to begin extrusions in mid-air and thus the print will fail.

My first idea is to find any vertex which is below all of it's connected vertices (neighbors) and move it up in the z direction until it is sufficiently above its neighbors. "Sufficiently above" would be determined by the minimum angle (~30°) of the edges between the vertex and its neighbors compared to the XY plane. A better solution might be to move the vertex along its normal vector.
Once a vertex has been adjusted, its neighboring vertices could be checked and iterated through until the entire model has been checked and "fixed".
Since there will always be vertices at the base of the model, either the algorithm could ignore those, or the algorithm could limit itself to only iterate on a vertex group (or on the currently selected vertices). Or maybe the algorithm could work by starting with the base vertices, and then traveling up the mesh adjusting each vertex as it goes.
I have started coding the script and I'm to the point where I need to calculate where to move an unsupported vertex to. I'm stuck here. I should probably use some sort of vector math that I forgot 25 years ago. :)
I can visualize the solution, but I have no idea how to calculate it. Comments are in the code.
import bpy
import bmesh
import math
from mathutils import Vector, Matrix

def slope(v,t):
    rise = (v.co.z - t.co.z)
    run = math.sqrt((v.co.x-t.co.x)**2+(v.co.y-t.co.y)**2)
    if run:
        return rise/run
    else:
        return 100*rise

#EDIT mode#
me = bpy.context.edit_object.data
bm = bmesh.from_edit_mesh(me)

vertices = sorted([v for v in bm.verts], key= lambda v : v.co.z) # sort by z height

# Find the lowest Z value amongst the object's verts, this is the base. Ignore these vertices
minZ = min( [ v.co.z for v in bm.verts ] )

for v in vertices:
    v.tag = False

allTagged = False
while allTagged = False: # once every vertex is tagged, we're finished
    allTagged = True
    for v in vertices:
        if v.co.z > minZ and not v.tag: # found an untagged, non-base vertex...
            allTagged = False  # ...Need to keep looping.
            v.tag = True # tag this vertex as analyzed/fixed
            neighbors = [e.other_vert(v) for e in v.link_edges] # create a list of connected neighbors
            print("target: " + str(v.co) + " Neighbors: " + str([v.co for v in neighbors])) # debugging
            unsupported = True #default each vertex as unsupported unless...
            for n in neighbors:
                print(slope(v,n)) # debugging
                if slope(v, n) > 0.3: # ...a connected vertex is sloped down enough...
                    unsupported = False # ...in which case this vertex is supported.
                    # future optimization - could create a list of "supporting vertices" for each vertex. If a vertex is verified as supported, and at least one "supporting vertex" isn't moved, no need to recheck this vertex.
            if unsupported:
                for n in neighbors:
                    n.tag = False # need to recheck neighbors after moving vertex (NOTE: this isn't optimal)
                print("Target is unsupported.") # debugging

                #TODO - how to calculate where to move the unsupported vertex in order to be supported?
                # Should move the vertex along its normal.
                # Imagine an inverted cone originating at each neighboring vertex. The slope of the cone is our target slope.
                # The point where the normal vector intersects the first cone is where the vertex should move to.
                # How to calculate that?

So my code correctly identifies the two vertices in the below sample blend file that are unsupported. All that is left is to move the vertices to the closest supported point along their normal vector. Sounds so simple...
Here is a blend file with a sample object. The vertex in the middle of the cube (local minima) needs to be moved so there is no local minima and so that at least one connected edge is at least ~20 degrees from horizontal. The vertex at the center/top should be moved until at least one connected edge is more than ~20 degrees from horizontal too.

Sample blend file
I found this document (Pages 10-15) that provides some pseudo-code that should help. Since I don't have any experience doing anything like this, I could really use some help. I can't copy/paste the pseudo code here because the pdf file shows spaces in between most of the letters. Ugh. I'm not sure the whole thing is required, but maybe?

Well, you just need to get the BMesh of the object and use the functions that you can get from the [documentation] to do all the calculation. I would spend a good amount of time reading the documentation, because it's quite clear, and after that you will have way fewer doubts

sorry, forgot to put the link: https://docs.blender.org/api/current/bmesh.html?highlight=bmesh#module-bmesh

Thanks. I've been looking at the documentation and have found some helpful items. I'm able to identify the unsupported vertices now, which is great! Now I just need to figure out how to calculate where to move them.

I found this document that seems to be pretty much what I need. It has some pseudo-code that should be able to be ported to Python. I'll give it a try tomorrow.
Although now I'm not so sure calculating the angle of the edge is what is needed. I'm thinking the angle of the faces is more appropriate. So move the unsupported vertex along its normal until one of the attached faces has a slope above X.

Considering the edges is a better strategy, imo. Calculating the angle of a face relative to the xy plane is not that straightforward, and it doesn't give more information, since that angle will always be higher than the lower angles of its edges. Other than that, the best way to tackle it would be a sort of width first graph search from the vertices at the bottom. However if I understood your question right, this transformation can drastically modify the shape of the print. Also, if near a local minimum you have a vertex with a normal angle lower than 30, you can't solve the problem this way

Additionally, if i got it right, you are doing this to avoid to print support material, so I don't understand the example of the cube: you have a vertex inside that produces a cavity, but the "ceiling" of that cavity is quite steep, so it won't need any support, and the floor of the cavity can be flat anyway. So you basically need to handle differently the positive normals wrt the negative ones

The ceiling of the cavity isn't the problem. The "floor" of the cavity would start printing in mid-air, which doesn't work without infill (internal supports).
I think I need to check both edges and faces. Take the sample part and shift the top vertex 90% horizontally towards one side. The edges are all too shallow, but the smallest face is steep enough to support the vertex. No need to "fix" the vertex at all even though the edges aren't steep enough.
There is a 3D-Print Add-on I use that has a function that measures every face angle to the z-axis. I could utilize its algorithm.

@batFINGER Thanks for the vector simplification advice. I'm a newbie at this so I approach it from the most basic viewpoint. I'd love all the vector advice anyone could give. I haven't used vectors in over 25 years! Regarding your related question, it's actually completely different. I gave the example of merged spheres because it ends up having local minima, but I need my solution to be for any mesh, like my sample blend file. I don't see how "mortaring" the seams will help. There won't even be seams in the target mesh because it will just be a triangulated stl file.

@batFINGER Also, wouldn't (v.co - t.co).length give the total distance between the two points instead of just the horizontal distance? The difference in z is the rise. The horizontal distance is the run.

Will removing all strict local minima behave differently from forming the convex hull (as in, e.g., https://docs.blender.org/manual/en/latest/modeling/meshes/editing/mesh/convex_hull.html) of the mesh(es)? I think these may generally be identical (except at the base, where you don't impose the condition)

@NeverConvex yes. Making the hull convex would obliterate a lot of detail. Also it wouldn't actually solve the issue because a convex hull can still have unsupported vertices on overhangs or nearly flat, but not quite flat top surfaces.

An alternative using not convex (concave) edges.
Some methods to consider
Similarly to How to select concave quads , bmesh edges have an is_convex property.  Of the opinion for a vert to be a local minima, at least one (probably two) of its linked edges will be convex.
Running
for e in bm.edges:
    e.select_set(not e.is_convex)

on test file

Normal of interest.
Conject that instead of using the vertex normal, in the instance of a single vert cavity, could "reverse poke" by moving to  the average of other verts. It is quite likely  o - vert.co  is very close to  vert.normal
import bpy
import bmesh
from mathutils import Vector
from collections import defaultdict

from bpy import context

ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)

convex_edges = defaultdict(list)
edges = (e for e in bm.edges if not e.is_convex)

for e in edges:
    for v in e.verts:
        convex_edges[v].append(e)

''' could be an idea to sort
order = sorted(
        convex_edges,
        key=lambda k :len(convex_edges[k]),
        reverse=True,
        )
'''
for v, edges in convex_edges.items():
    n = len(edges)
    if len(v.link_edges) == n:
        print("Single vert Concavity")
        v.co = sum((e.other_vert(v).co for e in edges), Vector()) / n

bmesh.update_edit_mesh(me)

My take on this would be to calculate the normal of the destination.

Using the test file as example, the plane ** calculated from verts at other edge would have normal in X direction. Image above side view looks down that normal. As long as the vert in side view remains in the borders of the edges it is "printable".
Instead of moving vert to calculated median pt o could instead use it to calculate a "face" normal.  The triangle area weighted average of the normals created by 3pts, o with each lip edge vert coords. [Note to self Look for link]
Can use the same method outlined here How to find all objects in the Camera's view with Python? Make planes and check if the rogue vert is inside, and if not project onto the plane where it is not.  For a quad, the "inset cone" is not unlike the camera display, and as with  a camera define the angle and depth,
The other objective mentioned,
Find all faces within a tolerance angle from vertical. To find only top verts use a dot product test. f.normal.dot((0, 0, 1)) >= cos(radians(20))
for f in bm.faces:
    f.select_set(
        f.normal.angle((0, 0, 1)) < radians(20)
        )

and then scale by zero in z axis, about a point chosen from selection. Highest lowest, average, etc.
re vector comment, if a and b are vectors
v = a - b
return v.z / v.xy.length if v.xy.length > TOL else Inf

I worked on this all day yesterday and have come so far! I'm able to easily solve the sample blend file/mesh but it turns out to be one of the more simple cases that I've found in real meshes. Real meshes are still giving me headaches, but I think I'm on the verge of solving them too. At least I hope I'm near solving the primary tricky problem I've found. There are probably more to find after that one. :) I should post an update.

Please also keep in mind that BSE is a question and answer site.   Using this case as an example,  "How to find and fix local minima in any mesh"  is a perfect example of specific question. This is one step of your specific goal script.  Tacked on to q is how to find the z maxima of top faces..  Please consider one question per issue.  Then ask your next question, any roadblock on the next step.  Consider too, starting a thread on a forum site dedicated to the script.

The answer above offers a way re  finding local minima in the any mesh. Check out mathutils.geometry for methods to  closest point on plane.  intersection of lines with circles etc.

Yeah, it turns out the simple question doesn't have a simple answer. Who knew? :)

I have tried this method but unfortunately no result, may be it will help for someone
import bpy
import math

def switch_to_edit_mode():
    # Switch to edit mode
    bpy.ops.object.mode_set(mode='EDIT')

def switch_to_object_mode():
    # Switch to object mode
    bpy.ops.object.mode_set(mode='OBJECT')

# Get the active object
obj = bpy.context.object

# Get the mesh data
mesh = obj.data

switch_to_edit_mode()
bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='VERT')
bpy.ops.mesh.select_all(action='DESELECT')
switch_to_object_mode()

# Initialize a list to store the minima
minima = []

# Iterate over all the vertices in the mesh
for vertex in mesh.vertices:
    # Initialize a flag for whether the vertex is a minimum
    is_minimum = True
    # Iterate over all the edges that are connected to the vertex
    for edge in mesh.edges:
        if vertex in edge.vertices:
            # Get the other vertex that is connected to the edge
            if edge.vertices[0] == vertex:
                neighbor_vertex = edge.vertices[1]
            else:
                neighbor_vertex = edge.vertices[0]
            # Check if the neighboring vertex is higher than the current vertex
            if neighbor_vertex.co.z > vertex.co.z:
                is_minimum = False
                break
    # If the vertex is a minimum, add it to the list
    if is_minimum:
        minima.append(vertex)
# Deselect all vertices
for vertex in mesh.vertices:
    vertex.select = False

# Select the minima
for vertex in minima:
    vertex.select = True

# Update the mesh
mesh.update()

switch_to_edit_mode()

I have a working solution. It may not be optimal, but it works pretty well.
First I evaluate every vertex in a mesh to determine if it is supported based on an adjustable angle.
Second, I start a loop. Starting from the bottom of the mesh, I move up until I find an unsupported vertex (the target). If that vertex has a supported neighbor, then I will move the vertex to make it supported.
I was able to simplify the solution by limiting the movement of each vertex to the z axis. So I calculated how far each "unsupported vertex" would need to move vertically to be supported (by a neighboring vertex or the closest point of the edge connecting two neighboring vertices) and took the minimum. I then moved the target vertex up 60% of that amount and the neighboring vertex (or pair of vertices) down by 40% of that amount. (Moving them both 50% sometimes ended in an endless loop.) This tended to minimize the overall distortion of the original mesh.
I then re-evaluate the target vertex and the neighboring vertex to see if they are now supported.
Wash, Rinse, Repeat.


text:
How can I transfer a camera animation to a single bone in an armature?
I have a camera with an animation that came from tracking a video (this animation only consists of rotations).
I need to transfer its keyframes to a specific bone(placed in the same position of the camera) of a rig, so that it will have a animation that mimics the camera's movement.
I managed to use a copy of the camera action with the armature, but this makes the whole armature rotate with the camera. I guess this happens because it is applying the animation to the armature's object, and not specific bones.
How can I make a single bone of the armature use a copy of the camera's animation?
Thank you.

With a copy transforms constraint on the bone.

Thank you for the response, but I'm trying to get a editable animation with keyframes for the bone. Adding the constraint does not create a new action for the bone.

Add the constraint, select the bone. Press space and search for bake, then choosen NLA bake. In the bake dialog, choose visual transform and remove constraints. The visual transformed animation has now been baked to keyframes.


text:
Directional Offset of an noise wave texture
When creating wood floors or other materials based on blender textures like noise wave ect., the Pattern that is created is clearly based on the same Seed and Point of Origin.
Example: A wooden floor where every plank has an original crack wooden pattern instead of what is currently standard a pattern were cracks are going visible from one plank into another.
What i would like to achieve is that i can break those up with an given amount.
So that you would get for a face with a diffrent pattern for every brick/plan/tile instead of what is now just one pattern for the whole face and then the bricks/tiles/planks painted above that.
And i dont want to create an object for every plank / brick. I know how that is achieved but that is also a pain because the array modifier doesent influence the seed so that wont work and copying by hand is just awful.
The desired effect is seen here at 3:30
Substance YT Video about Wood material and Warp

The Cycles Oblect Info Node > Random does produce a  new random number for each instance, if your planks are duplicates? Or are you looking to produce a random number per face of a single object / instance?

@Robin: As i Stated i dont want to create an object for every plank.
please look at the video to understand what im really after as it is clearly shown there.
I have found out that when i subdivide a face and then having a sort of mixend uv pattern then i get a random pattern from an texture for a face. But that is a painful way to do since one may have to edit the uvs by hand for that to work as expected. And it isnt as nice as in the video.

Sure.. I did watch the video.. whatever they're doing. it's face-wise. I was just checking .. The Object Info method works  with instances (sharing mesh data) and Duplis. (You're right, not with arrays). I was wondering whether Dupliverts might be an acceptable way through for you. Otherwise, some way would have to be given to Cycles to discriminate between faces .. something like tilting the normals slightly?

Face-wise.. This script might help, in combination with Object Info > Material Index? You could use duplicate materials with varying indices, to shift the mapping. Bit of a hack.

well waht they do is just shift the pixel data somewhat in a given mask or something.

I found a way to wrap a noise texture using a brick texture. Actually, with at least three:

To create diferent brick textures I use very different location value on each node.
[Edit: you can use only one brick texture with black and white values, the 'difference' blend mode works well with the texture coordinate for example]
Next step is mix the texture coordinate with the result, you can play with the blend mode and the factor to get the result you want. then use this as normal input for the noise texture:

Then play around to get the desire result:


text:
Shadow Catcher object causing brightness issues in scene
Okay!  Through help on this page I was able to go from this tutorial about camera tracking...
https://www.youtube.com/watch?v=CVPcT0dJmoY&t=2121s
Redoing the whole thing with Cycles instead of Blender Render also helped because I was able to use Shadow Catcher which is very easy, thanks to some advice from cegatron.  However, when I go to render, the Shadow Catcher object can be seen as a brighter area than the rest of the scene.  It's meant to be a whole in the ground, which works fine, but the surrounding area is very bright and washed out inside the area of the Shadow Catcher object.  This is only visible though, when you do the final render, How do I fix it.  Below is a picture of my blender workspace.  At the right, you can see the final rendered image with the bright ring of washed out area which is Shadow Catcher object.  The hole in it was cut out and a cylinder is underneath it, just so you know.

As per request I've added an image of the scene without rendering in solid view.  The object that is the shadow catcher is listed as Circle and is actually a circle I extruded out into something of a plane with a hole in it.  Under the whole is an object labeled Cylinder that I am using for the pit of the hole.  I have also added an image of the Compositing Node Tree.  Thanks for your help!

EDIT: Still haven't quite fixed the problem but I found a half measure.  I took the outer edge of the Circle object that is the shadow catcher and extruded the edge up so it covered the whole shot.  However, I still have a problem of a washed out scene and a pit that's too dark.

I edited it as per your advice cegaton

I went back and looked at one of cegaton's solutions to a similar question and figured out how to fix it.  I simplified my compositing nodes and the problem seems to be gone.


text:
Shadow Catcher, Shadow Rendering Behind Tracked Camera Scene
I asked a question before but I think the problem has changed enough to ask it in a new way.
I tracked some footage using the setup tracking scene button, and had issues with the rendering.  I switched over to Cycles from Blender Render , and used Shadow Catcher. This seemed to work until I exported the render, which I think is placing the shadow below the tracked camera scene.  When rendering, the image viewer shows the shadow background layer being rendered, but the final image doesn't have it.
Is there a way to bring it forward above the camera scene and below the object casting the shadow?  This is a screenshot of my workspace.

OKAY!  I've done some work and gotten pretty good results.  I believe my issue before was that I had objects on the wrong layers.

Well, I'd like to be more explicit in how I fixed it but basically, I went around and figured out that I had objects on the wrong layers.  After I switched from Blender Render to Cycles I was still having issues, even though Shadow Catcher was a much simpler option.  Even though the composite was working in Blender, it wasn't until I moved things to the proper layers that the shadow would show up. Now everything looks right and I'm on to my next challenge!

I don't understand what you do with your forground layer, inverting alpha and adding shadows. I would use it with an alpha over, or the shadows/AO passes with a multiply. what is the use of the invert and the 2 add nodes?


text:
Why is my object pink in Texture Paint mode?

The Structural_Material base color image selected in the UV window is the paint slot I'm trying to use. However, I can't paint anything because my model shows up pink. Anyone know why?
Please don't flag this as a duplicate of a question that is completely different, thanks. There are a number of reasons why a texture might be missing to cause something to show up pink in Blender lol.

are you sure you've assigned the good texture in the node editor?

Possible duplicate of Texture appears pink in Blender Render

Possibly because 2.8 isn't ready for texture painting yet....

Tried it in 2.79 since someone mentioned 2.8 isn't ready for texture painting yet. The only difference is it's white instead or pink.
https://i.imgur.com/KriLLKu.jpg

try to add a image texture node in the node editor then select in the node your chosen image.
let me know if it works.

Tried it in 2.79 since someone mentioned 2.8 isn't ready for texture painting yet. The only difference is it's white instead or pink.
https://i.imgur.com/KriLLKu.jpg

Been messing with 2.8, and I found that I had to leave Texture Paint mode, and disconnect then reconnect the Texture node to get it to recognize the texture again. Dunno if that's the --best-- fix for this, but it does seem to work for now.

Confirmed to be working in 3.4

The answer lies in the way that the Viewport draws now, and it is because it isn't updating properly. If you simply press from 'Solid' to 'LookDev' and back, you will usually see the texture appear on the surface of the mesh again like you expect. It is a common thing with 2.8, but 2.8 IS ready for texture painting already.


text:
how to apply my group node to multiple different materials?
I have made a group node for one material. Now i want to use this group node for multiple different materials. Is there a shorter way than just copying it manually in every material which is very tidy...?

Maybe scripting. Have you tried that? And what you mean by "apply" a group node?

i mean just "use" -> add it before the output. Well...äh...scripting....i still have to learn that, all i did until now was using command line ...and calling some mini python scripts.... for sure, this i could not do at the moment unfortunately :(

As far as i understood, you made a node group and you want it to go to other materials as well? Well, if it is a node group then in the shader editor Shift + A -> Group -> That group you made. And remember that you can still just use Ctrl + C and Ctrl + V for nodes as well.

i know i can do ctrl + c and ctrl + v - > but then i have to do this for every material i have, right? so, click on material, then tap ctrl + v, then move the node to the right place, and this for all 100 materials (ok, a bit less), but i hoped for something like ctrl-L functionality ;)

In case anyone finds this while trying to do the same. At some version of Blender the functionality was added so groups from other materials (or the currently edited on) appear at the bottom of the Add->Group options Make Group and Ungroup

Thx for your answer, but unfortunately this doesn't help with my question.

OK @Chris I probably misunderstood your question. It does seem  tidier to me to just Shift-A on the new material where you want to reuse a node group then select the group from the menu. I think you will always need to connect the node group to the other nodes in the material as you require - I can't see that being done automatically for you.


text:
How To Mirror Interpolation Mode
I want to mirror my interpolation mode, how can I do that?
I have:

What I want (white thick line)

What kind of interpolation do your points have ?

it is exponential....but hopefully there is a solution for all interpolation modes to flip...? ;)

Open the N Panel in the graph editor and go to the F-Curve sub-panel.
Change the Easing Type of the left keyframe from Ease In to Ease Out.
Alternatively, while the left keyframe is selected, Right-Click > Easing Type > Ease Out.
Another solution, use the shortcut Ctrl + E > Ease Out while the left keyframe is selected.
Ease In:

Ease Out:

perfect, thank you!


text:
How to reduce size of an image texture
I currently have a texture on a pre-existing model that is 4096 x 4096 pixels.  When I export a gltf file this texture is about 28 megs.  Pretty big for what I want to do.  There's also some other ones.  I attempted to resize it by going to Image Editor -> image -> resize

Here I resize it to 1024 x 1024 and hit ok.
The image appears smaller on the image editor and the size says 1024 x 1024.  However when I save this or export it then it reverts back to the original image size of 4096.  Is there something I'm doing wrong? Or another step I need to reduce these images sizes?

Interesting case. The glTF exporter depends on the dirty flag to know if the image has changed. If it hasn't changed, it will use the data from the file on disk. But resizing an image does not set the dirty flag... If you "Save As" the image after resizing, it should work though.

Once you have resized your image, make sure you save the image within the Image Editor/UV Editor panel. Image > Save or Save As.


text:
what happened to my glass reflection?
I am currently following blender guru's beginner tutorial following instructions every step of the way.
As soon as I added the droplet texture at the end of part 5, level 3: condensation, the glass on the cup started acting more like a double sided mirror. I went back and checked all my steps and can not fix the issue.
Kindly see images below of the renders before and after the droplets were added.
Also an image of the node tree
Download blender file here

node tree

What does your shader node tree look like?

tree node added

Can you attach your blender file?

blender file added

I messed around with it for a while and there was definitely something weird going on with your object.

If you check the Face Orientation overlay you'll see the normals on your cup are inside out.

Select your cup, and switch to Edit Mode.  Select everything with A, and then press Alt + N and select Recalculate Outside.
Everything should render properly afterwards.

Connect the Alpha output (or even try Color Output alternatively) of your Image Texture and connect it to the Alpha input of the Principled BSDF node.

connected the alpha of the image-texture to the principle BDSF and nothing changed. i am assuming it has to do with the original glass material or it has to do with the uv seems ive selected.


text:
How To Import .rdc File Into Blender
I've downloaded the mesh model importer addon version 0.3.3
installed it on various versions of blender
but when I try and import model as .rdc file I get this error
See photo
Any ideas what to do?

I had this same problem and was able to fix it by changing the versions of each program. Below is the cocktail of versions I used:

Blender: 2.91.0
Renderdoc: 1.10
MapsModelsImporter: 0.3.5


text:
I need help with sprinkles
Im brand new to Blender, so as many newbies do, I've been watching the Blender Guru Donut Beginner Guide. I've gone through all of level 1 without a problem, but the first part of level 2 (the sprinkles) is where I have been having a big problem.
When I attempted to put the sprinkles on my delectable donut for the first time, they spawned under the surface of the donut, I tried again and got the same result. I went away and when I came back to try again, the sprinkles wouldn't spawn at all.
I have looked at a lot of other questions on this site but haven't found any that help me much, I have looked for videos addressing the issues and still couldn't resolve the issue.

maybe you need to recalculate the normals of the donut, or make sure the origin of the sprinkle is at the center of its geometry?

Maybe you accidentally moved the cursor.
Select the donut press Shift + S and select the option Cursor to Active. Then try to add the sprinkles

Press Emissions, its one of the drop down menus above the Render in the particle setting.
There you will find another dropdown box labeled Source, there you have to press Use Modifier Stack.


text:
How to tile Height Map in blender
I have a texture on a plane. I can there tile the

normal map
albedo map
roughness map

But not the height map. I can't tile the height map, it always stays the same, no matter what I try. I also changed in the displace modifier  texture coordinates to "global". I also tried to tile the bump map on a plane with a smooth shaded surface, but there is no difference.

So how can I solve the problem?

Comments are not for extended discussion; this conversation has been moved to chat.

You won't be able to scale the bumps with the material settings, as the bumps that we see are real bumps, not procedural bumps. If you want more bumps you need to duplicate x4 your mesh in Edit mode and stick each part (there are several ways to do it but you could simply duplicate and merge the vertice by distance so that the vertices stick, or symmetrize it, etc). You could also bake the real bumps and use the result in a Displace modifier, or in a Displacement node if you want to make it procedural.
A quick way to fake bumps: Plug a Noise Texture into a Bump node. In that case your object can be low-poly (here, one face) as the bump effect doesn't need any geometry.

But what is, if I want to apply my 1600x1600 texture on a more complex mesh, like as a tree bark, which would be then applied on a complex cylinder? The texture (albedo) will then look distorted on the Z-Axis. It would not be a problem to scale the albedo then. But here is the problem: The bumps can't be scaled. And than there are bumps on the tree bark, where I don't want them to be, and on a tree it isn't possible to do the "stick each part" method. 1st because it will be applied itself and then i have the texture on the whole tree and 2nd there would be to many surfaces on the cylinder.

I'm not sure to understand everything but first you should tell a bit more about your goal, are you working for a game, for a video clip, is it supposed to be exported, or will you stay in Blender, do you want to see real bumps (like for your current file) or do you prefer procedural bumps (the topology will be low-poly and you'll use a Bump node to fake the bumps), etc, etc... as long as you don't give any details it's hard to answer.

If you want to stay as low poly as possible and if you don't need to have real displacement, use Bump or Normal maps. In your case it means that you can simplify your current mesh and you need to use a bump map (it can be a Noise Texture)

Ok I will tell about my goal, I hope the English is okay. So I want to make a little "world", which I can use to make video Clips in high quality. What I want there to be is a real world, which looks in all ways as real as possible. So then, if I make the camera move through my little "city" it should look like if I would have made the video with a drone in real world. I want to model my village where I live in blender and make videos, but IN blender, not in my village. I make pictures with my camea from different objects in my village, then i have the textures.

I make my maps on my own with the program "materialize". I also model the meshes on my own and add the maps to them then, or sometimes I also do photogrammetry.

And the reason I want to use real bumps is because it could be, that i will also get near to some objects with the camera (for the video clip(s)) and then I want to see the real bumps. But I know that I can use fake bumps and I also know how to but I don't in most cases because with real bumps, there will ever be better quality. I want the highest resolution, I want the best.

Try to fake 3D as much as possible, for example in your case you probably don't need real displacement for your ground, it will be heavy to handle and to calculate, instead use fake 3D as much as possible, it means use Bump or Normal nodes to fake the 3D bumps, you can use Image Textures or even Noise Texture, as shown in my answer. You only need real displacement if you make some close-up shots where fake 3D become obvious

Actually you need to think in terms of storyboard, depending on your camera sometimes you will need some real 3D objects, but try to stay as much fake as possible

Ok, thank you very much. I will do so! To make fake bumps I can easily use the real hight map, but the only difference is that I don't use the displace modifier.

if you use height map, simplify your mesh as much as possible, you don't need all these faces

no, i mean the texture will be without bups even if i have the height map included. Then I only have one single face and there are simulated shadows or fakebumps. however this is called. It will be faster for rendering.


text:
Unwrap selected area, keep the borders
I had to fix the topology on some parts of an existing model. The model is unwrapped, rigged, and textured. Now the fixed parts have stretched UVs that do not fit the texture. I want to unwrap those new parts but keep their borders on UV, so they can perfectly fit into the existing UV island. I can not find any available option that would allow me to do it in Blender -_- Please, help

select the fixed faces, and hit unwrap again and then you have to adjust the UV verts as you like it. There might be an easier solution - i only know that one.

You just need to pin (P) the uv faces that you want to keep as they are and unwrap again selecting the new area too. But try to make a backup before you make any changes in order for you to test this.

Both solutions do not work: if you pin the border, those pinned vertices stay in place, but the active polygons get separated into a new UV island instead of unwrapping inside the borders.

You need to pin your whole original model not the new faces nor the borders only, all the original model and then select All and unwrap

Hmmm I am confused. If I pin all then nothing changes when I unwrap. Also I must not change any other area but the one that was fixed.


text:
How can I recolor Blender icons in outliner?
I'd like to recolor standard icons from outliner, so the difference between collections, meshes cameras, and lights would be more noticeable.
Here is an example: on the left side you see the original outliner, on the right what I am trying to achieve

…You can recolour the collection icons with the right click context menu. But it looks like both the icon graphics and the Outliner draw code are hardcoded into Blender, so IDK if there's a good way. Maybe if you could trick a custom icon into a name collision? But IDs seem to be randomly generated, and it probably wouldn't affect C-level code even otherwise.

For the collections right click the collection.

For other icons: go to Edit > Preferences > Themes

Edit > Preferences > Themes won't help her get the result she's asking for, because you can only change the color for objects in general. Her example shows different colors for a camera object and a mesh object - so that you can visually distinguish between different kinds of objects.

True. It is not the thing I am trying to achieve T_T


text:
It does't moves properly all faces
I have problem with moving faces I have done faces for medallion and wanted to move all faces down. I tried to extrude and then move, but it's not working. Do you know what is wrong with mine model? Also, I tried to look if there aren't doubled vertices somewhere, but there aren't.

If I'll delete faces there wouldn't be for the eye and other details.

My file is here

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

Hi @moonboots, I don't if I did it right, but https://pasteall.org/blend/3b0b0ef859b542f184ebba856176d1d0

so when you say that you extrude, move and it doesn't work, could you please be more precise? What do you try to extrude, move, and in what way it doesn't work?

Okay, so I mark all faces (head of the wolf), then I press E and try to move down, then it would be like this https://pasteboard.co/y52KMmfqBTqi.png and then I should delete faces.

@moonboots, I think that the extruding isn't the right way, but I don't how to do it properly

I try to understand what you're trying to do  ^^  I hope someone will do better than me

@moonboots, If it helps I'm trying to have "doubled" all faces and then delete the down faces and the result should look like this https://pasteboard.co/8xM5iZvr5r2m.png , but I was thinking about it right now and got an idea to extrude up and not down

I think if you extrude in vertex mode instead of face mode it should work properly