text:
How do I send multiple command line commands to the same Blender instance?
im pretty new to blender, and im facing the need to issue python scripts to blender outside of blender via command line.
Im using the following from a windows shell: "blender exe" --python "python script path" And it works as expected.
The problem is, the second time i issue the command, blender opens a new instance and that's not the behavior i need.
I need to be able to issue commands via command line to the same blender instance.
Is there something (like an argument specifiying the blender process id) i can use to execute different scripts in the same blender instance from the command line?
Thanks in advance

is it possible to have the blender bpy module library as standalone and operate with it via an import in a vanilla python 3.6 interpreter?
if yes how? any guides on this?
Would that work inside Blender script editor?

I think that would be another possible solution for me

Rather than using the CLI why not use blenders python console? You can open a script in blenders text editor and run it. The addon I link to here adds a menu to blenders pyconsole which lists scripts in a folder, you can select a script from the menu and it will open and run it in blenders console.

Basically, the solution ive found instead of using a handler, is by using a timer in a modal operator!!
The timer should look into the queue from time to time to any inputs and if he queue is not empty process it right away.
Thanks to all.

For a slightly 'hacky' way of achieving this, create a handler to look for the presence of a file and execute the contents of the file (and remove the file) whenever it is found. Once the handler is running all that is required is for any script to be executed to be copied into a specific location and Blender will 'consume' it.
In a text editor, click 'new' and paste the following code (and name it 'exec_from_file.py') :
import bpy
import os

filename = 'blender_script.run'

def scan_for_file_to_exec(scn):

    global filename

    try:
        file = open(filename)

    except FileNotFoundError:
        pass
    else:
        print("scan_for_file_to_exec: Got file")
        content = file.read()
        file.close()
        os.remove(filename)
        exec(content)

bpy.app.handlers.scene_update_pre.append(scan_for_file_to_exec)

print("scan_for_file_to_exec: Scanning for file '%s' in directory '%s'" % (filename, os.getcwd()))

Click 'Run Script' and optionally tick the 'Register' checkbox to automatically run the script whenever the blend file is opened. This will install a handler that will be triggered every time the scene is updated (which appears to occur continuously). The script outputs a line to the console window when it first runs, indicating the file and directory it is scanning for.
scan_for_file_to_exec: Scanning for file 'blender_script.run' in directory '/home/rich'

Whenever the file exists blender will read the contents, remove the file, and execute the code.
All that is now required outside of Blender to trigger the running of a script is to copy the required script into the relevant location and it should immediately disappear and be executed.
For Linux :
cp my_script.py /home/rich/blender_script.run

For Windows :
copy my_script.py c:/users/rich/blender_script.run

For multiple files, copy each file in place, waiting for each to be consumed before copying the next.
NOTE : You need to ensure that Blender is invoked from a location where your user has permissions to read/write files - or you need to run 'As Administrator'.
For example, once the above handler is running (and assuming both you and Blender have permission to read/write to the relevant directory) you can create Suzanne by running the following from the command line (in the relevant directory) :
echo bpy.ops.mesh.primitive_monkey_add(radius=2) >blender_script.run

Then create another different sized in a different location :
echo bpy.ops.mesh.primitive_monkey_add(radius=2, location=(-1,-1,-3)) >blender_script.run

An alternative method is to use a similar handler to read the input from the 'blender' process itself and execute any commands received on that stream. When you launch Blender you can direct the output of another process (eg, a python script) into the 'blender' process and Blender will execute them as they are received.
For this, create the following script in a Text Editor block named 'exec_from_stdin.py' and click Run Script. Don't forget to click 'Register' so that it runs automatically when the blend file is loaded.
import bpy
import select
import sys

def my_scene_handler(scn):

    #print("In scene handler")

    # Check to see if any input on STDIN
    if select.select([sys.stdin,],[],[],0.0)[0]:
        # Read a line from input
        line = sys.stdin.readline()
        print("Got a line '%s'" % line)
        exec(line)

bpy.app.handlers.scene_update_post.append(my_scene_handler)

Now when you launch Blender to load the file it will listen for commands on 'stdin' (standard input).
You can now 'pipe' any input into Blender by launching it using a command similar to the following :
<command> | blender

NOTE : This method doesn't appear to work correctly under MS Window - Linux (and, presumably Mac) only - due to differences in how Windows handles input streams.

uhmm also interesting this was my first approach, but unluckily im on windows 10 not linux or mac.
Anyways im doing some testing with open_mainfile() and calling this those handlers makes blender crash so i guess these are not the right place to execute it. Im looking for a way to call any methods of the bpy blender api so for me its not enough to be able to call only a predefined set of methods. It has to work with all.

uhmm interesting...
Here is my snippet code that should work. Basically i start a socket server in a background thread that listens to my "open file this file" request from a python 2 client.
I also have a handler that is responsible for executing script files. And the handler is registered to "scene_update_pre".
Both communicate via a shared datastructure, in this example a queue. One feeds the queue, the other consumes it, ok.
Now the problem is i got a blender crash when executing the code that opens a file from the handler function....¿why is that? The handler is executed in the main thread, right? Whats wrong here?
here is the code:
    ######
# TEST THREADS and HANDLERS
#
def execute_blender_util_file(filepath):
    with open(filepath, 'r') as f:
        exec(compile(f.read(), filepath, 'exec'),globals(),locals())

def start_server_inside_blender(port, q):

    import socket
    soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    soc.bind(('localhost',port))
    soc.listen(1)

    while True:
        conn, address = soc.accept()
        data = conn.recv(8192)

        if data:
            filepath = data
            print('added execute task file: ' + filepath.decode('utf-8'))
            q.put(filepath.decode('utf-8'))
        soc.close()

import queue

q = queue.Queue()
ex = True
def handler(scn):
    global q
    global ex
    while not q.empty():
        filepath = q.get()
        print('--------')
        print(filepath)
        if ex:
            mypath = 'C:/Users/fulanito/test.blend'
            print(mypath)
            import bpy
            bpy.ops.wm.open_mainfile(filepath=mypath)
            ex = False
        #execute_blender_util_file(filepath)
        q.task_done()

import threading
t = threading.Thread(target=start_server_inside_blender,args=(56667,q))
t.start()

import bpy
bpy.app.handlers.scene_update_pre.append(handler)

Is this an answer? Perhaps it could be an edit to the question

Ok, now im facing another problem bu tseems different to the one of the original post.
when open_mainfile is called from the modal method of the operator it executes correctly and loads the blend file, but then the modal method is not called anymore so i cant keep processing requests.
Apparently, when opening a file in blender it changes the context or so ive read. Could you guys, anyone, develop a bit on this? the Doc is not very self explanatory... Is changing context the cause? if so, how can my modal operator keep working after calling such functions as open_mainfile?


text:
Extrude in python
As in title, I'm trying to extrude mesh via python as I have ~1.5k objects to extrude and when I do it in editor it works perfectly but when I run it via python it always go wrong. It just move face and I'm missing one face. So I tried to create it but I can create only half of it for some reason. Can somebody help?
Code:
import bpy, bmesh

for obj in bpy.context.scene.objects:
    if obj.name.startswith("Exterior"): # Name
        print(obj.name)
        bpy.context.scene.objects.active = obj

        # Go to edit mode, face selection mode and select all faces
        bpy.ops.object.mode_set( mode = 'EDIT' )     # Toggle edit mode
        bpy.ops.mesh.select_mode( type = 'FACE' )    # Change to face selection
        bpy.ops.mesh.select_all( action = 'SELECT' ) # Select all faces

        # As extrude move forward base face it needs to be saved
        bm = bmesh.new() # create an empty BMesh
        bm = bmesh.from_edit_mesh(bpy.context.object.data)
        meshVertices = [e for e in bm.verts]

        # Flip normals
        #bpy.ops.mesh.flip_normals()

        # Extrude
        bpy.ops.mesh.extrude_faces_move(
            MESH_OT_extrude_faces_indiv={"mirror": True},
            TRANSFORM_OT_shrink_fatten={"value": -0.4,   # Dirrection and size of extrude
            "mirror": False,
            "proportional": 'DISABLED',
            "proportional_edit_falloff": 'SMOOTH',
            "proportional_size": 1,
            "snap": False,
            "snap_target": 'CLOSEST',
            "snap_point": (0, 0, 0),
            "snap_align": False,
            "snap_normal": (0, 0, 0),
            "release_confirm": False})

        # Add face
        bm.faces.new(meshVertices) # len(meshVertices)

        # Update & Destroy BMESH
        bmesh.update_edit_mesh(bpy.context.object.data) # Write the bmesh back to the mesh
        bm.free()  # free and prevent further access

        # At end recalculate UV
        bpy.ops.mesh.select_all( action = 'SELECT' )
        bpy.ops.uv.smart_project()

        # Switch back to Object at end
        bpy.ops.object.mode_set( mode = 'OBJECT' )

        # Origin
        #bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY')

Mesh to be extruded.

Extruded mesh.

Second side of extruded mesh.

PS: Mesh is just a 4 vertices square (one face) and I'm trying to make it 3d from 2d

I have done it.
Here is code if anyone is interested:
import bpy, bmesh

