How can i use Filmic with Blender Cycles baking I want to bake my lighting or light map with Filmic but when i change the color management to Filmic (Blender 2.79+) it has no effect.

You can't bake directly with Filmic but you can composite the texture baked.

Baking with Filmic

Warning: before baking check if:

GPU baking is enabled
check if the normals are correct, to bake an interior scene the faces need to be oriented inward
for your materials use the Diffuse and Emissive shaders only, the materials should not have reflections. Color texture and normal map can be used but you will loose their quality
unfold the UVs, you can do a Smart UV Project if it is an interior bake with a margin of 0.05 to hide the seams

Baking steps:

you must first create an image using 32 bit Float, this will allow to save values higher than 1 (this is the most important part, if you don't create the image correctly you will need to rebake everything)
assign the texture for every shaders used by the baked mesh, make sure it's the active image by selecting it if you have multiple textures
bake the lighting
import the image in the compositor and plug it to the Composite node
change your render resolution to match your image, don't forget to set the percentage to 100 %
in the Scene tab in the property panel, change the Color Management setting to Filmic instead of Default and you can eventually adjust the contrast in the Look setting by default it's set to None (does the same as Base Contrast)
do a render (F12) and save the new image, I recommend you to use TGA

You can then update your lighting, bake it and press F12 to have your new lightmap.

Do it for every bakes including the skybox to keep a consistent lighting and avoid "burned" areas.

Using it in Godot Game Engine

To use it in Godot, export your OBJ and uncheck "Write Material" this will allow to have only one material slot. Export your lightmap as TGA, this format is faster to load than PNG and use RGB instead of RGBA to save some memory.

In Godot select your texture, in the Import tab set the Mode to Loseless and uncheck Filter (it blurs the texture).
Add your .obj into the scene, create your Material, assign the lightmap as Albedo and make sure the color is set to pure white to display the texture correctly otherwise it will appear darker. In Flags check "Unshaded".

While playing if the skybox (the sphere with the sky texture) isn't visible increase the Far setting of the camera. You can set it to 1000 instead of 100.

Project files: https://drive.google.com/file/d/1luU3j60UTCjijg6BC2hOkintSy8vzXSp/view?usp=sharing

How to use it correctly

When using baked textures the size of your game can become heavy, that is why I recommend you to have small and few rooms, like for example a 3D puzzle game like Portal.

If objects have to move or be collected the lighting won't be updated. That is why I suggest you to make them transparent, like holograms, so they fit in the game, like in this fully baked game: https://youtu.be/H-E7_mn73BI

What is the benefit of this technique

Having fully baked lighting allow to have a great looking scene that uses almost no ressources to run, it can run without a graphic card at 60 FPS even on a web browser or a mobile device as long as you don't fill the memory.

Later denoising will be added for Cycles baking allowing to get a better result with less samples.


What exactly does the Normal node do? The Blender manual page doesn't give too much information. It has a sphere to change a direction. What direction does it change exactly? I understand that normals are vectors perpendicular to mesh faces, but I just can't figure out how normals work inside the node editor. When I rotate the Normal node sphere, is it changing normal DIRECTIONS? How do I predict the result? I'm so baffled by this.

Thanks.

The Normal node outputs a normalized vector ((X,Y,Z)), meaning a vector with a length of 1. The ball represents the direction of the normal, like you were looking down on it from the top of the 3D Viewport.

Therefore, the default output of the Normal node is (0,0,1), or directly up. When you rotate the ball, you are changing the output normal, as if you were looking at it from the top, so +X is to the right, and +Y is towards the top of your screen.

If you choose to plug something into the Normal input, the Dot output will give the dot product of the input normal and the normal represented by the ball.


What is the role of the graphics card, if any, for CPU rendering? My Blender scenes are quite large (10+ GB), so because of this, I render with CPU, not GPU (because most graphics cards don't contain that much VRAM). So knowing this, I'm buying a new computer, and am not sure exactly if it matters whether I buy a high end or low end graphics card. I think it won't matter (in terms of render time), because I don't think the GPU is involved at all in the render process (for CPU rendering). Is this correct?

If you are only using CPU rendering then the graphics card will not affect your render times but that doesn't mean that you should buy the cheapest graphics card.

With large scenes you will find the viewport drawing will get slower if you choose a low end graphics card. So while it won't help your rendering you will still want to get a graphics card that is closer to the high end than the low end.

With support for OpenSubDiv the graphics card can be used to speed up drawing objects with a subsurf modifier, this short preview shows the benefits. The graphics card can also used through opencl to speed up compositing.


Python: Enter or leave "User Perspective (local)" I'm talking about the so-called User Local View, which you can enter by selecting an object and pressing "Numpad /".

I can detect an active "User Perspective":

for area in bpy.context.screen.areas:
   if area.type == 'VIEW_3D':
      if area.spaces.active.local_view is not None:
          print("I'm in a user perspective")

That local view causes some quirks with several Python operations. Is there a way to store the current local view, leave it and re-enter it upon finish?

Check the menu in the 3D view, and right-click the "View Global/Local" menu item. You can then choose "Copy Python Command". It'll give you bpy.ops.view3d.localview(), which is the operator that is executed when you click on that menu item.

Note that it does require a context of a 3D view, so if you try to execute that command as-is in the Python console, it'll refuse (your Python console doesn't have Global/Local view). However, if you execute it as part of your own operator running in a 3D view, it'll be fine. In that case you can also simply use context.area.spaces.active.local_view instead of iterating over all areas in the current screen.


Mass of shards with the the cell fracture add-on Using the cell fracture add-on I create shards of different sizes, and I want to use them in a rigid body simulation. I have the option to set the mass of the shards based on their volume:

The problem is that I don't know how to access these masses. The shards don't have rigid body physics activated, and if I activate rigid body physics on them, then their mass will be the default 1.000, independent on their size.

I saw a tutorial where the guy went into "Blender Game" mode, and indeed if I do it, I see the expected mass values on the shards. But I don't want to use "Blender Game" - I am not interested in game development. I would like to have these masses with Cycles and normal rigid body physics.

This setting is located in the properties panel>physics>rigid body tab.

You may also go to the tool panel>physics tab, (while in object mode) press T if it is not open already. Select calculate mass, and Blender will give you a host of preset values such as broken glass, iron, cardboard, etc.


Hide Object Properties with Python I have been trying to make an Addon that uses Object Properties and have come up with the following code.

import bpy
bpy.types.Object.save_name2 = bpy.props.StringProperty(options={'HIDDEN'}, name='Save Name')

first_object = bpy.context.selected_objects[0]
first_object.save_name2 = "Bob"

I want to hide the property from Blender's ui so people can't change the values, however, the options=hidden does not seem to work.

Does anyone know how to hide the property? I have been looking around from awhile but i can't seem to find anything.

Try using a property group class where you can store all your properties.

import bpy

class MaterialSettings(bpy.types.PropertyGroup):
    my_int = bpy.props.IntProperty()
    my_float = bpy.props.FloatProperty()
    my_string = bpy.props.StringProperty()

bpy.utils.register_class(MaterialSettings)

Assigning these values to the Object like this:

bpy.types.Object.my_settings = bpy.props.PointerProperty(type=MaterialSettings)

Note:
you can choose a custom name instead of 'my_settings'

And the name after the 'type=' is the classname of your property group .

You can access these properties like this: object.my_settings.my_float = 3.0
object.my_settings.my_string = "Foo"

This way, only the propertyclass will be visible in the properties tab and is only editable via script!


More lights = darker object? (see Pictures) So, I rendered a scene and I was very happy with the lighting, but I wanted more to the image, so I moved things around and added a background object. Now the lighting is totally messed up. No matter what I do the Logo Shape won't light up the same way. The face just won't light up. Here are some pictures:

And here is the most recent render:

Here is the blender file: https://drive.google.com/file/d/1bLsiB4DCggrthn-skXoKDreGBCGBQ4a9/view?usp=sharing

It's missing some textures, but it should be the same otherwise.

The logo in the second image has some Subsurface shading.

I would suggest for the moment to go back to basics,

1: Clean up your logo shader so that it isn't using any subsurf.

2: Replace all your lights with a couple of area lamps.

result is :

Now you can go back and set up shaders and lights as required.


image texture unaligned on uv map i exported my uv map as an image, and painted onto the shapes in fire alpaca. when i tried to apply the texture back into blender by dragging it onto my uv map, it was off to the side and only partly overlapping onto my uv map, and the part that was over lapping did not appear in the render.

Exporting UV layout from Blender works fine and there are no options for the export procedure that could result in a shift of UVs so it is extremely unlikely the problem happens when exporting the UV layout.

As the UV layout is exported in a simple picture format any digital image processing software will most likely be able to read it correctly because that is a very basic operation as far as digital image processing goes so it is extremely unlikely the problem is there as well.

We are left with a few very likely possibilities - you either accidentally moved the UV map or you accidentally moved the image or the image of the UV layout. There is really little mystery here - it is very easy to accidentally click and drag an image.

You can select all the UVs (a) and hit g to move them to their correct position. You can zoom in to be precise and also use shift during the operation to increase precision.


Cycles is using Path-tracing-Tile instead of Sample I know this question as been asked many times before, but the solution, that usually helped doesn´t work for me. So I would be very happy about some assistance!

I built a scene, and when I try to render it is always using Path Tracing Tile....instead of Samples.
I have NOT checked the Square Sample Box! But it is still rendering in Pathes...why could that be?

You are confusing terms.
The number of samples is not the number of tiles being rendered.

8 samples will give you a very noisy image.

Read: How to avoid noisy renders in Cycles?

What you see as orange squares are tiles being rendered. By default blender doesn't render the whole image, but it splits it in tiles to maximize the resources on your computer. Your machine is using 8 threads to render (two threads for each core on the CPU). The size of those tiles is determined in the performance tab:

The default settings are "auto-detect" to determine how many threads will be used for rendering, or you can choose to use a fixed number to keep some other processes in your computer with some resources.

If you render using GPU you will have as many tiles as GPUs you have installed in your machine. With olny one GPU, only one tile will be rendered at the time.

Read: How do the number of cores in the CPU relate to the rendering tiles?

Read also: How can I render the way the render preview renders?

The square sample box does something completely different. It has nothing to do with the shape of the samples. When you enable "square samples" you are mulitplying the number of samples by itself.


Boolean (difference) not working properly on rather simple geometry This topic seems to be asked a lot.
I am very new to blender, so I am still learning the in's and out's. I am trying to use the small cube to cut out a section of the latch, however, each attempt instead removes the latch and leaves the cube. I have tried the three recommended solutions of eliminating duplicate vertices, recalculating the normals, and making sure the geometry is all closed up. Still, even with those checks, when I try to use the boolean difference modifier, it doesn't work properly.
dropbox file

http://i.imgur.com/5ySnVQx.png

Make Sure all the Scale values of the Smaller Simple Block are Positive ... greater than zero.

The scale values should all be positive.  Remove the negative sign.

The smaller item in the picture needs to have all scales positive for clarity and to have the boolean modifier work.

Here are suggested settings for the modifier.


why the particles not coming on the top of mesh With the particle object i tweak all the setting. Why the object particle inside the me mesh.

The position or angle is good only the particles not on the top of the mesh gone inside the mesh. Any way to get it out without disturbing the angle or rotation. Any suggestion or help thanks.

You did not the check Rotation box in the particle settings, so all particles have the same orientation and rotation as their source: "Plane.004"

And you used the vertex group "Group" to emit particles form the entire lower body of the bird.

Together these two things cause a lot of the feather particles to stick through the lower body mesh.
Possible solution:
You could make the vertex group smaller. For instance: limit the used vertex group to only the middle bottom edges of the body of the bird (highlighted and selected in the image below). Then there would only be feathers on the bottom of the body, and only a few would stick into the body a little:

Other things you can do:
(but might not fit your needs)
1:
You have very little control over the location of the particles because your model is very low-poly (or low resolution in terms of vertices). If you apply your Subdivision modifier you can be more precise with the location of emission via vertex group.
2:
You could check the Rotation box in the particle setting and for instance choose Normal for the Orientation axis.


Matrix Parenting or Global Transform Another animation nodes and Matrix related question.

I have this setup of circular formation of objects. I use Matrix Combine to set this up, and then I group it.

Now, I just want a simple Matrix Transformation that will transform the setup as a whole. I cannot do that. I wonder how to do this simple parenting.

I tried Matrix Math, but it is not working. Especially with rotation, I cannot easily rotate just the whole thing.

The Replicate Matrices Node can be used, for instance, I can replicate a group of circularly distributed matrices on another group of circularly distributed matrices as follows:

This can be understood by viewing both inputs. You see that the blue matrices were copied and transformed to each of the green matrices:


Subtitle like text always facing to the camera I am using the blender cycles render as png or jpg in first step and than I add these images to create a movie. It will help render in parts for me.

I want to add the text in the video that always facing to the camera, like a subtitle.

I tried to add the text and align it to the camera but result is not very good like this

Is there a way to add such text? Thanks in advance!

Setup a new Scene for text.
Select the Camera and change it to Orthographic.

Properties > Data(Camera icon) > Lens > Orthographic

Reset Camera Location (Alt+G) and Rotation
(Alt+R).
Move Camera along Z-axis till it is above 0.
Text Object can be place on the X-Y plan as you like.

To combine the animation and text, crate another new Scene and import the 2 Scenes into VSE.


Display rotate manipulator controls? Is it possible to set up Blender to have rotation controllers similar to Maya?

Preview of Maya's rotation controllers:

Just enable the 'Transform Manipulator' in the 3D header:

Ctrl+Space will toggle the Transform Manipulator on or off. You can also Shift select the options beside the Transform Manipulator option to show the Location, Rotation and Scale controls at the same time.

For blender 2.8 the manipulator section is on the toolbox on left of the screen (if you can't see it press T)


Where's "link object data" When creating new scenes? There used to be an option when creating new scenes to link only object data and not the "object" itself, so every object in the new scene could have its own transformation values. Is there any workaround? And is there any particular reason why this feature was removed?

The method to organize things is different with the new collection system. If you want to link object data, choose linked copy, then in your new scene right-click on the collection(s) and duplicate linked. Then uncheck the old one to hide it from this scene.


Save blender files with lowercase Is there a way to make blender only use lowercase letters when saving a file?
And if not, is there a way around it? For instance executing a script to change the file name to lowercase before actually saving the file in a directory?

For some context, I work with multiple blender artist, and even tho we have a naming convention it does happen that some of us slip back in their old habits of capitalizing names, which creates some problems with GIT that I would like to prevent.

PS. this is specifically about the name that's used to save the .blend file

Update: I believe I found a way to change the file name but only after it's saved, so now I'm looking for a way to pause blender to change the name.

    def execute(self, context):

        bpy.ops.wm.save_as_mainfile('INVOKE_DEFAULT')

        outname = bpy.path.basename(bpy.data.filepath)
        outpath = os.path.dirname(bpy.path.abspath(bpy.data.filepath))
        filename = bpy.path.basename(bpy.context.blend_data.filepath)

        filename = filename.lower()
        print(filename)
        if not bpy.app.handlers.save_post:
            print("not finished")
            return {'PASS_THROUGH'}
            if bpy.ops.file.execute():
                print("yes")

        else:
            print("finished")
        print('done')

#       wait = bpy.app.handlers.save_post
        print(filename)
        print("test111")
        bpy.ops.wm.save_mainfile(filepath=os.path.join(outpath, outname),
        check_existing=True)

        print(filename)
        self.SaveAsRotationFix()

        return {'FINISHED'}

This is what I'm currently working with, (probably not a very efficient way of doing this.)
My thought process is to be able to save the file with capitalization and after the file is created, run another save action to change the name to a lower case version.
This fixes the issue I have when saving without a pre-existing file.

Edit:
TLDR: if I save a file as Cube.blend I want it to change it to cube.blend

Override the Save Mainfile operator
Similarly to Add prefix to filename on "Save Blender File"  which on a quick parse could be given the standard CtrlS shortcut.
Another method is to override the save operator and simply pass the converted filepath to the save as operator.  Proof of concept code below. Simply prints the filepath to be "rejigged" and saved.  Notice how it becomess the operator in the menu and called by shortcut.
Below is the export operator from the templates rejigged to override "wm.save_mainfile"
import bpy

from bpy_extras.io_utils import ExportHelper
from bpy.props import StringProperty
from bpy.types import Operator

class ExportSomeData(Operator, ExportHelper):
    """This appears in the tooltip of the operator and in the generated docs"""
    bl_idname = "wm.save_mainfile"  #
    bl_label = "Save..."

    # ExportHelper mixin class uses this
    filename_ext = ".blend"

    filter_glob: StringProperty(
        default="*.blend",
        options={'HIDDEN'},
        maxlen=255,
    )

    def execute(self, context):
        print(f"Call save as, rejig {self.filepath}")
        #bpy.ops.wm.save_as_mainfile(filepath=self.filepath)
        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

This ofcourse won't help if a user chooses save as instead and uses an uppercase filename.


cant drag floor point in archipack Problem
When I create a new floor and manipulate it, I cannot drag freely the white dot (the parts).
What I tried
I created a new file and in the new file it works fine. But I did a lot of work on this file.
Blender File

I tried an approach that often works for me in recovering from blender trickery ;-)
I started a new blend app session, "File :: Append" the old file, and things started working again.   As I had only a lowly 16 GB RAM, I set 3d-view to solid (not Material Preview) as compiling the Material renders would blow my memory limit.
With this workaround, there's no telling how many times you may need to recover, as you'll need to report this bug to the Archipack community.


How do I select circles? How do I select a whole circle at once in blender without selecting other objects that are touching it?
I have tried every key on my keyboard and I'm just wrecking the model. I can't find the answer anywhere.

In edit mode Hold down alt and right click on the circle.


Is there a way in which we can merge two meshes in edit mode? I have two mesh islands in the same plane which overlap as shown in fig1.
 Now when I go to selection and do "select boundary loop", it selects the full boundaries of both the islands as shown in fig2 . But what I ideally want to select is just the outermost loop of both the meshes combined as shown . For this I wanted to merge both the islands as one island. Is there a way I can do this?

Select one of your squares. Apply a BOOLEAN modifier with UNION.
Make sure the subdivision number is the same, try aligning them vertex to vertex. Use snap if necessary.
Set the boolean operator to UNION and select the second square.
Voilá.
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


How to make the Doctor Strange reality bend? I've got this idea, to try and recreate the Doctor Strange reality bending effect. With that I mean the one where the floor peels back and twirls on itself.
I thought it would be relatively easy to do, but I've found myself with some problems, I tried to add loop cuts to a plane to act as steps, use the edge split modifier, then the solidify, and lastly the simple deform. But it affects the whole mesh so I used a vertex weigh proximity modifier, but this one only affects on one point.
Is there a way to do this effect without using drivers and making the scene very over-complicated?
Image of the actual effect for reference

Actually your idea of using the Simple Deform modifier seems to work with the Twist option and an empty as Origin that you move on the X axis. Once your good, parent both the stairs and the empty to a new empty that you rotate 45° on the Y axis:

In the clip you show, the stairs don't even seem to bend on their height, they just duplicate the first stairs and delayed a bit the animation, imho it's as simple as that, but you can also deform it a bit with a Lattice or a Mesh Deform modifier.


Edit Many Materials at Once [Insert a Group in all materials node chain] The Situation:
I'm creating a flying photo effect of hundreds of photos, using a particle system.
I've created a custom group that includes lowering transparency based on camera distance, so as you fly through the photos they'll disappear the closer you get so you won't fly through an opaque one resulting in a one frame pop as you fly through it.
The Problem:
I have hundreds of photo's that each have their own materials (imported with 'Images As Planes' add on).
I need to insert this camera-distance-transparency group into every photo's material node set up (pictured below).
Question:
Is there any easy way to do this rather than manually adding this group to hundreds of shaders one at a time? I'm relatively new to Blender so I can't figure out a workaround. I'd think there could be a way to create a 'for loop' script possibly, but I'm not knowledgable enough to be able to create that.
The circled group in this screenshot is what I'm trying to insert:

Thanks for the help!

Look for Links.
Requested clarification, am making same assumption that you're after adding your group node between BSDF and Material Output.
Similarly to Look for Links method from this answer.  The concept is to look for a certain link in all materials and, if it exists poke a group node inbetween.
Edit To reflect your Node Group

Name of Node Group (groupname)
Name or Index of Input Socket (in_socket)
Name or Index of Output Socket (out_socket)

If there is no node group with groupname as name, do nothing print message.
Look for all node materials links (links) between BSDF  and into Material Outputs "Surface" socket.  Looking at the node type avoids error if the node has been renamed.
If there are links then add a new group node and plug the bsdf out into designated in socket and out socket into material output surface socket. (Need a drink)
Shift the  material output by 120% of group node width, and put groupnode where output node was.
Test script, as always back up first.
from bpy import data

# details of groupnode.
groupname = "NodeGroup"
# sockets to link by name or by index
in_socket = "Shader"
out_socket = 0

# get the group node
group = data.node_groups.get(groupname)

if group:
    # find all the links to poke groupnode into
    links = [
            (mat.node_tree, link)
            for mat in data.materials
            if mat.use_nodes and not mat.is_grease_pencil
            for link in mat.node_tree.links
            if link.to_node.type.startswith('OUTPUT_MATERIAL')
            and link.to_socket.name.startswith("Surface")
            and link.from_node.type.startswith('BSDF_PRINCIPLED')
            ]
    while links:
        nt, link = links.pop()
        # make a groupnode assign it group.
        gn = nt.nodes.new('ShaderNodeGroup')
        gn.node_tree = group
        # put group node at location of output node
        # and move output to accomodate.
        gn.location = link.to_node.location
        link.to_node.location.x += 1.2 * gn.width

        # the sockets
        group_in = gn.inputs[in_socket]
        group_out = gn.outputs[out_socket]
        # make new links
        nt.links.new(link.from_socket, group_in)
        nt.links.new(group_out, link.to_socket)
else:
    print(f"No groupnode named {groupname}")


exporting multiple animated objects to gltf I'm fairly new to gltf and am gradually learning about it's abilities/limitations. I am currently trying to test a file that would have multiple objects animate in a scene. However, whenever I export, only one of the objects animates (but if I export them individually, they animate fine on their own).

I read in the documentation that "glTF allows multiple animations per file, with animations targeted to particular objects at time of export. To ensure that an animation is included, either (a) make it the active Action on the object, (b) create a single-strip NLA track, or (c) stash the action." but it's hard to tell if that means one object can animate multiple times, or if you can have multiple objects animate in the one export. As I tested this with no success, but maybe I'm not creating the NLA track properly.

Any help or clarification with this would be extremely appreciated!

Thanks :)

