text:
How do I create a bone which controls the "global" rotation of another bone and not its local rotation
I have a free floating control bone which is meant to rotate the spine of my character on the global x axis so that my character can look up and down when performing certain actions via my game code editing the orientation of this bone. This works fine when the spine is already facing forward:

But when the spine is rotated (so that the arm points forward in a way that looks natural), the rotation of the bone constraints tied to the spine bones can only affect the local rotation of the spine:

No longer pointing forward after looking up:

The problem here is that the character and its arms are no longer facing straight forward when I rotate the control bone.
The desired effect is that the rotation of the control bone rotates the bones of the spine in a way that ignores their existing orientation. Is there a way to achieve this effect?
ty.

How do I create a bone which controls the "global" rotation of another bone and not its local rotation

That's relatively easy-- you use a copy rotation bone constraint, set to default world->world space.

via my game code editing the orientation of this bone

That is not necessarily so easy, and it doesn't have anything to do with Blender, but with your game code.  Constraints are specific to Blender, and if you want to use them with game-variables, you need to code them into your game engine. That is, you need to recreate those constraints.  Maybe good news, Blender is all open source.  Maybe bad news, Blender is all licensed as GPL, so if you copy code, you have to release your game under the GPL license as well.

The problem here is that the character and its arms are no longer facing straight forward when I rotate the control bone

The arms are inheriting the rotation of the spine, which is inheriting the rotation from the control.  If you don't want the arms to inherit rotation from the spine, then you need constraints on the arm bones (or, just disabled "inherit rotation" in properties/bone/relations) to override that inherited rotation.  Typically, you might use IK to control the rotation of the arms.  But again, if that's something that you want to respond to game variables, then you need to be coding your constraints into your game.  Setting them up in Blender won't do anything for you.
Edit, reading your comments:  It works for you on "replace" or "before original", but not on "add".  And looking at your pics, your spine is spinning about its Y axis when presumably it shouldn't (I can't make out your control's axes.)
So, why doesn't "add" work?
Because Eulers.
An add rotation constraint works pretty simply.  It decomposes your bone's world (not local, since you said world) transformation matrix into Euler rotation triplets.  It decomposes your target's (world) transformation into Euler triplets.  It adds the two together.  It recomposes the transformation matrix out of the new, summed Euler triplet.
But, there is more than one way to turn a given orientation into a set of Euler rotations.  For instance, XYZ Euler 0,180,180 is the same as XYZ Euler 180,0,0.  We say that these are "aliased": for any single given orientation, the Eulers go by multiple "names," like a criminal is the same person but provides different names depending on who's asking.  There's not a one-to-one correspondence between orientations and Euler angles.  Your one, true orientation tells one person, 180,0,0, but it tells another person, 0,180,180.
So when you add a bone at 180,0,0, what are you getting?  Are you adding 180,0,0?  Or are you adding 0,180,180?  They're not the same thing, not once you add them to other values.
Any 3D program has to decide how to decode orientations into Eulers (if it decides that it needs to do that.)  Blender decides to do that in a way that means that there's no aliasing, if no part of that triplet has a value greater than 90 degrees.  There are other ways to decide.  There's no right way to do it.
For local space, that's kind of reasonable.  Riggers know that bones shouldn't rotate more than 90 degrees from the rest.  If not because of theory, then because of experience.  But because you're measuring in world space, that's 90 degrees relative to the world axes.  Which you're almost certain to violate.
But that's not the only reason.  The sum of 2 Eulers isn't sequential rotation anyways.
An Euler is a set of 3 sequential rotations, and the order of those rotations matter.  That's why we have XYZ, XZY, etc Eulers: they're different orders.
Let [x] be a rotation about the x axis, and [x][z] be the sequential rotation about the x and z axes.  The problem is that [x1+x2][y1+y2][z1+z2] does not equal [x1][y1][z1][x2][y2][z2].  The former is what we get with add.  The latter is what we get with "after original."  When we change our rotations of earlier rotations, we affect later rotations.  So when we sum two rotations in the same axis, we get rotation that isn't necessarily in that same axis.  (This is kind of what people mean by "gimbal lock", which is a term I'm not fond of because, in practice, it means, "anything unintuitive about Eulers.")
So the right answer here is, "add" is a dumb mode.  Any rotation it gives you is largely an artifact of the math used to determine how Euler angles get measured.  "Replace" is the best mode (and what you should be using: you have a control, you don't need two.)  "After original" and "Before original" are also okay (they don't decompose matrices into arbitrary rotation triplets, they do matrix multiplication.)
Obviously, this is just a bunch of 3D math wankery that probably doesn't matter to anyone that isn't going to start coding constraints.  Unfortunately, I think you happen to be somebody who needs to start coding constraints.  Because of that, I'm going to recommend, well, learning the math, and where I learned most of my math is from Parbery and Dunn's "3D Math Primer", available at  https://gamemath.com/  I bought it hardcover on Amazon, but they've been generous enough to share it for free, online, at the link provided.

I've already tried setting the bone constraint properties of Target and Owner to the "world space" but the issue prevails.
I still haven't tested if the game engine I'm using even carries over bone constraints of imported armatures, that may become an issue later on and I'll just need to alter the spine bones programmatically somehow while preserving the spine keyframes of the animation. But it is unlikely that I will need to copy blender's code.
Though I have found the solution though after tinkering with the constraint properties after setting it to use the "World Space"...

You may've not accounted for the fact that I want to animate the spine independently from this control bone, so I was using "Add" in the Mix property of the control to add the rotation of the control bone onto the spine rather than replacing it entirely. If "Add" is used the issue persists for some reason even when using "world space".  I needed to use "Before Original" for the Mix property and now it works perfectly (though I am not 100% sure of the reason). (using "Before Original" also does not fix my issue when the constraints are using Local Space, I tested it to make sure.)

If you care to explain why it works and update your answer to include this information I'll accept it as the answer.

No, don't use add; use default "replace."  (Don't use add unless you know what it means, and what it means, particularly in the case of world space rotation, is mostly artifactual.)  Yes, before original is an okay thing to do (but not recommended, just use one control.)  If you want to know how Add and Before Original work, ask that instead.  I'm not totally sure what your issue is-- it seems to be that your arms rotate with your chest, which you should expect when you're inheriting rotation.  Your constraints definitely will not export; the best you can do is export baked visual transforms.

The issue isn't that the arms are inherited from the chest but that I wanted my control bone to do something specific and I tried my best to describe what that was already.
If I use "Replace" I wont be able to animate my spine independently from the control bone which isn't what I want.
I couldn't accomplish what I wanted my bone constraints to do without using "World Space" AND "Before Original" in the constraint properties. So you provided half of my solution.
Well thanks anyways.

@DED you might check the edit.  I answered what "add" and "before/after original" do.  Well, as best as I can.

thanks m8, I sorta take back the need for explaining why it works. I don't really need to know that for a solution to be valid.


text:
how to do backface culling using blender python API for rendering degenerated faces
The model can be downloaded here, which is made and exported in a bad way different from the conventional way. As the pose said, the
normals of the faces seems incorrect.
In meshlab with backface culling mode, the model looks like what I want

However, when I am trying to render the model with blender python API, the rendered images looks really different from that in meshlab. How can I obtain similar results to the meshlab using blender python API. Appreciate any help!

I have, to some extend, resolved the problem of backface culling by using the experimental importing API in blender v3.4.0
bpy.ops.wm.obj_import(filepath=obj, forward_axis='Y', up_axis='Z')
for i, mat in enumerate(bpy.data.materials):
    mat.use_backface_culling = True

Another problem is encountered, the diffusion image and the rendered image looks different.
The rendered image,

The diffuse image,

you can set the backface culling for a material using bpy.data.materials["MaterialName"].use_backface_culling = True

Backface culling makes the back sides of faces invisible - this is not something that plays any part in the images you provided. You may be misunderstanding something. Providing more context about what you are doing and your goals might be a good idea.

Can you show the screenshot with backface culling disabled?

@Crantisz The screenshot with backface culling disabled will be similar to the rendered image.

@MartynasŽiemys The BlenderProc team has dived into the issue, and found that importing the 3d model with the experimental import way of *.obj in the latest Blender (3.2.1) then enabling backface culling in viewport shading can resolve the problem.

@HarryMcKenzie I have tried this but it dose not work in both script and ui app. The BlenderProc team said that I need to import the 3d model in the experimental way since the model is broken. But I have no idea how to import the model in the experimental way with python API in both Blender v3.2.1 and v3.4.0.

I have added the 3d model in the post and you can try.

@HarryMcKenzie  I have checked the source code of Blender v3.4.0 and successfully rendered the image as I want by calling bpy.ops.wm.obj_import and bpy.data.materials["MaterialName"].use_backface_culling = True. However, the "DiffCol" output from the render layer, where some colors are turned to almost white, is different from the final output image. Do you know why is that ?

@Winne, the question is unclear as it is. It is unclear, what you are trying to achieve, what the problem is and what blackface culling has to do with this. I would recommend editing the question and defining the problem in a more specific way if you wish to get meaningful answers. The model in the  .obj file seems to have many issues. I suspect the problems are because of the way it is made and exported, whatever process that is.

@MartynasŽiemys You are right, the reason is that the way how the 3d model was made is different from the conventional way, which makes importing the 3d model in another way possible to resolve the issue.

You have some white-color faces that cover colored faces. You can easly delete them.

Select model, open edit mode (Tab)
Set face select mode (3)

Select  white-color material on the material tab, and press select button

you will see, that all white faces has been selected:

Press Delete ⇾ Faces

Thanks for your valuable response ! The reason may be that the model is with double faces and the backface culling will make the normals of the backface (of white materials) incorrect. since I have thousands of models made in similar way, how can I do in a general way ? Like turning the model to single-sided ?

I found that this method removes the tail fin as well.

source: Stack Exchange

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

sort: votes


text:
Mirror with "bridged face-loop" instead of edge-loop?
I want to model something lowpoly (papercraft) similar to this:

