Sculpting: smooth brush I'm following an Andrew Price sculpting tutorial and at around 26:00min he uses the smooth brush to smooth out the horn of the anvil. When I try to do this, I get some artifacts instead of smoothed out geometry. Any reason to why this is happening?

I have tried retopologizing my mesh (which I suspect consists mainly out of triangles (dyntopo)) with ctrl+f > tris to quads, but when I tried the smoothing brush on this model I got the same result...idk

Does anyone know a solution to this?

Thanks in advance.

I saw that tutorial too a week or two ago. I think he even said in the Video that the smooth brush alone does not generate new topology with dyntopo. You would have to slightly go over it with a a different brush to create topology that you can smooth afterwards.


How to edit Blenderkit files I just enabled the Blenderkit addon but cannot seem to figure out how to edit the objects. I looked in this reddit thread and amazingly none of the solutions worked for me. https://www.reddit.com/r/blenderhelp/comments/hizn42/i_downloaded_this_model_from_blenderkit_and_i/
Making it a single user object, data, and materials did not work.
I do not see any option to append when adding a model form the Blenderkit asset bar (I even tried saving it and appending the object in another instance of Blender and it still would not let me edit it).
And when I right click I do not see an option to make local on outliner collection.
I am using Blender 2.83 if that makes a difference but can use 2.9 if need be.
Any other solutions?

Change the import settings from "link" to "append":

BlenderKits creates blend file in your disk, by the way.


Advantages/disadvantages of various file formats for storing non-color texture data? We use normal maps, bump maps, and a lot of other special maps that contain non-color texture data. They are stored in image files but in linear color space (without gamma correction), and therefore we set the Color Space in the Image Texture node to Non-Color Data, as explained here: What exactly does the "Non-color data" option for image/environment textures do?

So far so good, but which is the best format? PNG seems to be popular, it can store 8 or 16 bits per channel, and unlike JPEG it does not suffer from compression artifacts since it uses lossless compression. I was satisfied with PNG, until in the comments of this question, color management expert troy_s said that he thinks EXR should be used for these files.

Since there was not enough space in the comments to go into details, I am asking this separately.

My biggest problem with EXR is that few programs can open it, and those programs start slowly, so I can't quickly check the contents outside Blender.

Due to comment limitations I am posting Yet Another Answer to one that is largely sufficiently explained already.

First, I would state rather vociferously that PNG is an absolutely diseased format. It has a foothold in Blender almost purely because it was set as default by someone a long, long time ago. My TL;DR is never use it in an imaging pipeline. Ever. Delivering to web? Have at you. In a pipeline? Keep it well the heck away.

With that out of the way, specifically, what are the shortcomings of display referred imaging encodes such as PNG when it comes to data? In no particular order:

They were not designed for storing data. When we consider what data is, and its potential ranges, we can see things more clearly. Data should be viable to dip to negatives for some types of passes, as well as extend arbitrarily off into large values. Z buffer is an obvious example of the latter, and any origin 0.0 based data is a sample of the former. Examples include but are not limited to:

Normal (negative)
Vector (negative)
UV (negative)
Z (infinite)
Deep alpha (infinite)
Emission (infinite)
Environment (infinite)

They almost exclusively don't play well in many other applications. Most applications are going to make unfortunate assumptions about your display referred encode. This will end up in a mangled mess. Even with applications that understand transfer functions, how many are applying them correctly? Is your application applying the sRGB two part transfer or a blind 2.2 power law? Is there some colour management happening via installed display profiles that you might miss? Even the much beloved Photoshop is an absolute dog at handling data despite storing it in the robust EXR format, including truncating 32 bit EXRs down to 16 bit.
Quantisation. Given that many display referred formats are trapped storing integers, an imager is going to have a heck of a time expressing some ratios. 16 bits in float is a literal order of a magnitude different than 16 bit integer. Is your data format using a power law or purely linear storage approach? Those sorts of issues will end up impacting the influence quantisation has on your encoded values.

In the end summary, at some point it is very likely an experienced imager is going to ram into some mangled up data or value range that, when stored in a display referred encoding format, will cause nothing but heartache and heartburn. It is far easier to suggest that they simply start and end with EXR and avoid all problems through their entire pipeline than suggest "Use this here and that there, and be sure to do this" dark alchemy.


Blender is rendering all file formats with transpancy as boxes without the rest of the image I followed this tutorial to render fire. But, for some reason when I render the images, any image format with transparency just shows a box instead of the image. I can render the image with a background, but not without one. Any idea what would cause this, and how I can fix it? I'm using blender 2.92 by the way.

It should look like this, minus the background.

Edit: Here's the blender file:

just hide your plane in viewport + render.

and you will get this:

i just added an alpha over node with green to your compositing tree so that you can see that the alpha is "there".


Paralax mapping in Cycles So I have some textures from a minecraft resource pack:
One normal map:

And one Specular and parallax map, I think:

Do you guys know what could be the right node setup tp make this work?
My current node setup:

It's not the works but still doesn't look right any ideas how should I treat that specular/parallax map?

Alright, lets go over this.

Firstoff, the surface albedo (color). You got that one, just straight into the color.

Onto the roughness. Roughness maps are black and white. You've already set your image texture to "Non Color Data", however I'd recommend feeding it through a color ramp. This does not only allow you more control over the actual texture but also elminiates any residual color. Personally I don't know if blender converts the greyscale-map into data before moving ahead or if it preserves color, since normal maps are colored based.

I'd remove the "Invert" node, it does weird things to the values (I've not once used to great success). You can achieve the same result with a color ramp, with more control over it.

So, the normal map. Let me go on a bit of tangent here about bump maps as well, since you used a bump node.

A bump map is a very simple way of non-destructive displacement in which a greyscale map controls light behavior. It is based on a few tricks of human perception. However it does not include any actual data on simulated geometry.

This is where normal maps come into play. It gives a more detailed description of how the light is supposed to interact with the surface, which is why it is that nifty shade of pink. Different colors correspond to different geometry directions.

We could move on to vector displacement maps here, but that's quite a way ahead.

Back to your node setup then! With the theory covered, how does one implement that? You've nearly got the implementation down here. Since a normal map uses colors and not a greyscale you're going to need the normal-map node (as you have rightly done). Connect it to the Normal input of the Principled BSDF shader and there you go! Don't forget to set the normal maps texture node to "Non Color Data" for it to work properly! This is because you're not taking color data from the texutre map, but rather geometry data.

Just as a heads-up, specular differes from roughness. You can use the it as a roughness map here, which is great, however specular is a different kind of workflow compared to roughness.


Change color with object rotation I want to adjust the color of a material based on an object's rotation. I cannot do this with a driver, because the same material is used over a large number of objects: I would like each object to change color based on its own rotation value.

Is there a way to do this in either BI or Cycles? More generally, is there a way to change color based on an object property other than position?

Since blender 2.67 you can write a custom pynode or use Animation Nodes as shown below:

Note: Enable cycles first to access the color of the diffuse shader and use the expression node to get correct color values bellow 1.


Use of Curve Modifier to Make G2 Timing Belt I have been trying to get a G2 timing belt to work in Blender.  All in all I think this is conceptually a pretty easy task as outlined by https://www.thingiverse.com/thing:411517.
Make a core repeatable pattern...
Use the array modifier to make it longer...
Use the curve modifier to put it in the right place.
Ok, I cannot seem to figure out what the orientation should be to make the core part (one tooth of a GT2 timing belt) to look right.

Can somebody take a quick look at this file and tell me where I am going wrong?
(I did this before and got it to work, but again, I seem to be stuck and not sure where I went wrong.)
Blender 2.90.0 on MacOS

Thanks to @moonboots for the comment pointing me in the right direction.
The answer was to go into edit mode for the curve, select all the points, and then set the "Mean Radius" for all of the points in the curve to 1.
If you "apply" a scale to a curve object, the radius of all the points is subsequently changed from its previous value to a scaled version of the radius.  Blender is simply "applying" the scaling factor you have selected to some of the internal properties.  For example, if you scale your curve by 0.5, then the radius for each point is then changed to 0.5 times its original value.  Typically, the radius is set to 1 (unless you are doing something interesting and fun).  Then when Blender uses the curve in a curve modifier, it will scale the original object by the values in the radius as it is placed along the curve.  This is why setting the radius back to 1 (i.e. no scaling) fixes this problem.


Do I need to download anything else to get grease pencil working in blender 2.8 build? I literally just unzip the zip file and grease pencil doesn't show any strokes when I draw. I watched some grease 2.0 previews and I'm very interested but it doesn't work for me right now. All settings are on default and I reset settings many times also downloaded both x64 versions to try, same result. My brush color is black nothing shows up on white background. What am I doing wrong?

Edited: Just to clarify somethings here, I'm currently using 2.8 not 2.78 build. I know you have to press D then draw, but it currently doesn't work in the 2.8 version that I've downloaded. My 2.78 grease pencil works just fine.

2.8 Grease Pencil Branch is not the same as the builder.blender.org 2.8 branch builds, as you need to compile the separate gpencil branch yourself.


How to make textures look worn? So far, most of the textures i've been using seems very "new" and polished. For example, in the real world, a wood floor is not bright and shiny and over times it becomes more worn.
Therefore, i was wondering if anybody knew a way to make a wood texture and textures in general more worn?
I have attached two pictures to illustrate my point:

A woodfloor texture that looks bright and new
A real world wood floor that looks worn

Its clear that the two wood floors arent looking the same
Tips and tricks would be much appreciated :-)!

The material you provided is just a Base Color texture, so it is worth quickly noting that a lot of the character of the floor in the photo is created by surface imperfections.  You'll get these from the Roughness, Normal Map, and Height textures in the PBR workflow.  Still, your question is about wear and tear, which is not exactly the same thing.
I have three pretty basic methods for this.  The first is simply the Hue/Saturation node.

Apply this to the Base Color and you can desaturate an object as though it sat in the sun too long, or darken an object as a whole with the Value setting.
The second is to make use of the Ambient Occlusion map.  Ambient Occlusion is normally used to tell us where objects in the scene are close to each other, and thus would most likely be in shadow.  You can, however, use the output for whatever you like.  So we could say if two objects are close to each other it's also kind of a place where detritus will build.
There are lots of ways to control the output, but in this example I used a Color Ramp to find a suitable map to use as a Factor input on a Hue/Saturation node.  It's used to put grime in the mortar between these pieces in a stone floor.