A newer manual says:
"An NLA Strip animation consists of multiple actions on multiple objects that should play together. To create an NLA strip animation with the name “My Animation”, push the action that should play each object onto an NLA track for that object with the name “My Animation”.
NLA Strip animations will be exported if the Animation ‣ NLA Strips option is selected (on by default). All glTF animations are imported as NLA Strip animations."
Or see here: https://github.com/KhronosGroup/glTF-Blender-IO/issues/219#issuecomment-453621051
The second part of that post:  "If you have two NLA tracks with the same names on different objects, you should get a single merged animation out that affects both."
So you have to create NLA tracks and give them the same name. It worked with my animation. good luck with yours!


Plane is not solid in cell fracture, but explodes I'm trying to make fractured glass from a bullet from the Blender Guru tutorial Make glass smash animation and I'm not sure why my plane explodes when it should be solid.  I tried messing with the margin in mesh data in cell fracture, but no matter how far apart or close together, the shards explode.

As you can see from the plane on the left, it's totally unstable.

Here's the .blend

Finally figured it out. Had to reduce the source limit.


OpenCL AMD Incompatible GPU I recently installed an AMD graphics card in my machine (Radeon RX570 to be exact), which should be OpenCL 2.0 compatible according to AMD, but when I try to set my Cycles render device to OpenCL, I get the "no compatible GPUs found for path tracing" error. This is my first time using an AMD graphics card- are any additional drivers are required for OpenCL to work in Blender?