This is obviously mirrored, but has faces bridged over the mirror border instead of a center seam.
The only thing I could come up with was switching of clipping and merging and modeling with "gaps" in the middle and later bridge them when I'm done, but honestly, this stretches my imagination a bit. Checking merge doesn't help because it projects the vertex to the mirror-plane when in range, changing the intended geometry.
Is there a way to make the mirror modifier bridge from modeled edge-loop to mirrored edge-loop over the mirror-plane, or more generally, how would you approach this?

to add to Pierre Ducos' answer, anyway you can use the Mirror modifier or the Symmetry operation, then dissolve the central edge

 Edit Mode: "Mesh Symmetry"

Rather than using Blender's "Mirror Modifier", you can opt to use blender's built-in "Mesh Symmetry" modes, which can be enabled by selecting your "Symmetry Axis" to the right of the butterfly icon.
This will not work for non-symmetrical meshes, and cannot be used to create new geometry (i.e., you cannot extrude with symmetry, but you can grab with symmetry.
 Recommended Workflow
I recommend that you create mirrored base-mesh, via the mirror modifier. Once your basemesh is complete, apply the mirror modifier, and dissolve the center edge loop. Finally, if you find it necessary, you can tweak your mesh using the "Mesh Symmetry" options.
Let's try this together:

Let's make a cube, deleting half of it so that we can add a mirror modifier to it.

Let's create edge loops surrounding the face, to prepare for the eyes, ears, and mouth.
Inset the selected faces to create the eyes, ears, and mouth. (Join the mouth to the centerline, for a proper face. Here I have removed the geometry which was skewed from the inset.)

Add as much geometry as you think you will need, and apply your mirror modifier! (You must be in object mode to apply your mirror modifier.) Return to edit mode, and change your geometry using the "Mesh Symmetry" settings!

Here was my end result, which looks more like a helmet than a head:

 In conclusion
In the end, I find this to be a total pain! I would recommend low-poly retopology over a sculpted mesh, or traditional base-mesh modeling. However, if it works, it works! Let me know how I can help you.
Good luck! Happy blending!

Let me know if you want to know what "Retopology" or "Base Mesh Modeling" are! I would be happy to help.

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


text:
After subvision modifier, what modifier to use to create object finish with lines?
Used a subvision modifier to extrude individual faces but I am stuck on how I would finish the surface that it subtracts lines likes this one around an object. Any advice appreciated!

Once you have any surface, you can use a Simple Deform modifier (you need to rotate an empty by 90°) to bend it into a cylinder:

However, rather than doing that, you can make a mesh line, subdivide heavily, shrinkwrap on that surface when it's flat (so you can just project down on negative Z), duplicate with an array modifier and then bend. You can control the thickness of the skin modifier by modifying the mesh line (select all, CtrlA

From there there's a lot of stuff that you can optimize - you could just overlap two UV spheres slightly, take a vertical stripe of vertices from both, and build a single mesh curve from that with minimal density for that shape - give it thickness and adjust it on the crease, duplicate with a brick-like offset, then put an array modifier on that...

Here is a try with a Wave Texture, I plug it into 2 ColorRamp nodes, one go into the Base Color of a Diffuse or Principled BSDF, another one go into a Bump. I've unwrapped the object with the Cylinder Projection mode and I use the Texture Coordinate's UV output:

This looks like biological peculiarity of the testicles to me….

I knew you'd be jealous

You just know me too well mate

Since the silhouette isn't affected, there's a chance a simple shader solution will be enough:

i am just wondering how you could understand the question...i didn't get it ;)

@Chris I even wanted to rename the original title with "how to model a silicon ice cube maker made of vertical stripes" :D

aaaah…now I got it, what this should be….

nice, how did you model it?

@moonboots just a hex lattice, poke faces, move up, bend modifier to wrap to a circle, subdivision, something like that. I didn't show it in the answer because the way the title was renamed suggests it's the vertical stripes texture, not the entire shape, that is the problem.

What do you mean by "hex lattice"?

@moonboots just a grid of hexes

oh yes ok thanks

Here's an all-GN shot at it, making use of a very similar hex-grid principle as found in this shader, with a printable, manifold result.
First, A cylinder is given radial UV coordinates. Object Space: Z > Y, Radial Gradient > X

Then put through a cluster yielding hexagonal cells: UV per-cell, and cell-center XY, per-cell.

Anything can be mapped into the per-cell UV. In this case, it's a function of distance from 0, to give the spherical swell per cell.
The rest is beauraucracy...

Mod 2 of face index gives the ridges: an extrusion of every other vertical stripe.
The cell-index Y is used to exclude the flat regions above and below the cells
An extra branch recovers the separated top of the base cylinder, and extrudes it inwards and downwards to make the inner layer.

On a second look, it probably needs a rethink to get the nice round outlines of the non-intersecting spheres, top and bottom. Probably doesn't need hexagons at all? Just a hexagonal distribution of sphere-origins?  Will get back to it..

Very nice, I was thinking about exactly this, geonodes setup based on the hex shader, and also eventually figured the sharp creases in OP's example come from the shape actually being overlapping spheres in a brick-like positioning.

@MarkusvonBroady  Thanks! I've got a feeling just spherical-distance-from-closest-origin might save a few nodes, as well as making it prettier?  I don't like the pointy boundary much .. :)

Yea, Geonodes makes some stuff easier, rather than calculating the center of a hex, you can just spawn hex centers, and then use Geometry Proximity node to get coordinates of the closest center and a distance to it. :)

.. @MarkusvonBroady Just what I was thinking. Expense? BVH tree? You would know about all that.... probably trivial by comparison with the rest, and shading.

I'm actually not sure, I was simply thinking that geonodes allow for easier techniques, even if considerably slower.


text:
How to write shader node's data to file use python API?
I'm a beginner and studying the procedural texture generation of Blender, each node we can think of it as a function y=f(x), I want to send some x data from extern files and get the node output y by python API.
For example, the Musgrave texture node receives Vector and outputs Fac, I want to give it lots of Vector values and record the corresponding Fac.
I found that the Texture Node Editor has API bpy.data.textures["xxx"].evaluate(), but it seems that Texture Node Editor is the older version, and the Shader Node Editor, bpy.data.materials["xxx"] doesn't have .evaluate() method. How do I work on materials?

Unless you have an input texture and want to bake the results to an output texture, I'm afraid you can't do that. This is mostly streamlined to the GPU and the evaluated data is not available to the API (AFAIK). You can however look into the source code for the implementation of the nodes if you know your way around C and use it in your own scripts.

@Gorgious Thank you! I baked the texture successfully! I think maybe if I want to query the specific x, a choice is to arrange all query coordinates to RGB color, form an image, then set it as the image texture, and link it to the procedural node, finally bake it. Can it work?

I think so, yes. Make sure you use raw color space when saving the image file though, or else you will have shifted values

@Gorgious Okay, thanks so much!


text:
Aligning Particles in a direction
I want to arrange ellipsoid-shaped particles shown in the picture filled inside a sphere.
In the same way aligned from one pole to other (bipolar)
How can we do this using particle system ? How to align like this ?

blender file

Add a particle system to a UV Sphere object set to emitter. Make sure the number of faces in each direction of your sphere matches the desired amount of ellipsoid loops you want in the final setup.

Under Source set to Faces, turn off Random Order and Even Distribution and set Particles per Face to $1$.

Under the Render panel pick your ellipsoid and turn on Object Rotation.
Manually adjust the rotation of the original ellipsoid object to match your desired rotation.
If you want a "volumetric" setup with several layers of ellipsoids inside the volume, onion skin your UV Sphere with several concentric layers by duplicating and scaling down the mesh.

I know this comment will get deleted but this is exactly the answer I was looking for. Thanks a lot man. God bless u.

Please don't reply "Thanks" as an answer or comment, instead upvote the post that helped you. If you feel it completely solved your issue consider marking it as accepted.


text:
get materials informations with python
my code.
for o in bpy.data.objects:

    material = bpy.context.scene.objects[o.name].active_material
    color_RGB = material.diffuse_color

but the console return AtributeError

AtributeError: 'NoneType' objects has no atribute 'diffuse_color'

pls, how can i get this information of the active material.
Here is my complete code, my problem is in the line 19: https://hastebin.com/odubesasuc

I'm using blender render.

And im using blender v2.79

the variable material return : bpy_struct, Material("Material.004"). Can i get this material name??

out of the loop, the expression works normally, but when I try inside of the loop it does not work.

If an empty material slot is selected the active material is None, hence the none type error.  Test for this.  Also suggest for o in scene.objects: material = o.active_material.

your loop is including all objects cameras and lights will not have materials assigned and will cause errors. include a check for o.type == 'MESH'

Thank you guys!! I had no idea. Thank you for your help.

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


text:
Model stretches when posing in blender
I have a problem with my model that I can't seem to fix. I looked all over the internet, but I can't find any answers.
I'm making a model for a demo and when I pose it in pose mode, some of the vertices get left behind. how can I fix this?
Also I'm having this strange issue where the tail stretches when I pull on the arms. How can I fix this as well?

That means that a few vertices aren't weighted to any of your bones. Select your rig, go to Pose Mode, then select your mesh and go to Weight Paint Mode. Now select the bone that should be controlling those vertices and using the Add Brush add some weight to those vertices and they will automatically update and follow the bone you have selected. You can make two or more bones control a vertex by giving that vertex a weight from multiple bones.

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


text:
Pixelated textures in Blender Cycles Render
My model is almost ready for the demo I'm building, but I ran into another problem. I'm following this tutorial on Youtube by BornCG and made it to 9:05 when I started to put textures on top of the materials I placed on the model. https://www.youtube.com/watch?v=5NlvgMYZgaY
When I plug in the diffuse node into the mix shader, pikachu's face turns white--like it does for BornCG in the video. But, when I plug the bottom image texture's alpha slot to the mix shader's grey port, the face stays white.

Also, my facial textures that I made for the pikachu model get pixelated when I bring them into blender. I used Photoshop CS to make the facial textures and turned them into PNGs. How can I fix this?
Edit: I found part of the problem and fixed it. The textures now have an alpha channel added to them, but the textures still get pixelated when I bring them into Blender. There's still the issue with the white background that gets added to them when brought into blender.