On the left base color only, on the right this node group.

My third method would be to use a surface imperfection image texture.  You can probably find them the same place you get your other image textures.  Here are some examples.


What kind of uses could the Wavelength node be used for? One of the new features in 2.68 is the Wavelength node,
but I have yet to think of a good way to put this to use.. (though dispersion and diffraction immediately spring to mind)

What are some good use cases of this node? (And how is it different from a Color Ramp node?)

One might use it to get some form of iridescent effect (Wikipedia article). Elaborating on the idea that the perceived colour of parts of objects depends on the direction of the surface normal of each point on a surface with respect to our eyes. Compressing and rarefying a ribbed pattern around the scale of visible light wavelengths can change the colour we see as a result.


Rotate group of objects over an edge What I am trying to do is similar to what was asked here:  Set edge as axis for surface rotation

I am hoping to use an object's edge for rotation, but instead of simply the one object rotating around that point, it'd be a bunch of stl's I've imported together:

What I'm hoping to do is duplicate everything in that tetrahedron object, rotate the duplicate along one edge like this:

to build a stack of them, like this:   which I would then print.  Any help?

Here is a way to do it:

Select the edge that you want as axis.
Press ctrl alt spacebar to record this axis as one of your Transform Orientation axis. Keep this axis selected in the Transform Orientation dropdown menu.
Put your 3D Cursor on the selected edge with a shift S > Cursor To Selected.
Select 3D Cursor in the Pivot dropdown menu
Rotate your pyramid with R Y Y (or X X, depending of its name in the new Orientation Axis) and press the amount of degrees.
To delete the orientation axis you don't need any more, in the 3D view press N to get the right menu and go to the Transform Orientations tab.


How can I move a project that includes images-as-planes? I am working on a project that includes images-as-planes.  I would like to copy the whole project to another computer.  How can I move the Blender file and also relocate the image-as-planes source PNGs without the Blender animation file losing track of where to find the PNGs?

Thank you!

You can pack all external data into the blend file by clicking on "File → External Data → Pack into .blend file"


Why can't non color option produce und normal map and color option produce good normal map in cycles preview? I have a multires object and will bake the normal map to a low poly object with cycles normal bake function.
So I unwrap the low poly .set both to smooth shading.
Then I generate a UV texture with aplha 32 float 2048*2048.

I try first the Uv image non color color space option then I bake without saving.
The baked texture look proper blue all okay.
I apple a normal map node setup with image texture node..
On that image node I choose the generated texture.
Cycles renderpreview show the normal map efect and it look good.
But I dont choose non color.
So I try non color on the image texture node  but now the normal map looks ugly wrong now  in the 3D render preview ???? ,?

So I creat a new texture same settings..2048 alpha 32 float..Name it ..
Choose the default SRGB Setting and bake without saving...
The first Problem or difference I notice  is that in the Uv image editor show the baked normal map in a lighter color ,not so proper blue look more flatt near pink not türkisJ..
I hook up the Image texture node back to the normal map node (detaced before bake) and choose the new generate baked normal map texture .
no the 3D render preview I see the seams with that texture and non color option will not work..

So I try the baking again but with saving..both texture setups again .
So the problem with saving is, after a reload the baked Maps both baked with different uv texture color space option looks outwashed not proper blue türkis..looks Totals flatt and pinky...
(Im novice but it looks not normal not good )
I set up the nodes I choose  the normal map Image  and non color Data option but I see the seams in the 3D render preview and the normal efects looks ugly..

So I try different Uv texture color space option before baking for the uv Image texture but the propper Uv map comes only out when I save not the image before baking and the texture must use non color for colorspace..
Otherwise baking to SRGB saved texture bring's out a flat pinky normal map..

How I twisted and turned (sagt man das so?) baking will not work on win 7 64 bit system ...
Any idea would be great to find the Problem..
Sry can't upload file...or screencast,bad Internet conection at the Moment..

There might be a language barrier here. Without further information, it is a challenge to fully diagnose your issue.

However, it is noted that you have attempted your workflow with both saved and unsaved files. This is a potential source of issues.

When saving a file, file formats do not save identically, and most are mangling up the data representation.

All file formats with the exception of EXRs will perform some form of color transform on the data. Only EXRs will preserve the integrity of float data, and also keep the data in linearized format. If saving a data format, such as linearized values, one should take care to only save to EXRs to preserve the integrity of the values.


How can shape keys of a linked object be controlled? The Properties  Panel in a scene file has no tab for mesh when an object is linked to the scene. Can the Shape Keys influenced by a driver or is there some other trick to enable shape keys in the scene file?

To my best knowledge, your first assesment on having the shape keys be driven by bones or other control objects is correct. That is to say, shape keys can be controlled with drivers.

Often with corrective shape keys you've a setup where the shapes are driven "behind the scene" by the bone transforms. In case you require manual control over the shape keys, you can create a proxy for the controlling object in the scene you linked to.

You might be interested in reading up on drivers and checking this vid on proxies.


Using python to animate a curve FModifier I have a BezierCurve which I'm using to create a camera animation. I've set up a maximum Y Limit to stop the action of the curve on the camera and have set an Influence value of 0.7 to slow down the effect of the change (from moving along the path to stopped):

What I'd like to do is to completely stop the influence of the curve on the camera after a certain frame number. I've found I can do this by setting the Influence value to 1.0 (manually) but I need to animate this change. I can't seem to add a key frame, or a Driver on this setting so I'm trying to do it using Python.

After lots of Googling and cannibalising bits of code I've found without fully understanding it, this is the best I've been able to come up with:

import bpy

bpy.app.handlers.frame_change_pre.clear()

ob = bpy.data.curves["BezierCircle"]
 # Is there an animation?
if ob.animation_data is not None and ob.animation_data.action is not None:
    action = ob.animation_data.action

# every frame change, this function is called.
def my_handler(scene):
    frame = scene.frame_current

    if frame<544:
        action.type.FModifier.influence = 0.7
    else:
        action.type.FModifier.influence = 1

bpy.app.handlers.frame_change_pre.append(my_handler)

but obviously it doesn't work, I get

AttributeError: 'Action' object has no attribute 'type'

I just can't get the right syntax to target that FModifier on my curve.

The Blender API seems to suggest that I should be able to use

bpy.types.FModifier(influence) = 0.7

or is it?

bpy.types.FModifier.influence. = 0.7

But then how do I target my BezierCircle ?

Any help much appreciated, I'm only slowly getting up to speed with Blender programming!

UPDATE with fixed code from answer

import bpy

bpy.app.handlers.frame_change_pre.clear()

ob = bpy.data.curves["BezierCircle"]

# debug - v2 iterates through modifiers until it find LIMITS
action = bpy.data.actions.get("BezierCircleAction")

mods = [m for f in action.fcurves if f.data_path == 'eval_time' for m in f.modifiers if m.type == 'LIMITS']

for m in mods:
    print(m.influence)

# end debug

# every frame change, this function is called.
def my_handler(scene):
    frame = scene.frame_current

    if frame<544:
        ob.animation_data.action.fcurves[0].modifiers[1].influence = 0.7
    else:
        ob.animation_data.action.fcurves[0].modifiers[1].influence = 1

bpy.app.handlers.frame_change_pre.append(my_handler)

You have to specify a particular animation channel (fcurve) and a specific modifier. In this example I access the first fcurve in the fcurve list ([0]), which, because I animated the location of my object is the 'x' channel, and the first modifier ([0]) found on that fcurve:

ob = bpy.data.objects['Cube']
ob.animation_data.action.fcurves[0].modifiers[0].influence = 0

Because you have two modifiers on your fcurve it will be modifiers[1].

A good way to explore the Blender Python API is to use the 'autocomplete' feature of Blender's Python console, which allows you to type part of a command, and using the autocomplete feature, view all possible sub-modules (in green):

This may not necessarily show you exactly which option you need, but will at least list the possible options, which you can further research.

Whether your current logic will do what you want, I don't know, but this does address what seemed to be the main point of your question.


Proxy is built for deleted strip instead of short segment Using hard-cuts I selected a small segment of a longer strip.  (The longer strip is no longer in my sequencer; I deleted it.)  Then I chose a 50% proxy and did a "rebuild proxy".  All is fine.  But when I look at the actual proxy avi file in the proxy folder, I see that it is for the original (i.e. full-length strip) which I had deleted, not just the small segment I have in my sequencer.  Is this normal, or would this be a bug?  (Prior to this, I know I did not have any proxies built, because the proxy folder did not exist.)

Had the proxy been built for the short segment only, it would have taken much shorter to build.

This would be typical behaviour, as a hard cut trim is a rarely used feature. Great for making freeze frames but not very flexible. More often a user would make a soft cut to allow later alteration, in which case you would want all of the proxy to be available.

Also I imagine that transcoding the entire original media would eliminate the potential for mismatched frames of long GOP (Group of Pictures) sources. Where Blender actually has to decode all of the previous frames to make sure that it creates the correct ones that you have selected to hard cut on.


OpenStreetMap export When I try to export from OpenStreetMap.org I get a file in this format: map.osm.xml and blender requires that the file to be a .osm file. I've tried just removing the .xml but it doesn't work. In Wiki it says thi "The XML data can be saved to a .osm file and filtered." Anybody know how to do this?

I was recently exporting .osm file from there and everything was fine. Here are steps I made and what was it's outcome:


Why is texture painted model different from rendered version? My model looks fine in texture paint mode, but I' not satisfied with the rendered version. What I have to do to make the rendered version look more like the texture paint one?

Add more lights to the scene.  More light will enable a fairer comparison and give you more control.

Switch to camera view to have a fairer comparison of position.

Pressing Numpad-0 repeatedly will show Camera View and User View.

Use smooth shading.

In the User Preferences Window > System Tab .. there are 3 Solid OpenGL Lights which can affect your viewing.  I am not suggesting you change these settings.  Just know they exist.


