Awkward reflection on mesh I have made an object using 2 different mesh. On the top of the sphere, I'm getting a shape which reflects looking like some sort of sun with its rays indicated within the red ellipse.

And also I've joined the 2 mesh to make it one object, but the edges are too harsh, what's the best way to make it blend in smoother?

Thank you.

let me adress the issues :).
I also attached a repaired blendfile at the end.

01) The 'sun like' pattern appears when Subdivision Modifier is applied on a triangle fan. Just play a bit with the size of the triangles, or use Face->Grid fill to fill the cap with quads.

02) The edges are harsh, because they are not connected.
You have two meshes joined into one object, but that's not enough. They're just going through each other.
You need to connect the vertices of those two meshes, so they create one continuous mesh.

Other tips for your workflow:
1) There's no need to use Edit cage option in the Subdivision modifier.
In this case it just deforms the mesh without any benefit.
You also don't need 4 levels of subdivision. 2 levels are enough.

Example of my settings

2)  Use milimeters, and absolute grid snapping. It will make your modelling considerably easier, especially when modelling real world objects.

3) When using mirror modifier, make sure your mesh is cut in half. Otherwise the mirror modifier will create double-faces which are a pain in the ass to deal with :).
Your original mesh has a few of these.

Here is your repaired Blendfile. Check the differences, and find out which way works best for you.
The meshes are not connected, you'll need to do it yourself.

If you'll need any clarification, let me know.
You're doing great, happy Blendering :).


My object is not moving smoothly, but in increments of one unit What is preventing my objects from moving smoothly? Instead of moving slowly and precisely, the object moves by one unit

.

Hit shift+tab while in object mode to Exit Transform Snapping

For 2.79

(source: blender.org)

For 2.8


Creating low polygon models Currently I'm making game in Unity and I want to add some objects to the scene. I think that low polygon models like these look great. I wonder how can I make something like these by myself. I watched few tutorials on youtube but any of them was exactly about what I want to make. How can i make this low polygon models? Should I make normal model and then reduce the amount of polygons(if it is good idea how should I do this?) or are there any helpful tools or methods? Note that I don't want to just reduce the amount of polygons, but I want to make it look like on the linked picture.

By Manipulating primitives.

For instance Tree 1 (Top Left of your ref image)

Add the Tree Trunk.
Do this by adding a cube ans scaling it on Z.
Go into edit mode on the cube, and Select the top face, and scale it inward.
Create a material that looks like the trunk you prefer.
Go back into Object mode.
Create a new Cube.
With this new cube selected go into edit mode, again select the top face and scale it inward until it looks like a pyramid.
Scale up/down according to your preference.
copy the new pyramid upward in Z with Ctrl+D, then Z.
scale the new mesh a little less.
repeat 5-9 one more time.
Create a leaf material and assign it to the three pyramids.

For the next tree copy the trunk of the last tree, then add an Icosphere.