I'm not sure. How can I find out?

How is game engine related to your question then?

By "pixelation", do you mean eyes turning square shape instead of being round?


text:
I cannot cut using knife tool to make a polygon with 4 vertices
I have started using blender today, I saw a video on Youtube and was trying the create a similar model but I am unable to cut the vertices to make it a polygon using knife tool.
Whenever I hit Enter it just doesn't cut and make it a polygon. Please help me to make this face polygon instead of NGON.
I want to make the bottom face which you can see a collection of polygons not ngons.

Please use punctuation in your questions

Please try remove doubles and if that doesn't remove the problem, please upload your .blend file or more screen shots.

i tried doing that, but i cant see anything happening. Also i have included one more mesh(in the blend file i have uploaded) i want to delete that complete mesh other than my main chest model, please let me know how can i do that also.

Are you quite sure remove doubles does nothing?(I cannot check the.blend file right now. sorry) I guess you're in the face select mode and you seem to have some faces squashed into edges (edges with a black dot in the middle). Try it with a bigger merge distance.

yes thanks,some faces squashed into edges (edges with a black dot in the middle) and it worked with a bigger merge distance. it helped.


text:
Why does refraction + volume scatter cause a much darker result?
I've noticed that glass objects tend to turn really dark when adding volume scattering.
It seems the volume scatter shader gives a much different result when a refraction shader is used in the surface, even if the aforementioned refraction shader is theoretically doing nothing.
Here's a test, rendered with 1000 samples:

On the left is a refraction shader with the color and IOR set to 1, essentially just an un-optimized transparent shader.
Naturally, it looks like nothing is there (though some extra noise can be observed if you look closely at the ground where it should be)
On the right is a volume shader setup with a true transparent shader. Looks fine.
In the middle, the volume setup from the right is used with the "transparent-refraction" from the right.

As you can see, the middle looks much different from the right, despite the refraction shader making no change to anything in the left.
Exact setup for the middle Suzanne:

What's going on here?

I'm not sure, but I'm guessing it's up to the amount of bounces, even though the Refraction Shader looks like doing nothing, yet when a Camera Ray hits the surface it will change into a Transmission Ray, then exiting the surface on the other side will count as another bounce. So if not enough bounces are allowed, it's just like when a glass shader looks black when no enough bounces are allowed, so that multiplied with the Volume Scatter added to Volume absorption..hmmm, well as I said, it could be the reason.

This seems like a solid theory. Why don't test it quickly, and post it as an answere?

A quick test of mine suggests that increasing the number of volume bounces helps. However AFAIK the refraction node shouldn't count towards the number of volume bounces, so why does it have have an effect?

I'm kind of new to Blender and Cycles, but I know the Ray changes it's registration type and count everytime it hits a new surface, I really don't know how volumetrics are calculated "yet" but I'm sure they are using the same rays fired from the Camera, so any additional change in a ray's registration type or count is using the bounces made available by render parameters.

Solution
Set Properties panel / Scene / Bounces / Volume value to at least one.
Explanation
Probably your volume bounces is set to zero because it is the default setting. That means only direct lighting on volumes are allowed, however caustics¹ are not. The same goes for the diffuse bounces value: If you set it to zero, caustics will not be present² and the perfectly transparent refractive object will cast shadow.
¹ Caustics is actually simply indirect lighting, but is handled specially due to its noisy nature.
² No recursive indirect sampling (also known as bounce, hence zero bounce) allowed.
Alternative Solution
You could also disable shadow casting on the refractive object and leave the volume bounces zero. The result will have less noise, but will lack proper caustical shadows. Or you could set up fake caustics like this one: https://urchn.org/post/fake-caustics-in-cycles

It seems I misunderstand how the bounce settings work. I thought they limited the number of bounces per-ray-type (so a refraction bounce counts as 1 towards hitting the max transmission bounce setting, and doesn't have any affect on other ray types). However, if I understand correctly, it seems they limit the number of bounces based on the total number of bounces ray has taken (so a refraction bounce counts as one bounce, and if that's >= the max for the ray's current type (e.g. volume), the ray is terminated). Is this correct?

I think it goes this way:

1: Check currently calculated surface type (diffuse for example).
2: See how many surfaces of that type (diffuse) where already hit by the ray.
3a: If this number is greater than or equal to the limit of the bounces of that type (the diffuse bounces setting), do not cast any recursive ray¹, only direct lighting.
3b: If the limit is not reached, calculate direct lighting and recursively cast a ray (in some semi-random direction from the hit point).
¹It could not be predicted what type of surface will be hit next.

Or in other words: "If this caustics would be calculated, then the previous diffuse surface would have bounced the ray to the glass, however only 0 diffuse bounces are allowed."

This issue still exist with volume boucnces, also without cast shadow.
my mesh doesn't cast shadow, and I have all bounces set to whatever is a lot, and the combo refraction + volume still creates a nearly pure black result, as opposed to any other combo.
It's a bit annoyong because it's kind of the only way to create natural looking water, have refractions/roughness + volume.
Ow Ok found it, by using the "is shadow ray" and multplying it by -50, then it actually kills the shadow casting from any object (deactivate shadows does not) and you can have both volume and refractions, for super natural looking water body.

This does not really answer the question. If you have a different question, you can ask it by clicking Ask Question. To get notified when this question gets new answers, you can follow this question. Once you have enough reputation, you can also add a bounty to draw more attention to this question. - From Review

It actually does, try if you want, set a material with a refraction + volume, it gets totally dark like in the first image posted in this topic. The proposed solution of having bounces or removing cast shadow does nothing, still dark.
What I did above in the shader editor solves the issue, you have the volume appearing as it should (not fully dark) and you have refraction (that can be rough ect...)


text:
Blender physics and constraints not working properly in a particular blend file
For some strange reason the same physics chain setup within a new .blend project works fine, but in my old blender project that I created 2 years ago the constraints do not work properly.
Here is an example of the exact same setup pasted into both files...
In the new project (expected behaviour):

In the old project:

I speculate that some setting somewhere is messing with my physics globally or my blend file is corrupt in some way that affects blender's capacity to run its physics functionality.
What is the cause of this issue?
problem file:

Without the blend files this is a puzzle game.

@tetii okay I added it, and you can just copy and paste the contents of the blend file to a new project to see how it's supposed to work.

opening your file in 4.1 it looked like your 2nd image. if i set substeps back to 10 it looked like your first.

I wasn't aware that these settings existed, thank you.
Also, If the physics simulation speed is 1.0,  the sub steps per frame can be left at 1 to resolve this problem.
The speed parameter was set to 4 in my problem file (which I didn't want) so I set it back to 1.


text:
Is an IK control bone for an arm that also controls hand/wrist rotation possible?
I was thinking it would be cool to have a single bone control both the arm's direction and the rotation of the wrist like so:

The issue is that the control bone cannot follow the direction of the arm so the rotation of the wrist is influenced by the local rotation of control bone (which remains static). so a twisting motion of the control bone must be made in local space even when it is not aligned with the wrist which makes this confusing to work with:

Parenting the free floating control bone to the forearm bone isn't an option:

The only way to do this, that I can think of, is to unparent the entire hand so that only the control bone can rotate it. The issue with that is that I'd need to adjust the rotation of the hand every single time I move the arm rather than the hand staying in a neutral position.
I tried messing with the copy rotation constraint on the control bone to copy the rotation of the forearm, but I can't get it to work right.
Anyone know if this is possible or am I forced to use another bone specifically for rotating the wrist.
ty.

In my example, there are three bones in the same location and with the same orientation: A Blue "IK Controller", a tiny Green "ChildOfForearm" and a big red "Hand".
Hand is child of IK Controller, ChildOfForearm is child of forearm, IK controller is child of Root (or Hips, or Shoulder, as you prefer).
The IK Chain is targeted to the IK Controller bone.
IK Controller has a copy rot bone constraint with theese settings:

So there's one small issue with this after trying it out: since the hand is parented to the IK bone I'll need to take care to not stretch the hand away from the arm whenever I move the hand, this is fiddly. Maybe there's a way to keep the hand parented to the forearm? Another quirk is that clearing the position of the IK bone does not reset the position of the arm (but clearing the rotation afterward fixes this so it's not that big of an issue).

Parenting the hand to the forearm and having the hand copy the rotation of the IK control with default settings seems to work well enough to resolve this issue.


text:
Is there a way to remove influence of selected bones on multiple selected vertices?
When correcting the weight painting of my mesh, parts of my character's torso seem to stick to a few of my character's arm bones (of which my character has many) so I have to check the weight painting of each arm bone to see if it is affecting the torso.
Is there a way to select the mesh vertices of the torso, then select the arm bones in pose mode then applying some sort of "remove all influence from these bones from selected vertices" functionality.
The closest thing I've found is to select each vertex of the torso in weight paint mode and deleting all the Arm bone vertex weights like so:

But this can only be done for one vertex at a time (selecting multiple vertices this way only shows the vertex weights of the vertex that was last selected) so it is incredibly slow.
Is there a faster way to do this?


text:
It is possible to change part of path and don't changing other, when animating camera with the path?
when I use constraint > Follow Path on curve with camera, animate it and change a part of path, all animation is screwing up :/ (like at the video) https://www.youtube.com/watch?v=RbjLDqhLO_c
It is possible to change part from C to B and not affected with part A to C? I know it it possible to make a few pathes and change camera constraints with influence option, but this is not flexible and hard to have smooth movement.
Blend. file with this scene to download

https://blender.stackexchange.com/a/258190/2214

vklidu thanks for answer, that will be helpful, but it is possible to edit A to C and don't affected C to B ect. ? I mean to separate path at few peaces with animation, and make edits only at specific part?

You can Split Curve, but animation wouldn't continue. It stops at the end of the first segment. If you just need to change curvature of BC segment without affecting curvature of AC, that just change handle type (V) to Free for C control point. The link in my first post let you result animation independent on anim curve length.


text:
How can I subtract this face from another one?
I have a model like this:

I addet a plane, resized it, and created circles at two corners using SHIFT+A. Now, I want to remove the faces from the circles from the face of the rectangle. Also I want to delete these two circles later. How can I do this? Please note that I'm a Blender beginner :)
Thanks for your advice!

You can join all the shapes if it's not already the case (select the objects and CtrlJ to join), select the circle and CtrlF > Intersect (Boolean) and in the Operator box (at the bottom left of the 3D view once you've booleaned) choose Boolean Operation > Union and Solver > Exact :