for obj in bpy.context.scene.objects:
if obj.name.startswith("Exterior.462"): # Name
    print(obj.name)
    bpy.context.scene.objects.active = obj

    # Go to edit mode, face selection mode and select all faces
    bpy.ops.object.mode_set( mode = 'EDIT' )     # Toggle edit mode
    bpy.ops.mesh.select_mode( type = 'FACE' )    # Change to face selection
    bpy.ops.mesh.select_all( action = 'SELECT' ) # Select all faces

    # Create Bmesh
    bm = bmesh.new()
    bm = bmesh.from_edit_mesh( bpy.context.object.data )

    # Extude Bmesh
    for f in bm.faces:
        face = f.normal
    r = bmesh.ops.extrude_face_region(bm, geom=bm.faces[:])
    verts = [e for e in r['geom'] if isinstance(e, bmesh.types.BMVert)]
    TranslateDirection = face * 1 # Extrude Strength/Length
    bmesh.ops.translate(bm, vec = TranslateDirection, verts=verts)

    # Update & Destroy Bmesh
    bmesh.update_edit_mesh(bpy.context.object.data) # Write the bmesh back to the mesh
    bm.free()  # free and prevent further access

    # Flip normals
    bpy.ops.mesh.select_all( action = 'SELECT' )
    bpy.ops.mesh.flip_normals()

    # At end recalculate UV
    bpy.ops.mesh.select_all( action = 'SELECT' )
    bpy.ops.uv.smart_project()

    # Switch back to Object at end
    bpy.ops.object.mode_set( mode = 'OBJECT' )

    # Origin to center
    bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='BOUNDS')

pls accept your own answer

Thanks for code, just to note that since Blender 2.8 :  change      bpy.context.scene.objects.active = obj
to   bpy.context.view_layer.objects.active = obj, from https://b3d.interplanety.org/en/how-to-set-object-mesh-to-active-in-blender-2-8-python-api/

source: Stack Exchange

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

sort: votes


text:
Does Blender have a way to simulate skin and muscle?
I can't find any solid documentation on it but the technique is:
Instead of building the entire mesh like you normally would, you would model the muscles and bones only. Then you would use a cloth to cover said mesh and it is now the skin for that character. All animations would need to be baked with the cloth simulation...  Is this a myth? I don't see why this wouldn't work, (I plan to try it now). Is there a name for this technique or is it an urban legend? If so, are there any big benefits to using it?
I've heard a folklore Kong from the Skull Island movie was made this way. Not sure about the lizards or Brie Larson though.

Blender does not have a native muscle-skin workflow. To workaround it, you would use helper bones, shapekeys and lattice deformers. You're thinking of 3D applications like Maya or Houdini, but the skin isn't represented by cloth simulations there either.

In addition to @Leander 's comment: There is an add-on called X-Muscle System on blendermarket which does exactly what you are looking for. It's a bit on the pricey side and you have to pay extra for the professionally made skeletons but it seems to do a good job.

So it's possible through simulation with shape keys an just all around meddling static animations to ensure everything flows smoothly.
But what are the benefits of using this system though?

https://youtu.be/higGxGmwDbs

There are two ways I know of.
1: Using Mesh-deform with "muscles"
2: Using shrink-wrap with "muscles"
Start with X-muscle
The muscles themselves are based on bones and a shape that deforms based on the distance between the 2 attachement points.
To make the skin of your character move according to the muscle-movements, you need to:
1: Bind the "body" of the muscle to the skin of your character, using either shrink-wrap or mesh-deform,
2: Apply a vertex-group with weight-paint to isolate the effected areas to the muscles (otherwise your character will wrap around the muscle, or de deformation will affect more than you want / need
For shrink-wrap, use "project" and "outside", so that when muscles "shrink" below the skin, the skin is not pulled inwards.
One disadvantage with shrink-wrap is that any sculpting on the affected area is flattened, as volume is not preserved.
As for deformation: it will keep the sculpting on that area, but the effect is not really predictable or linear. Areas that should bulge out due to bulging muscles, are drawn in, instead.

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


text:
Starring and messy edges when smoothing or using sub surf modifier
I have a problem that when I apply a SubSurf modifier to my project, it has some starring and messy edges around the connection of my spheres. My goal is to have a string of "bubbles" which are smooth. I would also like to be able to rig them under one armature. The seams for UV unwrapping should be able to be placed where the spheres connect. I have used a Boolean modifier to merge the spheres. The problem I am having is that when I try to smooth out the spheres, starring occurs at the top and bottom of them. I have tried using loop cuts, the smooth option in the tools menu, and starting with a high-poly model, but none of that worked for me.
Here is an example of the starring:

Here is how the spheres should connect (Please ignore the starring and high-poly count):

And here is a download to what I would like to end up smoothing out: http://www.mediafire.com/file/e6xeb5i74ii2t79/BugZHugSave3.blend1
If you have questions, please ask.

HI. Next time please upload images using the built-in image uploader. See: https://meta.stackexchange.com/questions/75491/how-to-upload-an-image-to-a-post

You should avoid Boolean as much as possible. Often it doesn't give a good topology.
If you want to keep your object:

Go in Edit mode, select all and press ctrl N to make Normals Consistent.
Press ctrl W > Remove Doubles to delete all the vertices that are very close to each others. Play with the parameters on the bottom of the Tools panel (T to display).
In Object mode, increase the View Subdivisions of your Subsurf modifier and press Smooth in the T panel > Tools > Shading. You could get something not too ugly.

But you should redo your object this way:

Create a sphere, rotate it, cut its top.
Duplicate this sphere and rotate it 180°.
Merge the two spheres with the Snap tool enabled (horizontal bottom menu of the 3D view), Type of element > Vertex, and press the Automatically merge vertices option.
Scale down one of the sphere, add an edge loop to correct the topology.

I have messed around this for a while, and have run into a problem. My goal is to have the sphere rounded, but the connection remains un-curved, and I cannot do that with your solution. Sorry if I did not make it clear enough in my question.

again, don't use Boolean, start again from scratch with the method I've shown you, you need to have a good topology

How can I get rid of the curvature where the two spheres connect and keep it consistent throughout the whole model?

have you tried the second method?

Yes. Whenever I try and apple Sub-Surf, I get a bit of curvature, like you did. I have tried moving the spheres closer together, but There is still some curvature at the joint.

in that case just add an edge loop close to the one you want to be sharp

I am silly for not seeing the answer. Thank you for your help!


text:
I can't open Blender 2.8 files after I save them. Because it tries to open with 2.79
Blender 2.79b is installed (from .exe) on my computer, currently. And I just downloaded the Blender 2.8 release candidate 2 (.zip).
When I create something in Blender 2.8, after I save it, I cannot open it again because the computer tries to open the blend file in version 2.79b. And manually selecting the 2.8 version from zip file does not work.
How can I open my blender 2.8 files? Do I have to delete Blender 2.79b?

This is also Windows fault, because Open With just works based on the name of the executable and not the path. Even if you choose the correct one, it will still start the old version. https://superuser.com/questions/91655/open-with-dialog-ignores-my-selection


text:
How to deselect origin center/ cursor blender with python?
Is there any method to deselect origin center/yellow dot, or make it inactive?

I don't know a huge amount about scripting for Blender, but I have a small amount of development experience and this is what I found after some digging.
Overlay attributes are accessed through bpy.types.SpaceView3D
You can then access bpy.types.View3DOverlay
What you're looking for is:
show_object_origins
(Show object center dots)
show_object_origins_all
(Show the object origin center dot for all selected and unselected objects)
There is a similar question about how to access Viewport Overlay options, and it's recommended that you first iterate over the areas of the current screen and find the 3D View before attempting to set the overlay option you are looking to change.
There is appropriate code in the question I linked above.
I hope this helps!


text:
How to animate slices through geometry with a different interior and skin? (e.g. like slicing a watermelon)
I'd like to animate slicing through a object with a skin and interior. A simple example would be animating taking thin slices from a watermelon similar this:

While this is relatively easy when using simple geometry, it still required a lot of setup. This animation was built using boolean modifiers. There is a sphere for the exterior skin, a sphere for the interior, and two cubes used to create the slices by boolean intersections with the spheres. The sphere for the skin is slightly larger than the interior sphere. The cube for the skin is slightly offset from the cube for the interior. The setup is shown below,
This approach does not scale well when using more complex geometry or when using lots of objects.
I would like to scale this effect to include dozens or hundreds of objects.
Is there a simpler way to create and animate objects with skins and different interiors?
The blend file:

See if Cutting with Boolean Modifiers or How can I easily animate cutaway views on multiple objects? answers your question.

Thanks. Those are great suggestions for different approaches to slicing. However, I was hoping that there might be a way to use modifiers or shaders to accomplish the result in the animation with less setup.

Best modeling of slicing, are you help me with video tutorial how to create this (.blend)

Depending on what you want your final outcome to look like you may not need to do anything more then a simple boolean modifier.
Here is a capsule with nothing more then a boolean modifier set to difference, and a animated cube as the target.

You can see it is possible to get a different material for where the boolean cuts the object. Here is how.

Add a second material slot to the object with the boolean modifier (this is the material you want for the "inside" of your object).

The target object (the object that does the cutting) also needs to have the same material.

That's all it takes to get a different material where the boolean modifier has cut.
You can read in further detail about how the Boolean modifier handles materials in the blender manual.

That is exactly what was needed. Tested and works like a charm! This eliminated half of the geometry in the scene and simplified setup. Thanks.

David, how did you make this gif?

@Qutorial just wrote all about it on the meta, let me know if there is anything I should add.

Wow! Saved me a ton of work!

What is the material setup of the cutting cube for it to not render while having the bean's inside material assigned to it?

@MicroMachine that is simple. no material needed, just set the cube to not render (camera icon in the outliner).

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


text:
NLA editor gets tangled all up in Blender 2.75?
Don't know what to do with this mess.
Plane.002 is just a still object in my scene. Don't know how It got an action strip.
I want to clean up NLA editor and action editor up by removing four actions indicated below. I tried to delete some of the action strips to remove the actions but other action got messed up.
Not quite understand the NLA editor yet. I'd like some one to clean up NLA and action editor for me and show me how the NLA editor works!
Thanks!
Blend file:

The NLA editor is complex I strongly recommend read the documentation. I will show how I cleanup the references to an action.
Blender NLA Doc
First you need to clean up the reference by deleting the tracks (start icon), select the  Plane.002 ActionStrip and the NlaTrack Action and press X to delete it (be sure to only select the ActionStrip and the NLATrack), Repeat the process for Plane.001 and Plane ActionStrip

Next select the ActionStrip Plane.002 and delete the Action by hold Shift+(press the icon) X. This will delete the reference to the Action. Repeat the same for Plane.001 and Plane ActionStrip

Note how Blender will warning you about the 0 references and that the Action will not be saved at the top most bar (or status bar near the windows title)

Finally save and re-open the file:

I can only summarize that you can save an Action an apply that Action to another object Note how I apply Skate -> Skate.001Action ActionStrip to Plane.002 object. The number 2 next to the action indicate that the ActionStrip have two references. the NLA does a lot more things.

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


text:
Unit selection circle in BGE?
Someone call it a Selection Indicator or Halo. I would like to know how to make this effect in BGE?

Could you just have a plane with an image on it, parented to the character, and use the objects alpha color to determine whether it is visible or not?

The best way to do this at the moment is having an object (the shape itself or a plane with a shape texture) that follows the Character, and turns visible or invisible depending on the character selection state.
You should be able to do this even without coding, by using the visibility actuator logic brick.

Belated answer, but necessary.
Parent.Blend
This builds the ring at the current object, deleting it and reproducing it every .1 ticks.
It may actually be more efficient to parent it, which yes you can do in the bge, I just can't find the command that allows it. And another note, you shouldn't use real geometry for this effect(I only did because I wanted to build it quickly) you should use a plane with a circle image UV mapped onto it to reduce processing time.


text:
What is the appropriate way to write and distribute an addon that works with both blender 2.80 and 2.79?
I have written a python addon which is compatible with both 2.79 and 2.80. When setting the "blender" key in bl_info to the appropriate version, the code works otherwise unmodified in both versions, without warnings.
Now I want to distribute this code as a zipped addon. I'd prefer not having to create two separate zips for exactly the same code.
However:

If I set the bl_info "blender" key to (2, 79, 0), then blender 2.80 refuses to load it
If I set it to (2, 80, 0), then blender 2.79 displays a warning cautioning the user that the module isn't intended for this blender version, and that it is likely to malfunction (although the module then happily runs without problems anyway). This is going to scare and confuse users of 2.79, see for example MHX2 import in 2.79 and 2.80?
If I use a variable and try to calculate the appropriate blender version outside the bl_info block, then the zipped addon won't install at all, eventhough the same code runs just fine when the addon is manually extracted in either version's addons directory. It seems the install-addon-from-zip code manually cuts out the bl_info block and parses it out of context, causing it to fail when encountering a variable set outside the block.

So my question is: Is there a way to create and distribute a single addon zip file that works without warnings in both blender 2.79 and 2.80?
EDIT:
The code I used in option 3 (calculating a variable to determine the appropriate blender version is this:
import bpy
appver = (2, 80, 0)

if bpy.app.version < appver:
    appver = (2, 79, 0)

bl_info = {
    ...
    "blender": appver,
    ...
    }

(which, as said, works fine when the addon is already unzipped, but crashes when trying to install from zip file)
The stack trace I get is this:
Traceback (most recent call last):
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/scripts/modules/addon_utils.py", line 137, in fake_module
    mod.bl_info = ast.literal_eval(body.value)
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/python/lib/python3.7/ast.py", line 91, in literal_eval
    return _convert(node_or_string)
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/python/lib/python3.7/ast.py", line 79, in _convert
    map(_convert, node.values)))
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/python/lib/python3.7/ast.py", line 90, in _convert
    return _convert_signed_num(node)
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/python/lib/python3.7/ast.py", line 63, in _convert_signed_num
    return _convert_num(node)
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/python/lib/python3.7/ast.py", line 55, in _convert_num
    raise ValueError('malformed node or string: ' + repr(node))