Make sure you have the Tool Panel Open (the panel is on the left of the 3D View, and you can toggle it using the T key.

Then, copy the trunk again, and for the next tree use a lower res icosphere. When you create a new one, look at the lower half of the Tool Panel and set Subdivision to 1.  Then go into Edit Mode, and move, and extrude some thing around scaling them down slightly as you go up the Z axis

For the last tree copy the trunk again, and do some research / experimentation with the Skin Modifier, and when you are done learning how to use it, copy the pyramids from your first tree, and position them accordingly.

I hope this sends you down the right direction, but I must say this kind of question is too broad for this site, and doesn't deserve this kind of attention from the users, and will probably be flagged. Please get a feel for what this site is about by browsing around before asking such a broad question. If you browse you will see more specific questions, and more concise answers.  If you want help on tutorials, and learning try: Blender Artist . org


How can I get my glass to look like this glass? I have tried to make it look like this but I cant get the reflections with it still being see through. Could someone please help figure out how I can get my glass material to look like this?

You may want to check those parameters(I´m using 2.79b.6) More bounces means more light will sample through the glass. But like the friends up here suggested, we would all like to check what your material looks like first.


Lattice not working when I move bones I have made a cartoon eye using a lattice. When moving the eye individually, it works with the lattice fine. When I use a bone to move it (here is the tutorial I used https://www.youtube.com/watch?v=OItHr4VRP7M&t=4s) the eye stays in an ovular shape and moves that way. How do I fix it so when I rotate the eye, it will follow the lattice? Please help ASAP!!

I guess you need to put the Armature modifier above the Lattice so that the Lattice works after the Armature.


Cycles bake inverts a polygon on a normal map. A strange shadows with the normal map I get a flipped polygon after Cycles bake.

How to resolve it?

When I apply the normal map I get the strange, sharp shadow on the border between dark side and light side of the cylinder.

Is it bad baking or very low polygon mesh?

How to improve it?

Link to .blend file if necessary:

After recalculating normal on the lowpoly mesh (Ctrl+N), and shading it smooth rather than flat, I found only one small error remained, and it was caused by the light, not the map. so here is the re-baked normal map, but if you see a really sharp contrasting shadow, it's a different problem.


Python - Baking vertices position for a frame range I wrote script that create a custom deformer to a mesh over time. Using python is very slow so I'd like to be able to bake the position of my vertices deformed over time and be able to play it back at a better frame rate.

So, I'm trying to find a good solution to bake the position of vertices of a mesh over time like the physics/rigid body system in Blender.

I guess there is no direct access to create my own internal point cache (but if somebody knows how to do that I'm interested) so what I plan to do is to have a list that store the position of my vertices for a range of frames.
As I'd like to be able to cancel while baking (using 'ESC'), I guess using a modal operator is the best way to go but i can't get my head around how to set up the modal operator particularly with the return values.

Here is what I get so far:

import bpy

##some code##

##store global
class G:
    pass

## bake deformer
class JDEF_BAKE(bpy.types.Operator):
    bl_idname = "wm.bake_jdef"
    bl_label = "Bake deformer"
    bl_options = {'UNDO', 'REGISTER'}

    _frame = 1
    _bake_mat = []
    _index = 0
    obj = None
    _endframe = 0

    def __init__(self):
        self.obj = bpy.context.object
        G.baked=False
        G.baking=True
        self._frame = bpy.context.scene.frame_start
        G.ls_bake=[]
        self._bake_mat = [0.0,0.0,0.0]*len(self.obj.data.vertices)
        self._endframe = bpy.context.scene.frame_end

    def __del__(self):
        G.baked=True
        G.baking=False

    def execute(self,context):
        context.window_manager.modal_handler_add(self)
        context.scene.frame_current = self._frame
        JDEF(context) #execute some function to move the vertices
        self.obj.data.vertices.foreach_get('co',self._bake_mat)
        G.ls_bake.append([self._frame,self._bake_mat])
        self._frame += 1
        return {'RUNNING_MODAL'}

    ## bake deformer
    def modal(self,context,event):
        if (self._frame <= self._endframe):
            self.execute(context)

        elif (self._frame > self._endframe):
            return {'FINISHED'}

        elif event.type=='ESC':
            G.baked=True
            G.baking=False
            G.ls_bake.clear()
            return {'CANCELLED'}

        return {'PASS_THROUGH'}

So this doesn't seems to work and blender freezes each time I launch the operator. It doesn't come from the function JDEF because even if I comment it blender will still froze. I think I'm not handling the return values and execute/modal functions the right way.

Sorry if the bad code make you tear blood but I'm still a learning noob :D

Thank you for your help.

Ok, unfortunately @Jerryno solution didn't work so I ended up trying something else.
I successfully made it wok by triggering the animation with bpy.ops.screen.animation_play() in the __init__ function, then doing my action in the modal function and finally stop the animation when 'ESC' is entered or the action is finished (in the __del__ function).

The handler is added in an invoke function running modal.


Why is Blender rendering the wrong resolution? I configured the output for 1080x1920, but it's rendering 1822x1922, so I can't append the video intro to the videos using Avidemux (Avidemux requires the videos to be of the same resolution). Why is this happening to me? How can I fix it?

Make sure the dial below the resolution fields is at 100%.


Learning Rigid Body Constraints (Slider & Piston) - Active object keeps passing through passive? So I'm trying to teach myself some basic rigid body physics with rigid body constraints. I have a 2.83.4 .blend file with several collections (one for each constraint I'm trying to understand) and I'm struggling with the Slider and Piston constraints. Basically, I make two cubes and connect them and assign the constraints accordingly. When I try to simulate it, it does work initially, but the active cube that is constrained just passes through the passive cube, thus ruining the simulation. However, when I make a new passive cube and put it next to the original passive cube (the one that got constrained to the active cube) the active cube doesn't pass through it. I haven't had any issue with the Fixed, Hinge, or Point constraints, just these two so far.
All my googling has found videos from much older version of Blender, or a recommendation to increase the number of steps. I've tried everything I've seen, but I can't figure this one out. Can someone take a look at my file?

Thanks!

You are trying to get the objects 'Active1' and 'Passive (connected to Active1)' to collide. These two objects share a rigid body constraint through the empty 'Piston Constraint.' This constraint has 'Disable Collisions' checked. This is telling Bullet to ignore 'Active1' and 'Passive (connected to Active1)' collisions.


Creating a planet Atmosphere (Blurry Edge) At the moment I work on a sci-fi short film and for this I created a planet in Blender Cycles. I'm almost finished and I'm pretty satisfied with the result. The only thing left to do is the blurry atmosphere of the planet. I've watched several tutorials how to create an atmosphere but it still has sharp edges. Also I can't create it with the compositing node because I have moving objects infront of the planet that shouldn't have blurry edges or glow. Now my question: Is there a possibility to achieve the "blurry edge" effect (see images) with a material node?

Thanks for your answers!

Final:

Overview:

In my setup I have used two objects - planet and rocket (created by t4k1t) and for lightning - Sun Lamp and Environment Map (HDRI).

Both objects are on separated layers.

In Render Layers tab you need to create two Render Layers and set it up accordingly to your object layers. Note that I've turned on Environment pass for Planet layer to have some background. You can skip this if you are using other method for it.

Turn on Transparent in Film section under Render tab.

After rendering your scene go to Composite and here are the blocks from screenshot explained:

Glare + Lens distortion for "blur" effect.
Combined and Inverted layers Alphas.
Combined layers.
Combined layers with Environment pass.

If you are not using HDRI map you can skip 2 and 4.


Export material to Unreal Engine 4.13 I use http://www.manuelbastioni.com/ addon to create characters and I don't get materials when I import in Unreal Engine 4.13.
I am beginner user in Blender and Unreal Engine and I searched the solution how can I export to Unreal Engine that all material will imported in Unreal Engine.

I found that I must use UV things and reproduce colors and after save as png file.
But, there is no way to export materials in fbx without change something?

There is no compatible versions? For example blender 2.70 and unreal engine 4.11 or something like that?

Maximum that you can import - textures with the materials slot and UE can make simple material with this textures for you.

but complicated material with masks, additional color and math you should create in UE by null )


Render frames in reverse Is there anyway to render backwards?

No, I do not want to play it backwards. I know how reverse output frames easily.

I want to render backwards because I want to render on two machines that render at significantly different speeds, and I want one to start at the end, and the other to start at the beginning. Is there any way to do this? Thank you.

I dont know if there is a way to render backwards, BUT !!

if you set the same render output path to some network directory for every machine and tick/check Placeholders and uncheck Overwrite you can render with both.

it works like this: if a machine starts a frame it creates a placeholder file and if the other machine tries to write the same frame it can not because it thinks the frame is allready there, so proceed to next and so on.

for example Machine 1 starts Frame 1, creates a placeholder and Machine 2 starts with 2.
now - 1 is finished and 2 is working
Machine 1 wants to render Frame 2 but Frame 2 is already (placeholder) in the folder it continues with Frame 3 -and so on.
everytime a machine finds a placeholder it skips the Frame and continue with the next


Sun is not casting shadows I am at the very beginning of my blender journey, so dont judge me xD
i have tried this very basic model of a apartment like room.
I am using eevee and i have 2 questions.
First im wondering why my sun is not casting any shadows. It had before but now it doesn't anymore. Shadows are on.
Second how do i change my glass material so the sun can shine through it.
but even if i delete the window the shadows are not coming back :/.
Thank you for your help already <3

Obtained with:

For the sun:

Shadow clip end set to 300m.

For the glass:

Blend mode to alpha blend.

Shadow mode to none (or alpha clip, but with a threshold of 1... so).


Can't bake a simple cup for sketch fab I've been working in Blender for about 1.5 years now and I found a serious problem, that I cannot resolve myself.

The problem is Baking textures in Cycles Render mode (actually in every mode), which seems to bake a textures black and no shadows, colors, AO, nothing just black. Only normals and UVs bake shows something different and correct I guess.

I tried many techniques to make it work somehow but neither of them tell me the right thing. I tried this and this.

They somehow seem useful but it still doesn't bake right. If you need my graphics info and Blender version: AMD Radeon R9 200 series Blender 2.78 Intel core i5-3470 CPU

So these are the steps I always followed:

Open a new project, set up a simple cube and a sunlight
In edit mode unwrap that cube using Smart UV Project.
Add a new image 512x512 without Blank option enabled
Then I made a new material in nodes editor (image bellow) with an
Image texture node connected to the Diffuse BSDF node. I kept the
image texture node selected and began baking, by clicking the Bake
button.
It didn't work so I even tried recalculating normals, making sure
it's not duplicated (the object) and checking if there aren't 2
materials active. I tried making a new project too but the probled
doesn't seem to go away.

Thank you for helping!

Here is link to file

https://drive.google.com/open?id=1_DkQR3JFfO14KWdWCL6uKS4eLWrKH-fu

You shouldn't have the wood image texture selected, when you do that a circular dependency is created, since you are trying to read the wood texture for use in baking and write to it at the same time. In fact, Blender warns you about this in the title bar:

What you should do is create another empty texture and select it to bake the texture onto:


Blender energy effects I'm trying to have one of my character fire a ki blast from his palm (anime style). Now in terms of the effects would i do that while animating my models or would i model and animate the blast itself during the composite phase of my project?

if you are on 2.8, animate the blast. use emission. model it. use bloom effect. If you're on 2.79 do it on post.


Is there a way to extend cloth cache? If I baked part of the simulation already and want to bake a couple more seconds, i.e. I have 120 frames baked and looks nice so I want to bake the 121 - 240 frames. Is there's a way for me to just do that? Or do I need to start from frame 1 again?

Thanks!

You have to rebake the full simulation. There is some tricks if you are really in a bad situation and really can't rebake fully, such as freezing the mesh as last frame and starting baking from there. But keep in mind there is no way for your simulation to know what was going on prior to the frame your start the baking, so your sim will start with 0 force applied.


What are these spheres at bottom-right in 3d viewport? I downloaded a *.blend file and open it.
I saw two strange spheres at bottom-right in 3d viewport.
What's this and how can I turn it on/off?

The spheres are called HDRI Preview spheres, in older Blender versions known as Look Dev HDRI spheres. You can turn them on/off in the overlay menu. It is used to check the lighting setup of an HDRI.


How do I find the exact meeting point of 2 lines? How do I find the exact meeting point of 2 lines? I'd like to locate this place, and add a vertex on it. Preferably no python.

Here are some examples that the solution will need to solve for:

Tracing down 2 lines

Tracing up one, down another
Tracing to a line

here is a

for testing.

P.S. If you have multiple solutions, please post them as different answers to help wit our site stats

This works 100% with perpendiculars, still trying to find a method for non-perpendiculars.

Enable edge snapping.
turn the transform orientation to normal.
make the pivot point median points.
use the transform (should be Z) handles to drag the point to the edge.

Done


Rigify Finger assigned to different parent I am having a problem with the rigify addon. After I generate the rig, everything works perfectly except the finger bone f_middle.01.L (it doesn't respond to the movement of the hand_ik.L), although the same bone for the right hand works fine. I have looked for differences between the two bones and have found that the parent is set to "root" for the left finger bone (the one not working), as opposed to the right finger bones parent being ORG-palm.02.R.
After realizing this I thought I could just change the parent of the bone, but unfortunately access is disabled.

I would prefer to be able to solve this issue without generating the rig again if possible because I have already made a few poses in the pose library, but if it can't be avoided then so be it.

Any help would be greatly appreciated.

BTW, autorun Python scripts were already enabled.

The access is disabled simply because you're in pose mode: select the armature, go to edit mode and change the parent from "root" to "ORG-palm.02.L".

Remember also that if you save your file and create a new one, generating a brand new rig, you can import from the old file your pose library: you will find it under the "action" folder.


How can I batch render multiple blendfiles consecutively? How can I batch render multiple blend files consecutively?
Are there different ways of doing this? If so, what would be an easy method?

I'm guessing there will be a command prompt method of some kind but I'm not very familiar with this. (although I'd love some pointers)

Basically what I'm looking for is a way to render a given blend file which executes the compositor nodes and saves the images connected to the file output node. When finished, I'd like the blend file to close and in it's turn open the next given blend file and so on and so on...

I'm not looking to render multiple scenes or render layers but actual blend files with it's predefined render settings.
Also, I'm aware that there are some render managers available but due to the lack of knowledge I'm not able to figure out how to set these up. (not really looking for a render manager here but an easy method to do batch rendering on the go)
I'm sure render managers have their advantages but I'm currently only looking to simplify some basic batch rendering (without having to get up in the middle of the night just to press a single button).

Basics of Blender's CLI (Command line interface)
The command line is definitely the way to go. Here is a little training that should be enough to get anyone up and running:
blender

Is the command to run Blender from the command line (you may need to setup an alias to have this on Mac or Linux).
blender -b

-b is a flag that will run Blender in background mode. This is generally what you eventually want when rendering because it is generally faster. However, until you are confident with the command line, you may want to load the UI anyway, so that you can see what it's doing. To do so, simply omit the -b flag. Note that to do the rest of these commands effectively, you must ensure that you have the -b flag enabled.
blender -b filename.blend

Will open the file in the background, but still close immediately. This is not very useful, though, so we do something like this...
blender -b filename.blend -a

This will render out the animation as if you had opened the file and hit "Render Animation."
blender -b filename.blend -f framenumber

This will render out only the frame that was named, e.g.,
blender -b test.blend -f 10

will only render frame 10, then close.

Multi-file rendering
You can, however, string multiple files together. Suppose you are in a folder that has three blend files a.blend, b.blend, and c.blend. You want to render the 15th frame of a.blend, the entire b.blend animation, and the first frame of c.blend.
blender -b a.blend -f 15 b.blend -a c.blend -f 1

This command accomplishes this for us quite easily. Note that this is essentially the same thing as writing the following.
blender -b a.blend -f 15
blender -b b.blend -a
blender -b c.blend -f 1

In most command lines, you can also replace it with the following.
blender -b a.blend -f 15; blender -b b.blend -a; blender -b c.blend -f 1

Note that this is just the previous commands strung together on one line and separated by semicolons.

A bit about directories
There is something when using the command line called the current directory. You can change directory (the current directory) with the cd command. The above assumes that all of the blend files are in the current directory which means that you can leave off the absolute file paths.
Suppose in the command above, we want to access three blend files that are on the desktop. We could cd into the desktop (change the current directory to the desktop), so that the files can be accessed relative to that directory. On Unix systems (mostly Linux and MacOS), you could do something like this.
cd /Users/Username/Desktop/

The user's home directory has a shortcut ~, so this is the same as the following.
cd ~/Desktop/

Default preferences for the terminal probably open it where the current directory is the user's home directory, so you can probably just do...
cd Desktop/

To see what is in the folder you are in, you can use...
ls       # Mac/Linux

dir      # Windows

To see the folder path...
pwd      # Mac/Linux

cd       # Windows (just use change directory without arguments)

The clunky way - absolute paths
That said, you could just use absolute paths and completely disregard the current directory stuff. I wanted to avoid showing this because of the difference between Unix and Window's ways of writing paths. Unix separates folders with / and Windows separates folders with \. I'll be showing the Unix style in this example. Note the use of the ~...see above for what this means.
blender -b ~/Desktop/a.blend -f 15 ~/Documents/BlendFiles/b.blend -a /Users/Freddy/Desktop/c.blend -f 1

So if the Desktop is in the Freddy directory, a.blend and c.blend are both in the same folder.

Paths with spaces in them
One problem that you may encounter as Delagone mentioned in the comments is something like trying to navigate to:
/Users/Freddy/My Folder/

...where My Folder/ has a space in it. Because the command line separates arguments by spaces, you'll need to put double quotes around that argument to tell the command line to treat it all as one argument. For example, you could do something like the following.
cd "/Users/Freddy/My Folder"

This is one reason why most programmers tend to name folders without spaces; it makes it easier when working from the command line to navigate. Instead you can always name folders with camel-case MyFolder or with underscores my_folder.
If you are on a Unix-based system (I've not yet tested this on Windows), you can also escape the space and leave out the quotes. This is the default behavior for tab auto-completion on a Mac, while the quotes are default for Windows.
cd /Users/Freddy/My\ Folder/

The \ is the escape character and tells the command line to not interpret the next character in the usual way. In this case, it makes it treat it as a regular space character without separating them as arguments.


BPHYS files spécifications I've been trying to write out particles cache files from Houdini to Blender.

I successfully exported a sequence of bphys file, which Blender loads fine. the code is roughly ( in python ):

    dataType = 1
    nParticles = npoints
    data = struct.pack("8c","B","P","H","Y","S","I","C","S")
    data += struct.pack("III",dataType,nParticles,31) # I don't understand that 31 ...

    for i in range(nParticles):
        #index
        data += struct.pack('I',idList[i])
        #Location
        data += struct.pack('fff',positionList[i][0], positionList[i][2]*-1, positionList[i][1])
        #Velocity
        data += struct.pack('fff',velocityList[i][0], velocityList[i][2]*-1, velocityList[i][1])
        #Rotation
        data += struct.pack('ffff',0.0,0.0,0.0,0.0) ## no values for now
        #Avelocity
        data += struct.pack('fff',5.0,10.0,0.5) ## no values for now

This code runs for every frame in the animation.
Lastly, I write the very first bphys file ( with 6 padded zeros) "filename_000000_00.bphys" , containing a list of all the particles 'times' in the simulation, with the good header data.

dataType = 1
nParticles = len(particlesList)
data = struct.pack("8c","B","P","H","Y","S","I","C","S")
data += struct.pack("III",dataType,nParticles,64)

for particle in particlesList:
    data += struct.pack('fff', particle['birth'], particle['death'], particle['lifetime'])

Now, that's a good first step. Althought I haven't been able to see any Angular velocity in blender; Location and Velocity are read fine.

One of the key parameters I would love to export from Houdini, is the scale parameter. But I have no idea how to add this value to the bphys file.
I tried to add a float to the "collection" , of course it doesn't work.  I must have to change something in the header. This "31" value seems to correspond to the amount of data per particles.
There seems to be a lot of different possible values for this parameter. How can I find some informations about that ? ( if possible without having to dive into C++ source code, which I tried )

I feel like I'm almost there

I need some light ^^

not sure if you found a solution, but here is python script, that reads and writes  bphys data

https://blenderartists.org/forum/showthread.php?318831-Point-Cache-Doctor-script

via phonybone
and here is nice solution via kram1032

Can I access the particle system through Python to build custom simulations?


How can I make transparency act as expected with the internal renderer? Seems like a z-buffer issue.

Everything seems fine in the material preview, but in the render the sky (or transparency, if no sky) "bleeds" a pixel or two between the intersecting part (intersecting in the 2d render, not 3d) transparent textured geometry and any geometry behind it. Hope this makes some sense:

Material/texture settings are as follows:

Changing transparency mode of the Texture from Straight to Premultiplied doesn't fix it.

blend can be found here: https://drive.google.com/open?id=0B8pm58kHwzU3M3hUZmdFdUhTdDg

The texture file separately can be found here: http://i.imgur.com/bRBRdX8.png
Tried a different texture file from cgtextures with no difference.

The main problem is anti-aliasing the alpha borders of the leaves. You should enable Full Sample in the Render options for best quality. This will render correctly:

Other problem for best quality might be the transparent texture itself. There is no color bleed over the transparent edge. There is black background over the transparent pixels.
On the leafs texture sampling and filtering happens. And the transparent border get's blurred and the black leaks into the leafs. The image without alpha channel should look like the right one:

Make sure when you are exporting the whole rgb channels are exported and not clipped with the alpha channel.


Cloudy plastic material Any idea on how to make that kind of cloudy plastic?

I've tried to add subsurface to the principled BSDF texture but im not fully convinced by the result. Any thought?

Thanks !

As suggested by Gorgious you should use Subsurface Scattering. Here I've tried with a Subsurface value of 1 and with a Radius setting of R = 2.5, G = 1.3 and B = 1. It's probably easier to get the desired effect in Cycles but in Eevee I cheated with a bit of Emission, otherwise it would have looked a bit too dull. Also, give it a bit of bump:


Enable Alpha & Specular Color for textures through python how would I go about using the script below to enable specular color and Alpha to all textures in a scene? I've tried various bpy.data.THING none have worked. Below is just the last thing I've tried before asking this.

for mat in bpy.data.MaterialTextureSlots:

    mat.use_map_color_spec = True
    mat.use_map_alpha = True

To set MaterialTextureSlot.use_map_alpha on all texture slots on all materials.
    import bpy

for mat in bpy.data.materials:
    for ts in mat.texture_slots:
        if ts is not None:
            ts.use_map_alpha = True
            ts.use_map_color_spec = True


How to identify mysterious physics force affecting my objects? I have some connected rigid body objects (a ragdoll). When I let physics do its thing, the ragdoll doesn't just fall - it acts as if some mysterious force hits it.
While investigating what might be the cause for it, I realized there's something (mysterious force) that affects the ragdoll. It's positioned roughly where the ragdoll is. To demonstrage this, if I duplicate the ragdoll and move the duplicate 2m to the side, the duplicate doesn't hit that mysterious force.
Here's how it looks (first 10 frames, slowed down):

For completeness, I also tried just moving everything around, and indeed there seems to be something roughly 2.5 meters above the origin:
YouTube video: Blender 2.9 mystery force affecting ragdoll falling down
Before I rewatch Stranger Things and look for clues there, any suggestion on how to find what's causing this strange behavior? How to identify that invisible force?
FTR, Here's the .blend file in question.
Thanks.
Note: this is a followup to a previous question I asked - at that point, I thought the problem was with the constraints between the objects.

The mysterious invisible force is 12 copies of your ragdoll. They are not in your scene but in your blend file. It looks like these lost objects are still used for collision detection.
To get rid of the copies, select Blender File as Display Mode for the outliner. Look for Objects and expand it. If you select everything in the viewport, then you can easily see in the outliner which objects are used in the viewport. Delete the other unwanted copies.

If you want to see the hidden copies, create a new file, delete everything and use File → Append ... to append the collections RigidBodyContraints and RigidBodyWorld from this file. These collections are used internally by Blender and are connected to the lost objects. This way you can append them easily to your scene.
Revealing the 12 hidden ragdolls


Cut/Copy/Paste in Image Editor? It's a pretty simple question. I was wondering if it was able to cut/copy and paste images in Image Editor in Blender? Almost like box select in 3D view, maybe?

No, you can't as of yet. The image editor is pretty basic at the moment. You could use cloning if you'd like, but that is much more involved (and a waste of time if you just need to copy/paste). Just use an external image editing application such as gimp or photoshop.


Dupligroups and Snapping When I import dupligroups from an object .blend into my master .blend scene, I can move the transform of the dupligroup parent fine.  However, I really miss the ability to snap to other scene geometry.

It appears that the only thing that will snap on the object is the parent empty, but not the underlying dupligroup mesh.

Here is what I get (snaps to the empty containing the group only):

Here is what I want (snaps to the geometry of the mesh):

Is it possible to snap the linked dupligroup mesh to my scene?

Blender is unfortunately very limited for use in precision modeling and CAD like operations.
It's snapping tools and precision transforms are very lacking. Dupligroup handling is one of it's many shortcomings, this is a know limitation of the system, you can't really control what to snap to and from with empties.
You can still snap to the linked geometry, but when transforming the empty itself with a dupligroup you can only use the empty's center as base snapping point.
Workaround 1 - Don't link as group, link as object.
If it's just a single object we are talking about link it as an object instead.
After linking make it a Proxy with Ctrl + Alt + P or make it Local with L > Selected Objects.

Upside is you get the unexpected benefit of overriding several types of data locally while maintaining the linked geometry, like materials, and even modifiers

Downside is it only really works well if it's a single object. (you wont be able to easily add new objects to the linked instance unless you merge them all together into a single bulky mesh.

Workaround 2 - Use a dummy mesh object.
Note: This has been deprecated for Blender 2.8+ mesh objects can no longer have Collection Duplications
By default when you link a group instance it links through an empty object, which limits it's snapping options. Instead use it as a dupligroup on a 'dummy mesh'.
A dummy mesh is a purpose created unrenderable mesh object that is used solely for the purpose of snapping.
You can custom create it's geometry exactly with only the points you exclusively want to snap to. That will give you a 'custom snapping cage' with only the relevant points for freely snapping to/from.
Just create a mesh object, model it regularly as you see fit, and in the end select all with A then delete all with X > Only faces.
That will render the object invisible to rendering, in theory not weighting down the scene performance, but give you a valid snapping geometry tailored to the specific object.
Then just go to the Properties Window > Object > Duplication > Group and pick the previously linked group.

The Downside of this technique is that you have to model extra an snap cage, for each relevant object, it's extra geometry weighting in your scene and slowing the viewport down. Also if you want to add more instances of the group easily you'll have to duplicate the existing mesh, so it always keeps the relevant cage.
Upside is you get a custom tailored snap geometry, with exclusively the points you want to snap to/from. Should not affect rendering performance, and it can additionally hold materials for easy overriding if necessary.


Weird grainy texture in default brush in paint texture mode I'm using Blender 2.75, I made a model and UV mapped it to a black image, then colored it using texture paint mode brushes without problems as it was mostly solid colors with blurred transitions. Today I changed the mesh and had to unwrap again, but I lost parts of the texture and decided to paint it again.

The problem is that the brush now shows a weird grainy texture. I checked and no textures are assigned for the brush. I tried other brushes and they all present the same behavior. It's looks a pixelated brush that looks very ugly and I cannot make it soft no matter what I change.

The weird part is that the brushes work normally in the UV Image Editor. This only happens in texture paint mode if I paint directly on the model.

Could it be a bad setting? is this a common problem/bug? what can I try to solve this without losing the part of the texture that is correct?

I discovered that I had not applied the mirror modifier and that was causing the issue, apparently it was putting the model over itself and the brush did not know which one to paint.

After applying the mirror modifier and making sure I did not have double faces it worked fine.


Compositor ID Mask not working? I want to give my model a glare effect at robots eye,

so I gave the material assigned to the eye Pass Index of 1

then when I went to compositor and made this node set up,

in the viewer I could not see anything like that, (BW Image)

Your setup seems to be correct.

The material you want to use as mask must have an Pass Index number.

In the render layers enable Material Index

Now press F12: YOU HAVE TO RENDER THE IMAGE for this changes to update, and the compositor has the proper information to work with (Sounds simple, but this step is sometimes overlooked).

After that, the node setup could be something like this, where the ID mask index matches the index set for the eye material and is used as a mask for further transformations:


How to set color on triangle of a mesh I am working on a model and facing some problems. The problem is that some of the triangles have different color and i want to make it same color as the whole model is. In the image you will see that some of triangles are in light red color and the remaining model is in dark red color, so how can i change that light red color to dark red color, one material is applied on that mesh.

What seems to be different colors on some faces than on others is a function of the direction of the normals of the faces, and the location and energy level of the lamp(s). Faces where the normals of the faces are oriented so that you are looking at them head on in line with, or close to in line with the location of a lamp in the scene will have a more intense hue than faces that are oriented so that you seem to be looking at them on an oblique angle, or at a point that is distant from the line between the location of the lamp and the part of the image you are viewing.

To get a more uniform color on the material, you may need to either change the lamps, add additional lamps to the scene, or both. Depending upon the scene, you might want to change the default lamp to type "sun", change it's elevation ("z" axis value) to something larger, perhaps 500 or 1000 Blender units, and change the energy to a higher value, too. Start, perhaps, with and energy of 250.


How to control randomization during Operator life-cycle? I am working on a Python script that uses some randomization and some parameters to procedurally generate geometry. However each time I adjust any of the Operator parameters, the entire script is re-run and all the random aspects re-randomized.

My script would have a more useful workflow if I could somehow randomize once on initialization and allow the adjustment of parameters without re-randomizing. However it would be nice to add a button or something to trigger re-random instead of using undo/redo.

What is a good way to accomplish this?

(This is not a question about how to seed the PRNG.)

Set in invoke method.

If I understand correctly you wish to only set the random seed once when the operator is invoked.

The method is employed in this answer to only find the loose parts of a mesh once.

Altering properties only fires the execute method.

Adding a button to self layout.operator("test.random") in draw method will re-invoke and set a new random.

Here is simple operator example. Invoking sets the random property.

import bpy
import bmesh
from random import random

from bpy.props import (
    FloatProperty,
)

class TEST_OT_random(bpy.types.Operator):
    """Add a simple box mesh"""
    bl_idname = "test.random"
    bl_label = "Random"
    bl_options = {'REGISTER', 'UNDO'}
    random = random()

    width: FloatProperty(
        name="Width",
        description="Box Width",
        min=0.01, max=100.0,
        default=1.0,
    )
    height: FloatProperty(
        name="Height",
        description="Box Height",
        min=0.01, max=100.0,
        default=1.0,
    )

    def invoke(self, context, event):
        self.random = random()
        print("invoke", self.random)
        return {'FINISHED'}
        # or to run after invoke
        return self.execute(context)

    def execute(self, context):

        print(
            "execute:",
            self.width,
            self.height,
            self.random,
        )

        return {'FINISHED'}

    def draw(self, context):
        layout = self.layout
        col = layout.column()
        col.prop(self, "width")
        col.prop(self, "height")
        col.operator("test.random", text="Re-random")

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

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

if __name__ == "__main__":
    register()

    # test calls
    bpy.ops.test.random()
    bpy.ops.test.random(width=3)
    bpy.ops.test.random('INVOKE_DEFAULT')

Test run output

execute: 1.0 1.0 0.6802742102341347
execute: 3.0 1.0 0.6802742102341347
invoke 0.5433648186966845

Running from UI, sliding the width property

invoke 0.9656296014544301
execute: 1.059999942779541 1.0 0.9656296014544301
execute: 1.1200000047683716 1.0 0.9656296014544301
execute: 1.2999999523162842 1.0 0.9656296014544301
execute: 1.3299999237060547 1.0 0.9656296014544301
execute: 1.3600000143051147 1.0 0.9656296014544301
execute: 1.3299999237060547 1.0 0.9656296014544301

aternatively, remove invoke method above to have a random seed set only when addon is registered


baking uvmaps to object Im having a few issues learning to bake. I have created a model of an onramp, its a solid mesh, consisting of two materials (/w assigned faces) UVMapped, one being the "road" and the second being the "cement". my goal is to bake several UVs into a single one for the final texture.

here is the UVmapped onramp, the end result should be identical, but with a single baked texture.

I've only selected textures, created a new blank image for the render, and pressed bake

alas its black, there are several lamps on the scene so it's not a lighting issue.

I also selected the new blank image, went into edit mode, and unwrapped the mesh (its black against the new blank image), after blicking "bake" I get this monstrosity!

whats happening and/or how do I get the proper end result?

I got it! the trick is that you have to create a New UVMap for the bake to draw to.
click "data", expand "UV maps", click the "+" to create a new UVMap. with the new UV map selected, you can create a new blank Image, unwrap, and bake!

edit: so although it worked that time, i did the same process again on another section and im getting improper bakes!, whats the deal?

edit x2: it was a mirror modifier! even though it was turned off, after deleting the modifier it baked correctly.


How do I composite a transparent texture over a masked Render Layer I tried to composite a transparent texture over a masked Render Layer, but the render layer mask doesn't detect the transparency of the texture.

The layer with the transparent texture has transparency, and the texture too, but the render layer mask doesn't detect the transparency.

Your "skydome" renderlayer is masked, and it shouldn't.

Remove the mask from the background renderlayer and the alpha over operation will produce the right result.

The skydome renderlayer should look fully opaque, without any transparency (your screenshot shows that it is masked by the objects of the foreground renderlayer).

Keep in mind that masks in the renderlayer panel are z-masks, created by geometry, and not affected by alpha transparency.


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

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

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

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


File Format for an Animation What is the best file format for a short animation? I would like to make a folder with a bunch of animations which are different camera angles of the same Blender File. Is this even possible?

This question is very broad and has no definite answer.

With that being said, I'll write my answer as H.264. Why?

Among others, it's one of the most universal. High compression combined with high quality, especially compared to the compression ratio. I personally use it for most of my video renderings.

It's also broadly supported, and will run on all major platforms; Windows, Mac, browsers, iPhone/iPad, Android devices, Windows devices, etc.

If you decide, you can easily convert the video clip to MP4 at a later time if you so desire.

It's also one of the industry standards along with MP4, WAV, OGG and more.

So again, this is more of a personal answer on a broad question.

Hope this helps.


How to make preset for RGB curves in compositor i have added preset base in my code, now is there any way to save data of RGB curve , so we can use it from saved dropdown menu at any time in any file ,

i have added preset base

this gives me only 1 point data , it does save it but only one , if i add extra points and then save it as preset even after that it didnt count extra curvepoints , it only gives x and y values of single point

do let me know if there are any way to save RGB curve property for compositor

class add_comp_preset(AddPresetBase, bpy.types.Operator):
"""Add a new render preset."""
bl_idname = 'comp.add'
bl_label = 'Add My comp Preset'
bl_options = {'REGISTER', 'UNDO'}
preset_menu = 'comp_presets'
preset_subdir = 'weybec_comp_preset'

preset_defines = [
    "nc  = bpy.context.scene.nc",
    "scene  = bpy.context.scene",
    "render = bpy.context.scene.render",
    ""for i in bpy.data.node_groups['nevercomp'].nodes['RGB'].mapping.curves[3].points:c = i.location"

preset_values = [
    'c'
    ]

The properties of every point of RGB curves node can be accessed using the following snippet. Generally, the location of the point in XY plane is useful. Hence to access that property:

(RGB_Curves_Node).mapping.curves[0].points[id].location_x

Similarly,

(RGB_Curves_Node).mapping.curves[0].points[id].location_y

id is used to access which point you want the property from. Also, the 'R', 'G', 'B' and 'C' curves are separated by id 0, 1, 2, 3 respectively.

As you want to save the data as a preset, you would probably want to do something like

preset = [[], [], [], []]
for i in range(0, 5):
    for point in bpy.context.scene.node_tree.nodes['RGB'].mapping.curves[i].points:
       preset[i].append((point.location.x, point.location.y))


What's the difference between the various Open Subdiv compute types? It seems there are 5 different available "compute types". what are these compute types? What's the difference between them?

The difference relies in in which device the actual calculations are done. CPU and OpenMP are run on the CPU, while GLSL Transform Feedback and GLSL Compute are run on the GPU.

  CPU - single threaded CPU implementation. it is mainly useful in cases when GPU compute is possible and threaded CPU option causes artifacts (it is unlikely to happen, but still possible).
  OpenMP - multi-threaded CPU implementation. It is similar to threading model of old subsurf code. Use it for maximum performance in cases when GPU compute is not available.
  GLSL Transform Feedback - uses GPU to perform calculations, has minimal requirements to video card and driver.
  GLSL Compute - uses GPU to perform calculations, supposed to be more efficient than Transform Feedback but also has higher requirements to video card and driver.

From the wiki r (archived version).


why do game textures that shouldn't be transparent have an alpha channel? observe

I have seen alpha layers in diffuse, normal, and specular maps. what purpose does it serve and is it useful in blender in any way?

This channel can be interpreted by the game engine as grayscale data and used for any purpose like a subsurface scattering map, which may be what is happening here.  This is called Channel Packing.
Reference: http://wiki.polycount.com/wiki/ChannelPacking


How to create this doted material in cycles I want to created this doted material in cycles.

Uptill know i tried this.

But did not get the similar result. Any suggestion or help to get the similar effect. Thanks

It looks like the Musgrave texture is pretty close to what you want:


Problem enabling siding generator addon I created this siding generator and I have been adding some new features and I have encountered some problems that I just can't seem to get around. Currently it is not installing into Blender 2.72 properly, it works fine from the text editor, but if you try and install it as an addon you get an error like this:

Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender\2.72\scripts\modules\addon_utils.py", line 299, in enable
    mod = __import__(module_name)
  File "C:\Program Files\Blender Foundation\Blender\2.72\scripts\addons\add_mesh_siding\__init__.py", line 12, in <module>
    from add_mesh_siding_utils import *
ImportError: No module named 'add_mesh_siding_utils'

Even though the other file is right there as well. I don't get what changed, it used to work just fine.

I have had this exact problem with other addons, namely the add mesh rocks, and cg cookies' poly strips.

The problem comes from the name of the directory you created in the addon folder. For your case the folder needs to be named exactly add_mesh_siding_utils. If you rename the folder the addon will work.
This is why, blender is trying to import everything from the addon (this line in the error message.)
from add_mesh_siding_utils import *

Blender is looking for a directory called add_mesh_siding_utils; the directory name is the module name.


How to connect existing node group in a material in Phyton? my code creates a node group and I needed it to be automatically assigned between the principled shader and the output node. It works if I try to connect any nodes, but not with my node group’s input and ouput. I’ve been trying for hours and I am clueless. I appreciate any possible help.

That group there is what my script creates. I just need to connect the "shaderIn" and "shaderOut" outputs between them.
Here is the code, with one of the many failed attempts at linking the node at the bottom. I managed to make the code add the group to the materials, but it’s as far as I could go:
import bpy
pathImg = "D:\\MaxToBlender\\Lightmaps\\"

selection_names = [] #declaring array
for obj in bpy.context.selected_objects: #loop through all the selected objects
  if obj.type == 'MESH':
    selection_names.append(obj) #add to array
    obj.select_set(False)
if selection_names != []:
    count = 00 #set the count
    for obj in selection_names: #loop through array
        count = count + 1
        bpy.context.view_layer.objects.active = obj
        imageNumber = (f"{(count):02d}")
        imageFile = (str(pathImg) + str(imageNumber) + "_c.exr")
        print(imageFile)

        # create a group for this object
        groupName = ("group" + str(imageNumber))
        bakeGroup = bpy.data.node_groups.new(groupName, 'ShaderNodeTree')
        # create group inputs
        group_inputs = bakeGroup.nodes.new('NodeGroupInput')
        group_inputs.location = (0,0)
        bakeGroup.inputs.new('NodeSocketShader','shaderIn')
        # create group outputs
        group_outputs = bakeGroup.nodes.new('NodeGroupOutput')
        group_outputs.location = (300,0)
        bakeGroup.outputs.new('NodeSocketShader','shaderOut')
        # create nodes in a group
        addShader = bakeGroup.nodes.new(type="ShaderNodeAddShader")
        addShader.location = 400,-200
        emissiveShader = bakeGroup.nodes.new(type="ShaderNodeEmission")
        emissiveShader.location = 300, -100
        lightImgNode = bakeGroup.nodes.new(type="ShaderNodeTexImage")
        lightImgNode.image = bpy.data.images.load(imageFile)
        lightImgNode.location = 200,-200
        # link nodes together
        bakeGroup.links.new(addShader.inputs[1], emissiveShader.outputs[0])
        bakeGroup.links.new(emissiveShader.inputs[0], lightImgNode.outputs[0])
        #link input and output of group
        bakeGroup.links.new(group_inputs.outputs['shaderIn'], addShader.inputs[0])
        bakeGroup.links.new(addShader.outputs[0], group_outputs.inputs['shaderOut'])

        for m in bpy.context.object.material_slots: #iterate through all materials on the object
            override = bpy.context.copy() #i don't know what it does. without it it says the context is wrong
            material = m.material.copy()#makes this material unique otherwise the shader will be created multiple times or same material in different objects will have the same lightmap
            m.link = 'OBJECT' #not necessary unless the objects are linked, but just in case...
            m.material = material #reassigns the material that goes away when the link is changed

            nodes = material.node_tree.nodes # get all material nodes
            material_output = nodes.get("Material Output")
            mainShader = nodes.get("Principled BSDF") #get the principled hoping there's only one

            #add the group
            dummy_group_node = material.node_tree.nodes.new(type='ShaderNodeGroup')
            dummy_group_node.node_tree = bakeGroup

            #link input and output of group
            material.node_tree.links.new(bakeGroup.outputs['shaderIn'], mainShader.outputs[0])
            material.node_tree.links.new(material_output.inputs[0], bakeGroup.inputs['shaderOut'])

Here:
            #link input and output of group
            material.node_tree.links.new(bakeGroup.outputs['shaderIn'], mainShader.outputs[0])
            material.node_tree.links.new(material_output.inputs[0], bakeGroup.inputs['shaderOut'])

bakeGroup is a NodeGroup. You want to use the Group Node dummy_group_node.
Also remember in links.new(A, B), A is the input socket, and B is the output socket.
So do this instead:
            #link input and output of group
            material.node_tree.links.new(dummy_group_node.inputs['shaderIn'], mainShader.outputs[0])
            material.node_tree.links.new(material_output.inputs[0], dummy_group_node.outputs['shaderOut'])


Is there a way to round corners on material level? Is there a shader that can be used on material level that will give the effect of round edges when assigned to an object? I'm not looking to increase the mesh density, I remember in 3DS Max, Mental Ray, round corners is an option that can be enabled in material, so the object's sharp edges will "look" like smooth, without changing the object's mesh, is there a way to do this in Cycles?

A straightforward solution has been added to the most recent Blender distributions (after the released version of 2.79b, so you must download newer updates of 2.79b, or 2.80 Alpha, from https://builder.blender.org/download/ to enable it).

There's a single node (Input > Bevel) that fakes bevelled normals. Of course it won't change the geometry, so it doesn't look great from too close, but it can enhance pretty convincingly the specular/reflection at the edges.


Moving text in VSE blurs or lags behind I am a Fashion/DIY YouTuber who has successfully used Blender & Gimp to produce videos for more than two years now.  I am looking to take my video editing to the next level by adding more effects.  However, I am having trouble with simple things like making my transitions appear clean.

For example, I added a png image into the VSE which is the title for the video.  I wanted it to move across the screen, so I made the image Offset start at 0 and move over to 1000 about 11 frames later.  I used to do this using the Transition Effect, but it looks way worse as far as lag.  Here is the link to the video I am talking about. (https://www.youtube.com/watch?v=wCJ0eidTFhQ)  It occurs on the text at about the 34 second mark.  Can anyone help with this?

Well thats interesting, you have discovered that animating the strip's "offset" value only produces a linear f-curve.

But you can change this curve so that the animation speeds up and slows down, instead of proceeding at a fixed rate. It will look more natural.
Change one of your windows to an F-Curve view, like this.
 See how the animation curve is a straight line.

Or you can press the T-Key to get this menu, choose Bezier (or any of the fun ones on the right, 'back' is my favourite).

Animating the Strip's Offset value will look far more natural now. Did you know that when you animate pretty much every other value in Blender, you will get the bezier curve automatically? Its just this one value doesn't do it like that.


How to solve the pinching in this concave geometry? I have been trying to solve this type of geometry (a smooth "rounded" mesh with a concave edge at the top - as shown in the image). Any suggestions on resolving this, without getting the bulge at the side of the edge?

As suggested in the comments, you can use a 'guide mesh' that the vertices of your object can snap to. The guide mesh is a simplified version of your object that describes the curvature that your original object should take. This works because some close-together edge loops not conforming to the curvature of the overall surface, creating a pinching effect. A guide mesh will force all vertices to perfectly match a surface.

I have created a guide mesh by adding a plane with a few subdivisions with a Simple Deform modifier set to 'bend' on it. You don't need to use a Simple Deform modifier, I just did this to get a perfect curved plane. It also has a Subsurf modifier before it to give the Simple Deform modifier more geometry to work with, meaning a smoother bend:

I then add a Shrinkwrap modifier to your original object and choose the simplified object I just made as the 'Target':

This does improve the result - the original object is now being clamped to the smooth, simplified object, however, we can improve the result by improving the topology of your original mesh.

Here we see some improved topology:

The further apart, or more evenly, your edge loops are placed the smoother your mesh will be, however, you obviously need some edge loops to be close together to create that sharp corner. The green markings in the image show that the edges near the bottom have been spread out whilst the red ones at the top have remained close. The orange markings show edges that have been partially spread out so that the change is more gradual. This gives us the best of both worlds, close edge loops where needed, but spread out where not.

I used the add-on 'LoopTools' add-on (which comes with Blender) as it has a 'Space' option (W> 'LoopTools'> 'Space') to evenly space out selected edges. On some edges I reduced the space 'Influence' in the 'Toolshelf' so they were only partially spread out.

This gives us this result:

You will notice some slight creasing still where that 'diamond' face is on the other sharpened corner, so you could use the same technique of spreading edge loops on this part of the mesh too instead of the 'diamond' technique.

Now, obviously, this was done on a flat mesh, whereas your mesh has some thickness to it. The solution to this is to either:

Add a Solidify modifier after the Subsurf modifier.
Use a second simplified object for the inside part of the mesh and use vertex groups to assign which modifier should effect which vertices.
Apply the Shrinkwrap modifier and extrude normally.


incorrect gradient in linear color ramp I would like to use linear color ramp in blender.
But in the middle of it is not 50% grey, but strange value 0.735357. This is incorrect. Why?

The value is linear:

Human vision is not linear. Preceived value of a diffuse surface reflecting 50% of light looks brighter than middle grey to us. Humans preceive around 21% or 18% reflected light as middle grey depending on who you ask. The Value in HSV is based on preception.

If you used Gamma node with 2.2 after the gradient it would output approximately linear greadient based on human preception.


Speed up my Rendertimes in cycles I'm really new to blender but I did a lot of research and testing, but my render times are just bad.
Or rather my rendertimes in a specific file that I created (my first project).
For the scene I need about 1:30h to render. I render on CPU (Ryzen 9 5900x), because my CPU is faster than my GPU (GTX1060 6GB) (and yes I know, GPU render would be better and yes my GPU is a bottleneck, but RTX 3080 is sold out).
I tested the BMW file/ benchmark and have a render time (CPU) of about 1min with adaptive sampling on.
Can somebody with more knowledge than me please check out my blender file and tell me what I did wrong?
I already played around with specific render settings (samples, denoise, tilesize, bounces)
Maybe a simple setting is wrong that I just overlooked, because the scene isn't really that complexe (just a single shelf in a room).
To note: I would like to render this image in 4k, so that's intended.
Thank you for your help.

Your expectations may be too high for a 4k image.
Your benchmark of 1 minute for the BMW is very good. Note, however, that the image is rendered with only 35 samples and at 50% size. If you increase the size to 100% the render time will quadruple! Increase the size to 400% and it will be multiplied by 16 again. That's 64 times longer for 400% than if the size was 50%. This turns one minute render time into one hour!
On the other hand, your scene is an indoor scene. Such interior scenes need much more samples to get rid of the noise. That's because the light only comes through the window or door and bounces in the room. More samples increase the render time. Light portals can help a bit (What does Light Portal mean?).
For preview in high-res you can render only a part of the image with a box selection, press Ctrl+B. (To remove the box press Ctrl+Alt+B)
Last but not least you can render nice interior scenes with Eevee, too. Have a look here: (youtube) How to make Realtime Archviz with Blender and Eevee (Part 1 of 3)
18 Ways to Speed Up Blender Cycles Rendering (It's from 2017 but gives you an idea about render times and how to save time)


How to extrude surface keeping face angles I have a simple object with two opposite faces at different angles. I'd like to extrude the connecting face such that the resulting extrusion follows both angles.

I would call this an extrude slide if I were to put a name to it, because it's similar to an edge slide. This scenario happens all the time, but I just can't find a simple way to do it.

What is the easiest way to do this?

My current model:

Normal Extrusion (not ideal):

Ideal Extrusion:

As far as I know it can't be done with extrusion directly, but it can be approximated using the Move Along Normals operator.

Select the desired face and press G,G (G key twice) to initiate the Move Along Normals operator.

Move your face "backwards" towards the existing geometry so it slides along existing edges and Blender picks up the correct directions. Once along the desired edges, while moving, press C to unclamp movement.

Once unclamped you can now freely move "forward" towards opposite direction, while still keeping the alignment of the previous geometry.

The downsides of this method are that you won't be able to move in absolute distances in Blender units, only in percentage increments, and there won't be an edge left at the original position, if you did want to keep one there.


How to restore functionality while drawing verticies? Yesterday, I watched ianscott888 tutorial on drawing vertices. Great video. And for several hours afterwards, I was gleefully drawing verts on new projects and old. It worked fantastic. Then, it stopped working.

So, I went to every extreme to get the functionality back. Even reloaded Blender to make sure I had a good version.

Hold down CTRL+RMB. That's how it's supposed to work. But, now all I get is faint gray area bordered by white dots. Can you please help me figure out if this is a Blender problem or something I've done wrong? Will provide screenshot if allowed.

The solution is to stop moving your mouse when you click.

In edit mode ⎈ Ctrl is a shortcut to extrude, the selected vertices will be extruded to the point you click.

Holding ⎈ Ctrl while dragging the  is the way to use lasso select. This is what gives you the grey area surrounded by dots.

Note that this is based on blenders default  RMB to select option, by changing that to  LMB you get the same result by using ⎈ Ctrl and  RMB


For some reason I cant move this bezier curve on the y axis for some reason i just randomly cant move my curve on the y axis when in edit mode. i have tried scaling it and i looked up and down the settings but being new i didn't find anything any help is welcome, i even restarted blender and nothing changed.

if you want to project to look around here it is

https://drive.google.com/file/d/16T1V7JIIwRqPLFrpotQAtB1aeGPboXaJ/view?usp=sharing

Your curve is scaled to zero on the y axis.

The quickest way to solve that is to apply scaling for the object, wich will reset the scaling to 1 – with the curve keeping its shape of course.

To do that, go into object mode, hit Ctrl+A and select either Apply Rotation & Scale or Apply Scale


How to make object invisible for secondary camera? I was wondering if you could make an object invisible to one camera, but still visible to another in BGE

If you are doing render to texture you can simply by doing:

obj.visible = True
camera_tex.refresh(True)
obj.visible = False
camera2_tex.refresh(False)

I am not sure if you can do it if you are using viewports.
How are you setting up your two cameras?


Procedural frosting texture What do you believe is the best way to make a procedural texture like the one on the photo? I mean the top part. I tried to combine noise and voronoi/musgrave, but it didn`t give the desired amount of tiny bumps and air pockets.

Thanks.

Start with a Bezier Circle (Add/Curve) Tab into Edit mode and from the Specials menu w Subdivide the circle twice. Deselect all the control points a then select every other one by holding down shift.

Move the selected control points up (g and then z to constrain to Z axis) then from the Top view NUMPAD 7 r to rotate.

Tab out of Edit mode and add another Bezier Circle and name it "Bevel Profile".

Go into the Curve properties of the original Bezier Circle and increase the Extrude value and set the Bevel Object to be "Bevel Profile".

This shows what we are trying to do and you can edit the "Bevel Profile". Subdivide and this time s scale the alternate control points to make a star shape.

And finally you can add some materials, duplicate, scale etc.


Using the node editor in a private project Developer question: Is it possible to grab the Node editor (i.e. the one used for compositing) and define my own elements for a totally different project?
I'm just looking for the nifty graphics and interface, and wish to program the functionality myself.

I tried googling to no avail.

While it isn't documented much, blender does support custom node trees. You can start with the custom nodetree template in blenders text editor. You may also find some help searching here for pynode.

Two example projects using custom node trees are animation nodes and sverchok.

As you are defining each nodes functionality, you don't have to access or modify blenders data, so you could use blenders node editor while making each node read/write data to files.


Key Color still shows in sort of a torn manner I am keying an image and I have a problem on the screen: the Key Color is showing in some sort of a torn manner.

EDIT:
I keyed out the blue color, but other colors still remain.

The main problem is that the alpha channel generated by the keying node has to be associated with the picture. Use an Alpha Convert node in straight to premultiply mode.

The artifacts at the top of the image are caused by the compression on the original image. Some compression algorithms for video work by considering similar colors to be one solid block of color, usually this is not as visible, but since you are using this area for keying, the macro-blocks become visible.

What that means is that the color you are keying out is not even.
The solution are:

Use an image that has less or no compression.

Change the threshold of tolerance for the key, either by modifying the Key Color or by modifying the values for Clip Black (pixels that are considered part of the background) or Clip White (pixels that are considered foreground)
Read the manual for this node:

https://docs.blender.org/manual/en/latest/compositing/types/matte/keying.html


Is there a way to boost my performance manually? When my files get around 190 MB big the performance gets slow.
Especially when using dynotopology. It starts lagging and sculpting won´t work in real time. Isn´t 8GB RAM enough? Is my Mac already to old? I can´t imagine how Games with graphics like Starcraft 2 can be displayed while blender gets slow at such comparably small files. Is there maybe a way to involve the NVIDIA GeForce GT (if it isn´t already) manually or something?

You can check to make sure the Nvidia GPU is enabled when you run Blender by looking at Activities Monitor. Graphics Card should say 'High Perf.'

If you don't see the Graphics Card line (as the case with most non-laptops), your system is already using the fastest GPU available.


Loving texture paint - How can I make a square 'pixel' brush? UPDATE: It turns out all I needed to do was just use a very low res texture for what I was trying to achieve (32x32...etc).

I'm loving the texture paint mode inside Blender but I want to set myself up to create pixel like textures for my 3D models.

Is it possible to make a square brush? How would I go about this?

Also, any other advice / tips on tailoring Blender for pixel like texturing is also welcome.

Many thanks.

You can use an image rendered by setting up a plane with a shadeless material, looking through an orthographic camera.

Then you can set that resulting image up as a brush mask, and the key is to set it up to calculate alpha and to clip, not to repeat. Here I set up the spacing of the brush to be 40%, and the mapping of the brush mask texture at 200% to get the right amount of brush radius. Also, I set it to use the full hard brush curve so that it would fill well.

I did also think maybe you could just user the image I have made so here you go.


Is there a way to force pixellate the viewport render? I occasionally use blender for pixelart by disabling interpolation, mipmaps and anti-aliasing in render options, but it would be great to see how a model is looking without having to render it everytime.

The render preview in the viewport only comes in one resolution, and it would be great to view it in the exact dimensions or just overall look as the final render. is such a thing possible?

Here's a render with the look I'm going for side by side with the viewport view in render mode.

You can change your viewport resolution.

Render Tab > Performance > Viewport > Pixel Size


Painting aligment and texture bleeding even with margin turned on How can I avoid bleed like this? It's only appearing when I paint in 3D space, on 2D there's no such a problem. I used margin option with different sizes; UV island are separated with wide margin.
Also, is there in Blender an option like in Substance Painter, called "Aligment" with aligment like UV, Tangent, Camera?

In the Options Tab in Texture Paint mode you can set the bleed to 0; I do that here and get something like you might be looking for.


ID Mask by Pass Index in bpy New to Blender, and the documentation for bpy is throwing me for a few loops. I got a setup in the compositing layer working for my desired goal as shown:

This renders an image and a color-coded mask for each of the three unique pass_index marked objects (below), and am trying to automate this through a bpy script as there are many variations I'll need to render.

Each object can be given a pass index in bpy via e.g. bpy.data.objects['foo'].pass_index = bar, but I'm having trouble figuring out how to separate each layer(?) via pass index as the compositing nodes do. Simple camera manipulations and the like are straightforward (I have a script that can import the stl, setup camera/lighting as required, and produce images like the left one above), but I'm lacking the terminology to search the right question or understand the documentation- and recent changes between 2.7x and 2.8x make a number of older guides very difficult to understand...
Related would be the steps of adding a color and recombining to form a single image as shown in the compositing layer, but small steps first. Any help would be appreciated, thank you!

Specific answer for the task at hand (image segmentation) is given by the bpycv module. This isn't the same as a general compositor -> bpy solution, but posting here in case someone else also happens to (somehow) miss bpycv, yet find this post.


When I add text to blender it disappears when I start the game engine When designing my game using blender 2.79 when I start the game engine the text object added disappears:

I just solved the issue. I had earlier changed the ui font of my blender. So it made the text object invisible when I render. I had to reset my preferences/settings.


Add-on doesn't show up in the Toolbar I am new to Blender, I've been playing around with it for about 2 weeks now, first time with a 3D software. I've done some tutorials and there are some where I have to go to user preferences and choose an add-on, the first time I did this, it was with the sapling add-on, worked fine, however today when I went to play around with it again, I checked the box, but the add-on settings that usually showed up on the tool bar on the left side of the screen isn't there. for any add-ons. I was really hoping someone could shed some light on why this is?

Enabled add-ons can be enabled permanently by saving the user settings.

Otherwise they are enabled only on the current session, but will not be loaded next time you open Blender.


2D Animation: Drawing new strokes makes the existing layer disappear? Not sure why this is suddenly happening but when I draw any new strokes/fills (the pink blob in the example photo), it deletes the previous strokes/fills on that layer (the sand colored layer in the top photo). How do I fix this?
I've also tried creating a new empty grease pencil as the top layer but when I draw a colored fill (no stroke), it gives a weird thin white line as a stroke.

lol i figured it out. my lines and fills were locked.


Reseting the bone roll value to 0 I have an armature and i have aligned some of the bones to specific axes and now these bones have a roll value different from zero. I know that is supposed to happen but is there a way to reset to roll values to 0 as if you would do when applying the scale or rotation of an object? I know there was the option "clear bone roll" (shortcut ctrl-n ) in older versions but it seems that the developers removed it for some reason.

I couldn't find which version of Blender had the option to clear when calculating roll, however this seems like it is something Blender should be able to do.

Added http://developer.blender.org/rB2177f645855c242399f3d3324f4d8e0357c3601c

Access from the armature roll menu, or by pressing Alt-R.


Beginner: How do i make force field affect only a certain area of hair I'm trying to make a force field in which only a segment of the plane of hair is affected. However, the force field i created is non location dependent - where ever i placed the force field, all the hair particles are still affected. Is there a way to make the effects of the force field local?

Example:

I only want hair particles that is in front of the forcefield to be affected instead of the whole plane.

Hair Dynamics is a feature that enables for the whole particle system no matter what but you can tweak which forces affect to the system.

So I think the only solution is to make two Particle Systems: one affected by the Force Field and another one that it's not. These are the steps:

Create two equal Particle Systems for your plane. They might have Hair Dynamics enabled for working with Force Fields.
Create a Vertex Group for the area you don't want to be affected by your Force Field. (Eventualy, you might need more vertices on your plane to paint a proper Vertex Group).
On the first System, go to Vertex Group and add that Vertex Group into the Density field.
On the second one, add the Vertex Group too but check the double-arrow icon on the left.
Now, you might need to tweak the number of hair on the two Systems to have the desired density.
Go back to the first System and, on the Field Weights area, set to 0 the Fields you want to avoid -depending on your Field Force.

Now you might have a result like this, where the center area is not being affected by a Wind Force Field.Note that in this case I could just disabled Hair Dynamics for the first System.


360° HDRI map issue in Eevee I installed the new version and the world (default HDRI maps of world) doesn't appear correctly in viewport shading. I can see it in viewport just like in ortho mode or some kind of. How can i fix it?

I reinstalled Blender - same result.

The problem is with Evee, Cycles works fine in this situation.

I've tried installing version 2.80 - same thing. Looks like my harware doesn't support Evee... I've got Intel core i5 660.

If i mark "scene light" and "scene world" Evee seems to work well
though...:

So, according to these requirements:

https://www.blender.org/download/requirements/

and the fact that my PC is older than 10 years, looks like Evee render engine doesn't support my processor (i5 660), or support it some strange way (without world's HDRI maps).


How to limit movement of a IK-chain (armature) to one plane? I build a Zig-Zag-mechanic from a bone chain and enabled Inverse Kinematics for
the first bone and the whole chain.
When contracted it should look like this: VVVVVVV
Currently it is a straight line of bones like this: ---------------
Now the fun part ;)

How can I force the bones to always build this ZigZag-Pattern if the IK-enabled bone is moved directly towards the opposite of the chain?
How can I force the bone chain into one plane of movement?
How can I force the bone chain to build a half circle if the IK-enabled
bone is not directly moved towards the end of the chain?
The movement of the IK-enabled bone always is in the same plane as the rest
of the bones.
I tried "Limit rotation" but this does not work for me (which either could
mean, that I did something wrong or "Limit rotation" is the wrong tool.

How can I acchieve what I want to do?

The IK constraint generally ignores other constraints, so using limit constraints won't work.

However each bone has its own IK settings on their properties panel that allow you to limit rotations etc, for more information see https://docs.blender.org/manual/en/dev/rigging/armatures/posing/bone_constraints/inverse_kinematics/introduction.html#bone-ik-panel


Overlaped/intruding meshes in ONE object，how to combine them into one mesh like boolean？ Say I joined multiple objects together （instead of boolean）， the meshes are now overlaping each other. Instead of selecting the faces/verticies one by one， split them into objects and combine them back into one mesh with boolean modifier， is there a smarter way of achieving the same thing（delete concave/intersecring/overlaping faces inside）？

Go to Edit Mode, then press P (mnemonic: seParate) and choose "Loose parts". That'll undo the join, and produce an object for each part of your mesh.


Calculate 3D Vertices with Python I have 2 vertices in 3d space (P1, P3)

I want to create a rectangle that is aligned along the viewrotation. The vertices P1, P3 are already aligned to the current viewrotation matrix. How can I calculate P2 and P4 so that I can create a rectangle?

Alright, now I got a good solution, I wrote a function to calculate the vertex3d from 3d like this, that takes the roation of the viewport into account:

def get_3d_vertex(context, vertex_2d):
    region    = context.region
    rv3d      = context.space_data.region_3d
    view_rot  = rv3d.view_rotation
    overlay3d = context.space_data.overlay

    dir = get_view_direction(context) * -context.scene.draw_distance
    vec = region_2d_to_location_3d(region, rv3d, vertex_2d, dir)

When the rectangle is created I use the 2d mouse points to calculate all points of the rect:

def create_rect(self, context):
    rv3d      = context.space_data.region_3d
    view_rot  = rv3d.view_rotation

    self._vertices.clear()

    self._vertices.append(self._vertex1)

    # self._vertex1 and 3 are already in 3d space
    vertex2 = (self._vertex1_2d[0], self._vertex3_2d[1])
    vertex2 = get_3d_vertex(context, vertex2)

    vertex4 = (self._vertex3_2d[0], self._vertex1_2d[1])
    vertex4 = get_3d_vertex(context, vertex4)

    self._vertices.extend([vertex2, self._vertex3, vertex4])


CPU baking only uses a fraction of the CPU, starting with 2.90 I just updated the blender version from 2.83 to 2.91 for our baking scripts, and it was running smooth in my local machine tests (GPU rendering), but when we ran the first test jobs on AWS machines (with CPU rendering), it was really slow. From 25mn to bake a few lightmaps, it went to more than 4 hours. The only thing that we changed in the code were two breaking changes from 2.91:
scene.ray_cast(layer, ray_origin, world_normal)
# became
scene.ray_cast(layer.depsgraph, ray_origin, world_normal)

#and

bpy.ops.export_scene.gltf(export_materials=True)
#became
bpy.ops.export_scene.gltf(export_materials='EXPORT')

In the logs, from what I can see, there's not much difference. The most suspicious difference is that in the bakes with 2.83 there was this line before each bake:
Fra:0 Mem:593.81M (0.00M, Peak 725.36M) | Time:00:15.92 | Mem:0.00M, Peak:0.00M | Scene | Loading render kernels (may take a few minutes the first time)

Which is now absent from bakes done in 2.91. Because the logs are reaaally long (90k+ lines) it's difficult to do a thorough analysis. All I can see, when searching for the lines I log before and after baking one map, is that the logged time is much slower with 2.91 and that the line stated above is absent at the beginning. There's not much more I can see...
EDIT: Comparing the documentation for BakeSettings from 2.91 to 2.83 I see there is now a "max_ray_distance" parameter, that is set to infinity by default. It might be my problem. Gonna try and tweak it.
EDIT2: the max_ray_distance parameter didn't change a thing. I was able to reproduce the issue on my computer, and observed that while baking with 2.83 uses 100% of the CPU, on 2.92 it uses almost nothing.
Gonna try the 2.92 beta next and 2.90 to see how they behave
EDIT3: I tried making a simple blender project to reproduce the problem and open an issue. But strangely, the problem did not occur then. There must be something we're doing in our code that makes it behave differently than just making a simple plane mesh and hitting the bake button...

I found the reason! We were setting the tile size to the size of the map. According to the comment next to the code it was an optimisation recommended on Blender forums, and indeed it was way faster than setting a small tile size on 2.83. On 2.90 however, it was sluggish as hell. Setting a 32 tile size made things much better (it's even a wee bit faster than with 2.83)


Boolean Modifiers not working normally When using a Boolean modifier on an object, the "Operation" choices (Difference, Union, Intersect) are all not working normally. Choosing "Union" makes it do the effect of "Intersect" and "Difference" makes it do what "Intersect" is supposed to do. What's the deal here?

This is happening with following a simple tutorial. It's a simple primitive cube and primitive cylinder. No normals or doubles problems.

My specs are:
Macbook Pro 13" Retina early 2015 512GB i7 with 16gb RAM upgrade OS-X version 10.11.4

The direction of the Normals determines how the objects combine when using a Boolean Modifier:

On the first image the cube and the torus have their normals facing out:

On the second image the Torus has the normals facing in:

On the third image both objects have their normals facing in:

Quote from the manual:

  Difference

  The modified mesh is subtracted from the target mesh.

  If the target Mesh has inverted normals, Blender will Intersect the modified  mesh.

  If the modified Mesh has inverted normals, Blender will add both meshes (Union).

  If both Meshes use inverted normals, Blender will Intersect the target Mesh.

  Union

  The target mesh is added to the modified mesh.

  If the target Mesh has inverted normals, Blender will Intersect the target Mesh.

  If the modified Mesh has inverted normals, Blender will subtract the target Mesh.

  If both Meshes use inverted normals, Blender will Intersect the modified Mesh.

  Intersect

  The target mesh is subtracted from the modified mesh.

  If the target Mesh has inverted normals, Blender will subtract the target Mesh.

  If the modified Mesh has inverted normals, Blender will intersect the target Mesh.

  If both Meshes use inverted normals, Blender will add both meshes (Union).

To recalculate normals enter Edit Mode (Tab).

Select all faces and press CtrlN To have the normals face out

Or CtrlShiftN to have normals face inside the mesh.

For an explanation on Face Normals please read:

What are face normals?


Mask Keyframes not showing in graph editor Blender has a masking system which is available in both the Image Editor and the Movie clip editor. The issue however is that when you add key frames to the mask, it shows up on the dopesheet but not in the graph editor. Is there a fix for this or we’d have to frame by frame the masks to get what we want.

They are in the dope sheet in the mask category. :-)


How to copy a rest pose between armatures? I have two different meshes (A1 and A2) that are each skinned to an armature (B1 and B2, identical in setup) that currently have different rest poses applied. I want to copy the rest pose from armature B1 to armature B2, so they are identical. How would I go about doing this?

I've tried using the Pose -> Copy Pose/Paste Pose feature between the armatures, but that won't work, as it seems to be using the current rest-poses as reference starting points, and those differ from one armature to the next.

Any suggestions?

I am using Blender v2.70 (can't use 2.71 due to FBX exporter not supporting shape keys).

You could use a Pose Library to store and reassign as many poses as you want.

A Pose Library  can also be shared among the rigs. Technically it is an Action, thus it can also be edited in the Action Editor mode of the Dope Sheet.


Get UV color with animation nodes In animation nodes, there is a Load UVs option:

How can I access those UV's. And is there a way to check what the texture color is for a specific UV coordinate?

It is possible to get UV coordinates and UV colors but for that, you have to install Animation Nodes + Extra Nodes because it has UV nodes and Texture Input node.

Step-1: In this example, I'm using Cube object and its default UV map with a simple image texture,

Step-2: You can access the UV coordinates with the UV Map Data Input node. I have subtracted combine (UV coordinates) by value 0.5 to bring these vectors at the world center in 3D space,

Step-3: Next, add the image texture (whose color values you want at the UV vertices) as Texture,

Step-4: Now, we will evaluate the texture at the UV coordinates (green points) in 3D Space with the help of Texture Input.

Step-5: But, we have a small problem that Blender does not show the Texture in the 3D space and its scale. So, I have added the Vector Math (scale) and Vector Offset nodes to estimate the scale of the texture,

Step-6: Next, connect the Texture Input node and adjust the scale such that it should match scale in Step-1. In this example, the value of scale is 2. The output of the Texture Input node is the colors of the image at the UV vertices.

Blend File:


Why my grid texture won't apply to the object? I have my uv map set.
And set the material.
But why my object still white?

File:

Choose a Diffuse node instead of Background (which I guess is used for the world):

In Edit mode, select all the face to which you want to assign the material, and in the Material panel, choose the material and click on Assign:


Paint fill with grease pencil without using textures to produce halftone affect I would like to add halftone to fill in stroke areas without using texture.
I know it can be done for shading material, can it be done in grease pencil fill in tool?

Unfortunately it is not possible to use procedural textures in Grease Pencil fills. I read that is is planned but definitely not a priority right now.
When I needed to use hatches for Grease Pencil objects I created a script to automatically populate Textures with different hatch patterns (Squares, Bands, Discs). It could be expanded to add other patterns. Maybe this can help :
"""
Running this script will create arrays of images
Which can then be used as "Textures" in Grease Pencil materials
Each array features varying sizes of shapes
Currently there are Disc, Squares and Stripes.
"""

import bpy

def generate_img_shape(size, name, is_in_shape):
    image = bpy.data.images.get(name)
    if image is None:
        image = bpy.data.images.new(name, width=size[0], height=size[1])
    else:
        image.generated_width = size[0]
        image.generated_height = size[1]
    image.file_format = 'PNG'

    pixels = [None] * (size[0] * size[1])

    for x in range(size[0]):
        for y in range(size[1]):
            pixels[(y * size[0]) + x] = is_in_shape(x, y)

    pixels = [v for v in pixels for _ in range(4)]

    image.pixels = pixels

if __name__ == "__main__":
    size = 150, 150
    middle_x = size[0] / 2
    middle_y = size[1] / 2

    # Generate patterns with 10%, 20%, 30%, 40% and 49% fill :
    for rad, rad_size in zip((0.1, 0.2, 0.3, 0.4, 0.49), ("10", "20", "30", "40", "50")):
        radius_squared = (rad * min(size[0], size[1])) ** 2
        # Disc patterns :
        generate_img_shape(size, "GP_HATCH_DISC_" + rad_size + ".png", lambda x, y: int(((x - middle_x) ** 2 + (y - middle_y) ** 2) < radius_squared))

        # Square patterns :
        generate_img_shape(
            size,
            "GP_HATCH_SQUARE_" + rad_size + ".png",
            lambda x, y:
                int(
                    (x - middle_x) ** 2 < radius_squared and
                    (y - middle_y) ** 2 < radius_squared
                )
        )

        # Band patterns :
        generate_img_shape(
            size,
            "GP_HATCH_BAND_" + rad_size + ".png",
            lambda x, y:
                int(
                    (x - middle_x) ** 2 < radius_squared
                )
        )

How to run a script in blender.
Note : You may need to run the script twice for the textures to register properly. No idea why but it may be an oversight in my script.
Note 2 : You have to be in Material Preview or Rendered Mode to see the Textures.

Result :


Blender VSE cropping a video I am doing a full screen recording of my macbook pro at resolution 2880x1800. The actual content area of the screen that I would like to record is only about 2326x1380 pixels, that's an awkward number I know but there's a reason for it. I would like to use blender vse to crop this video down to a 16x9 aspect ratio so that was the closest 16x9 aspect ratio that I could crop out of the recorded area while getting everything that I needed in the video frame.

inside blender vse I setup the video properties like this:

it's a 1:1 aspect ratio with the resolution set to the size of the video.
In the strip editor I add an image offset of -160 on the y position to get everything in frame.

this is a screengrab of part of the window:

As you can see there's still those's still pillow box black borders going on.

How can I change these settings to allow the full 16x9 aspect ratio w/o the borders?

That's because your actual screen ratio is 2880/1800 = 1,6. But your desired ratio of 16/9 is 1,7777 (periodic). This doesn't fit together. Blender (by default and there's no way to change that) does scale your input Video to fit into your Render Resolutions Aspect Ratio (I don't mean the Aspect Ratio Pixel size below the Resolution but the actual resulting ratio of your Resolution dividing width by height).
Because your ratio is off you'll get your black bars to the left and right because the rest is fit into the heigth of 1380 pixels which means that your original input should be 3200 pixels wide to fit into your 16:9 format. But as it isn't Blender aligns it horizontally centered and fills the remaining space with black color.

So you'd have to use the Image Crop function of your Strips Strip Input Properties panel in the VSE to precisely set the area that you'd like to cut off.


Global Slow-mo effect - Animating Time scale Is there a way to animate the timescale of a scene for a small amount of time?
I'm looking to create an animation, and in the middle it goes from 1.0x speed, to 0.125x speed (1/8th normal speed), but with a smooth transition. So it's start at 1.0x speed, and over the course of 10 frames, for example, it slows down to 0.125x speed for a bit, then goes back to normal speed.
Ideally, I'd just keyframe the time-remapping to do it, but apparently it's not animate-able.
Going into the action editor and changing the scale of the clips won't be viable, as it's important that the whole scene is slowed down (nearly everything in the scene is in motion, so slowing down the main subject won't cut it). So it needs to affect the scene globally.
I've also seen solutions that say to do it in the VSE on another scene with an effect strip (i.e. using the main scene in the VSE as a source, and then attaching an effect strip to it), but it doesn't seem to have any effect on anything when I go back to the main scene. Which kind of makes it pointless as a solution, as you can't iterate on it unless you render, and re-render it after a tweak.
I'd rather not have to render out that section with 8x the frame rate and slow it down in post if I can help it, as that seems rather wasteful.
I'm also sure this could be done easily with animation nodes. But as this is a project with a strict deadline, I can't set aside the time to learn the addon's ins and outs at the moment.

You can do it in the graph editor. Select all elements in the scene and place a locrot keyframe where you want the remapping to start. In the graph editor place the cursor on that frame and select all keyframes only to the right of the cursor. Change pivot point to 2d cursor and scale on x by 8 (s-x-8). Go to where you want the mapping to end and place another keyframe on all elements in the scene, place the cursor on that frame, then select all only to the right and scale on x by 0.125 (s-x-0.125). You then only need to finesse the handles on these keyframes to give you the lead in/lead out you're looking for. Much easier if the scene can jump straight to slo-mo because you can just set handle type to vector for those two frame numbers.
edit: video link https://youtu.be/lxdQogx6y40