Then you can remove the circle. Or, as John Eason suggests, use the Knife Project tool.

I am using Blender 2.79 because of DirectX compatability; when I click Intersect (Boolean) it creates some weird looking shapes and if I delete the circle, it deletes the rectangle too. https://imgur.com/a/nK3yXTi

In that case, look for a tutorial on the Boolean Modifier for your Blender version. On reflection, you could also use the Knife Project tool assuming it was available in those days.

I trust you that this is working in Blender 3 so I will accept that :)

Yes Kinfe Project works in 2.79, the shortcuts are not the same as in 3 though, see this tuto: https://www.youtube.com/watch?v=J0lA9iJxnlM


text:
Geometry Nodes - How to lookup a value from another geometry? (Index at Value) For Phyllotaxis
The long story short is that geometry A has a "accumulated area" attribute describing cumulative area covered by each consecutive point on a curve. Geometry B needs to copy the position of a point on Geometry A when "cumulative area" on Geometry A has just exceeded the index of Geometry B. I cannot simply filter geometry A because sometimes two points on Geometry B will map to the same position on geometry A.

I've hit a brick wall so I'll also describe what I am trying to do generally in case there could be a different approach.
I am trying to create a "phyllotaxis" pattern generator that takes an input curve C (flat on the X and Z axes). Imagine that Curve C describes a 3D shape when rotated around the Z axis. The geometry nodes distributes points evenly on that 3D surface in a phyllotaxis pattern.
The math is all from this paper "The use of positional information in the modeling of plants" (Prusinkiewicz et al., 2001). I've got the whole thing implemented in Geometry Nodes except for the one step described above. Here's a slide to summarize the process, and the red box is the step I'm stuck on:

I successfully created an attribute with the cumulative Area divided by "petal" area. Now, when Area is greater than an integer, I want to place a new point (one point = one "petal") at that position. That is where I am super stuck because Blender Geometry nodes doesn't make it easy to make "for" loops!

Thank you in advance for any help or suggestions at all. This node setup would be incredibly useful for generating all sorts of plants and organic type structures. All you would need to do is change the input curve, "petal" size, and instance your petals on each point.
Here is the blend file if you want to see the current node setup:
And finally it would end up looking something like this, but with the balls/petals evenly spaced:

Solution by Markus von Broady (see replies)
I used the solution by Markus von Broady to complete the node tree! Here is the portion that I added at the end:

And the result is, now you can make all sorts of shapes by tweaking the input curve and the petal radius!

Here's the final blend file:

Very similar to Hulifier's solution, who has beat me to it, just small changes: spawning triangles is I think faster, the mesh line can already spawn with Z positions equal to indices, and I think the indices he calculates are wrong, because you need to either capture the indices that spawn triangles, or divide the found index by the number of indices in the spawned geometry (in my case 3, in his case 4) and floor:

Middle column is the result, and side columns are the original geometry and calculated area:

You're amazing! It works!!!!!! I'll post an edit with the final product working!

I don't know of any simpler way to get the closest bigger or equal value compared to another value, so this is the way i did:
To get the closest bigger or equal value compared to some value you can use the Raycast node.
The idea is to create a line of faces where the $Z$ coordinate of a face's position is equal to the accumulated area. The resulting geometry can be raycasted using the position $\left (0,0,x\right)$ to get the index of the closest bigger or equal accumulated area compared to $x$.

You can get the index of the closest bigger by requesting the index attribute in the raycast node.
Here I added the idea to the node tree you provided:

Thank you!! I used Marcus von Broady's method ultimately but the picture of the ray cast and how it works was incredibly helpful!

I also tried using your blendfile and after a few changes it also works! 1. For the raycasting objects I changed the grid square to Mesh Circle node with 3 points (triangles) 2. Added a Divide by 3 node followed by a Floor node to the output of Raycast node. Then the mapping is correct!


text:
Difference in Appearance - Blender vs 3JS Transparent Materials
I have been using three.js to display a model aircraft created in Blender. I used the program to add a transparent propeller to the model, using a built-in three.js texture called Basic Material and using a png file to create the propeller.
I am now trying to replace that propeller with an animated propeller created in Blender which uses the same png file (using the Principled BSDF shader).  However, when I display the result in three.js, the propeller is much darker.  Even worse, it becomes even darker when viewed in the direction of the light source - as if it is a shaded object.  Is there a way to make the Blender version look more like the three.js version?

Note that the three.js version seems to get brighter and more transparent when viewed in the direction of the light source - which is what I want.
EDIT: The description of THREE.MeshBasicMaterial says that it is not affected by lights.  Is there a way to create the same kind of material in Blender?

Joonas
Thanks for the suggestion.  I ended up doing two things:
First, decreasing the opacity of the transparent texture - because it appeared to dark when facing away from the light.
Second, it turns out the the the three.js texture was not affected by light.  So, to make the Blender material behave the same way, I increased the emission of the material in the Principled BSDF shader.  This caused the texture to brighten when facing into the sun.
By trial and error, it appears that I get about the same result as in three.js when I decrease the opacity of the texture by 50% and increase the emission to about a0a0a0 (hex).
Phil

You could try adding a translucent shader mixed with a principled BSDF. To get less realism you could put specularity to 1 and roughness to 0. This could get you closer to your goal.


text:
Animation - Using a Different Axis to Rotate the Entire Object Than the Normal Object Axis
I have created a model of a WWI biplane which properly rotates around the assumed center of gravity.
However, since it a tail-dragger, I would like to create an animation where the tail lifts up as the speed increases.  This requires me to rotate the entire aircraft vertically around the wheel axle.
I assume that I could do so by making the all of the parts children of the wheel axle and then rotating the wheel axle.  But I don't want that to cause the center of rotation for the aircraft to change.
Is there a way to do that?
EDIT (Jun 26 at 2:12AM CDT)
The solutions below are very helpful.
I may have made this overly complicated by incorrectly assuming how Blender saves models.  I tried a very simple approach.  To keep things separate, I first created an empty cube at 0,0,0 and made everything a child of that, except the axle.  I then linked the cube to the axle, moved the axle axis to the center of the axle and then created an animation where the plane rotated back around the axle.  When blender exports the file, it seems that the center of rotation for the model remains at 0,0,0 (where I wanted it) and is not moved to the location of the parent part.  Is that correct?
I tried it out in a three.js program and it seems to work okay.  The tires are firmly planted on the ground throughout the rotation.

Make a rig.
Ultimately would make an armature, however by way of example will use an empty holding a couple of empties as a rig, that a group instance of our model, or an empty with model as child can be constrained to.

An empty named "Model" at the COG of your aircraft.  Strongly recommend using the global (0, 0, 0) when setting up.  ...and move the rig empty later to have wheels touching z = 0.
An empty named "Rig" at the COG.  This will be the "root bone" to move the plane.
Rig has two child empties, "COG" at the COG and "Wheel" at the wheel axis.
Child of Constraints
Give the "Model" Empty Two Child Of constraints one targeted to "COG" first, then one to "Wheel".  Assign influence to 1 ( and other to 0) clicking set inverse for each.  The result we're after is plane in "rest position".
With the childof constaint of wheel at 1 and COG at 0, rotate the wheel empty until the tail spike hits the ground.  This is our tail down position.

Gif frame rate naffs the prop rot.
It would be nice to simply animate the constraint influence as a tail up tail down and inbetween however as is often the case with child of constraints once you start moving it starts naffing up..
Adding a driver.
Added a driver to both child of constraints, using the variable rotation difference between COG and Wheel (the empty that is).
When it is around 0 then the plane pivots on COG. When it is not it pivots on the wheel. That is this is either fully one parent or the other no inbetween.
Simply keyframed the wheel angle by way of example, however a speed property could drive this too.

One simple way to take care of this is to rotate by the 3D cursor. If you know the exact global space coordinates where you would like this point of rotation to be, you can enter them in the View tab from the Properties Shelf, to the right of the 3D View (press n to bring up the Shelf if not exposed currently), and under the 3D Cursor section, there are a set of transform fields. By entering the desired transform values in these fields, the 3D cursor will move to the appropriate worldspace coordinates. Alternatively, you can snap the 3D cursor to another object, provided you have a selected object whose origin is currently where you want the 3D cursor to be. You would do this by accessing the Snap menu (Shift + s) and choosing Snap Cursor to Selected. Once you have the 3D Cursor where you want the new point of rotation to happen from, press the Transform Pivot Point button at the top of the 3D View, and from the pulldown, choose 3D Cursor. Now, when you rotate the selected object (or indeed any other thing), it will use the 3D Cursor's current position as the point of rotation.


text:
Rendering camera to image (ImageRender) not working
Following the few examples I found on the web, I managed to whip up this code:
import bge

contr = bge.logic.getCurrentController()
scene = bge.logic.getCurrentScene()
obj = contr.owner

texture = None
if "render_to_texture" in obj:
    texture = obj["render_to_texture"]
else:
    camera = scene.objects['Camera']

    # create texture
    matID = bge.texture.materialID(obj, 'MAcam_render_material')
    texture = bge.texture.Texture(obj, matID)

    # create source
    texture.source = bge.texture.ImageRender(scene, camera)
    texture.source.capsize = [640, 480]
    texture.source.background = [255, 255, 255, 255]

    obj["render_to_texture"] = texture

print(texture)                                         # prints <VideoTexture.Texture object at ...>
print(bge.texture.imageToArray(texture.source, 'RGB')) # prints 'None'

# force a refresh
pixels = bytearray(640 * 480 * 4)
texture.source.refresh(pixels, "RGBA")