ValueError: malformed node or string: <_ast.Name object at 0x7fb74bd55780>
Traceback (most recent call last):
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/scripts/startup/bl_operators/wm.py", line 2042, in execute
    addons_new = {mod.__name__ for mod in addon_utils.modules()} - addons_old
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/scripts/modules/addon_utils.py", line 208, in modules
    modules_refresh(module_cache)
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/scripts/modules/addon_utils.py", line 195, in modules_refresh
    force_support=force_support,
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/scripts/modules/addon_utils.py", line 137, in fake_module
    mod.bl_info = ast.literal_eval(body.value)
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/python/lib/python3.7/ast.py", line 91, in literal_eval
    return _convert(node_or_string)
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/python/lib/python3.7/ast.py", line 79, in _convert
    map(_convert, node.values)))
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/python/lib/python3.7/ast.py", line 90, in _convert
    return _convert_signed_num(node)
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/python/lib/python3.7/ast.py", line 63, in _convert_signed_num
    return _convert_num(node)
  File "/home/joepal/system/blender-2.80-d40bffa17f6-linux-glibc224-x86_64/2.80/python/lib/python3.7/ast.py", line 55, in _convert_num
    raise ValueError('malformed node or string: ' + repr(node))
ValueError: malformed node or string: <_ast.Name object at 0x7fb74bd55780>

i would lean to moving forward and have a version of each, a branch on git does this  for example. The choice then is which is master branch.  On what you tried..  Can you provide an example of your "variable outside bl_info block" ?  Does it fail in addon_utils fake_module by any chance ?

Edited to add info about what went wrong in the approach with trying to use a calculated blender version.
@batFINGER: Having different branches would in effect mean distributing separate zip files with  the same code. The question I'm asking is if it's possible to avoid doing that. If the answer to the question is "no" then, yes, keeping separate branches would be the logical thing to do.

You can't put variables inside bl_info, because the fake module literally reads the addon file as plain text and will read your literal variable, not the content of your evaluated variable.


text:
animation: edit the way an object moves by grabbing the pose in the curve editor or graph editor
A Maya user asked me if it is possible to do this in blender: slow or accelerate a movement, rotation, etc. by grabbing a frame (not necessarily a keyframe) into the timeline, the graph editor or the dope sheet, and Maya automatically creates a new keyframe.
In blender you can go to any frame where the wanted pose is, insert a keyframe and then move it to the wanted location, but in Maya you can do it by a single click (grabbing the frame where the wanted pose is, to a different location in your timeline) which saves a lot of time when you are animating and need to test different times and speeds.
there is a way to do this in blender? I mean, the one single click stuff? thanks in advance

In the graph editor and dopesheet you can press I to insert a keyframe just like in the 3dview. You will get a menu to choose between all or selected channels.
In the graph editor with a key selected you can press G to move it, also pressing Y will keep it locked to the frame so you only change the value. You can drag an existing key with the mouse to adjust it's value, the drawback of using the mouse is you need to drag the mouse some distance to start the movement, at which time the key snaps to the mouse location making small accurate adjustments hard without the keyboard.
Once you select a key in the graph editor you can move it more precisely using the keyboard eg. GY.5
You also have the properties panel N in the graph editor that shows the frame and value of the active key, you can use the mouse to drag the value slider.


text:
How to add a base bone after other bones have been created?
What I'm trying to do is create a robotic hand. I created the mesh and added the bones for the fingers (following CG Cookies' tutorial on rigging fingers), but didn't add a bone for the "arm" part of the mesh.
I've tried adding the bone (the arm bone is named Bone.020), created a vertex group with the same name, then weight painted the part it should move, but that didn't work. I have tried parenting the finger bones to the arm bone, but that didn't work. I don't know what else to do. Any help is greatly appreciated.

View of the Object Data panel

View of the Bone panel

View of the Bone Constraints panel

Showing the fingers are working properly

The problem - Rotating the arm doesn't pivot where the "elbow" would be

Example of weight paint that works with thumb

The weight paint area for the arm and palm

Armature modifier in the modifiers panel

I dont really understand the problem you are showing here. Bones need to rotate at their heads. So you probably need to rotate each bone from their head or complete with intermediate bones (between lower arm and finger) and assign weights to the appropriate parts of the model. Or ? Is there something else you show us in your question ?

You should upload your .blend file, to understand the problem

@joshsanfelici the .blend file is available.

What is going on here is strange, and I can't really determine what is going on.  For whatever reason, no matter what I do, The hand does not follow that particular bone.
I just wound up remaking the bone, that seemed to get around whatever strangeness was happening.
I didn't bother rebuilding the parenting of the bones for the sake of this screenshot.

Can you send that to me?

I have that on a different computer.  All I did was delete the bone and remake it.

Thanks! I deleted and remade it and now it works. Thanks @Kirbinator

The problem was the bone didn't have Deform enabled.


text:
Can normals be forced to point outward at each vertex/face?
I have been working on a model in Blender that is made up of several smaller sub-pieces. Having finished, I exported to Unity and not all of the sub pieces showed up. After having done some research I realized it was because of the normals facing the wrong direction. I then recalculated the normals for some of the surfaces that were not showing up, but this resulted in a potentially worse problem. I now have sub-pieces that have some vertices with outward facing normals and some with inward facing normals. As a result, flipping the normals for each sub-piece is useless, because either way not all of the surface is rendered when exported. So far the only solution I can think of is to manually flip the normals of each vertex across the whole model until they're all facing outward, but this would likely take me longer than it took to model the whole thing. I'm wondering if there is a way to force the normals all to face outward, rather than just flipping or recalculating them.
Okay, so I made up a little example of what I'm talking about:
Say this grid here is a sub piece of my model. There are no smaller selectable parts, unless I go into edit mode and start selecting individual faces or vertices. In my particular case, when I select the entire piece in edit mode and recalculate the normals, I end up with something like this:

The normals of some faces are facing inward and some outward. Thus, if I turn on backface culling I get this:

But as you can see, if I were to select the whole thing and flip the normals, I would get something just as problematic:

Thus it seems to me like the only thing I can do is go and select all the areas of each piece that have normals facing the wrong way and flip them. There are hundreds of pieces, so that's likely to take forever. What I'm wondering is whether there is a way I can tell Blender to make all the normals point the same direction (outward), because flipping and recalculating both don't work.
My Solution:
After some more research and attempts to fix the problem, it seemed like the only method that would reliably work was to fix everything manually. So it took about 12 hours, but I just went around to every single part of the model, selected the faces that had normals facing the wrong way and flipped them. I guess the thing to do is just not get yourself into this situation to begin with.

You can select just a portion an recalculate, and tick the "inside" checkbox on the toolbar. Is that what you mean?

What happens if you Remove Doubles first? Usually if Recalulate Normals (make normals consistent) doesn't work it's because there's confusing geometry. or things like three faces connected to one edge..

You could just add solidify modifier and just leave the settings and apply
that worked for me br

I think in this situation, when your (sub)surface is flat, you can in Edit Mode select one face with a wrong normal then "Select Similar" (Shift+G)->Normals and then every normal in that object will face in the same direction. This works only for flat (coplanar) objects but in your example it looks like one.

You should select in edit mode the complete mesh and then recalculate, not only the 'wrong faced' faces. Flipping vertices doesn't have much effect, flipping vertices does. When a face is flipped, then the corresponding vertices also flip :)

Would you be able to rephrase your answer? I think it is helpful, but needs further expansion. The second sentence is illogical (should the second "vertices" be "faces"?)

I had this problem recently with a complex 3D model, and found a trick that helped. First, turn on "Face Orientation" in Viewport Overlays (Edit Mode) so that normal direction is indicated by red (backward) or blue (forward). Then, select a face you want to flip, then press Ctrl+L (Select Linked All) and Delimit by Normal. That will select adjacent faces facing the same way. Then hit Option+N to flip the normals. Repeat these steps until you are finished.


text:
Little problem with arm movement in my character's walk cycle
It's obvious not right when both arms move backward. There are some little 'Khực khực' there. Oh sorry I could only describe that in my language LOL.
   Anyways, that's like some robotic displacement causing false action (false movement?). Oh just take a look in the blend. file here LOL

Your arm IK control bones (Arm.L and Arm.R) are positioned too far in parts of animation, so the arms need to extend too much and are no longer bent in elbow. That causes the elbow popping in the walk cycle.
Also the same bones are not looped, so that causes another discontinuity when looping the animation.
Keyframe these bones more carefully to not overextend the arms and loop them and the animation will be fine.


text:
Able to mask out the eye but the glowing part of it
I use a plane on a different render layer to mask out the character.  The result comes out quite nice:

EXCEPT for the mask for the eye glowing effect (I duplicate the eye mesh to a different object on a different layer in order to have only the eye glowing, not with the armor (got a glossy shader) glowing too). As you can see, half the eye is still visible despite of I masked that out. It works for the glowing part, though:

Thanks for reading!
Here's come the blend. file:


text:
Objects disappearing in render
"restrict render" is on. Layers are checked.Materials checked
No idea why they do not show

Blend file:

weird. if you unparent the head it comes back into rendering... it must be something in the (quite complex) rigging behaviour... but can't spot what, atm.

One more thing: When I switch to blender render, it it's normal again @@

That armature is completely screwed. I tried to append that armature to a default file and it hides (in cycles) also the default cube... Delete it and build a new one...

I'm not sure why, but something in your rigging is to blame here.
When I removed the head object's parenting to the armature, it popped back into existence.


text:
Softbody simulation on a character
Don't know what's wrong with the settings. The result comes out horribly no matter how hard I tried

I'd like to make this springy like the real Baymax!

Your whole mesh is "goaled" with vertex group "soft" which has all vertices with weight of 1.0. This won't work. Also the box has no collision on it. My advise is do some softbody tutorials, learn how to paint the goal maps, how they behave..get the hang of it. Then move to softbodies on characters. With advise how to set it up it will look bad until you get some experience with this.

The box DOES have Collision simualtion on. And I've tweaked the vertex weight from 0 - 1.0 but still no good result. I posted this question after watching tons of tutorials and having spending all day with the simulation. Now I do need help from experts...

I looked into your file and made some changes of my own.
I noticed in your Softbody settings, under Goal you've selected vertex group: Soft
The issue was that you selected every vertex and weighted them to 1.0. I changed it so the belly part is at 0 weight and tweaked some of the settings and it seems to work for me
I would also recommend to first getting used to softbody physics as Jaroslav advised.


text:
Can't get the right camera settings that match the scene
I need the plane object to match the black surface of the ipod with no modification to the transformation/ translation or scale of either the plane or the character. The distane between them in 3d scence quite matches the reallife image.

I have tried much, even tried BLAM add-on. But nothing came right...
   Would be nice if anyone can figure the right camera settings for me!!
Blend file:

Do you use camera tracking? I think if I open the blend file, the image won't show

Nope. I just want to blend the objects to the real-life scene without changing the loc/rot/scale of the 3d objects. And I've packed the image to the blend file!


text:
Why do the knees in my rigify rig bend backwards?
I read about this issue a couple of times but found no explaination what causes this behaviour.
When the feet are in a default position the bend works as expected, but if I put one foot slighty forward I get this:

First I thought that the bones chain might not have enough angle for the IK solver to determine in wich direction to bend, so I increased the bending of the knees in edit mode but that doesnt help at all. As you can see in the gif, there is also no flipping happening so this cant be the issue.
Can someone explain whats happening here?

could you please share your file? https://blend-exchange.giantcowfilms.com/

Added a link to the blend file.


text:
Is there a way to make objects take up less memory?
me and my friend are competing in a game making competition, (a competition where you compete with other people to make games), and in this competition the smaller the game size, the better you are rated(along with gameplay and such). I was wondering is there a way to make blender models lighter than they are. Blender's default preset with the cube, camera and light is around 400 kb is there a way to achieve even a smaller size, hopefully around 100k?

If you have 1 triangle on 3d viewport and nothing more on the scene, and also when saving you select "COMPRESS" you will get to 96 kb.
Is this what you were looking for?

Thank you for your consideration to vote me as the answer by clicking to the left :the icon with a check mark and upvote this answer.
BFCT_Schiller

+1. It's also good to note that .blend files are not 3d model files but project files. They contain a lot of other stuff within allowing you to work on your objects. Like your materials, textures infos, any other objects, scenes, anims, blender's settings, tools used, brushes, If you want to reduce the file size of your models, may just export them alone.


text:
Why is there a depression in my render even though there is none in the wireframe?
I made a rough model of a 4-legged animal. I did it using a mirror modifier to mirror the left and right sides of the animal. In object mode, I right clicked on my animal and chose "Shade Smooth". Results:
Wireframe mode:

Solid mode:

Why is there a discoloration in the center of the animal?
Rendered mode:

So there is discoloration in solid mode because there is a ridge and depression in that area... But what is the cause of the ridge and depression? According to my wireframe, there is no depression in that area. The render is wrong. The head is supposed to be smooth.

In this case, some of your normals have become flipped causing problems with your shading. To correct this, go to edit mode, then Select all > mesh > normals > recalculate outside.

It appears you may have double vertices. Go to Mesh > Clean Up > Merge By Distance to get rid of them.
Double vertices are vertices that seem to be one vertex but are actually multiple occupying the same space. This causes discontinuations in the smoothing. Merge By Distance removes these double vertices.
A message should pop up saying how many vertices were removed. If none were removed, it is another problem.


text:
How can I orbit precisely in the 3D viewport?
I can orbit in the 3D viewport by using the middle mouse button. I can also orbit in fixed increments using 2, 4, 6, 8 on the number pad. But how can I orbit more precisely? For example, I may want to orbit exactly 54.5 degrees on a particular axis.

Add a camera object and transform with precise rotation values

.. maybe not your case, but don't forget you can align the view to selected geometry by using Shift with the existing world-alignment shortcuts. e.g. Shift-Numpad-7 will align the view straight down on to a selected face.

The simplest way I found to do this is to first snap your 3D cursor to the center of the object you want to pivot around, then change your Transform Pivot Point to 3D Cursor. Next, select the object you want your view centered on, and press Numpad . to center your view upon that object, then press Ctrl + Alt + Numpad 0 to center the active camera on your current view. Next, turn on Increment Snapping and open the settings for it. Under the Affect section, Make sure Rotate is the only option activated. Now make sure the active camera is currently selected, and press r, z, and then move the mouse. The view will snap at 5 degree increments. I don't know how to do this any other way, nor how to change the increments of the snapping.

The only way I know of would be to change the Rotation Angle in user preferences from it's default of 15.0 to 0.5. Doing this changes the rotation increments when you press the 2, 4, 6, 8 keys. I know this is not ideal - if you started straight on by pressing 1, you would literally have to push the 6 key 109 times to rotate 54.5 degrees to the right. A bit time consuming, but at least it's specific. Maybe you could start from a different initial angle and work backwards/forwards to save some steps.

Another simple way to do this is to create a camera object, change it to be at the exact position and angle you want, and then just use numpad 0 to look from the camera view. You can then delete the camera and your viewport is exactly where you want it.