I am running Linux Mint 19.3. inxi -G returns:

  Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X]
  driver: amdgpu v: 5.4.7.20.10
  Display: x11 server: X.Org 1.20.5 driver: amdgpu,ati
  unloaded: fbdev,modesetting,vesa
  resolution: 1280x1024~60Hz, 1024x768~60Hz, 1920x1080~60Hz
  OpenGL: renderer: Radeon RX 570 Series
  v: 4.6.13594 Core Profile Context 20.10 ```

GPU rendering with OpenCL requires the proprietary AMD drivers on Linux. This is documented in Blender's manual:

  AMD drivers are open source, except for the OpenCL support which is available as part of Pro drivers. Installing packages through your Linux distribution is usually best. AMD also provides graphics drivers for download on their website if you need the latest version.

  AMD Drivers and Support Website


How to install for ALL users on a Mac I need to install Blender for multiple users on a mac, but they do not have admin permissions to install themselves. I need to be able to install under my admin account for all standard users as well

I don't use a Mac, but I think this question here answers it.

  It depends where it installs to.

  If it goes into the main Applications folder, then yes, it's available
  to all users - though each user will have their own distinct prefs,
  saved under their account.

  If it's installed to /Users/[your name]/Applications, then it's only
  available to that user

This here also seems relevant.


How to copy nodes and their links from one node tree/material to another - in python? I'm trying to copy nodes from one node tree/material to another, in python.

As far as I can tell there is no good way to do this.

I have even tried context switching and then either try to use

bpy.ops.node.clipboard_copy() or bpy.ops.node.group_make() on the selected nodes.

But both will fail due to wrong context, even though I have successfully changed the area.type to "NODE_EDITOR" or the area.ui_type to "ShaderNodeTree".

So, I'm at a loss here. I don't want to have to figure out the entire tree structure and re-create all individual nodes.
I can select the nodes I need easily though. I would also be fine with somehow merging both trees and removing what I don't need.

Any help with this would be really appreciated. Blender 2.80.
Just getting the node ops to work after a context switch to the node editor, would suffice already.

To clarify: I'm running my tool from VIEW_3D in object mode. I'm switching the context to the node editor like so:

def change_context(string):
    area = bpy.context.area
    old_type = area.type
    area.type = string
    return old_type

This works, in that it switches the 3d view to the node editor, but following this with calling bpy.ops.node.group_make() or bpy.ops.node.copy() will fail:

RuntimeError: Operator bpy.ops.node.group_make.poll() failed, context is incorrect

Calling the node ops from the search bar in proper, manually changed context works. So I suspect my context switching is incomplete?

edit2: video demo
https://www.youtube.com/watch?v=N9tZLqHvcL4

running group_make() from node editor, works fine
switching area to node editor and running it, fails

After some experimenting, I couldn't find any way of doing this with bpy.data or with the operator for making a group, so I decided to write my own:
This operator takes in the name of the node group that should be created and then moves all selected nodes from the actives object active material in a node group with that name. It also copies all the links between the nodes and the property values. It doesn't just copy the input values but also dropdowns and similar options.

Here's the code:

class NODE_OT_MakeGroup(bpy.types.Operator):
    bl_idname = "node.group_make_no_context"
    bl_label = "Make Context Free Group"
    bl_description = "Make group from selected nodes without context"
    bl_options = { "REGISTER", "UNDO" }

    name: bpy.props.StringProperty( default="NodeGroup" )

    @classmethod
    def poll( cls, context ):
        """run operator only if an active object with an active material exists"""

        if context.active_object:
            if context.active_object.active_material:
                if context.active_object.active_material.use_nodes:
                    return True
        return False

    def get_selected_nodes(self,context):
        """returns a list of the selected nodes from the active objects active material"""

        nodes = []
        for node in context.active_object.active_material.node_tree.nodes:
            if node.select:
                nodes.append(node)
        return nodes

    def copy_attributes(self, attributes, old_prop, new_prop):
        """copies the list of attributes from the old to the new prop if the attribute exists"""

        #check if the attribute exists and copy it
        for attr in attributes:
            if hasattr( new_prop, attr ):
                setattr( new_prop, attr, getattr( old_prop, attr ) )

    def get_node_attributes(self, node):
        """returns a list of all propertie identifiers if they shoulnd't be ignored"""

        #all attributes that shouldn't be copied
        ignore_attributes = ( "rna_type", "type", "dimensions", "inputs", "outputs", "internal_links", "select")

        attributes = []
        for attr in node.bl_rna.properties:
            #check if the attribute should be copied and add it to the list of attributes to copy
            if not attr.identifier in ignore_attributes and not attr.identifier.split("_")[0] == "bl":
                attributes.append(attr.identifier)

        return attributes

    def copy_nodes(self, nodes, group):
        """copies all nodes from the given list into the group with their attributes"""

        #the attributes that should be copied for every link
        input_attributes = ( "default_value", "name" )
        output_attributes = ( "default_value", "name" )

        for node in nodes:
            #create a new node in the group and find and copy its attributes
            new_node = group.nodes.new( node.bl_idname )
            node_attributes = self.get_node_attributes( node )
            self.copy_attributes( node_attributes, node, new_node )

            #copy the attributes for all inputs
            for i, inp in enumerate(node.inputs):
                self.copy_attributes( input_attributes, inp, new_node.inputs[i] )

            #copy the attributes for all outputs
            for i, out in enumerate(node.outputs):
                self.copy_attributes( output_attributes, out, new_node.outputs[i] )

    def copy_links(self, context, nodes, group):
        """copies all links between the nodes in the list to the nodes in the group"""

        for node in nodes:
            #find the corresponding node in the created group
            new_node = group.nodes[ node.name ]

            #enumerate over every link in the nodes inputs
            for i, inp in enumerate( node.inputs ):
                for link in inp.links:
                    #find the connected node for the link in the group
                    connected_node = group.nodes[ link.from_node.name ]
                    #connect the group nodes
                    group.links.new( connected_node.outputs[ link.from_socket.name ], new_node.inputs[i] )

    def add_group_nodes(self, group):
        """adds the group input and output node and positions them correctly"""

        #add group input and output
        group_input = group.nodes.new("NodeGroupInput")
        group_output = group.nodes.new("NodeGroupOutput")

        #if there are any nodes in the group, find the mini and maxi x position of all nodes and position the group nodes
        if len(group.nodes) > 0:
            min_pos = 9999999
            max_pos = -9999999

            for node in group.nodes:
                if node.location[0] < min_pos:
                    min_pos = node.location[0]
                elif node.location[0] + node.width > max_pos:
                    max_pos = node.location[0]

            group_input.location = (min_pos - 250, 0)
            group_output.location = (max_pos + 250, 0)

    def execute( self, context ):
        """creates the node group, copies all attributes and links and adds the group input and output"""

        #create new node group
        group = bpy.data.node_groups.new( name=self.name, type="ShaderNodeTree" )
        #get the list of all selected nodes from the active objects active material
        nodes = self.get_selected_nodes(context)

        #copy all nodes from the list to the created group with all their attributes
        self.copy_nodes( nodes, group )
        #copy the links between the nodes to the created groups nodes
        self.copy_links( context, nodes, group )

        #add the group input and output node to the created group
        self.add_group_nodes(group)

        return { "FINISHED" }

I'm sure there are some improvements that could be done to this and of course, it's not a perfect solution because that operator basically already exists, but I think it's the best option while these are not working. I tried it with 2.83 and it seems to work fine for all cases I tested.

EDIT:
Here's a version that was better suited for my personal case. It has an additional parameter to specify a specific material. If it doesn't get a value for that parameter it defaults to the active objects active material. Otherwise, it's the same as the one above:

class NODE_OT_MakeGroup(bpy.types.Operator):
    bl_idname = "node.group_make_no_context"
    bl_label = "Make Context Free Group"
    bl_description = "Make group from selected nodes without context"
    bl_options = { "REGISTER", "UNDO" }

    name: bpy.props.StringProperty( default="NodeGroup" )
    material: bpy.props.StringProperty( default="")

    def get_selected_nodes(self,context):
        """returns a list of the selected nodes from the material"""

        nodes = []
        for node in bpy.data.materials[self.material].node_tree.nodes:
            if node.select:
                nodes.append(node)
        return nodes

    def copy_attributes(self, attributes, old_prop, new_prop):
        """copies the list of attributes from the old to the new prop if the attribute exists"""

        #check if the attribute exists and copy it
        for attr in attributes:
            if hasattr( new_prop, attr ):
                setattr( new_prop, attr, getattr( old_prop, attr ) )

    def get_node_attributes(self, node):
        """returns a list of all propertie identifiers if they shoulnd't be ignored"""

        #all attributes that shouldn't be copied
        ignore_attributes = ( "rna_type", "type", "dimensions", "inputs", "outputs", "internal_links", "select")

        attributes = []
        for attr in node.bl_rna.properties:
            #check if the attribute should be copied and add it to the list of attributes to copy
            if not attr.identifier in ignore_attributes and not attr.identifier.split("_")[0] == "bl":
                attributes.append(attr.identifier)

        return attributes

    def copy_nodes(self, nodes, group):
        """copies all nodes from the given list into the group with their attributes"""

        #the attributes that should be copied for every link
        input_attributes = ( "default_value", "name" )
        output_attributes = ( "default_value", "name" )

        for node in nodes:
            #create a new node in the group and find and copy its attributes
            new_node = group.nodes.new( node.bl_idname )
            node_attributes = self.get_node_attributes( node )
            self.copy_attributes( node_attributes, node, new_node )

            #copy the attributes for all inputs
            for i, inp in enumerate(node.inputs):
                self.copy_attributes( input_attributes, inp, new_node.inputs[i] )

            #copy the attributes for all outputs
            for i, out in enumerate(node.outputs):
                self.copy_attributes( output_attributes, out, new_node.outputs[i] )

    def copy_links(self, context, nodes, group):
        """copies all links between the nodes in the list to the nodes in the group"""

        for node in nodes:
            #find the corresponding node in the created group
            new_node = group.nodes[ node.name ]

            #enumerate over every link in the nodes inputs
            for i, inp in enumerate( node.inputs ):
                for link in inp.links:
                    #find the connected node for the link in the group
                    connected_node = group.nodes[ link.from_node.name ]
                    #connect the group nodes
                    group.links.new( connected_node.outputs[ link.from_socket.name ], new_node.inputs[i] )

    def add_group_nodes(self, group):
        """adds the group input and output node and positions them correctly"""

        #add group input and output
        group_input = group.nodes.new("NodeGroupInput")
        group_output = group.nodes.new("NodeGroupOutput")

        #if there are any nodes in the group, find the min and maxi x position of all nodes and position the group nodes
        if len(group.nodes) > 0:
            min_pos = 9999999
            max_pos = -9999999

            for node in group.nodes:
                if node.location[0] < min_pos:
                    min_pos = node.location[0]
                elif node.location[0] + node.width > max_pos:
                    max_pos = node.location[0]

            group_input.location = (min_pos - 250, 0)
            group_output.location = (max_pos + 250, 0)

    def execute( self, context ):
        """creates the node group, copies all attributes and links and adds the group input and output"""

        #set material if not given
        if not self.material:
            self.material = bpy.context.active_object.active_material.name

        #create new node group
        group = bpy.data.node_groups.new( name=self.name, type="ShaderNodeTree" )
        #get the list of all selected nodes from the active objects active material
        nodes = self.get_selected_nodes(context)

        #copy all nodes from the list to the created group with all their attributes
        self.copy_nodes( nodes, group )
        #copy the links between the nodes to the created groups nodes
        self.copy_links( context, nodes, group )

        #add the group input and output node to the created group
        self.add_group_nodes(group)

        return { "FINISHED" }


Where is sculpt vertex paint in 2.92? I have seen YouTube videos featuring sculpt vertex paint but the buttons for it don't appear in my sculpt menu. Some people have said it's an experimental feature that needs to be activated in the Preferences window but it is not included in the options. Has it been removed from 2.92? Could someone please let me know?

Get an alpha version and Enable Develope Extras
Since somwhere around 2.9 version series appeared, some experimental features are hidden by default (they are not ready yet, we don't want a basic user to mess their file with them).
You can enable experimental fetures by enabling the Developer Extras checkbox in the Preferences.

Then the Experimental tab appears and you can choose the feature to enable.
Vertex color in sculpting is the first one.

You could probably find the features while 2.92 was in aplha or beta version, but nowadays that the version has become official, it was removed.
You are more likely to find them in old 2.92 alpha versions, current alpha versions, custom builds...


How to apply albedo, ambient occlusion, normal/bump maps and metalic/roughness texture for Cycles? I have a model with multiple maps : albedo, ambient occulusion,metalic,roughness and normal map. I only managed to add the normal map to the mesh in Cycles. I want to apply the others too but don't know how

How would I go about applying the other maps in Cycles ? I couldn't find any reference on YoUTube or Google.

What you want to do is use the Principled Shader node! It has dedicated slots for all of those maps, except for ambient occlusion. Albedo is the same as base color. To use your ambient occlusion, in this case, multiply it with your albedo map before plugging it into the base color. You can either do it in the node editor with a mixRGB node (one of the dropdown options is multiply), or externally in an image editor.

Here's an image of what you probably should have in the node editor so that you can apply all of your textures onto the mesh. I got this screenshot from Blender Guru's tutorial on Principled Shader in Blender:

(In addition, make sure you have a Texture Coordinate node, found in 'input' under the 'add' menu, and hook up your UV slot to your texture maps.)


Anyone know how detect what vertex are in the edges of a mesh? Anyone know how detect what vertex are in the edges of a mesh?

I want math code, not a user interface procedure.

Really, I want the same function that Blender has when you select an object and you can see a small "focus" color around all the silhouette of the mesh.

Any idea, or advice (including where is defined the focus in C code) will be welcome.

The Blender Compositor can

Identify, Blur or Dilate, a Pixel Selection to produce a silhouette.
The Pixel Selection can be a Rendered Object

Freestyle can outline objects as well

The above was done with Freestyle


Edge loop select not working? I'm on Win10 and when I try to select an edge loop using Alt+LMB (or Alt+RMB) while in edge select mode, nothing happens.
What am I doing wrong? I'm following this tutorial by Blender Guru, and want to select the bottom edge loop of the icing. In his video, he does this just fine, but it doesn't seem to work for me; nothing gets selected.

This tool doesn't work if you have Emulate 3 button mouse enabled in preferences. The alt-click is used in this function, and so select edge loop using alt-click is disabled.


Changing only one linked group Original File I've linked several groups from one file to another. But after i wanted to change one group's original file to another. In which I was successful by changing the blend file path in the outliner following this answer, however when I do so. all the other linked groups disappear (which make sense).

The question : is there a way to change the original file of only one linked group ?

I hope I understand correctly.

If it's not the file itself you need to change but the content I think it would be easiest to simply select group and copy+paste selection to the file replacing the group/objects there.


glTF exporter with images I'm currently trying to import an exported .gltf into my program. I'm now at the point where I need the information of the image. But in the .gltf is no 'image' or 'texture' section, even if I check 'Embed images'.

In my test model I took just the default cube, unwrapped an uv map and painted the model. After all, I saved the image.

Am I completely mistaken in my procedure?

Ask me about any information you need, I'm not really familiar with blender, I'm just scratching its possibilities to create basic objects.

Thanks for your help!

For a while there was a known issue in the original glTF exporter where it wouldn't export "packed" images (ones that exist only in Blender, not on disk, such as resulting from texture painting as you describe).  This is fixed in the newer glTF-Blender-IO project, that ships with Blender 2.80 Beta.


Principled Metalic shader in 2.79RC2 is not influenced by the Specular value. Bug or feature? In 2.79 RC2 when using the Principled shader, increasing the Specular value of dielectric materials (Metallic = 0.000) gives you a boost of reflection. In the case of metallic materials (Metallic = 1.000) the Specular value doesn't have any perceivable effect on the material. Whether Specular is 0 or 5000 the appearance of the surface is the same.

Should I report that as a bug or is this how it is supposed to work (because it's physically correct or whatever)?

This is the correct behaviour.

In the principled shader the specular value is used to derive the index of refrection (IOR) used for reflection on the material. However, for metals, the reflectivity/IOR is instead determined from the surface colour, so the specular value here should be ignored.
Th paper it is based on can be found here. In particular section 5.2 describes the parameters, noting that for the metallic model, the specular is derived from the base colour:

  The metallic model has no diffuse component and also has a tinted
  incident specular, equal to the base color

While not exactly the same as the principled bsdf, the unreal engine's PBR shader is also based on the same paper by disney, and uses similar parameters, their description is worth a read.


Can I restrict viewport render to inside the camera Is it possible to enable viewport rendering, but when in camera mode, restrict it to only inside the camera?

My current workaround is to hit Ctrl+B for render boarders, and select as much of my camera as possible.

Pablo Vazquez has created an addon called the Amaranth Toolset which (among a ton of other useful features) adds a way to do exactly what you are looking for.

Once the addon is installed just go into camera view and hit W > camera as render border.


How can I remotely access Blender 2.8? I am trying to remotely access Blender in a host server.

Both client PC and host server have Nvidia GPUs installed that are compatible with Blender. Blender works properly in both PCs if they were accessed physically not remotely. When I am trying to access Blender remotely in the host server, however, Blender does not start running and I get the error message below.

"Blender - Unsupported Graphics Card or Driver: A graphics card and driver with support for OpenGL 3.3 or higher is required. Installing the latest driver for your graphics card may resolve the issue. The program will now close."

I checked the GPU driver versions of both the client PC and the host server. They are all updated to the latest versions.

Any suggestions on how to solve this problem? Appreciated.

Client workstation: Intel(R) Xeon(R) W-2125 CPU @ 4.00 GHz with one NIVIDIA GeForce RTX 2080 Ti. Windows 10 Enterprise.

Host Server: Intel(R) Xeon(R) Silver 4216 CPU @ 2.10 GHz with NIVIDIA TITAN RTXs. Windows Server 2019.

I am accessing the server using the default "Remote desktop connection" Windows application.

Maybe Windows remote desktop connection application does not use the GPU to display the screen somehow. You could try some other application for remote connection. I use Google's Chrome Remote Desktop(that is free) and it seems to work fine.


How to check whether a list exists? How to check whether the list (of vertices) exists?

I want to append a new vertex to a list or create one if it does not exists.

if verts is not exist:
    verts = [[0,0,0]]
    edges = []
    faces = []
else: verts.append([1,1,1])

If you want to test whether a variable exists, you can follow this solution and see if it's in locals() or globals().  So your code would be

if 'verts' in globals() or 'verts' in locals():
    verts.append([1,1,1])
else:
    verts = [[0,0,0]]
    edges = []
    faces = []


Blender 2.8 Python , Bevel from shape not working I am attempting to make cords using python in Blender 2.8

Currently, I have successfully made it work when using a normal bezier curve that I modify along with a circle I added. (see image below)

My issue on a spline that I add points to and combine into a curve seems to have an issue where it will not run the bevel-using-shape option unless it is run in separate code, or done by hand. (see images below)

I'll also include my code which shouldn't need any adjustments to test. The only issue is the last line that bevels.

Thanks in advance!

#Import python
import bpy
#Import vectors
from mathutils import Vector
#Import math allows access to things like pi
import math as m

#___________________________________COIL-SHAPED Start: This Script Allows a Coil-shaped spline

#Create a circle spline/bezier circle | in the center ofthe world
bpy.ops.curve.primitive_bezier_circle_add(radius=0.15, enter_editmode=False, location=(0, 0, 0))
#rename it
for obj in bpy.context.selected_objects:
    obj.name = "Coil_Circle"
    obj.data.name = "Coil_Circle"

# a list of coordinates for the vertices of the spline to follow
coords_list = [[0,0,0], ]

#This is how to reference a specific part of the list
#coords_list[1] = [0,0,0]

#Variables for the coil shape to follow
# n = how many to make
n = 33
# r = the distance between each one | also can be considered how whide the coil will be
r = 2
# the distance vertically from the ground
z = 0

# for loop through n
for i in range(1,n+1):
    #Add a new spot into our list
    coords_list.append([0,0,0])
    #create an angle using pi that allows for rotation
    angle = ((i-1)*4*m.pi)/n
    #the x position change of the new point
    x = r*m.cos(angle)
    #the y position of the new point
    y = r*m.sin(angle)
    #the z position (vertical)
    z = 0.01*i
    #Assign the position to the list
    coords_list[i] = [x,y,z]

# make a new curve
crv = bpy.data.curves.new('crv', 'CURVE')
crv.dimensions = '3D'

# make a new spline in that curve
spline = crv.splines.new(type='NURBS')

# a spline point for each point
spline.points.add(len(coords_list)-1) # theres already one point by default

# assign the point coordinates to the spline points
for p, new_co in zip(spline.points, coords_list):
    p.co = (new_co + [1.0]) # (add nurbs weight)

# make a new object with the curve
obj = bpy.data.objects.new('Coil_Delete', crv)
# link the points to complete the spline curve
bpy.context.scene.collection.objects.link(obj)

# Deselect all
bpy.ops.object.select_all(action='DESELECT')

#Select the curve
bpy.data.objects['Coil_Delete'].select_set(True)

#rename it
for obj in bpy.context.selected_objects:
    obj.name = "Coil_Curve"
    obj.data.name = "Coil_Curve"

#____________________________________________________This line does not seem to work when combined with this code
#select our circle as the geometry bevel object
bpy.context.object.data.bevel_object = bpy.data.objects["Coil_Circle"]

#Apply the modifier

#Delete circle reference

#___________________________________COIL-SHAPED END

A friend helped me fix it.

Solution:

Change bpy.context.object.data.bevel_object = bpy.data.objects["Coil_Circle"]

To bpy.data.objects['Coil_Curve'].data.bevel_object = bpy.data.objects["Coil_Circle"]

Because now it will correctly reference the curve we made


Confused about material texture slots New to Blender and I have done some basic modelling and painting textures on. In general that has gone well. One specific thing I want to do is copy a textured object so I can make some variation of it.

I thought this would be a routine operation but cannot find a way. When I duplicate the object the new and old share the same material and the texture slot linked to it. So if I paint one it also paints the other.

I can give a new material but I cannot link a copy of the texture to branch from.  I've tried changing Blender preferences to not link material/textures when duplicating. Tried settings users of the texture slot's associated image file's users to single user, and also changing the material between the object's data and object's object data but nothing has achieved what I want.

I know I could save a new blender file and work in that for variations but I want these objects in the one scene.

Make sure your image texture and your material are single users, if anything is repercuted on the other objects it means they are still using the same data-block.


How to make skin reacting to touch When you punch someone, skin will deform, same if you squeez your leg or other body part. I want this effect, because i'm making animation concentrated on interaction between characters.
I tried to do this with soft body, but it didn't work well, less or more it felt like a jelly. Is there any way to do this alone, in ordinary conditions and PC that isn't nuclear reator?
Wasn't able to find specific answer on the internet.

Final:

You can achieve pretty good effect with Soft Body. I don't know exactly what you want to achieve, but as for deforming skin in general this should be ok.

Mesh:

Default Sphere for Soft Body and Collision. Subdivision Surface is added after (!) Soft Body.

Soft Body:

For Goal you should select Vertex Group marked in previous screenshot or you can even paint Weight for this to mark which part should be affected.

Most important thing is to select Stiff Quads and set Bending > 0.5


Quads acting like triangles? I'm a complete beginner so I really don't know what is happening.

Basically, quads are low-key made of triangles.

Quads have no magical ability to stay "flat" so if you move a vertex out of its original plane, it can't be a "real" quad anymore and so blender shows you the ugly truth: a quad is two triangles stuck together.

Generally you want to build models so the quads don't get bent much, but they often will a little, and that's ok as long as the result doesn't look bad.


Is there anyway to rip off 3D models from games like this? (Black Desert Online) Is there anyway to rip off 3D models from games like this? (Black Desert Online)
I want to use the faces as a base for my sculptures.

Thank you guys!

yes but also no, specificly from black desert im not shure. But for example if you have a source engine game you need a rooting tool and a object converter just to open the mesh and since different engines use different formats (Moustly) you need to find the right ones to import models from source game in blender i need thiese 3 programs 1st to export modell as .obj file 2nd to convert textures and 3rd to find the modells


How can I select faces by color with Python? I have imported a VRML model into Blender 2.74 with concentric shells made of polygon faces, each layer of shell is a distinct diffuse color. I am hoping to select faces by their color, then apply translucency or transparency to partly reveal the shell of another color within. I thought python would be a good approach, but when I try bpy.ops.object.select_... I don't see a method to select by color.

You don't need python here. Go to edit mode select a face with your desired color, press SHIFTG and choose Material.

Alternatively you can also choose a material in the properties editor and hit select below, to select all faces assigned to that material.


Why be formed face to split when apply the Solidify modifier? I'll make the modeling by two axis Mirror modifier. But, when, apply Solidify modifier, Its has be formed face split at meeting point vertex of the Mirror modifier.

Show you next pictures:
 - When apply the modifier not yet:

When apply the modifier:

Q. How to remove the faces?

blender_2.81

You need to enable the "Clipping" option in the mirror modifier. If you don't, the two halves of the model are treated as if they're disconnected at the seam in the middle.


Simulating LCD display angle effect (duplicating millions of realistic pixels) I need to realistically simulate the light field created by a tablet/mobile phone LCD display including the limited display angle (the rendered output of the scene will be used for training a computer vision application). At present the LCD in scene is created with a material featuring a combination of a pixel image array and scene image being fed into an emission node as described in this youtube tutorial which looks convincing when viewed directly however does not take the limited viewing angle of pixels into account - ideally I would like to create a grid of RGB spotlight triplets so that the outer fringe (umbra?) of the spotlights could be controlled by a parameter or map - however were talking about a 1080 HD screen that needs to be simulated. Any suggestions on how this could be done? (the render machine is a 3.1 Ghz quad core with 8GB ram)

Thanks to the suggestion from user lemon in the comments the solution I ended up with was to use the dot product between the geometry normal and the incoming ray vector in order to control the strength of the shader emission (divided the dot product by the length of the incoming ray to normalise the value).

The emission is cut off completely when the sine of the angle is below the value in the 'Greater than' node. And increases smoothly above that angle until reaching full strength when parallel with the normal.


Clear reflection on floor surface (beginner) Im aiming for the effect like this (Mint logo reflection)

but my reflections are blurred and grainy

You can try using Glossy BSDF surface, and also jump your render samples yo at least minimum of 128, i'm usually using 1024, you render sample is 15, so you will not have good result


How to make distorted grid lettering? How can I make an effect like the picture below?

Take a plane; scale, subdivide, rotate, unwrap it; Add a Wireframe modifier and a Displacement modifier. Use your text as hieght texture. That's it!


How can I make a part of a texture glow? I need to make a part of a texture glow slightly.
Like Killer Crocs eyes (see image below)

How do I do this?

I added a black and white texture (white for the glow.
But then this happened.

There are strange colors around the eyes.
Also how do I change the white glow to red?

You have 3 options to create the glow:

Define the glow with a texture and use that as Emission shader added to your model. The glow haze has to be "baked" into such texture. Limitation: There is no glow outside of object's silhouette.

This is our starting point:

We need to define the glow with a glow texture - it should look like this:

define the color of the glow (you can have different color glows in one texture)
size of glow haze with amount of blurring
and amount of glow with brightness

Here we made both eyes glow. The emission is added to your previous shader:

Keep the emission strength between 0 and 1.

Advanced:

You don't have to necessarily make a glow texture, it is possible to extract it from your color texture with nodes inside Cycles to make a procedural glow:

Let's make a basic Color Key node based off color difference:

Next we can key out multiple (or single) colors into a mask and use it on the original color texture to extract areas to glow (example with eyes and teeth):

Now only the glow haze is missing, which is easy to do. Get the ImageBlur node from B°wide node pack or make it yourself:

It is noising the image mapping vectors, so use like this:

Now we just need to combine (add together) the un-blurred and blurred to get our glow (only kept the eyes and deleted the teeth - was just too many nodes to show):

Use with your shader as before - this is the procedural result(s):

2. Render a mask (with render layers for example) and add the glow in compositor with Glare node set to Fog Glow. There will be glow outside of object's silhouette but the result won't be physically correct.

It is very similar as with the cycles procedural nodes, you also don't have to render some glow mask but instead key it out from colors (which might not be accurate though because lighting can affect the model colors).

3. Add a volumetric fog environment into your scene to get physically correct glow. Your eyes have to have emissive material also but the glow haze is not painted in.


Compositor renders video zoomed in So, I made a video, and what to edit it using nodes.

The viewer node shows the image as it should; however the Compositor node outputs the image zoomed in by 50%. Is there a reason to this? I have the same node connected to both the Compositor and Viewer nodes.

You've just stumbled upon a unique feature of the compositor!

Yes, if your Scene>Dimensions>Resolution settings are not at 100% you won't see your full image.
The compositor doesn't automatically rescale images (or video) to fit the size used in the dimension's settings. When you render at 50% resolution, for example, it considers the composition to be half the number of pixels. The images in the image nodes get partially displayed because the picture size in pixels is not the same any more, but twice the size of the comp.

The workaround, if you want to work at a smaller resolutions, is to use a scale node with values that match your render settings. (But don't forget to turn it off a the end when you do the final render at full res!)


Bezier curve handles - precision modeling I encountered two problems while modeling with Bezier curves in Blender.

How do I equalize handle lengths? Basically I would like to make the handle A equal B in length, or make handle B equal to A.

How do I maintain constant angle while moving the handle? For example I would like to move the left handle to the left towards the X mark, but following the handle axis.

If it was a vertex on the edge, I would just use GG shortcut (with ALT), to move the vertex along the edge. This shortcut however doesn't work while moving curve handles.

Re. 1: To equalize the handle's lenght (without changing their angles) you may select the whole handle, press V-->Set Handle Type-->Free and enable the Snapping Tool (press the magnet icon and change its mode to Vertex). Rotate the shorter handle tip 180 degrees, then select the longer one and snap it to the shorter. Select the rotated one again and rotate it back to its place (input -180 while rotating).

Note: Sorry for an odd method to do it but nothing else comes to my mind right now:). The advantage of this method over Polosson's idea is you keep the angles of the handles, while when you change the handle type to Automatic you don't.

Re. 2: Change the Transform Orientation type to Normal and select the handle you want to move. Press G and input the desired axis (remember to press the button, which defines the axis twice to make a transformation along normal coordinates).

You may also just use scaling. Select desired handle tip and press S.


I cannot select anything (Blender 2.8) I am animating in blender 2.8 and I am in edit mode my cursor is a small white crosshair and i cant select anything, Does anyone know how to fix this?
Thanks, Cozmo

Try going into local view (toggles on and off with the " / " button. It will confirm you're trying to select edges in the right object that way. Next, choose any of the three "select" options by pressing the top left button on the side-bar (arrow and crosshair). Try editing the object in the "Layout" tab at the very top of the screen. Last thing would be to confirm the option for "outline selected" is checked in the overlays menu (attached picture). Good luck


How does the bump node work? I have seen tutorials where the bump node is connected to a glossy shader and sometimes a diffuse shader. How do I know which one to connect it to? Basically how does it work? And it also has a normal input, what is that for?

The bump node creates normal vectors from grayscale textures. You connect it to the shader(s) that you want that normal map to affect. Normally you connect it to every shader, but it depends on the material you want to create. Sometimes each shader requires a different normal map than another shader, so it's up to the artist to decide.
It works by finding the derivatives from every pixel in the texture, to form a transformed vector that is applied to the default normal vector, or a custom vector linked to the normal input.


Can i Render a specific region in blender with specific resolution? For example, can I define a Render Region, but render it at the resolution I've specified in Output Properties?

You can simply use another camera.

Duplicate your camera, and keep it in the same place
Lower the Sensor size to "crop" the image
Use Shift X and Y to "move around"

Because you're not changing focal length, the lens distortion doesn't change.
It's as if you cropped the image in photoshop.


mesh array modifier with simple deform taper and curve modifier This mesh has an array modifier, simple deform taper modifier and a curve modifier.  I want it to scale along the curve as reference does? How would I go about this? Thanks

You could control the instance's radius with the curve's vertices radius, AltS, or N panel, but it's still not exactly the result you're looking for:

Actually you could have a much more accurate result with a bezier curve which you'd give a bevel and a taper object:


Each face of Die a different image I am somewhat unfamiliar with Blender, but I need to edit this .dae file in order to use it in my Xcode project for an iOS app. I would like to edit the die so that each face is a different png or jpg image. Is this possible? If so, how would I go about doing it?

https://www.dropbox.com/s/7esdy6t48nbt870/Dices.dae?dl=0

This can be done a number of ways:

1) Set a different material to each facing of the die and give each a separate image texture.

2) Make a color stencil texture with a different color on each face, then use it as a factor between the different image textures within the same material.

3) Like above, but use vertex colors.


How do I stretch a strip to work with the speed control effect without loosing footage? I have a video clip and I made two cuts (I can choose between soft- and hardcuts, but I do not know the difference). I would like to play the part of the clip between the two cuts in slow motion, so I added an effect strip on it called speed control and changed the speed to .25 of the original speed.

It works in so far, that the speed is indeed slower, but there is a problem:

Since this part is playing only .25 of the speed of the original, the part should be expanded to 4 times its original lenght, but the length stays the same and so when I play the clip, the part with the applied effect shows only the first quarter of the original part without the effects.

Click and Drag on the End part of the clip with the minimal arrow to manually stretch it out and extend.  Make sure there is empty room to extend.  Use the correct side of mouse to click.  My mouse is differently set.

The panel also allows you to type in length. Press n to display panel.

Middle Click moves the entire strip. Do not click in the Middle for this task.


Sliding a point along an edge? I have a line with a point in the center (2 edges with 3 points that forms a straight line). How do I slide the middle point along the straight line it resides on?

Using Vertex Slide:

Select the point and press ShiftV or GG. Then move it to the desired point on the line with the mouse and click to set it. Hold Alt to slide it past the end of the edge.

Alternatively, this can be reached through the Edit Mode toolbar menus: Vertex -> Slide Vertices:

Or through the right-click context menu:


Continuous walk animation - Mixamo to Blender 2.8x I have an .fbx imported into Blender with animation from Mixamo and I want my character to walk a longer distance, however it keeps walking in a loop (I duplicated keyframes) starting at the same point after the duplication begins and it does not continue his walk. How can I fix this? Thanks.

There are 2 sorts of walk cycles, a dynamic one and a static one (well, these are my own words):

The dynamic one makes the character go forwards in Pose mode:

With this kind of animation, if you want the character to move in your 3D scene you need to duplicate the bones keyframes and make the second cycle begin at the end of the first one and so on. There are 2 ways to do it, either in the animation itself, in Pose mode, you need to duplicate the cycle and move the copy a bit further on the right axis, and so on. Or you can do it with the armature object itself, using keyframes and making it jump from position A to B when it needs to begin its second cycle, and then from position B to C, and so on...

The static walk cycle makes the character walk like on a treadmill, by default it doesn't make your character move forwards in your 3D scene:

In that case you need to repeat the action in the NLA Editor and you need to make your character go forward in Object mode. Either you create 2 keyframes to make him go from point A to point B, or you use a Follow Path constraint so that he follows a curve. In both case you need to syncrhonize his speed in the 3D scene with the speed of his walk cycle, otherwise the feet will slide. You can also vary the NLA strip speed to fix the issue.
For small walks, or walks with some changes in its course, it's probably better to use the first solution. For long walks through a large 3D scene, it's generally better to use the second solution.
According to @Gorgious, there is an option when importing from mixamo to choose between "actual" movement or "treadmill" movement with animations


file browser : how to always turn on the display thumbnail? When trying to load image from file browser, the default mode always back to 'list' . Everytime i change it to thumbnail, it wail always go back to list mode . This is so annoying. Is there any setting i can make it permanent ?

Info Editor -->File --> User Preferences --> File  --> Show Thumbnails

Then Save User Settings


Colorramp node makes colors clip or blow out I've been trying to do little special effects for some of my videos.
For example I create a light emitting object that woud cast light on a black floor, later composit the black out and the finished result would be a light pattern on a transparent background. Using this method I could have a camera tracked scene with an object that would realstically light the floor around it.

So lets get on it!
Firstly I rendered an image of a point lamp that casts light onto a floor.

The floor is a diffuse node with 0 roughness and white color. The lamp emits pure white light. And the world has its material removed so that it couldn't interrupt anything.

Next I added a ColorRamp node and turned its black value into transparent. That would make blacks transparent, grays half transparent until white which will not be transparent.

Then I noticed an ugly white blown out clipping area in the middle which was not there when I rendered the image. It reminded me the problem of colors clipping and low dynamic range that we had before Filmic color management was introduced to Blender.

No matter how I moved the colorramp sliders, the white blob in the middle stayed there. I even tried using Separate RGBA node and used one of its outputs as a factor for where the whites should be, but the clipping area in the middle stayed there.

Lastly i added a black background to the image and this made the problem little less obvious, but it didn't solve it. I suppose there is something to do with Blender color management tools, but I let someone more experienced decide.

My question is what is causing this issue and is there some kind of way to maintain this smooth light transition as there was on the render, when composited onto transparent background?

Color Ramp, nor any thing in Blender, is pixel managed.

As a result, I believe the Color Ramp is taking the scene referred 0.0 to 1.0 range and clipping it, which is leading to the harsh cut transition from 1.0 scene referred onwards.

The complex solution is to mangle the data going to and from the Color Ramp. The more elegant and powerful solution is to pixel manage every single UI element to permit the audience to control the context of the tool to meet the need.


VSE: Preview of current frame when dragging strip handle isn't working anymore Two months ago I cut a music video in VSE with many movie strips laying synchronized upon each other (on different channels). I loved how the preview window always showed the current frame of the strip handle I was just dragging. This even worked when there were other movie strips located "above" the strip I was editing (I think the preview channel was set to "0").

Now I'm on vacation and want to cut another music video on my laptop (Blender 2.8), but somehow the preview window is just showing the frame of the channel which is set in the N-panel. Just a still frame of where the playback cursor (line) is located.

Am I missing an option which I do have to check?

Thanks for your help in advance!

Hold down shift and use the Right mouse button on the strip you wish to scrub.

Very non-intuitive.

Found about about it from the great Blender Frenzy who is investigating VSE in 2.8 after creating a great free series of videos on VSE in 2.79


performance issue creating many objects I am trying to use blender (2.79b) for batch visualization of data on Windows 10.  Unfortunately, blender gets very slow after creating a certain amount of objects.  I tried to improve things by "flushing" the geometry to a file every so often.  My concept was:

while more_data:
  add_geometry()
  if number_of_objects > limit:
    save_file()
    delete_all_objects()

Alas, this doesn't seem to help.  As more data is processed blender gets slower and slower.  I wrote a benchmark test program that creates a simple polygon object (in actual use they would all be different, not the same):

import sys, bpy, time
from mathutils import Vector

verts = [Vector((0, 0, 0)),  Vector((1, 0, 0)),  Vector((1, 1, 0))]
faces = [ (0, 1, 2) ]

def build_geometry():
    for obj_number in range(5000):
        base_name ='object_%d' % obj_number
        mesh = bpy.data.meshes.new(base_name)
        mesh.from_pydata(verts, [], faces)
        mesh.update()
        obj = bpy.data.objects.new(base_name, mesh)
        bpy.context.scene.objects.link(obj)

def remove_geometry():
    for o in bpy.data.objects:
        bpy.data.objects.remove(o, do_unlink=True)
    for m in bpy.data.meshes:
        bpy.data.meshes.remove(m, do_unlink=True)

remove_geometry()
for i in range(10):
    sys.stdout.write('%d' % i)

    start = time.perf_counter()
    build_geometry()
    stop = time.perf_counter()
    sys.stdout.write(' build time = %g' % (stop - start))
    #  could save the file here, but not relevant
    start = time.perf_counter()
    remove_geometry()
    stop = time.perf_counter()
    sys.stdout.write(' cleanup time = %g\n' % (stop - start))

Running the benchmark gives:

blender.exe -b --python D:\python\build_objs.py

0 build time = 1.8863 cleanup time = 6.83109
1 build time = 2.35458 cleanup time = 7.93244
2 build time = 2.89152 cleanup time = 10.4506
3 build time = 3.74924 cleanup time = 11.1356
4 build time = 4.25657 cleanup time = 12.8942
5 build time = 5.38783 cleanup time = 14.2254
6 build time = 5.90367 cleanup time = 16.2433
7 build time = 6.89383 cleanup time = 18.2199
8 build time = 7.97026 cleanup time = 21.7214
9 build time = 9.24869 cleanup time = 23.8938

The 10th iteration is really slow compared to the first.
Is there anything I can do to get a more constant "build" and "cleanup" time?
Can the "cleanup" time (deleting most objects) be reduced?

Clean Factory Settings Operator

Using the method outlined in
How to completely remove all loaded data from Blender?  particularly the accepted answer

replacing iterative object and mesh removal with operator, has a marked improvement in keeping times consistent between benchmark loops.

def remove_geometry():
    bpy.ops.wm.read_factory_settings(use_empty=True)
    return

Other minor change suggestions

Have a feeling can remove mesh update
Zero pad base name base_name = 'object_%04d' % obj_number
Somewhat pedantic Calling remove_geometry
first in loop will require one less call.

Related

Object creation slows over time


"Blend from shape" What does this do? how can I use it? I can't find info in the manual or google. I want to learn about this option and what it does to shape keys? How can I use it?
https://docs.blender.org/manual/uk/dev/modeling/meshes/editing/vertex/blend_shape.html

One very common use is to repair a shape key from a mistake, while leaving the desired deformations intact: if you like your shape key but you see some moving vertices that should stay still, you can select them, choose blend from shape, pointing at the basis shape, unchecking the "add" option (so to replace the moving vertices informations with the basis static locations).


How do I merge 2 Grease Pencil vertices? I have 2 Grease Pencil strokes each consisting of 2 vertices, where both start from the same spot. (see A in image)
Is there a way I can merge these 2 strokes into one continuous stroke consisting of only 3 vertices? (see B in image)
I'm looking for something like "Remove doubles" function when editing mesh, where it takes selected points and turns them all into a single point in the middle.
There is "Join strokes" function, but it doesn't do that, and instead only makes a new stroke between the disconnected ones - even if they are in exactly the same spot.
I can achieve what I want with "Join strokes" then selecting one of the 2 vertices then CTRL+X then "Dissolve", but I'm looking for a way to do that faster. Is there any?

In edit mode, select the first stroke and select the vertex you want to join.
Shift select the second stroke and select the next vertex to join.
Use Stroke > Join (or the shortcut ⎈ Ctrl+J)

Note that you cannot connect vertices that are not on the edges of a stroke.


Mix Shader Fac doesn't work I'm just starting to learn Blender and watching this tutorial video that tells you how to use nodes and mix Diffuse and Glossy BSDF. I'm having problems with the "Fac" part of mixer, as it seems to update in "Preview" section on the right, but not in the actual editor :(

Also, in the video, the guy goes to Node Editor right away and everything's already there, but I didn't see any nodes in the Node Editor until I clicked on "use  nodes" in the materials section. Can that have something to do with it?

And now changing Shader color in the menu on the left doesn't do anything either, I have to go down to the Settings and change it in Viewport %\ ...

I'm so confused ...

Your current screen shot shows you are in Solid draw mode and that will not update to preview your material, change it to Material draw mode and you will get a better idea of what is going on. Even faster idea of what is going on is to set a border in the 3d view with Ctrl-B and to then press Shift-Z to change to Render preview mode inside the border, and that way you will see actual feedback as you change the shader.


Emission does not show light haze with Cycles I was trying to create a self-luminate ball with Cycles as renderer, however when I linked an Emission node to the Surface, the ball just showed nothing. I added a plane beside it, there is light on the plane, but the ball was still there like dead. I have put the file as a link. Can someone help me with this? Thank you very much..blender file

Haze will not appear by magic, you have to put it there. It is not a quality of the object, but one of the environment where the lights are.
Even though we live in very polluted world, where there are so many suspended particles floating in the air, in the world of blender the air is totally clean and transparent.
Light in the air is only visible if you make it travel in an environment that simulates small particles floating. Such simulation is done by creating an environment with volume scattering.
In the world settings you can add volume scatter as volume material for the whole scene, or you have to create a large mesh that uses volume scatter as volume.
For more details read:
Atmospheric lighting in cycles
and
How do volume shaders interact with light?


Checkered texture layer after applying boolean modifier to join 2 meshes **UPDATE:
But what other methods can I use to attach the 2 meshes without any of them losing their appereance, are there any?
Attached the talon using boolean modifier, the body gets all checkered after that.
Played with the materials but it doesn't revert, then I use the pose editor to see if the talon is attached to the finger.
It's not, and it seems the talon has created a new layer around the body, this being the checkered result from the boolean modifier.

When you use a boolean, and then apply it, it's actually changing the geometry to join the two shapes. There's no way to change geometry that already has UV maps without also altering the UVs. So you've altered the UVs when joining the shapes. Also, Blender decides which of two shapes will inherit altered properties from the other based on selection order. The most recent item added to a selection of more than one object is always the active object, which will always be the one that property transfers are made from, with all the remaining items in the selection being the recipients of the transfer.

Two separate cubes, each with a different material. Their UV maps are shown to the left. While each UV map has exactly the same layout for both cubes in this scene, those UV maps don't exist in the same UV space because the cubes are currently separate objects. What is shown here is for illustration purposes, but not normally how the maps appear for objects, as neither of these objects are currently in Edit Mode. Normally, an object must have its parts selected in Edit Mode before its UV map will be shown in the UV Editor window.

This is the same two cubes after applying a boolean join operation in which the original red cube was added to the selection last. That is why the new cube is now red, because it inherits its material properties from the active object. If the white cube had been selected last, both cubes would be white instead. Notice that the old UV arrangement is now destroyed. This would be the case after performing this operation regardless of selection order. This is a consequence of applying the boolean modifier, which moves the modified result from a non-destructive outcome to a destructive one.

As a good workflow practice, it isn't recommended that you do booleans after getting your materials and UVs set up the way you want. Boolean operations are a part of the modeling phase, and should probably be kept there.


Animate Mesh in a wavelike movement I want to built a tower out of these cylinders and animate the X-Y Scale of the individual cylinders over time in a wavelike pattern.

Is there a quick way to to that ?

You could use a sin() function and a driver to animate e.g. the X scale. In Object Properties under Transform for one of the cylinders, click the number in Scale: X and type in something like:

#1.0 + 0.2 * sin(frame * 2.0 * pi / 30.0)

That'll vary scale every 30 frames between 0.8 and 1.2. For later cylinders you can offset the phase a little:

#1.0 + 0.2 * sin((frame + 5) * 2.0 * pi / 30.0)

That'll put that cylinder 5 frames ahead in the animation.


Premade Materials in Blender render? Does Blender Render have pre-made material like a chromed/metal material like other 3D softwares like 3dsMax or Maya? I know that there are more options on cycles, but does the blender render have this too?

No, there are no templates so to speak. You can create or buy your own templates though, and bring them into your project using blender append functionality. The blender foundation announced a project to improve this system.

To create your own template library, open new blender file (you won't want other work in here). create a bunch of spheres, and build the materials you want. I recommend naming them carefully, since you will be pulling them by name alone.

Once you have your library, you can link or append the materials, I recommend appened, since it allows you tho change the materials in your .blend, while link you have to change them in the master, and it will affect all the files using that file.

To appened, go to file > append or hit Shift+F1.

and navigate to your .blend with the materials in it. When you click on the .blend, you will see allot of folders. Click on the one called material

You will see the names of your materials. select the ones you want for your project, and then tweak them to your needs!


Limit to number of parents an object can have? I have an object with multiple parents to control it. I have a problem though: if I add one more parent object to it, another parent stops controlling it. Is this normal? This is my model:
Each eye is parented to its own empty that rotates it. The reason I did this is because I have a hooked empty on each eye that allows me to change its expression. If I rotated the eye itself, it would distort because of the hooked empty. I parented the eye and the hooking empty to one axis below the sphere so that I can rotate it around the sphere without moving the sphere itself. Now I can only control one empty, or the other. Not both. Is there a better way I could do this?

A certain object can only have 1 parent in Blender. You don't need to worry about not being able to control the object the way you want to, because you can also control the parent objects, and so on and so forth. In my example I parented the hooks of the eyes, in which case if both are moved together at the same time will move the entire eye, to a single empty that will move the eye. I did this for both, and parented those empties to a third empty that rotated them around the sphere. Then I parented that empty to the sphere itself so that when I move the sphere, everything moves. I thus solved my own problem.


How to register a collection property to a custom property group I would like to register a collection property for a list to a property group that I have already created.
Unfortunately, this doesn't seem to work:
bpy.types.Scene.my_group = PointerProperty(type=MyGroupClass)
bpy.types.Scene.my_group.my_list = CollectionProperty(type=MyListClass)

This could help tidy up my code by simply accessing the list through the property group, rather than just from the scene like normal. Is this possible?

Thanks to @batFINGER for the answer.
I just had to use this code instead, using the actual class name instead:
bpy.types.Scene.my_group = PointerProperty(type=MyGroupClass)
MyGroupClass.my_list = CollectionProperty(type=MyListClass)


Turn off Knife cut "auto complete" setting? Everytime i use the knife tool, it wants to auto complete and i just want to make one line, non of the short cuts get rid of it either.

Pressing Esc or RMB at any time cancels the tool, and pressing LMB or Enter confirms the cut, with the following options:

Enter will leave selected every edge except the new edges created from the cut.


how to extend an object just on one side along his own edges? lets say i want to extend the object below just on his right side and it would not have the exact orientation at the x-axis like it has at the foto. so in other word: it should extend on the right side along his (long) edges (not at an axis). Is there a way to do that?

the edge slide does a similar thing i want but with that i just can make the object shorter but i want to have it longer on the right side.

PS: that object below is just an example not the one i am trying to work on

You can still use edge slide to do this.

Select the end face (or its edges or vertices)
GG.. edge slide
Draw the face inwards a little way, making the piece shorter as you described in your post (this establishes the slide directions)...
Now hold down Alt, or tap C releasing the clamp. You should see rays extending the longitudinal edges.
As long as you are holding Alt, you can slide the end face's vertices anywhere you like along those rays.

Unfortunately, snap doesn't work with GG. If you wanted that, too, I think you would have to break the operation up, separately moving components along Custom Orientations derived from the longitudinal edges.


Solidify Modifier solidifying the wrong way for only a few vertices I am  touching up a Jack O'Lantern that I made last year. I put the mouth back and manually de-solidified the thing. After I made my adjustments to the mouth and other minor things I wanted to make it a little more high poly so I added a SubSurf Mod to it. Then I naturally wanted it to be solid so I added the Solidify, but one of the carved out teeth is acting funny and solidifying the wrong way from all the rest of the mesh. I will give the file for you because this seems like a really hard problem to figure out just from pictures and an explanation.

https://www.dropbox.com/s/960ns0jtcsok1nv/Pumpkin%20StackExchange.blend?dl=0

Your normals on the offending tooth had gotten flipped somehow.  I fixed this by selecting the entire mesh and hitting Ctrl+N.  Alternatively you could have selected the individual faces and hit Ctrl+F > flip normals.

You can visualize normals in the 3D view under N menu > mesh display rollout > normals.


Find commands by name I started using Blender and I am wondering if you can search for the commands by name, similar to what code editors like Atom are offering. I couldn't find such an option yet.

You can use F3. This will list the commands, and even show you the shortcuts (if they exist)

The shortcut is Spacebar for older versions of blender (< 2.80).


Rendering resetting bones? I'm trying to pose a set of bones for a character, but whenever I go to render the scene, all the bones reset. Once I exit out of render mode, the bones are still reset. I thought this had something to do with Blender not rendering armatures, but when I found a script to make the armature a mesh model, it would still reset.

Lets's say I move this arm here.

Trying to render

And... the bones reset.

Help?

Make sure you have keyframed all bones.

Armature Pose Mode 3D View Window On Frame 123 (From your pic)

Select all

A

Insert Keyframes

I

Rotation.  Scale.  From the popup menu.

Render on the same frame 123

Please show the timeline with the keyframes present in your original question.


Messed up intestine animation with lattice modifier I have modelled a digestive system. I have to animate the food movement inside the gastrointestinal tract. I have learned to do it with lattice modifier from another post. I have done it for the food pipe. When I tried to apply same for the intestines the animation is somewhat messed. I created intestine, made a bezier curve in the shape of intestine and created lattice to deform the intestine. When I made the lattice to follow the path of the curve the deformation occurs but the other parts of the intestine are also affected by the lattice which makes the animation so messed up. Please help me get a clear animation of material through the intestine...I have attached a gif of the animation which I got...

When using lattices, it's quite important to keep the outside undeformed where necessary. Ideally two rows of verts, not one. If you don't, the deformation will extend to infinity and beyond.

As you can see, the left lattice still deforms both cylinders.

The selected cylinder is almost but not completely untouched. Two rows are bullet proof though.

Hm, the end of that animation should yield interesting results.


3d cursor x,y,z does not move with mesh I have a model that has a root (main) bone added to rear of pelvis. The root bone
is for movement (animation) of model.
 When I'm in pose mode and move model forward using the root bone, I noticed the   x,y,z 3d cursor of the mesh does not move with the mesh.

I have a feeling this will cause problems if I continue to animate. I've decided to stop researching and ask for help. I have posted 3 pictures. The first picture shows model before movement, second picture is after I move Model. The third picture is what it looks like in object mode.

Is this normal? Do I need the 3d cursor xyz  to stay with mesh when I move model in pose mode? If so how.

This behaviour is absolutely fine: the bones move vertices only, which have some weight related to their respective vertex group (with the same name). The object (its origin) stays still. If you move the object in object mode you will have weird issues unless you move the rig accordingly.

The usual way to animate is setting both object and rig at the center of the world in object mode, then in pose mode use the root bone to grab your character where he needs to be, and start the animation from there. The root bone can stay still while the rest of the bones are animating the mesh, or can be moved along a path in case of walk cycles or similar.


How to give duplicated model/rig different textures than the original? Let me start by saying I know very little about Blender; I am an artist using Blender to photograph references for myself. I recently purchased a rigged dog model and I've had no issues learning posing, lighting, rendering, coloring textures and such through tutorials on YouTube but I am having trouble figuring out how to duplicate the model without having it share the same textures as the original. I am trying to color the second dog black and have the first dog remain white to represent two different characters in the scene.
I duplicated the collection and was able to pose the second model independently from the other and render them in the same scene, but I can't figure out how to give it separate textures to save my life.

In the material slots there is a number displaying the users of that material (in your scene probably it's 2).
If you click on that number the material is duplicated, and it can be independently edited.