# print(pixels)                        # just prints an array of zeroes

if(texture.source.valid):              # always 'False'
    print(texture.source.image)
else:
    print("No image available")

And placed this script to be run every few ticks on a plane object with the material 'cam_render_material' on it.
But no matter what, I get empty arrays and None as a result
I've been pounding my head against the desk for the past three hours and heading nowhere. If someone has an hints, they'd be greatly appreciated.
I've added the blender file in question here, if someone wants to check it out

Make sure you aren't using the scene's active camera. You can only use a non-active camera with ImageRender. Also make sure the viewport is in Textured mode.

@sdfgeoff Yes, I'm aware of that. There are two cameras in the scene: Camera and Camera.001. The latter is the active one. Thanks anyways <3

Did you find out ?  Would like to achieve the same thing.  Would love to see how you did.  + your file is no more available...

All I needed to do in your blend file was put the viewport in textured mode, then it started working. Other things you may like to consider:

It takes one frame for things to start happening, and because you're printing so many values, you have to wait a while.
the .valid attribute doesn't seem to work for ImageRender (it does for ImageFFMPEG though).
480*480*4 is nearly a million values. So if it looks like you're always getting 0's or 0xff's, you may not be. Try with a smaller image so you can see more of the data values
Consider unwrapping the plane and assigning it a shadeless texture so you can preview what is being displayed (you'll have to run texture.resresh(True) for it to update the texture instead of the buffer).
Consider switching to GLSL mode

You sir, are a gentleman and a scholar <3


text:
Why do physics objects freak out when I rescale them?
I was working on my blend project with no regard for scaling until I realized that the physics was incredibly slow due to the actual size of the objects I was working with being giant.
So I thought to rescale everything in my project but this seems to ruin the physics stuff I've created.
I tested it in a new project by rescaling this chain of rigid bodies
(side by side comparison):

When I run the simulation the rescaled group of objects "explodes" at the beginning, as if it's trying to orient its rigid bodies to where they were before being scaled down:

Changing the scene_properties> rigid_body_world> substeps_per_frame to 1 can result in this sagging behavior instead:

Is there a way to resolve this issue without having to start from scratch at the smaller scale?
Blend File:

Have you applied the new scale?  Ctrl + A

That was the solution to this which I forgot to test.  damn.
My actual problem lies in a file where these physics objects are parented to an armature.
(Ctrl + A) applying the scale to a child of an object does nothing to the child's actual scale. So I dismissed that solution when recreating the new example project.
Guess I'll open another issue to ask that specific question.

@AllenSimpson I'll mark you as the answer to this question if you post an answer.


text:
Tips for buying laptop
I am confused which laptop should I buy. I am an above beginner in blender. Can you suggest which is the best laptop for blender around $1100.

what-questions-should-be-definitely-off-topic

I'm voting to close this question as off-topic because it is about computer hardware and not about using Blender.

Unless you need the portability, I wouldn't bother with a laptop. Their CPUs/GPUs are optimized for battery consumption, not performance.
BUT!
If you only want to use it for modelling, buy ample amounts of RAM (8GB+), a decent CPU with good single-thread performance (most modelling, I think, is single-threaded), and then throw the rest of your money at the GPU (OpenGL3.3+ compliant, of course).
If you're going to do heavy sculpting, go for 16-32MB RAM.

is 8gb ram enough for blender

It is enough for modeling, at least. Of course, more is better.

Is it enough for intermediators.

You mean intermediate level modelers? If so, it would probably not be enough. I'll correct my answer accordingly.

8 GB or RAM is enough for pretty much all modelling needs of any level. Situations where one would need to have more detail than you can fit in 8GB visible for modelling tasks are rare. I have modeled stuff even having heavy photogrammetry reconstructions as reference with 8 GB of RAM without problems that would prevent me from working. Obviously with more RAM it is simply more convenient, faster - you can have more stuff open, don't need to worry about closing stuff that you are not working on at that moment. Unless of course you work with fur, hair or particles - buy a desktop then.

If you want to use blender 2.8, make sure that the video card (GPU) have OpenGL 3.3 or higher.

OpenGL 3.3 release date was March 11, 2010. I think your advice is valid: it's always a good idea not to buy a laptop with a graphics card older than 9 years, however it does not seem to me to be very relevant. Pretty much all of them support OpenGL 3.3 or higher these days especially the ones one would be looking at for work with 3d.


text:
Using a different normal for shadows and shading
I'm using modified vertex normals for making an anime-style toon shading. The thing is, if an object is placed between the light source and the object with modified normals, it's shadow hasn't got it's actual shape. Is there a way to use a separate normal for just shadows
You can see in this image that the shadow is "wobbly" and it's not the shape it should be.
Edit: Nevermind, I found that the sun type of shader does not work very well with toon shaders and edited vertexd normals, changing the lamp type to area makes it work fine.

Can you edit your question to explain what you mean by “hasn’t got its actual shape” - preferably add some images to illustrate what the problem is.

Done. I hope this helps!

Please also add details of how you have set up your normals and how changing the normals affects the shadow (could show with normals 'enabled' and 'disabled' to show a difference). Presumably this is using Eevee...? Please provide as much information as you can to allow someone else to easily replicate your problem.

Nevermind, i was using a sun type of lamp that doesn't work very well with toon shaders, specially if you edit the vertex normals.

changing the type of lamp to area makes it work fine

Glad you’ve solved it. It would be good if you could write a quick answer to your own question so that others can learn from your experience.


text:
VSE: How do you precisely position two video strips
How do you precisely position one video strip to another one?

grab one strip, and move it towards the other while pressing CTRL: it will "snap" to the other strip's end even if it is on another slot:

This also works in the opposite direction - to align the end of a strip with the start of another.

Drop one strip on top of the other. As they overlap, the strip will be outlined in red, dropping the strip will then snap the strip to the frame after the other strip.

This also works the other way - drop an earlier strip on the beginning of a strip and the end will snap to the beginning of the strip.

If you then want the strip to be in another channel, you can change the channel in the strip properties or use GY to move the strip to another channel without changing its start frame.

Use the snap tool. Hotkey: [Shift + S]
Select the strip you want to move to specific frame. Enter the frame number in the Timeline and Snap!

in other words, shift+S will snap the strip to the cursor (the green bar reflecting the current frame in the VSE timeline)

Beware that you cannot snap (shift-S) more than one group of strips at a time. If they are in orderwhen you start they will all try to occupy the same frame, thereby stacking the strips on top of each other. You can place them in a meta-strip first, then snap them to frame, however performing an Un-meta function will reverse the various strip's stack or channel order.


text:
How do I edit video with blender
I have never edited a video in the VSE. What is the least necessary to set up for editing in the VSE? I already have 3 mp4s in the VSE but dont know where to go from here?
I am trying to make one video from 3 parts.

This question is off topic, since it asks for a tutorial to a very broad topic.

All you have to do is drag and drop each clip so they are right after each other in the correct order. Then make sure the length of your animation is the same as the length of the 3 clips (you can set the frames in the render tab of the properties panel). Finally, select your output format (output panel of the render tab) and render the animation. If you have nothing else in your scene it should render very quickly. If you have anything else in your scene, the VSE will override everything in your scene and the final animation will be only what is in the VSE.

Thank you Brenticus. It didn't work so I'll have to start another question.


text:
Is "Foundation Blender Compositing" by Roger Wickes of any use?
I have a copy of Foundation Blender Compositing by Roger Wickes. Soon after I bought it I realised it was outdated. What and how can I get any value from this book? Or should I shelve it in the archives?

Blender version pre 2.5

I think you're better off ditching it. Sorry.

Well, since the book has a good reputation, it seems, I guess the "compositing " concepts should be good, well explained and perhaps still valid. Of course current blender versions are too different than whatever version (guess 2.49) he used as reference in the book, but you could also learn the new tools, and experiment the concepts, maybe helping yourself running also a 2.49 blender copy (just download it from http://download.blender.org/release/) to be able to follow his steps on the book, when it's too different. I hope files saved in 2.49 could be loadable even from latest... perhaps.

Thank you @m.ardito, I didn't think of that!

@cegaton Thank you for your opinion. But have you got an alternative book or know of any upgrade of Foundation Blender Compositing that has the detail of that book?


text:
Blender CUDA Rendering
I am using Blender 2.66a a nVidia GT 520 and Ubuntu 13.10. I wanted to enable GPU rendering. But in the System Panel there is no 'CUDA' Option.
 I know that this Card supports CUDA, because I have tested it on Windows 7 (dual- boot) too and it worked.
I installed the proprietary GPU driver using
sudo apt-get install nvidia-current

Any ideas why it doesnt work?
Thanks in the preface

Is there any particular reason you are using that version of Blender?

Yes, its the latest Version, thats available in the official repository!

I have tried it using the latest Version (2.69) and it worked, but GPU rendering takes more time and CPU rendering. Do I need to adjust some settings ?

It's really odd that GPU would take longer than CPU. If you're on a laptop, it's entirely possible that Blender is mistakenly using your onboard graphics, rather than your nVidia card. Also keep in mind that you have to select which card to use in the User Preferences, as well as choosing GPU rather than CPU in the Render panel. It'd be nice if these two settings would affect each other, or at least provide a warning, but they didn't the last time I made this mistake.

This doc: http://www.blenderguru.com/4-easy-ways-to-speed-up-cycles/ will also help you trouble shoot some things. E.g. tiles with a size that is a power of 2 are MUCH more efficient than tiles of arbitrary size.

@Matt Can you prove that? I did some testing here and I saw no evidence of any speedup.

Sure thing, I'll post some of my benchmarks when I get a chance. In short, I usually see a 10% decrease in render times if I use tile dimensions that are powers of 2, versus dividing my image into equal portions. Part of the problem is that render time depends on a LOT of other things too. Even the order in which the tiles are rendered can have an impact on render times. I'll try and provide some examples...

Ok, in the User Preferences/System I switched the Compute Device to CUDA / nVidia GT 520, also I set Device (in the Renderpanel) to GPU Compute (Supported Feature Set)
GPU Rendering now takes 6.67 seconds (Tile Size 256:256) and CPU Rendering the same scene takes 1.85 seconds (Tile Size 16:16)
Is there an other possibility to speed up GPU Rendering, or should I instead use CPU Rendering.
@Matt Thank you

@Peter Parker That's really.... REALLY odd. It's easier for me to believe that you have a really strange scene, than to believe CPU is actually faster than GPU, IWC yes, I do believe there's a way to speed it up, I just don't know what it is. I'd love to take a look at the scene you're rendering and see if it fits one of the strange cases I've come across.

That's really weird. Is your GPU from the 70's or 80's and your CPU from the future? While this is a duplicate of what Vader posted above, this would be an interesting discussion to continue, or even an interesting question in its own right.

@Matt Sorry I didnt answer... this is the file (http://www.file-upload.net/download-8706409/kugel-auf-karo.blend.html)

No worries, I'll try to take a look at it this evening and let you know what I find.

Well, I'm afraid I don't have any good answers for you :-/ It's not one of the weird situations. I rendered it 4 times. For CPU with tiles @ 64x64, I got 7:19. For GPU @ 64x64, I got 1:49. Then I changed the tile size. CPU @ 512x512 I got 8:26, and for GPU @ 512x512 I got 1:19. The only thing I can figure is that there's a bottleneck between your GPU and mobo and that using tiles so small is causing it to swap RAM/VRAM back and forth more often than it needs to, and the overhead in swapping that RAM is killing your GPU render time. Try a higher tile size, but IDK what else to try.

CUDA level support is different between GPUs, see this link. Higher CUDA compliance results in better speedup. As I remember, Blender needs at least CUDA 2.0 features, but higher level of CUDA compliance is better.
Earlier Blenders did not even allow using CUDA below 2.0.
It seems that your GPU is CUDA 2.1 compliant, check if your CUDA driver is the latest, too. My guess is that your driver shows a supported version < 2.0 to Blender 2.66a, and so Blender 2.66a did not show CUDA support.
Also, others' comment about optimizations are also very valid.

I agree with @Matt, especially if you are on a laptop. Whether you are on a laptop or a desktop PC, I would check the following settings in Blender. Also, when using GPU rendering in Cycles, make sure to check the settings in the Properties tab -> Performance -> Tiles. By default the two numbers under the "Tiles" settings usually are 64 x 64 (pixels). If you are able to get your Nvidia GT 520 video card to work, try bumping up those numbers to 200 x 80 and see if that helps. The other thing i recommend checking is the "Sampling" menu in the Properties panel. If the final render has a high sample number (i.e. - 800 or above), that can also cause render time to be slow.


text:
using XML in the Blender Game Engine
i've been experimenting with the BGE and i'm a beginner programmer. I was wondering if their was a way to apply a texture to an object that could be read from an XML file, for the purpose of making a billboard with a changable display? if anyone could give me some help as where to start i'd appreciate it.

You might be able to parse it with python, but I'm not sure.

Parsing XML is very simple in Python3. You can use the built-in xml module for that.
To bind the data to a texture is slightly more complicated, but it can be done too using Blender Game Engine's videotexture module.


text:
Weird normals after applying baked normal map
I created a sculpt, then retopologyzed it via Poly Build Tool and Shrinkwrap-Modifier. Now I'm trying to bake a normal map for the low-poly object but its really not looking like it should. The normal map looks ok to me, but every island of the uv-mesh looks totally diffrent in viewport and render. It looks to me a little like the normals were partially flipped, but I already recalculated them. So that should not be the problem, I guess. Maybe it is a Blender 2.8 problem. What do you think?
Here are some images:

Overlapping Objects

Normal map

The strange result of the normal map. Note that these are exactly the seams of my unwrap.

High-poly (left) and low-poly (right)

Material nodes
Thank you for your time! :)

Well, now it works. The only thing I did differently from the other times was to disconnect the Image Texture Node and changing the Color Space to Non-Color before the baking. I can't change the Color Space afterwards, this is new in Blender 2.8.

I think the color space doesn't matter if you disconnect the node. What happened was you had some normals already, And you were baking one high poly with normals into low poly. Now that you disconnected the image texture, you're baking just high poly (with no normals, that is, with "default" normals being perpendicular to the faces) into the low poly. If you actually want to use the normal information, then connect it and use non-color. This is because if you load an image to Blender as color, it assumes sRGB and converts it to linear color space - distoring the normal information.


text:
HDRI Reflection not showing in render
this most likely has a very simple answer but i can't find the answer anywhere online. I'm trying to get the reflection from the standard blender hdri on an object. It shows it perfectly in Look Dev mode, but in Rendered it just doesn't show up. I tried shifting the lighting, increasing light strength, etc etc. basically everything i could find but it's just not changing. What am I doing wrong?

the look dev mode has a different lighting set up, you have to add the hdri to the render lighting set up, i  can show you if you want.

That would be great :)

Thanks guys, it works perfectly now!

to add an hdri go to the world tab and add an environment node to the surface output, you can copy my basic setup it gives you some flexibility.


text:
Height Map Visual Issue
I have a height map which was painted in Substance Painter, but when I use it in Blender I get some crazy visuals. This is in Cycles.

Here's what the Shader Nodes look like. Each image is labeled. And I'm using Non-Color Data when applicable (Normal, Height, Roughness).

And here's the arms height map.

Here's what it looks like at scale 0.1. The extruded areas are supposed to follow the normal of the lights and such. But the height map clearly looks like its randomly extruded vertices and is very sharp.

DIsplacement textures operate in the 0-1 range with white being 1 and 0 being black. The default unit scale for displacement in blender is 1m (with a scale of 1). Blender also places the default midlevel at 0.5, therefore black areas in the displacement texture will displace vertices -0.5m (down), and vice versa, white areas will displace vertices 0.5m (up), with the default scale of 1. Therefore, to get better results, try changing the scale to 0.2 or less.

@ChristopherBennett even with Scale of 0.2, it looks absolutely rancid. If I put it all the way down to 0.01 it's minimal, but also apparent that the geometry being extruded is somehow not lining up with where it should be extruding. I added an edit of the post to show this new image.

Yeah, not sure then. It night have to do with your UV seams, but it's hard to tell without seeing them. I also see you're using UDIM tiles - might an incorrect UV map have something to do with it?

@ChristopherBennett I only have one UV Map, and when looking at the UV on the image and it should be working based on that


text:
Weird artifact/cube shapes when I put flame shader on imported vdb
I've been seeing these weird cube shapes when I import an embergen vdb and the flames run out, via clicking on the flame attribute channel.
details: it only happens after all the flames in the flames attribute are gone, and only happens on gpu compute(im on an amd gpu maybe thats the problem) and it also has only happened on imported vdbs so far not with mantaflow vdbs as they dont have the flames attribute. I've also tested multiple shaders that still use the flames attribute and they all don't work when I use the flames attribute as the tempature, happens in render and material preview in viewport and in final render.
my shader should be only showing the smoke right now as all the flames are gone yet it shows this

Any ideas on how to fix or why its happening?
I've tested multiple vdbs and nothing has fixed it, I use the flame attribute in my temperature attribute for the flame shading, cycles, gpu compute and it works fine on cpu compute for some reason(only problem being its slow, like slower than just using mantaflow)

example of working shader

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

Since it is very likely a problem with the material, it would have been nice if you added a screenshot of the Shader Editor with the domain material as well.


text:
My UV sphere wont curve the meshes around the bedpost like this tutorial I'm following
I'm pretty new so if there are any blender gods, please hear me out. I'm following this online video (https://www.youtube.com/watch?v=yCHT23A6aJA&t=389s) on 3d modeling a small room and at 6:32 (when he modeled a UV sphere on top of the bed post) I noticed that when he tabbed back to object mode, the meshes sort of blended together towards the sphere.

Whereas when I tried it for myself, it did not have the same effect.

If any of you could explain why this is so, I would highly appreciate it.

i'm not sure it blends, it's just that the sphere is a bit lower on the video

@moonboots I think that the tutor did join the edge loop of the sphere and post... Otherwise, how would the bevel effect the sphere and post as if it were the same object if it wasn't connected through any edges in edit mode?

slightly different geometry. his post has a slight collar with his sphere embedded a bit deeper into the post.

@moonboots you're right, I checked the video

@HarryMcKenzie you're right too, and the tutor's post seems to be a bit more bevelled, even though the value is higher in the OP's screenshot

so am i right (from what i infer from your comments) in saying that it's basically because of the bevel values, and not because of some other thing in his model?


text:
Apply material / texture to each generated mesh geometry (face) individually
With geometry nodes, I generated a more complex mesh procedurally from the faces of an ico sphere by splitting edges.
Here is my node geo node setup:

Now I wanted to apply a certain material, created with the shader graph to each individual one of these meshes generated from the faces.
Because the material is gonna be textured, it is important that each face carries the same texture by itself, not the generated "multi-mesh" of the Geometry Nodes as a whole.
The result I'm getting right now is this:

As you can see, the texture is being stretched over the whole mesh.
That is not what I want and I'm not sure how to go about it, logically I would have thought that "Set Material" would set a material for the extruded mesh in the steps before.
But that doesn't seem to be the case.
The result I would like to get would be something like this, of course Donald Duck would be on every single one of the "combs" on the left:

Can you help me?
Also the material shader node setup for completeness:

(You might see, I also used the Attribute node. That did something else, but didn't solve the problem either.)
Here is the .blend file: https://www.mediafire.com/file/eilnks1bhsnixln/textureproblem.blend/file

@etlaM Do you mean you want this whole material not to be over the whole mesh, but you want this material to completely be on each face?

@etlaM could you attach a sample end result you want (any reference image or something)

@YousufChaudhry I added a sample picture for you :)


text:
Hair color transformation
I am working in blender and planning to create a character where the hair changes from black to white. I want to make an animated video which shows the change happens from the beginning of the hair, gradually to the end. I took the idea from the Disney animated movie, Tangled, when Rapunzel’s hair glows in a gradual way.Thanks for every help;))