text:
Blender 2.8 Eevee transparent BSDF leaving extruded text unfaced
I'm trying an animation in Blender 2.8 (most current release as of 20 Jun 19, although the last couple of releases also do this) which fades up pre-extruded text part way through; I'm running Transparent BSDF and Principled BSDF* nodes through a Mixer node and keyframing the Mixer fac setting to adjust transparency. The text is extruded using the Text Geometry Extrude setting.
Using Eevee, I'm finding that, while the extruded sides of the text are fine, the front face is missing; when viewed from the reverse, the rear face is missing, however Fill Mode is set to Both.
The effect is not present in Cycles. (No, I don't want to wait for 160-odd frames to render under Cycles!)
Any ideas, please, if this is a 2.8/Eevee problem and/or if there is a way to get around the difficulty? (Apart from rendering in Cycles, of course).

*Diffuse BSDF also has the same problem.

Have you checked the normals on your geometry? Else this just might be an Eevee shortcoming

I'll check when this render finishes (at least 6x longer in cycles), but I'm at a loss to see why the normals wouldn't be as you'd hope as this is a really simple 'add text/choose font/extrude/add materials' sequence with no mods.
Any chance you can check the process at your end?

I think extruding in negative normal might cause such a thing, but then the sides would be off as well... Maybe you can upload your file to have other people take a look. https://blend-exchange.giantcowfilms.com/

Converted text to mesh, checked normals: they look ok to me, appearing from the centre of invisible faces. Test file link should be in the question now.

This is a bug related to text and curve objects, a curve with bevel and extrude values has a similar issue with a semi-transparent material in evee. You should submit this as a bug.

Thanks for the confirmation @sambler. Logged under "Extruded text with transparent BSDF node loses viewed face in Eevee"

Actually I got in a bit early saying it looks like a bug, it is the show backface option.

To get a transparent material in EVEE we need to set the materials blend mode to alpha blend. When this is enabled the same time as show backface, the alpha of each face gets multiplied and makes the backfaces appear more prominent.
You need to turn off Show Backfaces in the material settings.

You also get a similar result with show backfaces when the blend mode is set to additive.


text:
Geometry Nodes: How to check menu switch node values?
Is it possible to check if a specific menu item has been selected? If it has, a boolean should be set to "True." If other menu items are selected, the boolean should be set to "False." I want to conditionally execute something after the Menu Switch Node in certain cases.
Alternatively, it would be great if there was a way to read which menu ID is currently selected. That way, I could set conditions based on that.
Additional infos:
I know you can use the index node in the tree internally. In my situation I would like to provide a readable menu to the user to choose from. Internally I need index values that represents the individual menu positions to compare between them. That's my problem.
Is there something like this available?

You have to use Index Switch instead of Menu Switch. Otherwise you cant use the input at multiple place.

As @Lutzi already said, you need an Index switch instead of a Menu Switch because you cannot use a Compare node with the Menu data type.
However, if you do not want to completely change the geometry to something else when index 2 is chosen (which would make no sense because then you could simply use that geometry for the third input instead of a cylinder), then you do not have to use another Switch node.
The Set Position node like many other nodes has a Selection input. So you only need to plug the Index from the Group Input into a Compare node set to Integer and choose to compare with 2. This means, the Result is true when you choose the cylinder and false for the other objects.
Plugging the Result into the Set Position's Selection input will then only affect geometry when the Index is 2:

//EDIT: Now that I know you want a readable menu, I made a small change to my setup. The problem still is you cannot use the Menu data type in a Compare node, however instead of switching Geometry with the Menu Switch, you can set it to Integer. Then you have readable menu items that choose the integer which will then be used as index for the Index Switch which will finally determine the Geometry:

Thank you for your answers. I know you can use the index node in the tree internally. In my situation I would like to provide a readable menu to the user to choose from. Internally I need index values that represents the individual menu positions to compare between them. That's my problem.

@ChristophWerner It wasn't really obvious that you want to keep a readable menu, since you mention you want to read which menu "ID" is currently selected and you even added the integers 0, 1, 2 in the screenshots. I've edited my question to add a solution for that at the end.

Thank you a lot, Gordon. This is what I was looking for.  I didn't know the index switch is that flexible. I guess I have to dive more in... Sorry for the misunderstanding at the beginning. I've changed my question text above to be more clear to other users.


text:
Geometry Nodes: How to delete a source mesh in a stack with same modifiers?
In the screenhot below you see a way to distribute objects on the very same source mesh, even if you stack the GN modifiers to do this. All instances use always the same source mesh and aren't distributed on the modifier mesh result before.
Question: Is there a way to hide the source mesh, but the distributed instances stay visible?
If you see the following example:
Let's say we want delete/hide the source plane optionally in one of the modifiers by using a checkbox f.e.
Thank you!
The original post for the screenshot can be found here:
Geometry nodes: Is it possible to "ignore" the modifier stack and use always the source mesh?

In this case, I would keep the source mesh as an independent object and integrate it into your modifier stack with "Object Info".

My current solution is already working with a "controller mesh" that uses a target mesh as the source for distributing instances. I was hoping to avoid using a seperate controller object.

Well, this time I really don't want to claim that this is a good solution (if it could be a possible solution at all), but at least the base mesh is successfully hidden or not displayed:

The problem, as described in the other answer, is that everything that ends up at the output is also visible (in some form).
Conversely, of course, this also means that everything that is visible must be present (in some form).
So since the base mesh must be present but should not be visible, I simply "hide" it by moving all points to world $0$ (deflate) and restoring them with the previously saved original positions of the points on the next pass (inflate).
Simple, effective, ...but not really recommended, because depending on the mesh, computing power is of course lost, and: the elements are still there, even if you can't see them.
(Blender 4.1.1+)

Later I also realized that this actually doesn't work. Without a base model, nothing further can be done. In this sense, you're right. Your solution hides the emitter mesh, but it's not really gone... Nice idea, but ultimately not a solution. It would be good if one could access the base mesh modifier comprehensively. Many thanks nonetheless!


text:
Repeat texture in all directions using cycles nodes
I'm struggling around with a small problem.
First what I want: I would like to make a bitmap texture repeatable in all directions using the cycles nodes.
it is important to create an own setup, and NOT using the regular Mapping node.
The problem: As soon as the bitmap texture is set to "clip" then the wrapping is not working in my solution. See my screenshot.
I have moved the starting coordinates and you can see the texture is not repeating in all directions. It will be duplicated to the positive direction only.
I know you can use the Absolute function to repeat it mirrored, but it is mirrored then... This is something nice for procedural textures but not well for bitmaps and often unwanted.
Do you have any ideas to do this in blender via cycles nodes?
Keep creative and thank you
Chris

The point is:
I want repeat AND set a distance between every repeated texture. My knowledge let me do this into the positive UV direction only. How do I do this like in my description below?
Here some more description, what I imagine:

Following is the Link to the .blend file.
After opening:
You see three Values at the left hand side. Tile Distance, Amount and Move X/Y.
Basically all works well, but the problem is: The tiles will be repeated to the positive axis only. I would like to repeat them endless in all directions and be able to set the tile distances and move the whole tile page position too.
Download .blend File
And here the shot for my scene example setup too:

Can you explain why you need your own setup and set the image texture to clip instead of repeat?

I'm developing my own complex Node groups and need this option to be more flexible.

And to answer your question about setting the image texture to clip instead of repeat: if you set it to repeat and use the modular function, then gap distance is not possible to set because "repeat" overwrites this and let the texture keep visible. You will see it if you reproduce my node tree.

Ok then. After some "brain compiling" and additional experiments I think I have the solution I wanted.
What you can do with this cycles nodes tree:

This setup repeat a bitmap texture endless in all directions, starting at the 0 coordinate on an existing UV page or generated UVs.
Beside this you can shift the complete repeated pattern.
Additionally you can set an equal distance between all tiles.
The pattern size/amount can be altered too.

Hope it help others too.
Best wishes and stay creative!
Chris

And here the .blend file:

To be honest, I don't think that this screenshot is useful to others. If possible, please share a simplified version of the file, there are too many possible errors while rebuilding the node tree

Of course. Done.

Blender's modulo doesn't work well on negative values I guess.  Shame, but it's fixable.

We can do manual correction for negative UV by taking the absolute value, doing our modulo, then inverting it.
Note that I'm using a mixRGB node to mix these values, which is hacky, but works.  You could always multiply by fac/1-fac and then add the values if you want to be less hacky.
The only reason I can see that you might want to do this is to give different clip/repeat behavior in different axes, and there's an easier way to do that:

Edit: In order to create space between the images, we simply remap the UV after our operation.

Here, I'm scaling each picture down to half its original size, creating a full width border between each instance, and I've created a value node to easily control this value.
You specifically said, "No mapping nodes!" and I see no reason for that, but I've done it how you want anyways.  These math operations could be achieved as easily with a single mapping node as with a series of math nodes.

Thank you for your tip. Interesting, but not exactly what I'm looking for. Or I may miss something in your setting. See my description image above for more details please.

Okay, see the edit then.

Hi Nathan. Thank you for your time. I think I've still not described my wish well. Maybe it's because of my english. Your solution is nice but don't solve my problem.  I prepare a blender scene and put it here, to show you what the actual problem is.
One time more I will try to explain what I would like to have in other words:
I would like to have a solution to use a single bitmap as a repeatable pattern. Additionally I would like to set the distance between every repeated tiles, in all directions and "slide/move" the whole pattern on the uv map. it should work with generated UVs too.

.blend link added in my 1st post.

Don't forget: If you add just an Absolute node after the Modulo function, then you get a mirrored result. It's ok so far, but need two more changes:

Mirrored again, to be displayed right
The first negative tile must start shifted, because of the tile distance.
I know the basics, but am not able to do this myself and would like to learn it in this way.

It doesn't sound like you're using the setup I demonstrated above.  The subtract node following the modulo remirrors it back.  Negative tiles don't need shifting, because we're not shifting, we're scaling them about the center of their UV space.  But it sounds like you have something you're happy with anyways, so I guess it doesn't matter.

Hi Nathan. That's right, I've not used your setup. But your way helped me see the challenge from a different perspektive. So your ideas were helpful anyway.


text:
Multiple materials on a single object?
I have many objects all with the exact same base metallic "surface". Some of the objects require small simple variations in bump and displacement.
Is it possible to have color, metallic, roughness, etc. (most of the principled BSDF) in a single easy to change material and then have different materials for various changes to bump and displacement?
Could this be done using an addon or "data transfer" of some kind? A modifier? Or maybe something I haven't learned yet within Blender that would accomplish this? Basically some way to "layer" or "add" materials. The same metal material for 10 objects and then each object has another material adding bump or displace texture.
Another comparison would be something similar to "Duplicate Linked" with objects. They are the same at the "base" but you can make all kinds of changes to each "copy" but still edit the original for global changes.
I am trying to avoid having to change a common base property of a bazillion objects. I know there are other similar questions on here asking how to globally change the properties, but since I am "at the beginning" I don't need to change anything yet, and would like to start from scratch with a better solution IF it is available. I am fully prepared to simply use multiple duplicate materials.

Hello, have you tried node groups?

Yes. The secret, as moonboots indicated is to use a node group.
Setting inside a node group are shared by all users of that group, so if you change the group on any material using it it changes on every material using it.  Here's an example.
Suppose you want to share base color, metallic value, and roughness between two or more materials.

Create a material that uses Input Nodes for those three items:

Select the three input nodes and type CTRL–G to create a node group.  The node editor will automatically set up the group so that you're editing it.  In the side panel give the individual outputs meaningful names

Type CTRL–G again to exit the node group.  Your material will now look something like this:

In the side panel Give the new Node Group a meaningful name:

Now when you create a new material you have the option of including your new node group.  When you select SHIFT–A to add a new group you can select the submenu Group and the group will appear there.
If you edit, for example, the roughness value in any material using that Node Group, it will change in every material using that group.

Hahaha! I gave you the green checkbox even though I found it before, you still had the answer... although... Moonboots should get some credit as well. I am just pleased that this will hopefully come up "faster" in a search on this topic.

This always happens. I spend hours fiddling and researching something like this I reach the end of my rope and ask for help... then... within minutes I find the answer. YES YES YES! NODE GROUPS WORKS! i can save a node group for color and use it all over the place! I can link a node group directly into a principled BSDF for all the stuff I need, color, metallic etc etc and then in that material add something new for bump or displace. I can use the CRUD out of this. Awesome. I could even gang up settings for "generic displace" and link in different image maps etc etc. skies the limit.
I did a bunch of googling and searching forums but never saw anything other than a python script to update a whole pile of similar materials color attributes. I finally found it in an off topic sort of thing. Where they mention it and you the light bulb goes off over your head. works a treat.
Basically I group the base nodes in one material and then use that group node in any other material and select it by name.
I knew there had to be a way I just knew it. I should have realized how this works from all the addons that use custom node trees.

Hello and welcome.  SE is no forum rather a question-answer-site. So please don't be upset when your answer will get deleted since it does not add any value to the
Q&A. You've done your part and given thanks by accepting the given answer with the green checkmark.

What is the solution then? Next time write, step by step, what you have done to solve the problem, illustrate with screenshots for clarity if it's necessary, and leave out everything else. No storytelling here, sorry.


text:
How do I project an image onto a mesh and have it reflect in the unwrapped UV?
Probably best to give an example. I have an unwrapped UV mesh of a mug, which is in the form of islands which I do not want to change. I would like to project an image onto it which is visible as intended only from the camera. So when I examine the mesh in the viewport, parts of the image will be distorted (like a physical projector putting out an image onto a complex surface.
I would like this image (in it's distorted form) to appear on the unwrapped UVs of the mug. Unfortunately, I can't share the file, but I'm basically trying to create a decal which is only visible as intended from one camera. And print this decal. Hope that makes sense. All help is much appreciated.

If I understand correctly what you're asking, you could give your object a material with your picture loaded in an Image Texture node, choose your view, unwrap with the Project from View mode:

Then, in the Object Data panel > UV Maps, create a second UV map for the same material with seams along the top and on one vertical edge and unwrap with the basic Unwrap mode. Give your material a second Image Texture with a black image called bake for example, don't plug this Image Texture but plug an Input > UV Map node into it. In this new UV Map node select the second UV map you've just created. Keep the second Image Texture selected. Go into the Render panel, under Bake choose Bake Type > Diffuse, disable Influence > Direct and Indirect, and bake:

Now you can save your bake image and use it.

I'm not quite sure that I've understood your question, but it looks like you are looking for UV project modifier:


text:
whenever i use the intersect boolean tool(not modifier)it makes most of my creation disappear and only leaves the place which was cut out
i am currently doing the blender launchpad course from cgboost and there is a step that requires me to use the boolean tool(not modifier)to make the wheen arches on a car, whenever i use the tool it cuts out the geometry like normal but deletes everything else other than the cut out geometry, i need help trying to fix this.

Difficult to tell from your description and image, but it sounds as if you are selecting the objects in the wrong order before using the Boolean addon tool. Select the cutter first, then SHIFT select the object you want to cut and then use CTRL NUMPAD - to produce the cutout.

The boolean modifier has 2 operation modes. The old fast and the new exact mode which is default nowadays but it can cause issues. Have you tried the fast mode?


text:
Keyframes selectable, can't move or delete them

I am relatively new to Blender animation.
I find myself unable to move or delete keyframes in the Dopesheet Editor.
I also see that they have a ghosted appearance.  How do I change these keyframes (back?) to an editable state once more?

hello, could you please share your file (the object itself, not the rest of your scene)? upload and copy paste the URL it will create: https://pasteall.org/blend/

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

The question was specific.  I can't edit these keyframes and -don't know- why. Help me to  learn possible actions that could have led to the problem.  It's as concise as you would expect in this kind of new-user question.
That said, I figured out what was happening and will post the answer to the question as-stated:  "How do I change these back to an editable state?"

I figured it out.  I had Appended the character Armature from a different .blend scene file.  Whether by accident or design, this Action (highlighted in the sample image) came in as "linked".  This means it is "linked" to the data in that other file and would only change if the action were changed in the source file and then re-evaluated here, locally.  The benefit of this is that the animation could be stored in an Action, re-used in multiple other scenes and then updated in one place, with the change then propagating out to the Linked scenes.

In my case, looking at the list of Actions revealed one that had a small icon next to it of a small chain (see image).  In the second image, I have selected that Action and hovering on the chain icon revealed that I could "click to make local".  I did so and can now edit the keyframes as-expected.
Less than one year into my transition to Blender, I see that I have a lot to learn.


text:
Like learning to *fall off* a bike
I am very new to Blender, but not to 3D.   My ultimate question is what are some alternate options for rigging a bike/rider system in Blender and what are the pitfalls to watch out for...

The goal
I have a Rigify-rigged character Armature.   I have a custom bicycle rig Armature.
I need this character to mount the bike, ride the bike, then fall off the bike.

Current Solution
On a previous Blender project, I used Child-Of Constraints on the character Armature.
Hand and foot IK handles were assigned Child-Of Constraints to Empties. Those empties were parented to joints within the bike armature. (Blender vets: Is this a bone-headed move?)
The character's Root was given a child-of Constraint to an Empty on the bicycle armature placed at the seat position.  My belief was that empties parented to handlebar and pedal bones allowed for easier fine-tuning of the rider's hand and foot positions. (Misguided? Right idea?)
I then chose a frame where the fall would occur and keyframed the Influence on each of those Constraints to zero, shifting the character back into global coordinate space to separate them from the bike.
I was absolutely brand new to Blender and tried the first tools/processes I found.
Are there better solutions for a dynamic bicycle and rider setup?
Are there any advantages to them being in the same armature?  Caveats?
What level of the character is best for constraining (Armature Object level versus some root joint)?

In my opinion you're on the right way. My advice is to leave all object level data into a default rest position (000, 000, 111) and perform all move rot and scale animation and constraint in pose mode, so that they get stored directly into the action.
You can add some extra bones in edit mode and use them instead of empties, so that everything is stored into two actions only (Character action and bicycle action).
Joining the two armatures could result in managing one action only but, as it's possible to select both armatures and enter pose mode and animate both, I don't think it's so useful, unless you need to export to another software one single mesh (Bicycle and Character) with one single action.
When I build thoose kinds of setup, often after finishing the animation I make a bake of the constrained bones (visual keying, clear constraints, overwrite current): it's a destructive editing but it lets you get rid of all constraints and results in a simple exportable animation (pose mode > pose menu > animation > bake action).

Perfect. Thanks for the assurances and succinct extra information, Josh!  I'll report back here to let folks know the approach I took.  The animation requires a rider to start into the street and is then struck by a motor vehicle and, naturally, separate from the bike before rolling to the street.


text:
How to make faces face one direction
For the example lets say there are two groups of faces. Is there a way to make them face one direction uniformly?

What I've tried so far:
  Set pivot center for transform as Active Element and transform orientation as Normal. Then select all faces in question with the face to which other faces will align selected last. Then S Z Z 0. Problem is: the second group of faces will (predictably) go out of its place too much:

Is there a way to leave it more or less in the position it was before the transform while making the faces facing the same direction nevertheless?
P.s. I've also tried to create new orientation to apply it to another group of faces (the same S Z Z 0), but a) it will clamp the geometry to a line if applied to the faces and b) it more or less works with vertices but there are problems aligning them to other axis and it is really time consuming.

yes, there is. Set the pivot to individual elements instead of active element and scale them to zero along the desired axis.
There is a way to setup custom transform orientations if normal, view, global, local etc. does not offer the desired axis. I believe you can find it here further down the page.
https://www.blender.org/manual/editors/3dview/object/transform/transform_control/transform_orientations.html

Thank you! Setting the pivot to individual elements and then scaling them to 0 along Z makes the faces' facing-direction uniform only in their "group", but not universally, BUT thanx to your answer it occurred to me I can set custom orientation not only via two vertices but from the face I want other faces to align with. And this was it worked. Thank you again.

"this waY it worked" - fixed, as I am unable to edit comments. Ok, so for those who might be interested how to make it work, in detail:  choose the face you want other faces to share direction with. Create custom orientation from it (see the link above), it will appear in the Transform Orientation tab, choose it there. Set Pivot Center for Transform to Individual Origins, then select all the faces you want to change their facing and hit S Z Z 0. That's it.


text:
How can I edit the text after I rendered after I created a video from it?
Basically I am new to this and I want to know how can I reuse the same project for multiple intro videos.
My requirement is that I have 2 YouTube channels and I want to reuse the same project that I created for my first channel and I am unable to find a way to change the text for my next channel.
I followed this tutorial https://www.youtube.com/watch?v=n4_0nNZSWdw and created video.
Now I want to reuse my work and wanna just change the name.
How can I do that?

My First Channel
https://www.youtube.com/channel/UCae29wGJJIbNbEf2H65-3Pg
My Second Channel https://www.youtube.com/channel/UCevruQYC_rtYjx7YyMWsxJA
Blend file : https://openload.co/f/Df89pL2R0hA/fact.blend

We are not gonna watch a full tutorial just to figure out what you want to do. Please provide screenshots and a description of what you currently have or you want to achieve or a link to the Blend file if you want any real help. Generally if you want to change text you only have to edit the text object and change the inserted content string.

I know this tutorial, the text object is converted into a mesh, and this is a point of no return, you cannot edit the text as text anymore. You will have to create the text again and convert it again.
You could theoretically write a script that does all of the steps in the tutorial, and then all you have to do is change the script input and re-run it.


text:
Connect a loop of edges to a point
I have N edges forming a loop, and the edges are not coplanar.  I want to fill this N-gon with a face, but that does not make sense (at least such a face will not be 3d-printable) since the points are not coplanar.  So selecting all N edges and then pressing F, though it seems to show a face in Blender, is not the solution for me.  So I'm content with simply choosing a new point that is roughly at the center of this loop, and then forming N triangular faces with the N edges.  This will succeed in closing the loop with a "face".  Can someone explain how this is done?
Of course, if someone can explain how I can nudge the N points to become exactly coplanar (they are almost coplanar right now, but not exactly), then of course filling the N-gon with a single face would be acceptable and a more clean solution.

You can do a couple of things:

In edit mode, select the Ngon, and triangulate it. (CtrlT )
Or Poke the face to create a fan (AltP)
Select all the faces you would like to flatten, for an average, or the one you would like the others to match, and create a new Transform Orientation (CtrlAltSpace). Perhaps give it a name. Then, making sure you're in your new orientation,  with the faces you want to be planar selected, scale them to 0 along your newly created Z-axis (SZZ0)


text:
Merging two separated parts back into one perfectly
I have a spherical-like object whose thickness is 1.6 mm.  There is a section of the surface that is to be only 0.8 mm thick.  So I changed the thickness of the entire object to 0.8 mm, then selected the faces that define that special region, then pressed P to separate it from the rest of the object, then changed the entire object's thickness back to 1.6 mm.  So now that special region is 0.8 mm as desired.  The problem now is the gap between that region and the rest of the surface caused by the separation.  I want to close that gap so that from the outside, the surface looks like a single surface and no one can tell where the 0.8 mm thick region is.  What is the most precise way to do this?
I tried moving the edges and vertices of the region so that it intersects with the original surface, but the intersection is not clean (see below).  How to do it perfectly so that it looks like the original surface from the outside?

When I join the two with Ctrl+J, the two regions share the same edges, so I'm stuck on how to proceed there as well.

Am I mistaken to say there is a subdivision modifier involved here with the model you are working on? Have you tried to remove doubles after you Join the 2 pieces together with Cltr + J?

@hawkenfox  Joining with Ctrl + J makes the two regions have the same thickness again (I tried it), when my goal is to have the different regions with different thicknesses.

Have you tried smooth vertex?

Select mesh
Edit Mode
Select these vertices/faces
select smooth vertex from the tools panel

UPDATE:
Another way to do this is adding the thickness to the opposite direction by flipping the face normals and then adding thickness using the solidify modifier. This will add thickness internally so that the original mesh is not messed up as shown below:
I split the sphere into upper and lower half:

I then switched to edit mode and flip normals:

Then add the solidify modifier with the desired thickness and apply it:

as shown I added thickness -0.8 which was added internally.
I then joined the two meshes:

As shown the lower half has more thickness than the upper half.
I wrote the below script to do these steps between two meshes automatically:
import bpy

ob = bpy.data.objects['Sphere.001']
ob.select = True
bpy.context.scene.objects.active = ob
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.flip_normals()
bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.modifier_add(type='SOLIDIFY')
bpy.context.object.modifiers["Solidify"].thickness = 0.8
bpy.ops.object.modifier_apply(apply_as='DATA', modifier="Solidify")
ob2 = bpy.data.objects['Sphere']
ob2.select = True
bpy.ops.object.join()

A blend file can be downloaded from here:

No, I didn't.  But when I try it now, it does not seem to remove the gap but merely deform the gap.

It will smooth the vertices in this area and should do what you want. Like you keep smoothing these vertices until you get the desired smooth surface.

Ok.  Let's say your method does work.  Then it is still a manual sculpting-like solution that will never give the perfect solution I seek (automated and appearing as though nothing was ever done to the surface to begin with).

Well, could you provide your .blend file to have a better look?

I don't know how to attach .blend files here, but one can just take a UV sphere.  Separate a region of the sphere from the rest of the sphere (optionally, change its thickness like I did).  And then see if you can join it back to look like nothing ever happened.

I don't see another way to do it automatically rather than smoothing the vertices, which can be done through python. Wanting to join two separate meshes to fit exactly automatically is kinda not possible, to my knowledge at least. Have you tried smoothing the vertices? Also what is your scenario? If you are splitting a mesh and then want to rejoin it, then why split it from the beginning?

My original post describes how I wanted one region to be thinner than the rest of the region (but I want this to not be visible from outside the surface, hence joining them back together again).

you can upload your file as shown here http://meta.blender.stackexchange.com/questions/658/including-a-blend-file/659#659

@prestokeys I've updated my answer with a better way, adding thickness internally to the mesh instead of externally and wrote a script for the process to be done automatically.

This is very exciting!  I don't understand how to use the code you wrote, but I will try your method with my object.  If it works, I will accept your answer.

@prestokeys, just open the text editor and paste my script then hit the run script button. Check this https://youtu.be/K0yb4sZ7B4g?t=9

@prestokeys I've added a .blend file to the answer.

Let us continue this discussion in chat.


text:
How to export a model with textures from blender to unity

I'm trying to export an mmd model that I have on Blender to Unity .
But it shows without textures

Possible duplicate of .fbx export why there are no materials or textures?

Please use the search function. It's there for a reason and this question gets asked numerous times per week.


text:
Blender 2.8 Cycles Denoiser produces banding
This is the image with denoiser:

This is the image without the denoiser

Turning on Dither made the image with more noise, like I didn't use the denoiser at all.

So, what is your question?

Also, note that z-fighting can be one cause of banding, and you might not recognize it as such if denoising cleans up the render enough that it no longer resembles typical z-fighting you would see in the viewport. (Although I don't think that was the cause in your case, but rather a bit depth limitation as Jerryno described.)

There is banding in both your pictures. I increased the contrast so you can see clearly on any display:

You remove banding by introducing noise, the process is called dithering:
Rendered image shows visible "line strokes" artefacts
So the denoiser removed the noise making the banding more visible. If you'd save that in 16bit and view on 12bit display using quadro graphics there would be no visible banding.
If you'd render the image without denoiser for a lot more samples to clear the noise, you'd see the same banding problem.
If you want to have smooth looking gradients on 8bit displays you need to use dithering (introduce noise). This can be noise from Cycles itself (to be perfect Maxwell produces more natural noise for example), or if you get rid of the noise with denoiser a noise introduced in postproduction through dithering.


text:
Does Blender 2.8 beta support the new gtx1660
I'm thinking about buying a new PC with the recently released gtx 1660, so I want to know that is the 1660 can be used for blender 2.8 beta rendering, did anybody try it yet.
I'm a newbie in blender, so I'm sorry if this question sound stupid but I've heard that newly released GPU can have some problem with kernel (which I have no idea what it means)

I'm voting to close this question as off-topic because it is about hardware. Better ask this at https://blenderartists.org

I think it should work fine, since the GTX 1660, even though it is new, still has the same CUDA cores which blender uses for rendering. Also, all of the new RTX series cards work, meaning the GTX 1660 architecture is supported (not sure why it wouldn't be).


text:
topology broken after extruding the mesh
Its a very simple question, I am not sure what will be the impact of this on rigging & animation of my Organic Model. I was trying to extruding the circle and when I switched from Edit mode to object mode, I found that the mesh is broken (refer ciruclar mesh)
Does it have impact on my rigging & animation & or any other stage (like UV mapping)

Does this help? https://blender.stackexchange.com/questions/21150/some-mesh-edges-in-object-mode-arent-displayed

you are right, thanks  , it helped.. i am learning blender at 7 yrs, so plz excuse for simple question.. Tq

true.. i tried to search, but could not get solution, so i posted.. anyways thanks, pl post your answer.. or shall i flag this ?

The post will get closed as a duplicate if others agree it is. Alternatively, if you see the button shown here on your question you can mark it as a duplicate yourself. If you don't, not to worry, you don't have to do anything.


text:
Will applying Decimate Modifiers speed up Blender?
I'm working on my first big paid project and I'm coming across a lot of problems.  I'm not sure what Blender can handle, but my project was something like 6 million plus faces.  I'd simply click a mesh and have to wait 3 minutes before it makes the selection.
Also, I'm trying to get where I can render this project in Eevee, and it's just been a complete nightmare.  I can only get it to render in Cycles, and only if I set it to render with CPU only.  There was a point where I could render in Eevee and to my surprise Cycles was faster, unless I disable particle effects for some reason.
So I'm trying to optimize my scene.  I've got Decimate Modifiers on almost everything, but I'm wondering if Blender is still calculating stuff before the Decimate Modifiers and if it will help things if I apply all these Modifiers.
So that's my question:  Will it speed anything up if I apply all these decimate modifiers?
If there would be a significant improvement, is there an easy way to apply all Decimate Modifiers on all the objects at once?
Any other advice to further optimize my scene would be a big help!
My Specs:

Windows 10
AMD Ryzen 5 3600
32 GB RAM
NVIDIA GeForce TRX 2060 SUPER

I don't know if it speed up (consider to make a safety copy to try it), but you can apply all at once if you select all of them then hit alt+c and choose "Mesh From Curve..."

Will it speed anything up if I apply all these decimate modifiers?

yes (you can try by yourself btw).
I suspect you are not using correctly blender. If you have a lot of faces, that means that the mesh comes from a sculpt operation or photogrammetry, so you DON'T have to edit the mesh in edit mode. If you stay away from edit mode, you should be able to work on your file.


text:
How to remove all shadows, lights and gloss from render? 2.8
I do not have any camera nor lights yet whenever I switch from LookDev mode with textured models to Render preview it all suddenly gets darker and glossy. I've noticed that adding light to the scene actually reduces darkness according to position. Also in render workspace there are two spheres in right bottom corner where one is completely metallic, other is white but with shadows. How come the scene has these modifiers and how to completely remove them?
attached pic is what I'm talking about

Since you don't add any light to your scene, the render will be dark which only light up by environment light. (It will be weird when you can see object in a place with no light at all)
If you are not going to render it, use DevLook will be a better and easier way to look the scene with the power of EEVEE. You can also use viewport render if you want to get a screenshot.
And the little sphere is preview light setting overlay:

left one: reflection map
right one: diffuse map

If you want a shadowless and reflection less render:
Try to light up your scene by environment light

And also set the shader node if you want no specular at all:

so there is no way to: 1. get rid of reflections on final render? 2. set uniform light from ALL directions like in DevLook?

@JayJayAbrams Yes, that's done by environment light. Blender default use a dark but not black color for it. So you can see the objects in render view even though you didn't setup lights. I edit and update my answer

The reflection is a little bit complicated in CG. But the thing you want is the Specular value in Principle BSDF shader. Set it to 0 will give you a flat view of an object.

YES! Using diffuse BSDF instead of Principled was the solution here. Thank you!  While changing world color had no effect at all. Anyway , back in a days there was option for ray visibility https://i.sstatic.net/2ZEqn.png is there anything similar today?

@JayJayAbrams Not in EEVEE but cycle. In the scene panel

could you please specify where exactly? https://i.sstatic.net/0Ghyr.png Don't have any similar option. ps idk what I clicked but world color actually also started to work with no dependence to option "use nodes on/off"

@JayJayAbrams My bad, same in world panel. (You need to use cycles Render to see the option)


text:
Having trouble installing animation nodes addon
Im trying to install the animation nodes add-on to blender but I cant see the zip file when I click install. I know i'm in the right location, the file just doesn't show up.
This is probably a total rookie mistake but I am a total rookie.
Any ideas?

Back to basics ...
What OS are you using? In Windows, are your file extensions turned off? Outside of Blender (such as file explorer) - can you see the zip file you are looking for?

Im using macOS and I can see it in finder

I made the mistake of downloading the Github repo as a zip file. That doesn't work. You need to get it from here (if you made the same mistake as me) https://github.com/JacquesLucke/animation_nodes/releases


text:
Blender 2.8 Sculpting splitting at edges
I'm a noob I've looked all over and I don't know what to search for, so I've not had much luck, I apologize in advance. I'm using blender 2.8.
So I have an object that I want to sculpt on. Its been imported from a game.
It pulls apart from the seams even after dyntopo and I think it needs vertices added on edges that touch, that don't have vertices on them in that location, if that makes any sense.
Example 2 is just showing that there is no vertice on that edge. Is there a way to auto add vertices on edges that touch an edge that has vertices, that way I can remove doubles and have everything connected? Or am I going about this all wrong?
There are a lot of them that's why I want an easy way.
I just want everything to be connected together so I can sculpt on it and not have it splitting at the edges.

Please avoid thanks and other unnecessary words.  It consumer time of the readers which can be used to help you. : )

Unfortunately there is no automatic way to fix bad topology - neither in Blender nor in any other 3D modelling software. Without knowing anything about your model, the only method that comes to mind is retopologizing the model into a new one.

@metaphor_set, there are tricks that you can use to fix problems though.  For example loop cut and slide to create an edge from 2 to <- would work depending on topology.

Also a noob here. A solution I found is to go to edit mode, select all the vertices around the edge of the hole, click on the button that says 'Face' in the top left, then select the fill option. Only just found it and haven't tested it too much.

You can also hit the F key, which means 'fill'

This sounds like the parts in the game model aren't connected to start with (common for game models).
Looking at what you have, I might try recreating the geometry using the "remesh" modifier, but this will destory materials, UV (texture) maps, etc. You are right in thinking that one edge cannot also be two edges on an adjacent face, and you can subdivide the longer edge then move vertices around till they are in the same place and edge is matched to edge, but you must then select all and "merge by distance" to connect the two. This would also mess up UV maps if you care about them.
More information:
If the creators simply used split edges to create sharp edges (edges of the faces are always next to the edge of another face so it looks connected), you can try selecting all then "merge by distance."
However, if one geometry is intersecting another, such as a fin stuck into the surface of something, or one edge is next to two, that will not work.
The method described in a previous answer of creating faces will work to create manifold (physically possible with no holes) geometry, but could end up making faces with zero area (can be removed automatically with "degenerate dissolve"), and would not work for the fin-stuck-in-surface scenario. Also, the handmade face making would be tedious.


text:
"Doubled" appended custom shapes
When I append a rig with control shapes, the shapes appear “doubled up”, once in a normal Object form – white in the screenshot – and again in a Rig form which can open in Edit and Pose – blue in the screenshot. (The purple Empty is just a control for the whole rig.)
Any idea why this happens?

Check if you have mirror modifier turned on

Thanks Akai – Ray had the answer.

The armature itself doesn't store all the bone shapes ('Custom Object' in 2.8+), it just references them (or the bones do). This means that when you append an armature that is using custom bone shapes it has to append the objects that are being used as the custom bone shapes as well. So what you are seeing is the armature and the custom shape objects it's referencing.
If you're in 2.79 you can just move the bone shape objects to a new layer or if you're in 2.8 you can move them to a new collection and hide them.

That's cleared it up Ray.


text:
What font does the Blender UI use?
I am trying to recreate a blender menu inside a project, and I want to match the fonts. I have done a lot of research, but a lot of the results just tell me how to add fonts to Blender and not what the original font is. Does anyone know which font Blender uses?

The base font is "bfont" which is a form of "Bitstream Vera" fonts that have been modified into a "Deja_Vu" collection to work better with unicode.

Amazing! How did you find it?

I can't remember. I had some reason in the past to try and replicate "bfont" properties, so I know it from when I looked it up then. I still have the font file on my PC, surprisingly. You can get it here if you want - https://www.fontsquirrel.com/fonts/dejavu-sans

As of Blender 4.0, the font has been changed to 'Inter'. https://projects.blender.org/blender/blender/issues/112209

As of Blender 4.0, the new interface font is 'Inter'.
-Source


text:
Denoising missing from Cycles scene panel
I can't find the denoising options on Blender 2.79, even though I'm using Cycles Render. Does anyone have any idea of why this occurs, and how to bring it back?

On the screen blender 2.78 without denoiser.

You should download 2.79b to have denoising function


text:
Transform locks cannot be applied with keyframes
I'm playing around with physics and rigid bodies and I'm trying to make the cube bounce and slide inside a room with rotating walls. Unfortunately, these doesn't work very well.
As the cube falls and hits the second inclined block, the cube bounces out of the block and falls, so I tried keyframing transform locks so it doesn't rotate in the y and z axis (and the cube wont bounce outside) before it goes inside the room, but the problem is, the transform locks can't be unlocked, and the cube rotation stays in x axis only.

Is there a way to use a transform locks with keyframes?
OR
Is there another way so that the cube bounces properly?
Also: I'm using blender 2.76.

Try to do this with Rigid Body Constraints. You should be able to animate the Enable property.