Rigged arms changing volume I have made a very simple model and rigged it with automatic weights. However, as you can see in the picture. When I bend the characters arm, it absoulutely changes the arm to this horrible thing.
(In case the image won't load: The characters arm, which is a cube, stretches thinly together at the beginning of it near the torso.)

I have tried sub-dividing the arm, it's completely covered in red in weight paint mode, but it's always imperfect in some way.

Please, is there a solution to this?

100% weight is not enough for ensuring a rigid stuck, check the deforming vertices: they surely have some weight relatively to another bone (shoulder, neck, head, ....). The vertices will move exactly with their bone if they're weighted to that bone ONLY (even if weight is not 100%).

So you have to remove unwanted weights.

Another method is to separate all pieces and parent them with the associated bone with the option Ctrl P - Bone.


How to make 3D LUTs and use them in Blender? Now that I understand a little bit more about how to work with Wide Dynamic Range  workflow , scene referred datas and OPS(ASC CDL) node, I'm asking myself how to go further and create my own 3D LUT to work with in Blender?

Given that Cegaton has dropped 500 on this, it would seem the right place to give a little more fleshing out than a typical post. What follows is a (hopefully) exhaustive and explanatory answer to the question. While it might look daunting, brevity has been sacrificed to clarity. The actual process is much simpler than it appears here, but it is hoped that the explanation that follows will help more imagers explore creative colour transformations in their work, as well as enable some to extend this well beyond 3D LUTs.
What is a LUT?
LUT is merely an acronym for Look Up Table. The term is also used colloquially to refer to a technique to apply creative looks to footage, as well as the more scientific / mathematical needs of transforming colour spaces. LUTs can be generated off of mathematical functions that are sampled at intervals, or by using tools to extract changes in images.
What is the difference between a 1D LUT and a 3D LUT?
A 1D LUT at its most basic level is a pure single input to single output transform. Transfer functions such as sRGB's OETF / EOTF and other such decodes / encodes are delivered almost exclusively via 1D LUTs. There are also multi-channel 1D LUTs, where each channel can get back a unique value based on its input, or generic single channel 1D LUTs where all channels receive the same output value given identical input values.
In the following simple single channel 1D LUT, the input value is incremented by 0.1:
# Below is a simple 1D LUT, where a single input value is
# mapped to a single output value. In the case of an RGB
# triplet, each R, G, and B value would be mapped individually
# via the lookup table.
# IN    OUT
  0.0   0.1
  0.1   0.2
  0.2   0.3
...

In the following simple 1D triple channel LUT, the single input value determines the output based on whatever channel is fed. In this case, it increments the assumed red channel by 0.1, the green channel by 0.2, and the blue channel by 0.3:
# Below is a simple 1D by 3 LUT, where a single input value is
# mapped to a single output value. In the case of an RGB
# triplet, each R, G, and B value would be looked up identically
# via the first column, but return a different value based on the
# output column.
# IN    OUT_R OUT_G OUT_B
  0.0   0.1   0.2   0.3
  0.1   0.2   0.3   0.4
  0.2   0.3   0.4   0.5
...

A 3D LUT on the other hand is a much more complex creature. Under a 3D LUT, the unique fingerprint of the three input channels forms a triplet that delivers a unique set of three values back. How is this different than a 1D single or multi-channel LUT? Given that the fingerprint of the input channels is unique, and that you receive three unique values back, a 3D LUT can be used to allow a single channel to adjust the other two channels, where 1D LUTs only change the input value given. This unique characteristic of 3D LUTs, the ability for a single channel to adjust other channels, is the reason that only a 3D LUT can adjust the saturation intents of a given image.
The following 3D LUT raises up all three channels as the green channel value reaches the peak of the cube. Here, the first three values represent the input combination, and the following three represent the output combination:
# Below is a simple 3D LUT exerpt, where a unique combination
# of three input values is mapped to a unique combination of
# three output values as a whole set. Input three values, get back
# three values. The numbers on the input side represent values that
# are scaled from zero to the cube size minus one. Being scaled in
# this fashion, care must be taken to make sure that the input values
# are properly mapped to the 0.0 to 1.0 range that the LUT operates
# on.
# IN_R IN_G IN_B OUT_R    OUT_G    OUT_B
...
  0    0    60   0.544367 0.544367 0.9375
  0    0    61   0.635998 0.635998 0.953125
  0    0    62   0.74127  0.74127  0.96875
  0    0    63   0.86195  0.86195  0.984375
  0    0    64   1        1        1
...

How large are the range of values in a LUT?
LUTs operate on an arbitrary range of values that are typically defined within the LUT format itself. In the case of a 1D LUT, it holds one line for each input and output, and as a result can be quite large. Typically 1D LUTs of 4096 values will deliver very accurate results using a simple linear interpolation assuming the “direction” of the transform is technically feasible. Some “directions” suffer breakage when the LUT resolution is not large enough to express the shape properly.
3D LUTs on the other hand, because they represent a combination of three values, are defined using what is known as a cube size. A cube size determines how many steps there are in the combinations. Cube sizes vary from older 17x17x17 cubes to more contemporary 65x65x65 cubes.
The cube size is the number of values that the range will increment before incrementing the next value in the entire series. This means that a cube size of 3 would iterate three times for each channel, until each channel went through the cycle. Note how the first three columns increment, while the following three columns represent the output values. In the case of this example, the 3D LUT is an identity LUT, which simply passes the exact same input values to output:
# Below is a simple 3D LUT exerpt, where a unique combination
# of three input values is mapped to a unique combination of
# three output values as a whole set. Input three values, get back
# three values.
# IN_R IN_G IN_B OUT_R OUT_G OUT_B
  0    0    0    0     0     0
  0    0    1    0     0     1
  0    0    2    0     0     2
  0    1    0    0     1     0
  0    1    1    0     1     1
  0    1    2    0     1     2
  0    2    0    0     2     0
  0    2    1    0     2     1
  0    2    2    0     2     2
...

This means that your final number of entries is equal to the dimensions cubed. In the case of a 65 sized cube, that would be 65^3, or 274625 entries.
If a LUT operates on a bounded range, how are the other values determined?
Given that both 1D and 3D LUTs operate on bounded ranges, interpolation, or sampling, is used to determine the quality and accuracy of the values between values. In the case of a 3D LUT, the interpolation technique can be extremely important for visual quality.
How do colour transforms factor into LUTs?
Standard 1D LUTs are commonly used to perform colour transforms along intensity, also known as transfer curves. This can take many forms such as sRGB's OETF / EOTF, REC.709's OETF / EOTF, BT.1886's viewing EOTF, one of the many logarithmic transfer curve encodings, ACES encodings, etc. A 1D LUT is well suited for such application given that many of the transfer curves are piecewise functions and no simple power law will accurately describe them.
3D LUTs require special attention given their uniquely bounded constraints. Given that a 3D LUT represents an arbitrary range, care must be taken to make sure that the range maps the range within our image. This is especially important given visual effects, motion picture, or animation work, as the data is almost exclusively scene referred. Scene referred imagery from cameras or CGI represents a very large range that is mapped to the much smaller gamut of an output device domain, extending from an extremely low value to a theoretically infinitely large value. As a result, there is no one-size-fits-all approach for 3D LUT application, and care must be taken on input and output.
3D LUTs are used in some cases to change the actual colour space primaries of a given encode. Here again, it is critical that the inputs fed to such a LUT are carefully crafted.
The bottom line is that one should never use a transform unless they are absolutely certain that the LUT in question was designed for the input imagery fed. The same caveat applies to output, as a transformed image is applicable only to a single set of output contexts.
Be aware and be careful.
How are 1D or 3D LUTs created?
How a 1D or 3D LUT is created depends on the context of usage. A 1D LUT representing a transfer function can be created using a spreadsheet or scripting language, properly formatting a function or algorithm to a specific LUT format.
3D LUTs frequently are used to take a crafted look from one series of images or a shot, and apply it equally across to other images in another series or set of shots. To achieve this, we will use a reference image that our tool will understand, apply our look to it, and calculate the 3D LUT based on the differences between the two image states.
What will you need?
To generate a 3D LUT for use in Blender, you will require:

OpenColorIO . OpenColorIO has several tools that are built when you have OpenImageIO present on your system. In particular, we will be requiring ociolutimage and ocioconvert.
Given that the original question pertains to wide dynamic range filmic LUTs, you will also require the OpenColorIO configuration package that implements them. They can be found in my answer to Cegaton's original question here. If you have arrived here and are reading this without a familiarity of the concepts, it is heavily advised you read the original question and the ridiculously long answer I gave there. With that background, you should be much more well equipped to deal with the information provided in this solution.

Can you summarize the steps involved?
Loosely, we will be doing the following steps to implement custom LUTs in Blender. Note this specifically pertains to LUTs, but a similar technique can be used to apply canned ASC CDL values in your own configuration.

We will muck creatively with a sample image and arrive at a look that we are happy with.
We will generate a unique all-in-one image that is used as our reference baseline, and plug that into our look compositing chain.
We will use OpenColorIO's tools to generate the 3D LUT from the modifications.
We will plug the newly crafted 3D LUT into our configuration and make it accessible from within Blender for reuse.

1.0 Mucking
Consider the following image. Not terribly impressive, but it has been chosen because it is a scene referred image which is a smaller region of Maxime Roz's HDRI pack. Again, scene referred imagery is a range of values that extends from zero to infinity, with no notion of black nor white, and no special meaning to values such as 1.0. Cycles, being a ray tracing engine, always generates scene referred imagery, and as such, our techniques must take this into consideration. The following attached image is of course display referred, and does not have the original scene referred values. It was created using the Filmic Blender LUT set.

After countless hours of toil and sweat, the wonderfully creative output of our grading is the following. Again, because this was generated in Blender, which as a scene referred internal model, the values extend from zero to extremely high ratios such as 50.0+ outside the window. The image attached below has been manipulated in Blender while using the views and looks present in the Filmic Blender LUT set, as above.

The work is done. Assuming we have other shots we would like to apply this look to, or build up our library of sample looks for this particular set of constraints, we need to forge ahead and craft a LUT. As we can see, there has been both a slight contrast tweak added, as well as some saturation adjustments. Knowing that only a 3D LUT can do both, we will need to create a 3D LUT for this work.
2.0 Generate the all-in-one
LUTs can be generated both via algorithm or, more commonly, from source imagery. The way to generate a look based off of a tweak one has given to source footage is to generate a known constant image and use it to compare against an identical constant, tweaked to the same tuning as the desired creative output.
There are demons hidden away here though. 3D LUTs, given that they operate on a specifically designed range of values, must be properly mapped in order to both meet the range, but to optimise their application. In this case, since the question pertains to the Filmic LUT set, we need to make sure that our 3D LUT is going to sufficiently match what we saw when we were grading the image. Some 3D LUT formats include the "shaper" compression component inside their actual LUT formats.
Given that the default Blender sRGB OETF / EOTF was never designed for any sort of creative work such as raytracing, it is sub-optimal on a number of levels. As a replacement, the Filmic LUT set consists primarily of two transformations that make work appear more photographic. First, it uses a much wider dynamic range from the scene referred values than the default sRGB EOTF uses. This means your work includes and requires light that more closely matches physical, real-world levels. As a result you'll notice much better radiosity, caustics, indirect bouncing, etc. Second, it uses a 3D LUT to desaturate the values as they ascend to the higher dynamic range, attempting to emulate what happens on colour film or DSLRs, and prevent the broken, wonky saturations that happen as colours get very intense under the default view.
When making a 3D LUT, care must be taken to match the exact same contexts that we are developing our work under. An all-in-one image covers a fully normalised range of values, at a cube size you choose. However, given that it covers a normalised range, and that our work was crafted on a scene referred range, we have to transform our all-in-one accordingly, so that the reference spaces match.
To prepare our environment, we must tell the OpenColorIO applications where our OpenColorIO configuration is. It should be noted that if we do this in the CLI and run Blender from that same CLI, Blender too will honour the location of the configuration, and ignore the internal configuration located in your installation, at datafiles/colormanagement/config.ocio.
Setting the environment variable might look like:
export OCIO=/path/to/local/configuration/config.ocio

That command looks as follows:
ociolutimage --generate --cubesize 65 --maxwidth 4225 --colorconvert "Desat Log Encoding" Linear --output /path/to/scenereferred_allinone.exr

What does it do?

--generate instructs ociolutimage that we want to create an all-in-one image.
--cubesize 65 instructs ociolutimage to use a cube size of 65, which is a very high quality 3D LUT.
--maxwidth 4225 is a somewhat optional feature to make the resulting image legible to a human. This keeps the image such that the individual cubes are small blocks of colours ascending, and is easily understandable in an imaging application. If we leave this out, the values end up unaligned and can be tricky to understand in an image viewer.
--colorconvert "Desat Log Encoding" Linear instructs ociolutimage to transform the all-in-one for us, from the normalized range which we interpret here as the "Desat Log Encoding" transform, to the scene referred "Linear" encoding we are feeding in our reference space. This will transform the values from 0.0 to 1.0 to the scene referred range of the desaturation shaper, which extends up to 184.32 scene referred. This is also why we need to specify our OCIO configuration above. It should point to the Filmic LUT set.
--output /path/to/logencoded_allinone.exr specifies where we want the output EXR file to be stored on our drive.

Using the above output file scenereferred_allinone.exr, we simply add it into our node chain right where our source enters. In the viewer, we can use the Save Image As... function to save the adjusted all-in-one as a modified version EXR. Save this file as ````scenereferred_modified.exr``` at 32 bit depth.
3.0 Generate the 3D LUT
Now we have a modified all-in-one that is precisely identical to the modifications in our original grading node chain. We will use this as the blueprint to create the 3D LUT.
First we must be certain that we establish the OCIO environment variable so the following transforms are understood:
export OCIO=/path/to/local/configuration/config.ocio

Next, we have a quick hop to return the image from the scene referred domain that it currently exists in, to the log-encoded nonlinear range that the transforms in the Filmic LUT set expect. Why? Because if simply scale our cube size, our 3D LUT would be biased to a range that isn't terribly perceptually uniform. This would potentially lead to posterization or poor quality. To make our 3D LUT useful, we need the reduced range to reference a more perceptually uniform set of values with our modifications.
That transform looks like this:
ocioconvert scenereferred_modified.exr Linear logencoded_modified.exr "Desat Log Encoding"

The above transforms our all-in-one image into the log encoded range our LUT set expects. Both "Linear" and "Desat Log Encoding" are transforms listed in the Filmic LUT set, and again why we have to specify the environment variable above.
Now that we have the EXR file primed for generation with our modifications, we will again lean on ociolutimage to do the heavy lifting.
ociolutimage --extract --cubesize 65 --maxwidth 4225 --input /path/to/logencoded_modified.exr --output /path/to/3dLUTdemo-LUT.spi3d

Breaking this down:

--extract instructs ociolutimage to extract the 3D LUT from the input file, which is assumed to be an all-in-one created with the options provided.
--cubesize 65 instructs ociolutimage that the image contains a cube size of 65. If we leave this out, ociolutimage will complain that the file doesn't match the default expectation.
--maxwidth 4225 instructs ociolutimage that the image is of the specified width. If we leave this out, ociolutimage will complain that the file doesn't match the default expectation.
--input /path/to/logencoded_modified.exr simply specifies the path to our input all-in-one modified image. Remember, it should be perceptually uniform if you want your 3D LUT to not look whack.
--output /path/to/3dLUTdemo-LUT.spi3d is the path to the solution to the question; the 3D LUT, in Sony Pictures Imageworks format.

4.0 Integrate the thing
As for the final step, we will be using the look section of the Filmic LUT set, and adding in our own. This again will require a few extra entries because of the slightly complex method that the views and looks are implemented to generate the desaturation.
First, make a backup copy of your Filmic LUT set just in case you mangle something up beyond recognition.
Next, copy the 3dLUTdemo-LUT.spi3d into the looks directory of the Filmic LUT set.
Now, find the config.ocio file for the set at the root of the directory and open it with a standard text editor. We are going to do the following:

Add a new desaturation log encoding base view to base our looks off of.
Add our new look to the list of looks.

To accomplish the first thing, we need to simply enable the preexisting transform for the "Desat Log Encoding" into a view. To do that, locate the section that looks like the following:
[...]
displays:
  Filmlike:
    - !<View> {name: sRGB EOTF, colorspace: sRGB EOTF}
    - !<View> {name: Data, colorspace: Raw}
    - !<View> {name: Scene Linear, colorspace: Linear}
    - !<View> {name: Filmic Log Encoding Base, colorspace: Filmic Log Encoding}
    - !<View> {name: Filmic High Contrast, colorspace: Filmic Log Encoding, look: +High Contrast}
    - !<View> {name: Filmic Medium High Contrast, colorspace: Filmic Log Encoding, look: +Medium High Contrast}
    - !<View> {name: Filmic Medium Low Contrast, colorspace: Filmic Log Encoding, look: +Medium Low Contrast}
    - !<View> {name: Filmic Low Contrast, colorspace: Filmic Log Encoding, look: +Low Contrast}
    - !<View> {name: Filmic Base Contrast, colorspace: Filmic Log Encoding, look: +Base Contrast}
#    - !<View> {name: Debug, colorspace: Debug}
[...]

We add the preexisting transform to the list of views as follows. We will tuck it in just after the Filmic Log Encoding Base. Again, the reasons for this additional step is the way in which the desaturation is crafted for the transform set, and therefore we require a very specific view for our LUTs:
[...]
displays:
  Filmlike:
    - !<View> {name: sRGB EOTF, colorspace: sRGB EOTF}
    - !<View> {name: Data, colorspace: Raw}
    - !<View> {name: Scene Linear, colorspace: Linear}
    - !<View> {name: Filmic Log Encoding Base, colorspace: Filmic Log Encoding}
    - !<View> {name: Desat Log Encoding Base, colorspace: Desat Log Encoding}
    - !<View> {name: Filmic High Contrast, colorspace: Filmic Log Encoding, look: +High Contrast}
    - !<View> {name: Filmic Medium High Contrast, colorspace: Filmic Log Encoding, look: +Medium High Contrast}
    - !<View> {name: Filmic Medium Low Contrast, colorspace: Filmic Log Encoding, look: +Medium Low Contrast}
    - !<View> {name: Filmic Low Contrast, colorspace: Filmic Log Encoding, look: +Low Contrast}
    - !<View> {name: Filmic Base Contrast, colorspace: Filmic Log Encoding, look: +Base Contrast}
#    - !<View> {name: Debug, colorspace: Debug}
[...]

Finally, we add the look itself down near the bottom of the file. Looks are added in a first in, last listed fashion. We can add the look to the top of the looks section as follows:
[...]
looks:
  - !<Look>
    name: My Demo Look
    process_space: Desat Log Encoding
    transform: !<GroupTransform>
      children:
        - !<FileTransform> {src: 3dLUTdemo-LUT.spi3d, interpolation: best}
        - !<FileTransform> {src: Base_DesatCrosstalk_DesatLog.spi3d, interpolation: best}
        - !<FileTransform> {src: DesatLog_to_EncodeLog.spi1d, interpolation: best, direction: inverse}
        - !<FileTransform> {src: Linear_to_0-7_1-05_Tonemap.spi1d, interpolation: best}

  - !<Look>
    name: Greyscale
    process_space: Filmic Log Encoding
    transform: !<MatrixTransform> {matrix: [0.2126729, 0.7151521, 0.0721750, 0, 0.2126729, 0.7151521, 0.0721750, 0, 0.2126729, 0.7151521, 0.0721750, 0, 0, 0, 0, 1]}

  - !<Look>
    name: False Colour
    process_space: Filmic Log Encoding
    transform: !<FileTransform> {src: Filmic_False_Colour.spi3d, interpolation: best}
[...]

Note that there are four transforms listed in our witch's brew. Why? In order:

- !<FileTransform> {src: 3dLUTdemo-LUT.spi3d, interpolation: best} is our LUT that we created. The process space takes care of taking us to the "Desat Log Encoding" range of values, and the 3D LUT applies our creative transform to those values.
- !<FileTransform> {src: Base_DesatCrosstalk_DesatLog.spi3d, interpolation: best} is the basic desaturation for the Filmic Set. This is required to match the desaturation look when we were generating the grade.
- !<FileTransform> {src: DesatLog_to_EncodeLog.spi1d, interpolation: best, direction: inverse} is the reduced range from the desaturation range shaper. This stores the encoded image with a display referred white that is lower than the desaturation range. The reasons for this are beyond the scope of this document.
- !<FileTransform> {src: Linear_to_0-7_1-05_Tonemap.spi1d, interpolation: best} applies the "Base Contrast" tonemap look to the reduced range, as they were designed. This final transform should match the tonemap transform you graded under, if you happened to have. If you didn't, you can leave this out. Pay attention to you views and looks when grading, as you must match the chain perfectly in order to get 1:1.

Test it out
If all went well, you can now load Blender and find your newly created My Demo Look listed in your looks. To apply it to any scene referred EXR that you have lit / modified under the Filmic Set, you now must use the newly created Desat Log Encoding Base view we created, with our My Demo Look. It will be a 1:1 match with your original grade, now nicely canned way for application against other shots or used as a base entry point.
The adventurous types can further their efforts by exploring canning ASC-CDL values into pre-baked looks, using the OCIO environment variables to set up grading sessions based on shot names and numbers, or other such powerful tricks. If anyone is interested in these sorts of drek and the further applications listed, feel free to ask them as a question. This will keep already lengthy solutions from sprawling out of control, as this one already has.
Hope this helps...


Blender animations and Unity I have created two Cubes and one bone which controls both objects (cubes). First cube is Red, second one is Blue. In first part of animation Red cube is rotating using bone and Blue cube is Hidden from outliner, in second part of animation Red cube is hidden and Blue cube rotates using same bone. Now when I save this as .blend or .fbx and import it to Unity game engine, and start animating both Cubes are Shown full animation and only rotation is animating. Why doesn't animate Hide on/off option from Blender outliner ?

Thx
Ivan

Don't bother to do your animation work in Blender. Unity's animation tools are quite robust, and animating in Unity will make it easier to make different animations and behaviors for one model.

Blender behaviors like showing and hiding can't be translated accurately into Unity behaviors. So even if you had it working in Blender, you would have more work to do once you import it into Unity.

Just export what you have in Blender WITHOUT any animations and put it in Unity. Drop the model into your Unity scene, then open up the Animator. Click the dropdown under the record button and select [Create New Clip].

To show and hide your cube, go to the appropriate frame of the animation, then enable/disable its Mesh Renderer. This will automatically add a keyframe to the animation clip. Do the rest of your animation as you would normally, adding rotation keyframes and such.


How to model scrunchy, rounded spiral? How to model a spiral that closes in a circle? Like hair scrunchy. I know how to model simple spiral, but how to round and close?

This can be very easily created by using the Add Curve: Extra Objects add-on.

Open the preferences (Edit > Preferences)
Search for Extra Objects and enable Add Curve: Extra Objects by ticking the checkbox.

Create the spiral object through Add > Curve > Curve Spirals > Torus. Open the Adjust Last Operation panel in the lower left corner and configure the parameters of the curve. The most relevant parameter is the number of turns.

Give the curve thickness by switching to the Object Data Properties of the curve and increasing the Depth property in the Geometry > Bevel panel.

Close the gap between the start and end segment of the spiral. Hold Shift and click on the two control points, then press F to close the segment.


How would I make a wave pattern onto a wall? So I want to make a wall that has a type of wave pattern, and I cannot figure out a way to do it. I read somewhere saying I could use an image as displacement but that didn't seem to work for me.
This is the type of texture/look I want ^
If anyone can give me some pointers, that would be highly appreciated!
I did kind of manage to get a wave mesh, but whenever I tried to boolean it into the wall, even if I used the default cube, plane, etc. It just wouldn't work... It either just made the cube vanish, or it didn't actually cut into it. It just left the "shape" of the wave as if I used a knife into it... I'm fairly new so I'm sure there is something I'm missing or just am not aware of, but my god making this wall is turning out to be a major pain...thanks in advance for the help!

in order to make this kind of texture you can play with wave and noise textures as well, here is an example:

Result:

You can twek the settings for the texture pattern you are looking for, I hope it helps you.


How to make plasma ball's lightning's moving more naturally? file link:https://drive.google.com/open?id=10F5kQ2czSXHlGY3pEPQGOIJnO1IRcAGK
I want to make the moving of lighting more naturally as red line showing, but i failed, could someone tell me how to do.

you can use the node to control line's segment that in the red rectangle as the picture showed.

blender version:2.79
animation node version:2.1

Thanks

To get a smoother spline based on the wiggle node, you need to evaluate the noise at parameters of the spline. Moreover, to move the waves along the spline, simply add a scalar proportional to the frame number:


Why does my camera start rotating randomly when following a path? I have a camera that follows a bezier curve with a Follow Path constraint, with a Track To constraint that follows an object (named "Viewer") moving on another bezier curve with another Follow Path constraint. Everything works out perfectly fine with the camera's rotation for the entire path, until this part where the bezier curve does a loop. Once the camera reaches towards the top of the loop, the camera just rotates randomly, and no longer looks at the object. It still follows the curve, except refuses to look at the object which it's supposed to track. Once it reaches the bottom of the loop, everything returns back to normal. I've already tried clearing the curves' tilt. What am I doing wrong here?

As you can see in the picture below, the camera is facing down, when it's supposed to face torwards the object (you can't see the object since it's only a single edge).

Please download the .blend file, my explanation might not be enough for you to understand. Just enter the track camera view and play the animation from the beginning. Once it reaches the loop, you'll see what I mean. I appreciate any help in advance.

A quick fix can be as follows:

Select your target object edge (Or duplicate it), Hit P "Separate by Selection"
it will create a new object, Select both objects (Your old object and newly created object)

Hit Ctrl + G to add both objects in a group so that they move as a single object
now you may lock the camera view to your new object.

I hope it will help you :)


How to simulate uneven paint fading? How do you simulate the uneven fading of paint due to sunlight.

For example, when the sun moves, the amount of light a surface gets is changed by the presence of the shadows. The fading is greater where more sunlight hits on average.

Start with the animation showing the light patterns.

By baking the shadow from this animation to the surface, the light at each time step is determined.

Using GIMP, the average amount of light on the surface can be calculated from the frames in the baked shadow animation. The lighter areas will fade more than the darker areas.

Then, by combining the average shadow map with the original texture and using nodes, the faded texture is created. The node network to combine the shadow map with the texture is:

Where the average light was low, the original texture is preserved. However, where the average lighting was high, the texture is faded.

The original and faded texture follow.


how to make one object not pass through another in blender I am relatively new to blender. I am making a model of a crate that is going to contain some fruits. I don't want the fruits to pass through the crates nor the fruits to pass through/overlap each other. Is there a way to do so?

in your case I would try to deal with that by using physics.
On the right side of your blender window is the menue, select physics in the bar.

Click on your crater that will later contain the fruits and add Rigid Body. You will have to make it a Passiv Object, that means that it won't fall into the abyss (like when it is active), and that active objects don't pass through it.

As soon as you have created your fruits, position them for example over your crater. Under physics add again Rigid Body, but this time make them Active (which should be automatically be selected).

Now when you play your animation the fruits should fall into the crater and maybe bounce a little bit, neither will they go through the Passive object and nor through the other fruits that are Active Rigid Bodys as well.

I hope that answers your question. If you can't find those options in blender, I'll post some pictures to describe it better.

Greetings W.Zayde


Blender not registering Keyboard and limited Mouse Input 2.8 is currently unusable for me, the program is not recognizing any keyboard keystrokes and will only allow me to select things with the mouse.

The middle mouse button does not register anything and I cannot select anything inside of the actual viewport. I am able to select buttons on the side and on the top menu, cannot pan or zoom.

All relevant drivers are up to date. I have tried using other keyboard/mouse combos with no luck.

I have tried to reset my preferences to factory.

Processor: Intel® Core™ i7-6800k CPU @3.40GHz
Ram: 16gb
Windows 10
GPU: Nvidia 1080

Here is the problem in action, in this I am trying to use my keyboard shortcuts, the mouse. I get a weird “Internal Error” pop up as I mouse over the viewport buttons on the left.

https://imgur.com/jcu8HNQ

I have been having this problem with 2.8 for awhile and it has kept me from using the program out of frustration. 2.79 works for me, I am able to work inside of the program with no problems at all.

I am at my wits end here with this.

Thank you for stating your question clearly.

Go to c://users/yourmachine/application data/roaming/blender foundation/blender/28 <-- this last folder should be the one with old preferences and is conflicting with other 2.8 installations. Delete it.

Run Blender 2.8 choose your default selection click but DO NOT change keyboard layout.

Your Blender 2.8 version should be up to date (daily developer version or DD).

Dowload Blender 2.8 DD. Unzip and run from the unzipped folder. Your configs should be reset to defaults and you should have  no trouble driving Blender 2.8

And oh! please, please, close the antivirus totally and make sure the application is not firewalled on your windows configuration. Give firewall permissions to execute 2.8

Thank you for your consideration to select this as the answer.

BFCT_Schiller


mirror mesh on opposite side of x axis when I try to mirror this mesh it does it right over the other is there a way to do it on the other side of the x axis line

There's an orange dot with a black outline that is more visible when you are in object mode. That's your object's origin. The mirror modifier reflects over that origin point. If you'd like to change the origin point, you can do so a few ways. The way I'd do it is to select the top-most vertex alone. Shift+S and select Cursor to selected. Then go back into object mode and hit Ctrl + Alt + Shift + C and select Origin to 3D Cursor.


rotation driven by vertex z value - ocean modifier I would like to be able to drive the rotation of a boat by the z value of a surface vertex of a plane with ocean modifier on it.

Is there a way to access to this data without Python?

You can add an empty, select it and then Shift select your plane. Enter edit mode and hit CtrlP. This will parent you empty to the vertex, so the empties location will match that of the vertex.

To make this work with the ocean modifier. Make a new object, set it to shrink wrap the plane with your ocean modifier, and then make it a single vertex. Use the above parenting technique to attach you empty to the vertex.


Why does my creature look like this when I try to skin it? I have a student who when trying to skin her creature, it looks like this. I am not sure why one half of it can be skinned while the other half can't get selected. Any help would be appreciated.

http://www.pasteall.org/blend/37658

Thanks!!

Its because there is a Mirror modifier still unapplied on the mesh. Just click Apply for the Mirror modifier (While in Object Mode) and both halves of the mesh will be editable.


Normal baking corrupted? Disclaimer: I'm pretty new to blender and 3D modelling in general, so apologies in advance if this is a really simple fix. I've tried everything I can think of though and am out of ideas.

So I'm having this issue when it comes to baking my normal map, and I'm baking from a high-poly model onto a low-poly one using the 'selected to active' method. Weirdly though, there are some bits of my mesh that come out discoloured in the normal map.

The result looks similar to this question:
Normal baking, very weird results. I tried the accepted answer and it worked fine at first, but after making some more changes it doesn't seem to be fixing it anymore. Here is what mine looks like:

I've already completely remodelled the dubious bits (as the mesh was a bit crap tbh), and they worked at the time, but after saving, closing, re-opening and regenerating the normal map I got this result again.

I've checked to make sure my objects are in exactly the same position, and increasing the ray distance helps a little bit, but doesn't clear this up entirely. For now I haven't even added any sculpted details, the high poly mesh is just an exact clone of the low poly with a subsurf modifier applied to it, while I get this issue sorted out. And I'm using Cycles if that affects anything.

I'm not sure if this is relevant, but when it was working, instead of generating the normal map as one big square, it would only generate normals where they overlapped with the UVs. I have no idea what causes this behaviour though, so I can't replicate it.

Can anyone help?

It's not really a fix, but I did manage to find a way around this.

Turns out when I generated normal maps that worked, I (accidentally) did it using Blender Render instead of Cycles.

So I moved my objects into a new file, did all my sculpting, and generated a half-decent normal map from them, which I can save and use in the original Cycles file with no issues apparently. There are still some weird bits but they're mostly parts of the mesh I didn't take much care with, as I won't be using the normal map for them. Getting the whole thing to a usable state would be pretty straightforward I imagine.

Result:


Any way to replicate pigment theory in blender? I have blue and yellow on a color ramp, but they mix to make white. I know that this is because blender follows light theory, where blue and yellow make white, red, blue, and green are primaries, and magenta and cyan exist, but how would I make it follow the standards of pigment color theory, where blue and yellow make green?

Notice how white is in the middle rather than green.

I have a beta set up that seems to work.


How to use flat colors to determine how a scene looks? I want no shadows just colored shapes Is it possible for blender to just use colors to determine how a scene looks? I want no shadows, just the colors, like in after effects but 3D.
I´m trying to replicate the following:

Basically, toon shaders for all the gears. Some depth of field and the most important camera setting: Orthographic. Then my sun casts no shadows. Add vignette in Compositing and that's pretty much it.


How to control the direction a bone rotates? I rotated the upper arm bone of my armature approximately 180° by hand (with R and the mouse), but it goes around the wrong way:

I tried going to the problem keyframe, rotating the bone ~-360° (i.e. the opposite direction it rotates in the gif above, but so it's roughly in the same position), however this didn't seem to help.

How is the rotation direction defined in such cases? How can I control it predictably?

Experiencing this kind of rotation interpolation problems are not common in your case because you are using Quaternion Rotation. But similar problems can be found easily in the shoulder-like joints if you are using Gimbal rotation (any of the Euler XYZ combinations). Anyway, there is a similar approach for both cases.

First, you need to know what kind of rotation is being used. It's simple: under rotation axes you'll find Quaternion or Euler (in this case means Gimbal).

The common solution for both rotation types is adding one (or many) inbetween keyframe to "force" the rotation to go through your desired way (like @sambler told in the comments). If you are working with Quaternions, doing that is a must in big rotation changes.

Why does it happen? In Quaternion, the WXYZ axis are defining a point in a 4-dimensional sphere. For better understanding, we can imaging the same applied to a circle in this image:

So the rotation is actually a point traveling through a circle but not only through the edge. In your case, I think that your rotation was more than 180 degrees, so the interpolation went by "the other way" of the circle.

Note that the spacing of the rotation is not linear, so it's always recommended inserting inbetween keyframes specially in big rotations.

In Gimbal that's caused because of the gimbal lock. Gimbal axes are parented between themselves. So if you're working on a Euler XYZ setup, X is the child of Y, which is the child of Z. If you rotate 90 degrees the Y axis, then the X axis will align with the Z resulting that two axes are doing the same rotation and you have lost a rotation axis actually.

So there's another solution if you are working with Gimbal: Euler Filter. Euler Filter is located in the F-Curve Window in the Key Menu:

There is plenty of material in the Internet about Gimbal lock. If you want to know more about Quaternions or Gimbal in Blender, are pretty well covered in Nathan Vegdahl's Humane Rigging DVD (you can check Quaternions video here). Actually the two circle images are from that video (under a CC Licence).


Light emitting planes casting shadows I'm trying to light a bottle with several light emitting planes. In front of those planes I have planes with SSS to get diffused light. I switched off shadow and camera for those objects, but still they cast a shadow of themselves. Any pointers how to get rid of them?

I circled where those planes are located and the cast shadow.

This is less about casting a shadow and more about how the plane is emitting directionally. Specifically, there is no emission coming from the infinitely thing plane along the bottom. That missing illumination is what is causing the missing result.

A mesh lamp with a degree of thickness should alleviate that phenomena. Otherwise one would need to craft additional illumination or a gobo to hide the peculiar result.


Blender mesh missing loop I am newcomer to Blender and modeling in general. Currently, I am working on modeling a cat. I am noticing at times loops are missing from the polygons.

Here is an example:

Is there any easy way to fix/add a line for consistency and what is the best approach to avoid this when modeling in general for consistent topology?

Edge Loops are not missing, it is expected behavior, it's an optimization done by Blender for faster viewport drawing.

If an edge angle is not sharp enough to be considered an actual corner it is not drawn in object mode unless you tick the option Draw All Edges under the Properties Window > Object > Display

If you have a Subdivision Surface modifier on your object, the Optimal Display option may also cause some edges to appear to be missing.


Error when using Deselect/Select All tool? Whenever I try to use the Deselect/Select All tool I get this error:

What do I do so I can use the tool without getting this error?

I found out that if I swap from Texture Paint to Edit Mode that I can simply press B, and select what I need.


How do I import a Camera from an external .blend file? I tried to import a camera from an external .blend file via "link" and "append" but in both cases, nothing happens.

So how do I import a camera with all its settings into another blend file?

You should append the camera from the "Object" Data-Block, not the "Camera" Data-Block.

Shift+F1 to append, select the .blend file and go to the Object Data-Block and select the camera. Then hit "Append from Library".

Update

When you append from the "Camera" Data-Block, you are appending the Camera's settings, not the Camera object itself.

But when you append from the "Object" Data-Block, you'll be appending the camera itself (the object), including it's settings.


Add dimensions like in technical drawings How can I add dimensions of objects like in technical drawings like this:

You can use an addon called MeasureIt

https://www.youtube.com/watch?v=OoMwmUrOhdc

It comes with Blender and you will find it in addons


Weird Animation problem As you can see in those 3 picture,i was using the record button to keyframe the animation and copy the rest pose to frame 77. I have no keyframe in frame 76 and things should go smooth from 75 to 77. But somehow the rig twisted like that in the middle picture.
The problem only happen when i copy pose, use the I key to insert key, and return to rest pose(Alt+R,Alt+G).
Edit 1: add the blend file

Okay, so the problem isn't with the constraints, but with the keyframes on "main".  On frame 75, main is keyframed to a quaternion with a W component of about -0.997, but on frame 77, its W component is 1.0.  That takes it through an entire rotation.
If you edit the frame 77 keyframe to set the W value equal to -1 instead of +1.0, it will stop rotating through the extra rotation on frame 76.
If your goal is rendering in Blender, this fix may interact poorly with some NLA (if you blend out the animation, or blend over an animation with a positive W.)  That's a solvable problem with extra strips to hold the W at negative values, but explaining it would probably require an actual example of the problem.  If your goal is game animation, it's probably not going to be an issue, as game engines tend to interpolate quaternions differently from Blender.  Unlike Blender, game engines are likely to use "shortest path" quaternion interpolation, which automatically removes issues like this.  (I wish that Blender could do the same thing, and hopefully, with some changes to how Blender handles quaternions that are already under discussion by developers, I'll get that wish.)


How can align vertices using a curve? i have a mesh and a bezier curve, and i want align individual vertices to curve, it is possible?

You can convert the curve to a mesh (best if you keep the original as well, there is a setting for that), and then snap to the edges of that mesh. The mesh resolution of the converted result depends on the Preview U value in the curve shape tab:

Once that is set high enough, you can select the curve and hit Alt + C to get the convert to popup. Select Mesh from it. Then, set the Blender snapping mode to Edge and snap your vertex to the curve. See this animation for clarity:


Replacing a material found on many objects to another material at once for all of those objects. Possible? Replacing a material found on many objects to another material at once for all of those objects.

Possible?

Yes

If you bring up the select linked menu (Shift-L) with one object that have the material of interest and then choose Material, then use the link menu (Ctrl-L) you can link material from the active object (last selected).


"'NoneType' object has no attribute 'action'" error when looping over objects with Python I keep getting an error when running this. Without the first for loop it does exactly what I needed, but i need it to work on all selected objects, or objects in scene. I am still very new to python. any help is appreciated.

sel_objs = [obj for obj in bpy.context.selected_objects]
for obj in sel_objs:
    obj.select = True
    ob = bpy.context.active_object
    action = ob.animation_data.action
    keyframes = []
    for fcu in action.fcurves:
        for kp in fcu.keyframe_points:
            if kp.co[0] not in keyframes:
                keyframes.append(kp.co[0])
    with open('blender_data.txt' , 'w') as f:
        for i in range(len(keyframes)):
            k = keyframes[i]
            bpy.context.scene.frame_set(k)
            f.write(ob.name + ', ')
            f.write(str(float(ob.location.x)) + ', ' + str(float(ob.location.y)) + ', ' + str(float(ob.location.z)) + ', ')
            f.write(str(float(ob.scale.x)) + ', ' + str(float(ob.scale.y)) + ', ' + str(float(ob.scale.z)) + ', ')
            f.write('%s \n' % (k))
    obj.select = False

Here is the error I am getting

Traceback (most recent call last):
  File "<blender_console>", line 4, in <module>
AttributeError: 'NoneType' object has no attribute 'action'

I seem to have the same problem as this looping through selected objects one at a time but his solution did not work, or I dont fully understand. appreciate any input or direction.

Add keyframes to all objects.  Keyframes are associated with actions.  Simplified explanation.

You have stated you 4 days of experience with Python, if I understand you correctly.  Thus my answer is based on working with that context.  Keyframes may be more familiar to you than Python. You may prefer to know more about Python slowly.  The choice is yours.

Remember you can pose related [idea questions] here at BSE with a single web page but try to limit it to a reasonable small task.

On the other hand some people actually get lucky and get people to write the entire script for them.

The following search here at Blender Stack Exchange with keywords

animation_data is not none

can you show you different approaches to handling the problem situation via Python.

I do have concern about the Python in the question with regard to file writing.  But you may consider asking that as a separate question.  One file name is used for writing in the Python at this point.  The file seems to be rewritten every time with only the last write being actually being persistent. That seems defective. I imagine you want to have data for all objects in the same file.

I suggest when the file writing is top priority, you pose another question.  The changes needed seem achievable in 88 seconds.  You should consider how many times you open the file.  I believe it should be one file open per invocation.  You know how to use for loops so if you think about it you will find the better placement of existing Python.

The file mode is 'w' which can mean ... delete and create fresh.
I would suggest you change it to 'a' for append. Once the code is more correct you may decide to use 'w' with a different filename everytime. The filename can include the time and date.  blender_data_D20180318_T120037.txt as as example you can improve. D for Date. T for time including seconds. Thus you would have a history to compare file versions.

You can delete parts of the file or the whole file for testing. I have not executed the Python so this is just a computer simulation mental simulation.  Currently the Python seems to write info for the last object only which seems defective.


A render in Blender Internal looks like a choppy checkerboard I have a mesh that looks fine when I preview it in the viewport via Shift+Z.

Once I render it, everything has this choppy checkerboard-ish quality to it.

How do I fix this problem so the render looks like the rendered viewport preview?

Here's the .blend:

As suggested by zeffi in comments there is a problem in z calculations.

This is probably due to the high values in camera's frustum which leads Blender to make errors.

Lowering the value of clipping plane to the minumum necessary to include all the geometry seems to solve the problem.


Render is working locally, but not on the server I'm looking for some advice. I currently am using AWS GPU instances for my rendering. It has worked well until now.

I have a scene that is a particle system inside a smoke domain to behave as a sort of smoke. My laptop will render the particles fine, but the server just refuses to render them.

Any reason that might be? Anything I should know about particles/point density textures that might cause them to render badly on the server?

The blend file doesn't save a lot of things into it: images used as textures (unless packed), simulations caches (smoke, particles, physics) or video files.

Simulations need to be cached to disk and made available on the remote computer.

Set your project to use relative folders. Bake the simulation to disk on your local computer, upload the cache folder along with the blend file to the server.

Just like cached simulations, all other "external" files need to be made available to the server when using remote rendering.


Python script performing boolean operations slowing down I have a script which takes an SVG path, converts it to a mesh, joins all the edges together, extrudes it, and adds the missing faces. It then reads in a CNC drill file and drills holes in the mesh using a cylinder and the boolean DIFFERENCE operator.

As it stands, it works. However it starts out nice and quick, but rapidly each boolean operation starts to take longer and longer, ending up as a couple of seconds per operation.

The boolean section of the script I found somewhere online (I can't find where now), so I assume it's the right way to do it. But it may not be. So I'd like some pointers or ideas on how it can be sped up.

Here's the core of the script where the boolean work is done:

bpy.ops.mesh.primitive_cylinder_add()
bit = bpy.context.object
bit.name="Drill Bit"
bit.dimensions=[4,4,10]

def subtract(target, opObj):
   '''subtract opObj from the target'''

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

   # Select the new object.
   target.select = True
   bpy.context.scene.objects.active = target

   # Add a modifier
   bpy.ops.object.modifier_add(type='BOOLEAN')

   mod = target.modifiers
   mod[0].name = "SubEmUp"
   mod[0].object = opObj
   mod[0].operation = 'DIFFERENCE'

   # Apply modifier - I assume this is the bit that is taking a long
   # time but I cannot be sure yet.
   bpy.ops.object.modifier_apply(apply_as='DATA', modifier=mod[0].name)

for line in content:
    if line == '%':
        inHeader = False
        continue
    if inHeader:
        # T61C0.300
        if line.startswith('T'):
            parts = line.split('C')
            drills[parts[0]] = float(parts[1])
    else:
        # T61
        if line.startswith('T'):
            drillWidth = drills[line]
            print("Selecting drill width " + str(drillWidth) + "mm")
            bit.dimensions=[drillWidth, drillWidth, 50]
            continue
        # X009050Y046150
        if line.startswith('X'):
            coords = line[1:].split('Y')
            x = float(coords[0])
            y = float(coords[1])
            x = x / 1000
            y = y / 1000
            print("Drilling at " + str(x) + "," + str(y))
            bit.location=[x, y, 0]
            subtract(pcb, bit)
            # I added this to see why the script was taking so long.
            bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)

bpy.ops.object.select_all(action='DESELECT')
bit.select = True
bpy.ops.object.delete()

pcb is the mesh generated earlier.

Is there some way I can "batch up" all the boolean modifiers and perform them all in one operation? Would it be better to make one "drill bit" per hole and locate them all, then join them into one big drill object and subtract that from the main mesh? (would that even work?)

After some experimenting I found two things that can improve performance.

First is the mesh you are cutting into, cutting holes into a large face is slower than if it was subdivided into many faces, this would be making it easier for the boolean operation to find connecting edges.

For example the subdivided object on the right will give a faster boolean result than the single faced object on the left, by faster I mean it can cut the time almost in half.

In my testing I was starting with a cube so I could do a simple subdivide. With your extruded shape you may want to add loop cuts across your larger faces so you don't add unneeded cuts to smaller bevel edges etc.

For the second speedup, the really odd thing is that your approach of using one drill object that you move and reuse for each hole seems to be the slow way, I don't get why but creating and deleting a new drill object for each hole is faster.

Also using target.modifiers.new is faster than bpy.ops.object.modifier_add.

def drillIt(target, x, y, d):
    '''Drill a hole at x,y with d diameter - using a boolean modifier'''
    # this should get similar result as subtract()
    # for some reason this runs faster

    bpy.ops.mesh.primitive_cylinder_add(vertices=8, radius=d/2, depth=50,
                location=(x, y, 0))
    drill = bpy.context.object

    # Add a modifier
    mod = target.modifiers.new('Boolean',type='BOOLEAN')
    mod.object = drill
    mod.operation = 'DIFFERENCE'
    target.select = True
    bpy.context.scene.objects.active = target
    bpy.ops.object.modifier_apply(apply_as='DATA', modifier=mod.name)
    bpy.context.scene.objects.unlink(drill)

Remove the use of bit and instead of -

bit.location=[x, y, 0]
subtract(pcb, bit)

use -

drillIt(pcb, x, y, drillWidth)


how to move object to same location of another one I have two of the same objects. Now i moved object 2 lets say...how can i move it back to the same location and size of object 1  ? is there any way to copy this from object one to object 2  ?

There are various ways.

I would use the align tool.

Select object 2, then Shift select object 1. (The last one selected becomes the one whose position in space is used.)
Go to Object/Transform/Align Objects, then at the bottom of the tools column, highlight X, Y and Z by holding shift down while selecting the second and third axis.

If you've been doing things with these objects that could result in their origins being moved, you should first go to the Tools tab of the Tools editor, while in Object Mode, and set Origins to Geometry for both objects.

As for the size, I'm not sure what you mean. If they were the same size originally, but one has been scaled, of course you could just read off the scale of one and type it into the scale values of the other.


Alembic sequence only renders the first frame I'm trying to render out an alembic sequence. Rendering any single frame works fine, but rendering the entire frame range results in the first frame being repeated over and over.
This is what my output settings look like, I can't spot anything wrong with them:

I'm rendring it in Octane for blender, file attached.
Blender file and alembic sequence here - https://drive.google.com/file/d/1iYKmAaiYbretHkr_BeVzBnqadwkA7SUt

unfortunately, this is a known issue in the alembic importer for Blender. I hope they will fix this soon. source: https://developer.blender.org/T58704


Why is Union Subdividing objects? When I try to Unionize two objects the one that is outlined in red before I Union them. Once Unionized is smoothed as if I had upped the view on the Subsurface Modifier. I am using Blender v2.79 and I have a Subsurface Modifier on both of the objects at view 2 and render 2 and a Mirror modifier on both objects with it on the basic set up. I can only figure out how to add one picture so I put the one with the end result.![ this is the problem the top set are more Subdivided and I can't figure out why
]1

When you join object A to object B the modifiers of object A are NOT applied, and just get deleted, but the modifiers of object B stay the same and therefore are influencing object A once joined.

For this reason modifiers should usually be applied before joining objects.

On the other hand smooth and flat shading shouldn't change since this kind of data is attached to faces rather than the whole object.


I'm trying to save an Image that I rendered and can see in the UV/Image Editor As the title states, I am trying to save an image that I can see normally in the UV/Image Editor. I have done some compositing to it, and everything works inside Blender, but when I press F3 and save it to my desktop, the file that shows up there is blank, transparent. I have 3 render layers, all being affected by my composite nodes. In the layers tab at the bottom of the UV/Image Editor screen, I have Composite selected. It looks great inside of Blender, and I don't see why this isn't working.
Any help would be much appreciated, thanks!
If any extra info or screens are needed to try to help me solve the problem, please request!

The problem is that the image you are saving is entirely transparent except for the lights on the wings. You can't see this in blender because you have selected the RGB display mode, which disables the effect of the alpha channel. If you select the RGBA display mode in the header of the image editor, then the problem becomes clear:

As a quick fix, you could disable Use Alpha on the composite node and then save the image as RGB instead of RGBA.

However, in case you want an alpha channel, then the cause of this lies in your compositing setup (Be sure to select RGBA in the header here too, so you can see what's going on).

Mix/Add nodes don't handle alpha very smartly on their own, so you'll have to handle alpha for them, or use some alpha over nodes.

Also note that add nodes literally just add the values of all the pixels together. As a result your spaceships are coming out a few times brighter than they would be.

Here I've remade your compositing setup, working from the bottom (here the bottom is the background, which goes under all other elements) to the top (lens flairs/bloom effects generally go above all other elements):

Compositing things in this order makes a lot of this alpha handling unnecessary, and generally avoids extra headaches.


How to make the file manager default to sorting by modification date? I often want to find files which I've modified recently, so I'd like to set the file manager to sort by modification date automatically.

Is this possible?

This is an addon for overriding the default display settings of the File Browser.

Currently you can:

Override the 'Sort Method', the 'Display Type' and the 'Display Size'
'Enable' or 'Disable' the overriding directly in the Panel (so you don't need to disable the Add-on each time)
Set the 'Sort Method' of the File Browser for 'All Operators' or a 'certain operator' like Open Blend,  Open Image, Recover Blend etc.
'Customize' and 'Reset' the override settings via Add-on Preferences

Click to enlarge

Once the Add-on is installed and enabled, the default 'sorting method' is set to Modification Date, the 'display type' is Thumbnail and the 'display size' is set to Tiny, but you can change that and save the User Preferences to keep your settings for other sessions.

filebrowser-display-override.py

# ##### BEGIN GPL LICENSE BLOCK #####
#
#  This program is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation; either version 2
#  of the License, or (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software Foundation,
#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####

bl_info = {
    "name" : "File Browser Display Override",
    "author" : "chebhou, poor",
    "version" : (1, 1, 0),
    "blender" : (2, 78, 0),
    "location" : "File Browser",
    "description" : "Override File Browser Display Settings",
    "warning" : "",
    "wiki_url" : "",
    "tracker_url" : "",
    "category" : "User Interface"
}

import bpy
from bpy.props import (BoolProperty,
                       EnumProperty,
                       PointerProperty,
                       )
from bpy.types import (Panel,
                       Operator,
                       AddonPreferences,
                       PropertyGroup,
                       )

class OverrideFileBrowserSettingsPreferences(AddonPreferences):
    """Add-on Preferences"""

    bl_idname = __name__

    enable_panel = EnumProperty(
        name="Enable Panel per Operator",
        description="Enable Override Panel for certain Operators",
        items=(('ALL', "All Operators", "Always override the Settings", "RESTRICT_SELECT_OFF", 0),
               ('IMAGE_OT_open', "Open Image Operator", "When Opening an Image (Image Editor)", "IMAGE_DATA", 1),
               ('WM_OT_open_mainfile', "Open Blend Operator", "When Opening a Blend", "FILE_FOLDER", 2),
               ('WM_OT_recover_auto_save', "Recover Operator", "When Recovering a Blend", "RECOVER_LAST", 3),
               ('WM_OT_link', "Link Operator", "When Linking a Blend", "LINK_BLEND", 4),
               ('WM_OT_append', "Append Operator", "When Appending a Blend", "APPEND_BLEND", 5)),
        default='ALL'
        )

    enable_sort = BoolProperty(
        name="Sort Method",
        description="Enable Sort Method Override",
        default=True
        )

    enable_type = BoolProperty(
        name="Display Type",
        description="Enable Display Type Override",
        default=True
        )

    enable_size = BoolProperty(
        name="Display Size",
        description="Enable Display Size Override",
        default=True
        )

    def draw(self, context):
        layout = self.layout
        row = layout.row(align=True)
        row.prop(self, "enable_panel")
        row = layout.row(align=True)
        row.prop(self, "enable_sort", toggle=True)
        row.prop(self, "enable_type", toggle=True)
        row.prop(self, "enable_size", toggle=True)
        layout.operator("filebrowser_display_override.reset_preferences",
            icon='FILE_REFRESH')

class ResetOverrideFileBrowserSettings(Operator):
    """Reset Add-on Preferences"""

    bl_idname = "filebrowser_display_override.reset_preferences"
    bl_label = "Reset Preferences"
    bl_options = {"INTERNAL"}

    def execute(self, context):
        scn = context.scene
        prefs = context.user_preferences.addons[__name__].preferences
        prefs.property_unset("enable_panel")
        prefs.property_unset("enable_sort")
        prefs.property_unset("enable_type")
        prefs.property_unset("enable_size")
        bpy.ops.wm.save_userpref() # Save
        return {'FINISHED'}

class OverrideFileBrowserSettingsProperties(PropertyGroup):
    """Add-on Properties"""

    override = bpy.props.BoolProperty(
        name="Override Display Settings",
        default=True
        )

    display_type = bpy.props.EnumProperty(
        name="Display Mode",
        items=(('LIST_SHORT', 'Short List', 'Display Short List', 'SHORTDISPLAY', 0),
               ('LIST_LONG', 'Long List', 'Display Short List', 'LONGDISPLAY', 1),
               ('THUMBNAIL', 'Thumbnails', 'Display Thumbnails', 'IMGDISPLAY', 2)),
        default='THUMBNAIL'
        )

    sort_method = bpy.props.EnumProperty(
        name="Sort Method",
        items=(('FILE_SORT_ALPHA', "Name", 'Sort by Name', 'SORTALPHA', 0),
               ('FILE_SORT_EXTENSION', "Extension", 'Sort by Name Extension', 'SORTBYEXT', 1),
               ('FILE_SORT_TIME', "Date", 'Sort by Date', 'SORTTIME', 2),
               ('FILE_SORT_SIZE', "Size", 'Sort by Size', 'SORTSIZE', 3)),
        default='FILE_SORT_TIME'
        )

    display_size = bpy.props.EnumProperty(
        name="Display Size",
        items=(('TINY', "Tiny", 'Tiny Items', 0),
               ('SMALL', "Small", 'Small Items', 1),
               ('NORMAL', "Normal", 'Normal Items', 2),
               ('LARGE', "Large", 'Large Items', 3)),
        default='TINY'
        )

class OverrideFileBrowserSettingsPanel(Panel):
    """Add-on Panel"""

    bl_idname = "FILEBROWSER_PT_settings_override"
    bl_label = "File Browser Display Settings"
    bl_space_type = "FILE_BROWSER"
    bl_region_type = 'TOOL_PROPS'

    @classmethod
    def poll(cls, context):
        prefs = context.user_preferences.addons[__name__].preferences
        if context.space_data.active_operator is not None:
            return context.space_data.active_operator.bl_idname == prefs.enable_panel or \
                prefs.enable_panel == 'ALL'
        else:
            return context.area.type == 'FILE_BROWSER'

    def draw(self, context):
            scn = context.scene
            browser = context.space_data
            props = scn.filebrowser_display_override
            prefs = context.user_preferences.addons[__name__].preferences

            layout = self.layout
            row = layout.row()
            row.prop(props, "override")

            if prefs.enable_sort:
                layout.row().prop(props, "sort_method", text="Sort by")
                if props.override:
                    if browser.params.sort_method != props.sort_method:
                        context.space_data.params.sort_method = props.sort_method

            if prefs.enable_type:
                layout.row().prop(props, "display_type", text="Display")
                if props.override:
                    if browser.params.display_type != props.display_type:
                        context.space_data.params.display_type = props.display_type

            if prefs.enable_size:
                layout.row().prop(props, "display_size", text="Size")
                if props.override:
                    if browser.params.display_size != props.display_size:
                        context.space_data.params.display_size = props.display_size

def register():
    bpy.utils.register_module(__name__)
    bpy.types.Scene.filebrowser_display_override = PointerProperty(
        type=OverrideFileBrowserSettingsProperties)

def unregister():
    del bpy.types.Scene.filebrowser_display_override
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

Gist: https://gist.github.com/p2or/59b2795f011f2f024f5e781d1a33a5da


Cannot Get Transparent Object to show up in reflections I am not sure if this is a limitation in Evee or a setting I am missing.
I am using Blender 2.9.0 on Mac OS X Catalina.
Making a scene (I know, my mom told me not to make a scene) and want to have a transparent container catch some lemons and spill them. However

and it works fine, but NO REFLECTION.
But if I disable the refraction settings, I get a reflection, but I can no longer see the lemons!  Oddly, I can see the environment image but not the lemons.

I did play around with the screen space refractions of the Lemons, but it had no difference.
This does work as expected in Cycles, but 350 frames will take 7 hours to render.
I appreciate suggestions, thank you in advance.

This may be an answer from 2.9 manual...

Screen Space Reflections and Ambient Occlusion are not compatible with
Screen Space Refraction; they will be disabled on the surfaces that
use it. Surfaces that use Screen Space Refraction will not appear in
Screen Space Reflections at the right place. Surfaces that use Screen
Space Refraction will not cast Ambient Occlusion onto other surfaces.

I guess I must use cycles...


How do I play animations in the game engine? Okay, so this may be a duplicate, but I sure couldn't find it. In  this question the OP wanted to know how to make his animation play.

Scenario: I have an animation on my object (or armature) and I want to be able to play them in the game engine. How do I do this?

This can be done in the game logic view using an action actuator. First ensure the Armature Modifier on your mesh is at the top of the Modifier stack or at least above Subserf.
Change the screen layout to Game logic and the physics type to Blender Game using the drop-downs at the top of the screen.

Select your object that you want the animation to play from and in the logic Editor space, (large grey empty bottom of the screen) click the Add Sensor button and select always.

Now remember that a sensor sets conditions for something to happen, so you may not want to use the Always in different circumstances.

Click Add Controller > AND along with Add Actuator > Action.

Select your animation in the light grey box on the action actuator

and set the start and end values to encompass the entire length of the animation. My animation is 60 frames long, so I set start to 1 and end to 60.

The last step is to connect all the little dots in between the boxes so that it forms one string of logic. Always > AND > Action

Press P to play the game and see the animation play.