This can be easily achieved, but any techniques are largely dependent on what type of hair geometry you have, which you never state. Are you using particles? Strands? Mesh hair? Bezier Curves? Are they correctly UV mapped? Please edit your question and provide more details

Yeah, we need a LOT more information :)

I haven’t made it yet. Just want to know what type of hair allows to make the transformation animation of the color.what type of hair geometry hair is most recommend. I am beginner on blender

It’s like the animation Disney movie tangled which the character’s hair change to shiny hair from up to down


text:
How to outset faces evenly
I'm trying to get familiar with Blender's inset tool and having trouble to produce an even outset on a U shaped mesh. What I would like to achieve (using 3ds Max):

What happens when I use Outset in Blender:

For some reason the faces are stretched horizontally at the top of the U shape. Is there a way to avoid this?

What do you want to achieve with Outset in this case? If you want to move insetted faces upwards at once don't use Outset. Use Depth parameter of Inset command (Ctrl to tweak)

The goal would be to have the mesh grow wider in height as seen here https://i.imgur.com/PefoayH.png

Everything is working just fine.
Try to Remove Doubles, and double check your mesh for any errors. Also Apply Scale to it.
Here is whole process.

Select All - A.
Press I for Inset.
Move mouse to get wanted offset.
Move created geometry along Z axis - G>Z.

Edit for incremental height:
First of all you will want to use different topology for this case to prevent faces becoming non-planar after couple of insets.

Than you should follow simple procedure: Inset I > Extrude E and repeat as much as you want/will be able to.

Edit 2:
No, there is no easy or efficient way to do this by outseting whole shape or extruding outwards.
You can make the biggest step, than inset to the smallest and after that start outseting from the smallest (bigger loops first), like so:

As you can see this method is quite strange and after this you will need to select each loop and extrude it individually.

I think I've got the inset working, but when I try to outset faces they end up uneven. I've updated the question.

I would like to create a U shaped mesh which grows incrementally wider in height. In 3ds Max it would look something like this:  https://i.imgur.com/PefoayH.png

Great, this works. In terms of convenience it would be nice if there was a way to achieve the same result starting from the opposite side, but I take it that's not easily possible?

@helmi77 Check second edit. It's not recommended method, it's not even good method but still this is another option.

Yes, seems a little unintuitive, but the first method should work perfectly. Thanks!

Am I missing something or could you not achieve the same thing by using the bevel tool? Just select the edges you want to create that angle on, hit ctrl+B and move your mouse to increase/decrease the bevel. Use your scrollwheel to decrease the number of faces being created.


text:
Issue with packed texture images
I've just ran into something annoying when packing textures. As you can see when texture image is packed it is all over the place. This just started to happen today and I'm completely lost as of what would cause this... I read on another forum that it might have to do with file directory so I tried different locations on my hard drive but no change.
Did anyone encounter this issue before? I would really appreciate any help/pointers as I'm completely stuck and unable to send off things to render farm.
Thanks!!

image unpacked

image packed

nodes

Problem only with TIFF or PNG acts the same?

It seems as it changes color space to Color instead of Non-Color which should be used for normal map when texture's packed. Though this shouldn't happen.

SOLVED
The color mode in the properties panel was still set on sRGB and over-riding the texture node set in non-color data. Still don't know why it started to happen only now. But all sorted!


text:
Alternative to python list methods for bpy_prop_collection instances? Most interested in sorting
I'm writing a script to animate tex characters morphing from one character to another. To make it look smooth, I want to sort the splines in the spline collection within curve data (sorting by key).
This is what I'd like to do, but it doesn't work on the bpy_prop_collection.
spline_collection = obj.data.splines #An instance of bpy_prop_collection
spline_collection.sort(key = lambda x: get_spline_length(x), reverse = True)

If I put the spline objects in a normal python list, this works well, but then I run into issues when I try to put the splines back into a bpy_props_collection instance. (Due to the fact that I can't seem to deepcopy instances of bpy_struct subclasses, which is its own question.)
EDIT:
I did what I needed to do by copying the primitive values I cared about to python lists, then sorting and assigning as needed. A bit of a pain, but it worked.

The blender python API is an API over Blender's internal structure. These structures are designed for performance, hence it cannot be influenced directly.
But the developers have made it quite easy, as you can easily create a local list to do more python stuff. But it is not easy to transfer the results back into blender's database.
spline_collection = list(obj.data.splines)
spline_collection.sort(key = lambda x: get_spline_length(x), reverse = True)

Ps same reason why deepcopy does not work as these objects are not fully python. Most objects have a .copy method you can use.

"The blender python API is an API over Blender's internal structure."

(Disregard the previous comment, which I can't edit.)
"These structures are designed for performance"
Makes sense. My initial naive thought was that it seems like more work to not use python types if it's written in python, but it looks like Blender is written in C.


text:
Alternative to deepcopy for bpy_struct?
I'm writing a script to animate tex characters morphing from one character to another. To make it look smooth, I want to sort the splines in the spline collection within curve data. I'm running into trouble because bpy_struct (the parent class of spline) is read-only, and the copy methods also don't work on bpy_struct.
A test case that shows the error I get:
import bpy
from copy import deepcopy

obj = bpy.context.object

copied_obj = deepcopy(obj)

The error is bpy_struct.__new__(type): expected a single argument.
If this can't be done easily, it would also help me if there were a way to use list methods on bpy_prop_collection instances, specifically sorting.
My plan right now is to create my own classes that mimic the classes I want to sort/copy, then deal directly with the basic data types. But I would... prefer not to do that if possible.

Deepcopy is not supported as the Blender objects are optimized for performance.
Most objects have the option, to create a copy by using .copy method
obj = bpy.context.object
copied_obj = obj.copy()

Please note that .copy will also create a new object in the scene (same as duplicate).
Making a fully detached copy of an object, you need to do yourself. as you will by then make a local copy of everything in the python interpreter.
In these cases it is best to do it manual and only select the data you need so the performance can be controlled better.


text:
Memory useage 100% when use brush draw obj
I'm drawing directly from 3D view mode, memory up to 100% and it can't go down, is it a bug? It doesn't happen in uv/image editor mode.
environment:
amd ryzen7
memory 16G
blender version 2.79
obj faces: 2584 polygons
Edit:
That is the obj link: https://free3d.com/3d-model/heart-v1--404644.html
"Draw" means using a brush to hold down the left mouse button while sweeping over an obj in TexturePaint Mode.

That's a helluva lot of information you give us there to work with. Care to elaborate what you mean by "draw"? Does "obj" stand for object or the file format? How many vertices are we talking about?  Maybe add some images? This might be useful for you.

That is the obj link: https://free3d.com/3d-model/heart-v1--404644.html

I have reedited the main thread content, please read it


text:
Curve a Straight Line?
Is there a way to "curve" a straight line?  In AutoCAD it was a very simple process.  I cannot though find a way to just take a straight line in Blender 2.8 and make it curved between the two vertices?

At the moment, the answer to this looks like: 1. Create a Bezier curve  2. in Edit mode, all selected, hit 'V','V'.  3. Hit 'V' again, > Auto, and manipulate control points. But if you're looking for something more specific, could you elaborate?

You could help us by including a screenshot. By "line", do you mean an edge connecting two polygons, a bezier curve, a NURBS curve... ?

Updated.  I want to take the line shown by the blue arrow that I have selected and curve it to approximately the curve of the red line.
I could take and subdivide it and pull each individual subdivision node to where it needs to be but that seems tedious and I'm sure there is a quicker way.

An edge is a straight line between two vertices.  To make a curve will involve subdividing of some form.  Proportional edit lets you move one vert and have others in given vicinity drop off in a regular (eg spherical manner).  https://docs.blender.org/manual/en/dev/editors/3dview/object/editing/transform/control/proportional_edit.html#edit-mode

Gotcha.  So there is no easy way (other than subdividing possibly) to just add an arc to an already existing line?

To clarify by way of example, to convert one edge on the default cube to curve.  Subdividing just that edge, and by some method arranging in an arc, will lead to 2 ngons (faces sharing original edge).  Would that result be Ok?  Maybe Somewhat related

I think what you’re running into is that AutoCAD can have actual circular arcs, trivially, and blender cannot.  Different conceptual models.  But I’m a total newbie so don’t take my word for it; maybe @RobinBetts can confirm?

You might be able to use the spin tool to create a curved connection


text:
Why chain icon right side of the object showing up? How should I disable this?
I'm worked on my project in Blender 2.79. Then I decided to transfer this to Blender 2.8
I appended successfully after I append.
I cannot move, add a modifier or edit materials.
How should I rid this thing and how is this works?
( I DON'T USE LINK BUTTON )
This is the picture (If you don't understand what I'm trying to say)

Sounds like you linked instead of appending

I used the append button. And nothing is working

Consider uploading your file to Blend Exchange so we can take a look at it. If you cannot, try making a local version of the objects with Object > Relations > Make Local


text:
Understanding rigid body physics
I'm following this great tutorial https://www.youtube.com/watch?v=1gM8yEMFMjg to learn how to fill a mesh with a particle system but am having trouble replicating the simulation (at 6 min 50 sec if interested). I'm using Blender 2.8
To put it very simply, in my scene I have two meshes as follows

The larger mesh has Passive rigid body, displayed as wire, and with normals set to the inside
The smaller mesh inside has Active rigid body, with sphere collision shape
When I run the simulation, instead of the smaller mesh settling on the bottom of the larger mesh, it flys out into space ignoring its container completely. How can I get them to behave?

Here is a link to the file https://drive.google.com/file/d/19teuR5pLl0xqDDRli7tOwsv7u0lYx-Ij/view?usp=sharing

Change the sphere's collision type to "mesh".  Default is convex hull, and with your normals backwards, this is not considered a convex shape by the rigid body sim.

I'm no expert, but I'll see if I can help quickly.  Is the outer mesh with normals pointed in the right idea?  You might need to give it some thickness somehow, perhaps by using a solidify modifier on its surfaces.  Or maybe the whole thing is trying to behave as a solid (even though you say the normals face inwards) ...if the tutorial got you here, then that sounds wrong.  But just because it is being displayed as a wireframe doesn't mean it isn't a solid.  (I don't think; I've been away from blender for a minute)

Thanks for responding, I added a screenshot showing the normals to my question and a link to the file. I tried the simulation with the outer mesh set to solid visibility and it was the same. Is there another way to ensure that a mesh is solid?

Try throwing the outer sphere away, making a new sphere, and making another, smaller one.  Then select the big one, add a  "boolean" modifier to it, and use the eyedropper to select the smaller one.  Hit apply. (This will cut a hole in the big one the size of the smaller one, because the boolean modifier defaults to "difference" - subtracting one shape from another.)  Now you have your hollow sphere but you can't see inside.  Make a big cube now, and use another boolean difference to chop off the top of your sphere.  Now you can see inside your cup.  Might be easier to chop top off first.

One more step - you'll have to change the collision settings to "mesh" or an object won't be able to fall into the cup; it will sit on top (saving some computation time)


text:
How to compare modifiers with python?
I'm writing a quick 'n dirty script to create a render-visibility based stop motion animation. In order to optimize things, I'd like to merge objects which have the same modifier configurations.
Unfortunately, I haven't found simple/clean way to check if two objects' modifiers are identical (or mostly identical; if the only way to do it is by comparing each setting of each modifier, I only care about settings which apply to the render).
How can modifiers be compared?

Could you elaborate with a couple of modifiers and their assoc. render props that need to be equal?

@batFINGER Well, I was hoping for a general solution.. But I suppose I could live with only merging objects which only have mirror and/or subsurf modifiers, with the same render settings.

A function that returns True if all the properties of mod1 match mod2
def mod_equality(mod1, mod2, ignore=["name"]):
    return all(getattr(mod1, prop, True)
             == getattr(mod2, prop, False)
             for prop in mod1.bl_rna.properties.keys()
             if prop not in ignore)

Edit: added an ignore list.
Simple test in console, Cube with Subsurf modifier and copied.
>>> m1
bpy.data.objects['Cube.001'].modifiers["Subsurf"]

>>> m2
bpy.data.objects['Cube'].modifiers["Subsurf"]

>>> m1 == m2
False

>>> def mod_equality(mod1, mod2):
...     return all(getattr(mod1, prop, True)
...              == getattr(mod2, prop, False)
...              for prop in mod1.bl_rna.properties.keys())
...
>>> mod_equality(m1, m2)
True

A method to see if one object has same modifiers, all with same settings and in same order as another object
def same_modifier_stack_ordered(obj1, obj2):
    return all(mod_equality(m, obj2.modifiers[i])
                for i,m in enumerate(obj1.modifiers))

I think the square brackets of the list comprehension should be removed. The all() function will then treat the expression as a generator and execute faster in most cases.

Agreed. Been using  that way for some time, thought for longer than Jan '17 / Thanks for the heads up. Feel free to edit in such changes.


text:
Is it possible to simulate Fluorescence in cycles?
It it possible to create a fluorescence shader in cycles?
From Wikipedia:

Fluorescence is the emission of light by a substance that has absorbed light or other electromagnetic radiation.

More specifically, Is it possible to make a shader that emits more light on one wavelength than it receives on that wavelength, while not emitting more total light than it receives?

"while not emitting more total light than it receives" that requires a more holistic understanding of the totality of the object than, as far as I am aware, Cycles currently offers: in Cycles, you shade each bounce individually, and there's no way to know anything about the other bounces. You could have it asymptotically emit no more light than it receives, but there's no guarantee.

Fluorescence is emission of light, so it would be natural to use emitter shader with the right rgb value mixed with other shaders -- it should give an accurate emulation of the phenomena. Please note that fluorescence includes time component, so the object might emit more light than it receives at the moment, if it was subjected to source of light earlier.

AFAIK, it works by emitting more light on one wavelength than it receives, but not more light than it receives on all wavelengths. (correct me if i'm wrong)

I think this is about the closest you can get with Cycles, but I'd love to be wrong.
It uses the refraction shader mixed with diffusion to get the basic texture, and the glossy shader to get the actual "florescence" (and the color that it will fluoresce).
The spheres and the plane at the bottom are all emitters, and you can see that the Suzanne mesh is a reddish hue where it catches light from the yellow sphere, and blue-purple where it catches the cyan sphere. This scene was rendered with 500 samples, no caustics, and blur glossy set to between 5 and 10. You can still see a bit of noise on Suzanne's head.
I think that adding the shaders to themselves should result in more light being "emitted" than received, but I'm not certain. If not, then there might not be a way to do that at present. It would be great if Blender had more ways to adjust the output from shader nodes, and more data on rays (besides length and type).


text:
Moiré patterns in viewport but not in render?
When rendering overlapping meshes (I know this is bad practice, but in this case it is done purely out of curiosity) You get strange artifacts.
However, these differ from the viewport render and the F12 render:
Here is a screenshot of the viewport render in camera view:

And here is the render:

Why are these different?

Rendering has higher sampling per pixel, hence the precision, diminishing visible moire.

I rendered them with the same number of samples though.

Cycles?
There could be differences in clipping for instance, resulting in different precision, not sure though.

Related: http://blender.stackexchange.com/a/2730/599


text:
How to organize bookmarks in the file browser?
Is it possible to control the order of the bookmarks in the file browser, without resetting and re-adding them all?
How can I do this?

In the current (2.76) version of Blender, you can simply hit the up/down arrows to the right of the bookmarks list. You can also rename the bookmarks by ctrl + clicking on the bookmark name (which is also how you edit file and folder names in the file browser)

Ctrl or double click them to rename. You ought to know not to put questions in answers ;)


text:
What are good practices to keep in mind when lighting for scene-referred data?
My understanding is that your lights shouldn't be limited by the dynamic range the default view can show.
I'm sure there's more to it than just making lights brighter and over-exposing the default view, but I don't know what. How do I know which lights should be how bright?
I've heard that using a logarithmic view transform is useful in these situations. Indeed, even with very bright reflections and dark shadows it allows me to see details in both. The only problem is I don't know what I'm looking for.
How does one light in scene-referred space?

As far I understand it, you can check your scene exposure and range by switching to one of the False Color looks in Color Management.
Here's what the colors mean:

Low Clipping Black Scene Linear value 0.000176272 and below
Nine Stops Down = Purple Scene Linear value 0.000351384 to 0.000702411.
Eight Stops Down = Blue Scene Linear value 0.000702411 to 0.002814643.
Six Stops Down = Cyan Scene Linear value 0.002814643 to 0.044567918.
Two Stops Down = Green Scene Linear value 0.044567918 to 0.018009142.
Middle Grey = Gray Scene Linear value 0.018009142.
Two Stops Over = Green Scene Linear value 0.719634476 to 2.883658483.
Four Stops Over = Yellow Scene Linear value 2.883658483 to 11.39491214.
Six Stops Over = Red Scene Linear value 11.39491214 to 16.29174024.
High Clipping = White Scene Linear value 16.29174024 and above.

I've been recomended to make sure you don't see red or white which means you're probably overexposed in those areas. Likewise with avoiding the lowest regions of Black and Purple which indicates severe underexposure. If you can get a well exposed image rendered out, you can make a wide range of lighting adjustments in the compositor with the Color Balance node in CDL mode.
Troy S may need to correct this, but this is my current understanding of creating balance lighting in your scene.

True, but my assumption was that he was already using those LUTS, since he was talking about scene-referred space.

Well, I think +gandalf3 should clarify his question to specifically mention the new LUTs if that is indeed what he's doing.

I agree with @cegaton and toddmcintosh , when I first read this Q&A it was a complete mystery, I believe this should be edited in the question, please edit the question to clarify that this is about a different color management system than the Blender default gandalf3 . Thank you for bringing up this matter and for the enlighting question and answers, I also believe this question should be linked to the other question by cegaton with troy_s explanation on the matter

Maybe we should create a new tag for these wide dynamic range LUTs. What do you guys think?

@ToddMcIntosh To be fair, I wasn't using these when I asked this question (for that matter, I didn't understand what they were).


text:
Mixing two shaders based on raylength
I attempted to mix a Glass shader and an SSS shader based on ray length to simulate a material that has many particles in it, scattering light that travels farther through it.
Node setup:

However, I get this:

Manually setting the Factor of the mix shader anywhere in between 1 and 0 gives this (renders of 1, .5, and 0):

What is causing this darkening and how can I get the desired result?

Try increasing the bounces under light paths.

The direct light preset with caustices gives a very dark image

while full global preset gives a golden brown finish.

I also think the SSS being used on the backface may be stopping light passing through the object. The calculation for the mix appears to always give a zero value for the visible faces, by replacing the SSS with another glass shader you get a brighter finish.

It's still pretty noisy.. Is there a way to use ray length without including the variations caused by scattering etc? E.g. get the ray length as it occurs with a transparent node then use that to mix other shaders?

@gandalf3 the noise would be from the glass or more specifically the caustics - the biggest cause of noise in cycles. Usual noise reduction tricks apply. The material used won't alter the ray length, it is a measurement based off surface locations. I'm not sure that you get much variation in your mix calculations, I only see zero value facing camera.

I thought the ray length referred to the path-traced ray, which bounces/scatters/transmits through an object based on the properties of the material? Anyway I was attempting to make a orange juice shader (again), and I can't figure out how to make it scatter light more based on the distance light has to travel through the juice. E.g like this, where the OJ is "thin", it looks like a glass shader, but there it is thicker, it looks like it needs SSS.

I think that what you want to do is not to use the Ray Length directly, because that can includes many different ray types, but instead multiply the Ray Length with Is Transmission Ray, in order to get the length of the Transmission ray, instead of one which also includes the Camera ray type and others.

I don't want the length between the camera and the object, I want the length between one surface of the object to the other (inside the object the rays are all transmission or reflection, there should be no camera rays in there).. This is easily gotten by multiplying the ray length by the backfacing, but using that to mix shaders is not working as expected..

There; All fixed