text:
Quality loss switching from sculpt mode to object mode
I'm not experienced in sculpting and I often run in troubles I'm sure I could avoid easily so it's kinda frustrating haha. Anyway, yesterday I had a problem I never had before, maybe it is because of dynotopo. When switching from sculpt mode to object mode, the mesh looks different as if some vertices were missing (the mesh has no modifiers)

Thanks for reading, hope your day is good

I think it’s a normals problem, though I do not know if/how Auto-smooth could be enabled, but turn off while sculpting.

@TheLabCat thanks for answering ! Indeed when I don't enable auto smooth, I don't have this problem. Now I know how to avoid this issue even if it is annoying. Thanks !

Hello, does anyone have anything to add? I ran into this problem again even though I don't use the auto smooth

I’m the only one that got notified ‘cause I’m the only one that commented. But whatever. As long as no answers have been posted to the question, it will remain in the unanswered section.

@TheLabCat Okay I see, thank you

In Object Context Menu (right mouse click) use "Shade Smooth" instead of "Shade Auto Smooth".
It should help.


text:
Displace modifier with cloud texture but only on X and Y axis
Is there a way to displace vertex of a object with displace modifier but only on X and Y axis. I dont want Z axis to be moved at all.

Hello, what does it give if you stack two Displace, one on X, a second on Y

@moonboots yeah, that does a trick. Thank you

Or.. set it to XYZ to RGB and dial Z to 0 in a color version of the texture. It  gives positive XY on both sides of the object, though.. for full control, it's much easier to use GN, IMO

Stack two Displace modifiers, one on X, a second on Y

source: Stack Exchange

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

sort: votes


text:
Select outer edges only
Is there a way to select only outer edges of mesh. I can select them with holding shift and edge click but I dont want to do it manualy since there is lots of it. Mesh looks like this:

There is actually a way of selecting outer edges only which I just figured out. Since this mesh has "stacked" UV I was able to select outer vertices only. But I still dont know if this is only good way of doing it.

Blender can automatically detect the the boundary.

Select all edges (Select > All)
Select > Select Loops > Boundary Loop
Done.

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


text:
Can you have 2 spline profiles on one spline?
Im trying to make a road using a spline (I will call it road spline). I made a spline profile and attached it to original road spline and it gave me a nice walkway next to the road and it looks something like this.

Now I want to make the same walkway profile but I want it to be a little bit lower than the last one, it looks like this.

I made this using 2 profile splines and 2 road splines. Is it possible to make it with 1 road splines and 2 profile splines with nice blend with it.
This works in 3ds max, here is example screenshot from max:

Link to that max video: https://youtu.be/PdsnVQOlO34

I've never seen anything like that with curve profiles so I don't think you can do it in blender. If you are fine with a different type of modeling here's what you could do:
Instead of making the main road using a curve as a profile, use that profile to make a solid segment of the road that can be turned into an array. Then make the array fit the length of the curve you want to use as the curvature of the road

You then need to make a segment with the detail that you want, like the ramp. You can duplicate the arrayed object (main road) and apply the array, then use that as the base of the ramp so that the edges match with the arrayed object.
Once you have the ramp modeled, you can create a cube around it that is slightly narrower and use an Intersect boolean modifier on it:

This same cube is used in a difference Boolean with the main road:

This results in a segment of the main road being removed and the ramp segment taking it's place. (Parent the ramp to the cube  and the cube to the main road so that everything stays in place if you move it. This lets you hide the ramp so it's not in the way).

If you want the geometry to merge into a single piece you can create a simple geometry node set up on the main road that joins its geometry to the ramp's and then merges the vertices by distance. The result of this is that you can move the cube along the axis of the array and it will change the position of the ramp in the array. You can then give the main road a Curve modifier and make it follow the curve that you were using for it:

It's not as simple as the 3dmax thing but the advantage here is that you are not just working with curve profiles so you can add a lot more detail than with an extrusion.
I'm pretty sure someone who knows more about geometry nodes could reduce all of this to a single setup instead of multiple modifiers on the main road but I'm not there myself.
As for the lofting part, you can do that with the Bridge tool on the Bool Tools addon (Comes with blender)

Thank you, I will definetly give this a go.


text:
Blotchy Mesh Imported from Maya
new to Blender but Maya vet.
I exported an FBX to Blender and the mesh came in blotchy.  Can't figure out what's going on.  Any thoughts would be appreciated.
The mesh looks like light grey and dark grey camouflage.  Even the texture has a blotchy look to it.  When I originally imported the mesh into Maya, the model had all hard edges, so I softened them in Maya.  Could this be the reason?

Welcome to BSE.
It would be a little easier to answer your question if you could provide your blend file (Including a .blend file).
However as a guess, this may be an issue with some of your normals facing the wrong way.
To fix this:

Select your mesh and press Tab to enter Edit Mode
Press A to select all vertices
Press Alt+N > Recalculate Outside


text:
How can i get the name of the collection where an object belongs and store it into a variable
How can i get the name of the collection where an object belongs and store the name of that collection into a variable so i can use it later to unlink the object from that collection

Objects don't "belong" to a single collection, they may be linked in several collections simultaneously. They may even be in different collections in do scenes at the same time

Use bpy.types.Object.users_collection attribute to retrieve the collections it is linked in. It's a sequence of collections which can contain 0 or more items, since an object can be part of 0 or more collections.
I'll assume your object is part of at least one collection since it's the general case.
obj = bpy.data.objects["Cube"]  # Replace with your object name

col = obj.users_collection[0]  # This stores a reference to the (first) collection
col_name = col.name

If your object is linked in several collections, you'll have to add custom logic since AFAIK the order in which they are stored in users_collection is not deterministic.


text:
How to randomize instances position?
I can randomize the rotation and scale with the instance node but what about position? I wanna scatter it along the z axis using random value.

You can use "Translate Instances" node at the end of tree.

Use a Set Position Node (after the Instance on Points). Connect a Random Value node to the Z position of a Combine XYZ node and use the output as the Offset on the Set Position Node.

You can also use the setup shown below with a Vector Math (Multiply) node multiplying the random value on the Z-axis with a Scalar to control how much the spread goes "up".

Thank you so much man

I was curious, why did you use Vector for Random node since you need to feed just Z axis (so Float can handle it). How X,Y participate on result? ... because I can see difference.

The solution of @ChristopherBennett works in principle, but it is not optimal!

To achieve a position shift of instances exclusively on the Z-axis, you should use in this case directly after Instance on Points the node Translate Instances.
Since you only need a translation on the Z-axis, you only need one additional node: Random Value.
This one should be set to Vector, and should return a vector between $(0,0,0)$ and $(0,0,x)$:

By the way, in the best case you move the points themselves, where instantiation is to take place. This can save resources:


text:
I accidentally clicked the 'unlink data block' button under texture slots and it deleted all my progress
I accidentally clicked a X button called 'unlink data blocks' while wrapping up my texture painting. I had thought it would just temporarily take off the texture until I link it back again. Turns out it deletes your texture from existence unless you had pressed a shield button or exported the image file. Why this button exists I'm not sure. Is there any way to get my edited texture file back?

"Why this button exists I'm not sure." Seems quite logical to have the option to delete things in your file if you no longer need them, don't you think? :D Blender really cant tell, what you need and don't unless you tell it by clicking stuff :D

Not sure if it saved it but blender makes automatic backups.
Next to your file there should be .blend1 file, this is a backup and you can rename it to .blend.
Blender also saves autosaves into a directory.
You open it through File -> Recover -> Auto Save...

Thank you for your answer. I've checked my autosaves but the texture I worked on did not show up. I've concluded it's gone forever. I know now how dangerous this button is and not to click it again. It would have been nice if it had prompted me with a 'are you sure'.

Please note that painted image textures will not be saved with the blend file if they are not packed. By default they are not packed but saved externally.

Yea you're right. Blender often lets you do dangerous stuff without warnings. Except when deleting the default cube of course (:


text:
Selecting Vertical Edges with Geometry nodes
I'm trying to make a node setup that converts hair cards into curve hair with geometry nodes, the idea is to use the vertical edges as a guide for sampling new curves around it, after searching i've found a way to select the boundary loop using these nodes setup

but the issue is, that it leaves theses edges on top and bottom

There's any better way of achieving the desired result?

What's a hair card? I think you should edit the question and include some images of its geometry. You should also define the problem a bit more. For example - are those hair cards all the same, or do they differ, if so how?..

.. and are the card meshes aligned to their own object-space? (Are local x,y,z consistently along the card's edges?)

Depending on how the mesh was created there is a good chance that the face corners are all in the same ordering (i.e. the numbers you get from node Face of Corner output Index in Face). You can easily check by using the Triangulate node in mode Fixed: all triangulation edges should be "parallel"). If that´s the case, it is possible to separate "vertical" edges from "horizontal" ones, even if the mesh is arbitrarily deformed. But I'm not sure if that is what you are looking for(?)

Unfortunately your question is everything else than crystal clear, but i try to answer although i doubt that you meant that:

I just compare the z-positions of each edge, and if they are not the same, i delete them. Hope it helps.


text:
Texture coordinates on 3 profile curves within 1 geometry nodes setup (Default cube rope tutorial)
I must preface this by saying that I have a very limited knowledge of Geo nodes, so this may come off as quite stupid.
I followed Default cubes GN rope tutorial( https://www.youtube.com/watch?v=2VzYMah-nTg ), however I didn't like the outcome of the material.
I then tried to add an existing rope texture that I found to the default cubes geo nodes setup which didn't work for me.
I then saw a post here ( Texture coordinate on geometry nodes rope from Default Cube's tutorial (texture coordinates over profile curve) ) that mentioned how to add proper texture coordinates to a profile curve. I managed to get that working, however I want to create a 3-ply rope with 3 seperate profiles wrapping around eachother.
Is there a way to create proper coordinates for each individual profile seperately within the same geo nodes setup or is this impossible?

At the moment I am joining geometry of 3 circles and obviously the texture coordinate is off on 2 of the profiles.
I would also like to keep the bezier drawing feature if possible too as I will be drawing these ropes by hand once everything works.

See if this helps.  Twists Meshes in Geometry Nodes https://blender.stackexchange.com/questions/265661/twists-meshes-in-geometry-nodes

Thanks, although I am struggling with the texturing rather than the twisting which I can figure out easily enough.

Then you may want to start with looking at UV texturing using geometry nodes.

I followed a previous question about UV texturing through geo nodes, however that was only accounting for a single circle profile curve. I have three which means that one of the profiles has a good UV texture while the other two don't. I cannot figure out how to separately make their UV maps within the same geometry nodes setup.

I posted an answer here, and @quellenform correctly pointed out  it was a duplicate. I've  reposted to the link he has given in the close-notice. NB. His solution is the more rigorous one.

@RobinBetts Sorry, I really didn't want to be a know-it-all here, but I have really dealt with the topic intensively ;-)

@quellenform Nothing to apologise for. I know how much work you've put into this. I've just been using the split-curve thing for something else altogether: making a multi-spline Loft Splines, with a mixture of cyclic and acyclic splines. I spent ages reconstructing split cyclic splines before realizing Trim would do it..  (dooooh!) .You can even put the end-points back exactly where they came from.


text:
Is there a way to have an adaptive uv on a curve?
I am working on a rope sculpture where I will hand draw several curves. I have found an answer (Texture coordinate on geometry nodes rope from Default Cube's tutorial (texture coordinates over profile curve)) to how to add texture coordinates to a curve which has been super helpful. However, since I will be working with several curves of different lengths I need the texture coordinates to be uniform along the length of the curve.
As you can see the coordinates stretch along the curve in the photo.
I would love to know if there is a way to create an adaptive texture coordinate along a curve.

This answer should help you solve the problem: https://blender.stackexchange.com/a/258247/145249

I have tried looking, however, I am have an extremely basic understanding of geometry nodes so it's no use to me yet.

a picture of your GN setup would be helpful

use the length output of the spline parameter node instead of the factor.

IMO, Default Cube's method is unnecessarily complicated for the cases it covers. I'm reluctant to post an answer here, because it is effectively a duplicate of the link given by quellenform above.  See how this method suits you.

Thanks @shmuel, that worked :)


text:
How to create a geometry-node-based generator for columns with a custom side profile and custom amount of sides)
I'm trying to create a geometry node based generator that gives me control over the side profile of a column-like object. I tried to do this with a custom curve window (which can also be accessed by beveling an edge with a custom profile), but I don't know how to adjust the general shape (for example, if I want a square column with 4 vertices, 12 for a circular one). Also, I wanted to control the vertical number of edges so that I can easily create multiple resolutions of this column (so, for example, 20 edges create a smoother side profile than, say, 10 edges)
I have attached an image showing an example of a desired result. Blue shows the side profile. In this example, my general shape is 4 because it is square and the vertical edges are 111.
If my wishes are possible, could someone explain to me how to achieve the desired geometry node setting?

How do you want to input the profile? A curve in the viewport?

@robin-betts I want to be able to edit the curve like all other curve-editor interfaces and have it affect the profile of the object
Like for example when beveling, you have the option to bevel by your custom shape that you can modify by clicking (it looks like a x-y-graph)

Here is a solution. Limitations: only the y-displacement of the curve is evaluated. Height of column has to be aligned to z-axis.
The basic idea is, to create a cylinder and move the vertices of its vertical edges along the normals of these edges. This shall be based on the displacements of the vertices of a resampled curve. The original curve will be provided as an input parameter.
Details are explained below.

How does it work
The following nodes generate the cylinder.  Most of its input parameters are published to the Group Input. This makes it easy, to configure the column, that we aim for.

The following nodes execute the displacement of the vertices:

The direction is determined ty the normal of each vertex. We project this onto the XY-plane, because the normal of the topmost and lowest vertex is not orthogonal to the z-axis.  We normalize this, so that we can define the length by a calculated value, that I called Y-Displacement.
The following nodes calculate this value:

In the lower frame, we resample the profile curve, so that its number of vertices corresponds to the number of side segments of the cylinder. We do this, because, we want to take the first vertex of the curve, to modify the indices of the topmost segment and so on.
We calculate a z-index, to map the segments to the indices. The vertices of a cylinder are organized counterclockwise for each side segment from top to bottom.
Next we use the calculated z-index to access the position of the corresponding vertex of the curve, by using a Sample Index node. The y-coordinate of this position is the calculated Y-Displacement.


text:
What setting locks local rotation and scaling of an object?
I have encountered a strange phenomenon, it must be some key I hit but I have no idea what!
All of a sudden I noticed that nothing will rotate or scale in object mode in a project I am working on.  After playing around with some basic settings I noticed that when I set the pivot center to the 3d cursor and try to rotate something it simply moves the object around the 3d cursor without rotating it.  Scaling the object moves it towards or away from the 3d cursor.  Here is a picture:

It seems that I have somehow locked local rotation and scaling of all objects, the only way I can rotate or scale anything is in edit mode.  How on earth did I do that and how do I turn it off?

related http://blender.stackexchange.com/questions/3626, http://blender.stackexchange.com/questions/1308 and http://blender.stackexchange.com/questions/12303

It sounds like you have activated the Manipulate Pivot Points tool.  It's found directly to the right of the Pivot Point selection menu in 3D view > Header.
Here's a demo.

It can also be toggled with ⎇ Alt, (comma).
Now, if you mistakenly press some keyboard shortcut that ends up causing you grief like this; you can try pulling down the top header bar to view the Info area.  It should contain most of what you've recently done.(to view EVERYTHING you'd have to enable debug logging, that's gets messy quickly)

Thanks a ton!  I was almost done with a big project (for Andrew's Christmas competition) and was just trying to move things around for the final render when this happened.  I must have hit [Alt]+[,] inadvertently.  Is there somewhere (an addon maybe) that can give a short history of keys I have hit or actions I have done that I can look at when I do something like this?

Pull down the top header bar to view the Info area, it lists all the tools you've used.  It's very useful for scripting.  That's actually a good idea to for an answer like this.  I'll add it.

Wow, thanks, I didn't even think of that, that will be really helpful!  Is there a way to associate the python with the keyboard shortcut though?

There is a document posted on GITHUB by Jonathan Williamson https://github.com/carter2422/blender-presets/blob/master/keyconfig/blender_default.py I assume it's complete.  Search for the operator, the line above should be the key-binding.  I just did a quick check on the tool used here and it's in the list with the correct keys.

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


text:
Adding rigging to new bones?
I have a character with tendrils growing out of it's back, so to be able to animate them I had to create new bones for them. I read in a thread here that you can assign vertex groups to influence parts of the mesh, and I have done that but it doesn't have any effect.
When I rigify no "handles" are created for those bones and if I move a bone in edit mode, the mesh is not affected, even if I parent the mesh to the skeleton. What do I have to do to be able to animate the tendrils?

Are the bones part of the armature the body is parented to? Do they have the same name as the vertex groups that they are supposed to move? Also, moving the bones in Edit mode won't move the mesh, you need to be in Pose mode. Maybe share your file (remove the head for example if you don't want to share everything)?

To generate "handles" (control bones) you need to define a Rigify Type for the tendrils bones. Have a look here:https://blender.stackexchange.com/q/252604/107598

I managed to generate control bones for the added bones but they deform parts of the hands of the mesh(they are de-attached), which they shouldn't. I noticed my vertice groups had been changed by themselves(I have no idea how that happened), so I tried to redo them and remove all parents everywhere. But for some reason the rig still works. Not even re-generating the rig fixes it. I'll upload it so you can take a look if you have time. https://easyupload.io/96gy6z


text:
Mesh moves when parenting rig
It's not just a little. It moves by A LOT, and it's also rotated. Movements tied to nodes makes the mesh distorted. I don't understand it. It was just a normal mesh that I had applied all transforms to before rigging.

There's something without transforms applied, probably in the form of a parent or parenting inverse.   Unparent mesh object and keep transform; apply all transforms on mesh object; parent mesh object to rig object.


text:
How do i make a string of a recurve bow behave in a realistic way?
I made a rig for my recurve bow using this tutorial: https://www.youtube.com/watch?v=ZVhFsR_TR7M
The problem is that when i pull far enough the string should follow and stop sticking to the bow. I don't know how to do that.

Bow in a resting position

Here the string should follow to not look like its glued to the bow.


text:
Remove half opaque pixels when rendering final image
Im doing some work to test styles with a model i came up with. In those styles i wanted to test how it would look like if it were to mimic a prerendered snes sprite, like from the Donkey Kong Country series or Super Mario RPG. The only problem is these pixels that are part of the sprite but have some alpha in it. These half opaque pixels break the whole pipeline i have to treat the sprites and make them look better for the style. Heres how i get them from rendering in blender and after some color reduction and other treatments:

Just tweak the Film > Filter Size option to 0.00px in the Output side bar menu:


text:
Bake multiple hair dyanmics at once
In my scene I use multiple different object hair stands in the same scene, the problem though is then I have to bake each one individually which becomes incredibly tedious with large amounts of strands.
Is there a plugin, or simple script I can run that will go through each selected object and bake the hair dynamics?

In the Cache tab, click on the "Bake All Dynamics" instead of the Bake button.  It will bake all hairs particles, and everything else like Fluids, on every object and particle system.

Eventually i found some code that works for this, so enter this code into the scripting tab, selected the strands you want to bake, and run
in the code you'll also see towards the bottom, Frame Start and Frame end, this will automatically change the frames to the desired frame start/end dependent on the value.

import bpy

def print(data):
    for window in bpy.context.window_manager.windows:
        screen = window.screen
        for area in screen.areas:
            if area.type == 'CONSOLE':
                override = {'window': window, 'screen': screen, 'area': area}
                bpy.ops.console.scrollback_append(override, text=str(data), type="OUTPUT")

print("1")
# Check if there is an active object

obj = bpy.context.object

for scene in bpy.data.scenes:
    for object in bpy.context.selected_objects:
        for modifier in object.modifiers:
            if modifier.type == 'FLUID':
                print('fluid')
                #if modifier.fluid_type == 'DOMAIN':
                    #print("Baking fluid")
                    #object.select_set(True)
                    #bpy.context.view_layer.objects.active = object
                    #bpy.ops.fluid.bake_data()
            elif modifier.type == 'CLOTH':
                print("Baking cloth")
                #override = {'scene': scene, 'active_object': object, 'point_cache': modifier.point_cache}
                #bpy.ops.ptcache.free_bake(override)
                #bpy.ops.ptcache.bake(override, bake=True)
            elif modifier.type == 'PARTICLE_SYSTEM':
                print("Baking particles")
                strands = bpy.context.selected_objects
                for x in strands:x.modifiers["ParticleSystem"].particle_system.point_cache.frame_start=10

                for x in strands:x.modifiers["ParticleSystem"].particle_system.point_cache.frame_end=14

                override = {'scene': scene, 'active_object': object, 'point_cache':                  modifier.particle_system.point_cache}
                bpy.ops.ptcache.free_bake(override)
                bpy.ops.ptcache.bake(override, bake=True)

#bpy.ops.wm.save_mainfile()

```


text:
Is there a way to change the volume scatter colour while only having a red light
Volume in blender is a brilliant way to give depth to a scene and can give gorgious god rays, but for the scene im working on i want a different colour fog around the light then the light itself, usually i'd just change the colour value but the problem is the light is pure red and so the volume fog around it can only be red.
is there anything i can do to somehow convert the volume into mapping data that i can plug  into an rgb node or something so i can have control over the volume colour for any scene weather i do or dont have all the lights needed for the variation of colour.

Hue/saturation node is what pops out to me


text:
Render turning black after completion
I am trying to follow along tutorials by Blender Guru. When I try rendering my model, everything seems to work fine right until the completion where the render goes black. I've no clue as to why this is happening because every tutorial I refer to seems to get it to work without any problems.
This only happens when I'm running with Cycles as my rendering engine. I have attached relevant screenshots below as well as a link to my model. I've googled about the error but none of the fixes mentioned work. Please help me out, thanks!

As you can see, the rendering works fine until just before completion (frame 1680/2048 in image).
Some of the many things I've tried so far:

Set exposure to 1.0 (it was this by default)
Check if all objects are set to be rendered
Try restarting (because apparently someone else had a RAM issue and doing so fixed it)
Try rendering a simple default cube. Still fails...
Link the image option from Render View node to image option in Composite node in the Compositing tab
Delete and add a new camera (because this fixed it for someone else)
Other parameter changes that seem to do nothing

Link to model

i just rendered it - and it works [1]: https://i.sstatic.net/sZtZN.jpg, so i can just assume that you might have a problem with your hardware/graphics card?

@Chris Thanks for your response! I believe it might be a problem with some settings in my model that are causing issues on my end. I have managed to successfully render models available online using the Cycles render engine and everything seems to work perfectly except my own model. If someone can figure out why, I'd really appreciate it.

If this would have been settings on your model - I wouldn’t be able to render it. So I think that’s not a possible reason.

Not just the model, but the .blend file as well. If there was an issue in how you set up your rendering or if your file was corrupted, we should be able to reproduce the issue or at least have "some"  issue. But everything's fine here. And you wouldn't have the issue with the default cube either. So this really sound like a system issue. Try reinstalling your graphics driver and Blender, also make sure you meet Blender's requirements in the first place.

Thanks, that makes sense. I do meet the requirements. It most likely is an issue with my graphics drivers and I'll try working on diagnosing that.

If you can't get it working with updated drivers or using the latest stable Blender release, try maybe the latest daily build. If even that doesn't work, go to the menu Help → Report a bug and follow the bug report guidelines. Hopefully it's a bug the devs can solve or an issue they know how you can fix.


text:
Offsetting edges randomly on the Y axis with geometry nodes
I have a kind of square wave geometry (origin), and I want to randomly offset the top edges (desired). What am I doing wrong with my setup (result)? Why some edges are horizontal while others are slanted?

"Set Position" is inevitably on "point domain".
When you "Evaluate on Edge Domain" for something that asks values on a point domain, the edge values are interpolated (each vertice gets a value from two edges)
In order to exclude the vertical edges, you need your selection to be "greater than half height" instead of "greater than 0".
Then you store a random value "per edge" excluding the vertical edges from the selection, and use this stored value in the offset:

(PS: this answer is probably still interpolating, but interpolating between known values which are "top value" and "zero value" instead of a random value for each edge individually, for a non interpolated answer, you'd need to explore "edges of vertex" node, which can be a little complicated to understand)

A non interpolating answer
Here, we use "edges of vertex" to select the edge with the highest Y and we evaluate at the selected edge instead of interpolating:

Edges of vertex gets all edges connected to the target point
Weights are used to sort (order) the edges by some criteria (ascending sort)
Sort index 0 gets the first of the sorted edges.

It worked flawlessly -- thank you very much.


text:
Is it possible to create a render layer with no depth of field?
I find that using depth of field (DOF) distorts the render pass masks, especially for very out of focus objects with a low f-stop (large aperture).  I am trying to get around this by making a separate render layer with no DOF which I will only use for pass index masks.  But I have not found a way to use no DOF on a specific render layer.  So is it possible to tell blender to not use any DOF in a specific render layer, either directly or by using a different camera?

AFAIK this is not possible, however you could get around this by using a linked scene with only the camera unlinked. See http://blender.stackexchange.com/q/15286/599 and http://blender.stackexchange.com/q/3237/599

@gandalf3 That works great!  One problem though: can I make it such that whenever I add an object in one scene it will be in both scenes?

AFAIK, no. But you can press Ctrl L link object to scene to link it, and with a python script you could probably automate that.

@gandalf3 if you put the multi-scene solution in an answer I will be happy to accept it.  It works like a charm!

You can use multiple scenes:

Add a new scene by pressing the + at the top of the screen and selecting Link Objects:

This will link the objects into a new scene. This way modifying any object will change it in both scenes.
In the new scene, select the camera and unlink it from the first scene by pressing U> Object Data. Then set the camera's aperture size to 0 to disable DoF. Note that the aperture must be set to radius for this to work.
Then you can get the render results of both scenes in the compositor by using multiple renderlayer nodes:

Note that each scene has it's own compositing node tree, so it might be confusing if you have composite nodes in both scenes. I usually like to keep all the composite nodes in one scene.

If you add any new objects to one scene, they can be linked to the other scene by selecting them and pressing ⎈ CtrlL> Link objects to scene and then selecting the scene you want to link to.

I presume you are using Cycles.
You should not use camera Depth of Field but instead use the Z value pass (enabled by default in your render layers) in the compositor (ex. with Defocus node).

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


text:
What is Freestyle chaining?
In the Freestyle render settings under the Freestyle Line Style rollout there are a group of settings having to do with chaining.

I have played around with these settings in a number of ways and haven't really found any noticeable impact on the render.  So what is chaining and what does it do?

Consider the lines as "a whole" or "individually"
As reported in the manual, "chaining" is a parameter that controls the way in which lines are rendered.
If enabled, Blender will draw each line as if it was connected with the previous; on the other way, if disables, it will render each line separately.
You can see the effect by increasing line thickness and zoom in till you can see where one line ends and another starts:

While the same object with chaining enabled is:

It is useful to make custom line styles. Notice in the examples below how the same thickness modifier brings to different results:


text:
Why does a bezier curve twist when rotated?
If I create a bezier curve and rotate it in edit mode it does not accordingly rotate the tilt of the handles which creates an undesirable twisting along the curve.
Here is an example using a bezier circle with a square used for a bevel object:

Here it is after being rotated 90° about the y-axis:

How do I prevent/fix this?

Probably is a bug, or the way that this type of transformations is handled, probably...

According to Wiki:

A 3D Curve has Control Points that are not located on the Curve’s local XY plane. This gives the Curve a twist which can affect the Curve normals. You can alter how the twist of the Curve is calculated by choosing from Minimum, Tangent and Z-Up options from the drop-down menu.

There are three tilting calculation methods. Choose the one that results as expected.

Is there any documentation on how the Twist Methods actually work? Having to try them all out is vexing to me.

I'm not sure if I understood your question correctly, but I've been going through a problem of tilting Control Points, I tried using R but it didn't work, by researching it, I found out that the right way to rotate a Control Point is by selecting it in Edit Mode, and pressing Ctrl+T.
I used Minimum as a Twisting method, toggling to Tangent didn't do me any good, specially when I used a curve from mesh, using Tangent gave a terrifying results, while this method worked just fine as expected

In addition to Leon Cheung and Georges answers, there are two other ways to adjust the tilt of the curve.

In the Properties bar of the 3d view, you can edit the Tilt property for individual control points. The hotkey for this is CTRL+T, as Georges described:

In the data properties tab for the Buttons/Properties view, you can also change the interpolation method for the tilt. This is found under the Active Spline section:

A way to "solve this" is to select the "vertex" that is bad (the first), then the previous one (the last), subdivide by 1, move the new vertex where the error vertex is and delete the old vertex, that should fix the "continuity".
You can see in edit mode where the "direction" of the flow is, those little "arrows" says where the curve is going and how it twist (because lines/curves really don't have twist) so it is visually visible.


text:
Why does Blender warp UV pelt when unwrapping tight geometry?
Often when I am modeling something I need to add some very fine detail to certain areas of the mesh so I add some very tight loop cuts in that area.  However when I go to unwrap it, even if it is very simple square geometry Blender will severely warp the pelt.
For example, if I have a simple cube and unwrap it it looks fine:

But if I add a few very close loop cuts the pelt is horribly distorted:

Here is another example:

In both these cases the geometry is very simple and box-like, all quads.  But it becomes distorted when I unwrap it and I have to waste time manually aligning all the edges in the UV editor.  This also sometimes happens when I have many proximity cuts for use with a subsurf modifier.
Why does Blender do this and is there a way of preventing/fixing it?

Do you have the same behaviour with "conformal" Unwrap method?

@Carlo No, that fixed it, thanks!  If you put that in an answer I'll accept it.

Thanks but maybe is better to leave it open hoping someone with more knowledge can tell the difference between the two methods. I didn't write answer beacuse I can't tell you WHY it happens. Even this related answer doesn't go in depth: http://blender.stackexchange.com/questions/238/when-to-use-conformal-vs-angle-based-when-uv-unwrapping. It would be interesting to know more about it!

@Carlo, you might as well put that much as an answer here, I have asked a new question about the technical differences between the two.

As mentioned in the comments, Blender supports two algorithms for making a 2d projection of the mesh, Angle Based and Conformal. Angle based is the default and generally handle complex and organic shapes better, but runs into problems for some cases (e.g. the tight loop cuts you are using). In these cases it is best to try the Conformal algorithm.
The conformal term comes from the mathematical term conformal map, a function/projection that aims to minimise the difference in angles between the source and destination.
More details on the particular method used can be found here if you are mathematically inclined.

If you make your loop cuts without the mesh selected (and showing the UV layout), then select all to see the UV layout again, it seems to work properly that way.

The problem is most of the time it's not practical to unwrap and then finish modeling.  Things like scaling (try doing this operation with a UV grid) and extruding will distort the UVs.  I actually already fixed the problem by using conformal unwrapping.


text:
What is the number in corner of the 3D view?
At the bottom-left corner of the 3D view there is some white text with the name of the selected object, preceded by a number in parentheses.  What does this number mean?

It shows what frame on a timeline you already are.

I thought it was the up count on the first comment on the BSE question within the first 8 minutes

By the way explanation in the wiki of it probably should be modified.

It shows what frame on a timeline you already are. It is very useful if you e.g. maximized the window with View -> Toggle Maximize Area (Shift+Space) and don't see your time cursor (the green vertical line) on the Timeline. Please see how to navigate it btw (What are the hotkeys to navigate the timeline?).

It's also very helpful as it shows what frame on a timeline the animation keyframe is inserted (the number changes the color from white to orange then).


text:
What does the "make screencast" button do?
In the info view header, under Window there is an option to "Make Screencast".

It's tooltip says

Capture a video of the active area or whole Blender window.

When I click it a circle appears over my mouse and an option to stop the capture appears on the right of the header.  When I click the button everything goes back to normal and nothing happens.
So what does this button do?  If it really made a video of what I did where did it save it?

The Make Screencast button allows you to save all actions you make in the Blender window to a video file.
From the doc:

Screencasts will record your actions over time either as a video or sequence of image files. The type and location of the output is determined by the settings in the Output panel of the Render context window.

So the screencast video is saved to wherever you set under the Render tab > Output rollout.  It will also use whatever settings you set there for video output format as well.

I had the brilliant idea of searching the docs, what a concept!  When all else fails...

Make Screencast allows you to capture all actions you've done in Blender and save it to the desired location with desired file format.

Choose the location you want the record to be saved, desired file format and its quality.

When you are done with recording press Capture button on the upper menus bar.

Hehe, guess I am a bit late :). Seems you've figured it out by yourself...


text:
How to make particle instances the same size as the dupli object?
If I create an object and assign it as the dupli object of a hair particle system on another object, the size of the particles is much smaller than that of the actual dupli object.  I then have to change the length to compensate.  How can I make the particles "life size"?
Here is an example, the big box is used as the dupli object for the particle on the plane.  All particle settings are left as default except type: hair, number: 100, and render > object: Cube.

I completely forgot that there are actually two separate values which affect the size of the particles.  There is the hair length (found at the top of the settings), but there is also a size spinner under the physics rollout.

It turns out that the actual size of the particles is the product of these two values.  I.e. actual_size = length * size.  So if both these values are set to 1 the particles will be the same size as the dupli object.
The size defaults to 0.05, while length defaults to 4, so the actual size of the particles by default is 0.05 * 4 = 0.2, which is one fifth the dupli object's size.
I have no idea why there are two separate values which control particle size, or why one of them is under the physics rollout, or why they have such strange default values.  If someone could explain this I would greatly appreciate it!

I found this in blender 2.83 in Render > Scale. Hair length must be 1 too


text:
Is there a way to select the children of a parent object?
Say I have a set of objects parented to another object, for the sake of this example say they are parented to an empty.  If I have the empty selected, is there a way of quickly selecting all the objects parented to it?

Method 1:
Select the parent object, then Shift G > Children.

Note : To keep the parent selected, immediately after calling the operator, press F9 or click on the foldout in the lower-left of the 3D viewport and check "Extend". This setting will be remembered the next time you call the operator, until you close Blender.

Or, if you want to select all children at the same level, you can first select one child, then choose Slibings in the same menu.

Method 2:
Go to Outliner,  Ctrl LMB on the parent object icon, which will select all children and itself, then Shift LMB on it again to deselect the parent.

Method 3:
First Select parent, then press ] to select object in the next level. Shift + ] one or more times will select more levels.

Thanks for the answer.  This is almost what I am looking for, but ideally I'd like to keep the parent selected (I usually want to do this to duplicate the whole set of objects).  Method 2 (though I'd prefer a keyboard shortcut as I don't usually have the outliner open) looks good, but it doesn't work for me, it just thinks I want to rename the object.

@PGmath for method 1, aftert operation, you can press F6 to toggle Extend. Luckily Blender will remember your change there, which means you don't have to toggle it on every time. For method 2, it does work, but you really need to hit on the icon, NOT on the name.

@LeonCheung Got it, thanks!  I also just figured out that I can use the 3rd method and press shift the first time and it will work as I want too.

Yep, more tricks are hiding in User Preferences > Input  Check it out.   :)

How dare you write an answer on parenting?  Very nice answer, UVed.

@David Oh my... the link shows the very comprehensive thing about parenting. Nice answer too.

How do I do this for bones? I don't see these options for bones.


text:
Bake Follow Track constraint to f-curve?
I have an empty with a Follow Track constraint so it copies the movement of a track point in the Movie Clip Editor.  How can I "apply" the constraint to the object so I can see the f-curve of the object's movement in the graph editor?

Simply click the Constraint to F-Curve option on the constraint. This will remove the constraint and produce the required keyframes to replace it. You can then view and edit the animation in the Graph Editor.

Wow, I can't tell you how many times I looked for a button called exactly that in that exact spot.  I think I need to get my eyes checked.

:-D I do think it would be more intuitive and consistant if it were an Apply button at the top as for modifiers. It's all too easy to overlook something if it doesn't look how you expect - especially if it's in amongst other clutter.


text:
How to get faster for uv mapping to unwrap to match identical?
Does anybody know the answer? Can anyone help me out with this? I'm getting frustrated. Whenever I unwrap it, the result is random and doesn't match the identical body of the UV mapping I'm tired of doing this. I have all ways to put it to match the identical body of UV mapping. Why don't let Blender do it?
After unwrapping, it is random

It should auto-match correctly like this.

Hello, it's not clear what you mean, what should match what exactly?

I imagine he has two same meshes but the UV doesn't unwrap deterministically - probably the UV actually does unwrap deterministically, but is unstable and so some small change in the mesh makes a big change in uv unwrap.


text:
How to make 3d character into flat style
I'm doing art style. Would anyone know how to make 3D models flat to look like ancient Egyptian drawings? and maybe parent with Rigify. so the character can move and rotate while being flat.

By rotate do you mean rotate on an axis or rotate the joints?

Do you mean something like a toon shader?


text:
How to get rid of unwanted bone in Auto rig pro?
I use Auto Rig Pro, I select head rig from "add limb" rid of everything unnecessary bones for my character.

All but only eyes

then I click the match to rig

some of the rig  eyelid is still there cause my character doesn't have any eyelids and weird
muti-bones

Please add pictures or videos as an example.

Switch to Edit mode, select them and press X?


text:
How Many frames in 8 minutes for a video?
What are the correct final frames in 8 minutes for the video? I want precisely perfect timing. So I won't lose track of time.

Why is this question considered "opinion-based"? Is it about the "right" setting for the frame rate? Or is it a question of how many frames you get for an 8-minute rendered video? Is the video rendered at all or is it about video footage that is used for VFX? The question is unclear and ambiguous.

The number of frames for any time length depends on the frame rate.
The frame rate is the number of frames per second (FPS).
In Blender, the default frame rate is 24 FPS. You can change the frame rate on the Output Properties > Frame Rate setting.
You can do a bit of math and figure out the exact number of frames for any length of time by multiplying the frame rate by the number of seconds.
8 minutes = 480 seconds. 480 seconds times 24 frames per second = 11520 frames.
But if the frame rate is, for exemple, at 30 FPS, then it's gona be 480 x 30, which is 14400.
So before figuring out the total number of frames you have to know what frame rate your project is going to be set to.


text:
Is there a way to set the rig driver to switch between two models?
I'm a beginner.  I have two separate hand models. I  want to switch between these models using a rig driver so I can change between them whenever I want. Does everyone know the answer?
look at my picture

Please don't forget to demonstrate pictures, gifs, or upload blends files. to make it easy to understand.

i would also recommend to ask for self made video tutorials to make it even more easy to understand...!

The "correct" way would be to rig the hand with bones, save the desired poses in a Pose Library, and recall them as needed, but I show you a way to use your method because it can be useful in many others scenarios.
Create two empties, the sphere named "Switch" and the Cross named "Master".
Select the two models, shift select the switch and the Master (Master has to be last selected), press Ctrl P to make everything child of the Master empty.
Select the Switch and lock all its Transform channels except X Location.
In the Outliner window open the Filter menu and enable the "Disable in Viewport" icon.

Then Hover over the X location of Switch, right click and choose "Copy as new driver".
In the Outliner Hover over the "Disable in viewport" icon of the first model, right click and choose "Paste Driver".
Opend a  Driver window, select the new driver, change its behaviour from "Average values" to "Scripted Expression".
In the expression field write "location > 0".
Right click again on the Disable in Viewport icon and choose "Copy Driver".
Right click on the Disable in Render icon and choose "Paste Driver".
Repeat Everything on the second model, using the expression "Location < 0".

Now when the switch is at rest both models are enabled, moving it will cause the switch from one model to the other.
If the arm gets moved or animated set the Master Empty child of the arm.


text:
Change length of motion track marker trails?
I thought I had remembered there being an option to adjust the length (in frames) of the red and blue motion trails of the markers in the movie clip editor.  Does such an option exist?

Yes it does still exist somewhere in the menu top right hand menu.

Open the movie editor.
In 2.7x it is in the Marker Display panel.

In 2.8 you can find the Clip Display dropdown on the top right. Length is at the bottom left.


text:
How to create a Render Background with cartoon bean sunlight for composite
I want the cartoon sunlight in the background for a composite like this:
Please don't forget to demonstrate pictures, gifs, or upload blends files. to make it easy to understand.

...and you did try what...? ever checked out sun beams?

i recommend not writing that "Please don't forget to demonstrate pictures, gifs, or upload blends files. to make it easy to understand." because i think this is pretty outrageous ...and this might be the reason why you get seldom answers to your questions

Hello, is it for a still picture or for animation?

For a pictures.

You could stretch a Noise Texture on the surface of a cone or cylinder. For the white background you can mix your noise with a white color, with a gradient on Y as factor:

Result in camera view:


text:
Greases pencils Line Art Modifier- Scratched line Error
I use grease pencil line art. I want a neat outline. but I never want that to have scratched lines on its arms. How do I fix it?

If I turn off intersections, it is now a dashed line

Please don't forget to demonstrate pictures, gifs, or upload blends files. to make it easy to understand.

I am guessing there is a Z fight going on between duplicate arm meshes. Do the lines move around a lot when you orbit around the arm?

Thank you.  you have solved the problem.  I select a duplicate arm mesh to separate and then delete one mesh. now it has all gone

From comments: There is a Z fight going on between duplicate arm meshes. Do the lines move around a lot when you orbit around the arm? If so, find the duplicate mesh (either in the same object or separate), and delete it.


text:
image as planes show shiny in render mode error
In the render, my PNG image plane appears shiny and visible. I need light to brighten up, but I don't want to make my image plane shiny. Is there a way to get rid of this?

Lower the Metallic and the Specular value down to 0?

If you don't want any shadow you can directly plug the Image Texture into the Output node, or Image Texture > Emission > Output.


text:
Randomly reduce instances on Z axis
I am trying to randomly reduce instances placed on a grid in the Z-Axis.

This is an example for what I am looking for.
How can I achieve this using Geometry Nodes?
I'll attach my example file, which is pretty close to nothing.
https://we.tl/t-yQhdoDq4re

This task could be solved with the node Random Value:

Since your grid is not regularly structured in terms of the indices, you cannot use the indices for an evaluation.
Therefore I would work with the Z-position.
If you set the node Random Value to the option Boolean, it will generate $0$ or $1$ depending on the value for Probability with a certain probability.
As value for this Probability you use in your case simply the values of the Z-positions of your grid, and map them to a range of your choice. In this case your grid has a size range of $-1$ and $1$ on the Z-axis, so I use exactly this values in the node Map Range. You could also create this on automatically using the bounding box.

Hi Quellenform, thank you for the answer :-)
Is it possible to use the extract the remaining empty points?
I created two collections. One for the lower objects and one for the higher objects.
They should not share the same point.
I copied the script and fliped the map range. I thought with the same seed it should use the empty points which was not the case.
Do you have any ideas?

@Schmidtli Yes, of course, that is also possible. For this you would simply use the previously created selection to separate the points from each other with Separate Geometry and process them differently. Something like this: https://i.sstatic.net/vHdfc.jpg

Perfect! Thank you very much :-)


text:
Object Positioning is not updating in Rendered View
My object is properly aligned in the solid viewport so it does not collide with my floor but in my rendered view it is different. Half of my objects are colliding with the floor

since you didn't provide useful information - please provide blend file so we can check it out

It should be a displacement in material nodes.
Remove texture from displacement socket

I was thinking the same thing, but can't be sure without having a look at the file.


text:
How to get rid of the black line?
How to get rid of the black line?
I don't want to delete the scene but I need to get rid of the viewport line, its not an overlay I tried to toggle it off, it also cannot be clicked on

link to file
https://drive.google.com/file/d/1ZrleXoLNXuz6vINENgeDZrZpjcgWAiDJ/view?usp=sharing

Looks like a bugged view area. If you right-click the top of this "separator line" you get the area context menu. Unfortunately, there is no entry to join or close the area. To get rid of it, you could delete the Layout workspace and re-create it with the [+] button at the top right, then move the new workspace to the front with the context menu.

Hello and welcome. Please don't post the same question more than once. If your previous question was put on hold, address raised the issues by editing it so it can be reopened rather than post a new one, otherwise see What should I do if no one answers my question?

You have broken the interface somehow. You can make this.

File → New → General
File → Open
In open dialog, select file with broken UI and uncheck "Load UI"

File will load with default interface.

thanks it appears to work (load without UI), I got it broken from download already

@semperpi
Hello and welcome. This site is not a regular forum.  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:
I can't inset building's face correctly
I am trying to make a skyscraper building.
I made a floor for it.
When I try to build above, I used inset tool but it didn't what I expected.
this is what I expect (only outer edges inset)

this is what I got

Blender exchange file

I tried your solution but It still inset adjoint edges

It looks like where the inset splits, there are duplicate unconnected vertices. You can guess it also because the edges looks a bit thicker/darker there. Maybe there are even faces inbetween?

Gordon Brinkmann is right. You likely have duplicated vertices in the roof of your mesh. Enter Edit Mode on your mesh, make sure vertex select (1 key) is active, go into size view (Numpad 3 key) and activate wireframe mode (Z key). Now box select the whole top of your mesh, including the tops of the walls. Now select Mesh > Merge > Merge by Distance. This will remove any duplicate vertices and allow you to use the inset tool properly.

Hello Gordon and Copperplate, I tried your suggestions but it didn't work I guess or I did something wrong

I tried your suggestion and screen shot

Can you edit your original question and add the embed code to the file on Blend Exchange? Thanks

Okay, I added code to my question

Thanks, I will take a look at it now.

Thanks, I am looking forward

1080p video is now available on YouTube, but you'll still need to turn the volume way up, sorry about that. :-)

So in this case, the issue is not duplicated vertices, but rather disconnected faces. If you don't mind watching me ramble and make mistakes for nearly 38 minutes, I made a video for you showing how even fixing the issue of disconnected faces does not completely solve the issue with the inset tool you were having, because the corner faces will very quickly overlap each other and cause problems.
Basically you need to approach the modelling differently, as demonstrated in the video. There are many ways to do this. I showed a few ways in the video, but the best way (near the end of the video) in my opinion is just to extrude the perimeter walls up, extrude in, fix any edges that went the wrong way, then extrude up again. At the very least you might learn a few new things about Blender from watching me goof up in the video. PS. Sorry the audio is quite low, you'll probably have to turn the volume up. :-)
Also, YouTube is still processing the higher res videos, so you will have to check back in a little while to watch the full quality version (1440p): https://youtu.be/cci59mn9dcw


text:
How can I join the object?
I have tried Ctrl +  J but it doesn't work, how can I join this object? The objects are in different layers.

Well, some more information on what you tried would be helpful. In the screenshot for example it looks like the objects are not even selected. All objects that should be joined have to be selected, and one has to be the active object (brighter outline than the others) which will be the one the others are joined into.

@Gordon Brinkmann when I do join the object are selected together, in the screen not

@Lila That's what Chris means about lack of clarification... I do not know that you have selected them, it's not visible, you didn't describe it, you just said "I have tried Ctrl+J but it didn't work" - but since it usually should work I guess there must be something more to say about your trial which keeps it from working.

Oh I see, now that I have downloaded the file. In the screenshot there are three objects you said "join this object" - no idea which one you mean, but since two looked(!) like mesh objects, I suppose you mean those two. But the head is a mesh, and the bullet or whatever it is, is a curve - you cannot join meshes and curves together. They are two completely different kinds of objects. You could only convert the curve into a mesh and then join them, but in this case you cannot edit the curve the way you did before.

@Gordon Brinkmann the circle is the shape of the second object

As @GordonBrinkmann explained, you can't join objects together if they are of different types. So if you want to join a curve object into a mesh object: that isn't possible. You first need to convert that curve object into a mesh object via RMB > Convert To > Mesh

The object are different type, the head is a mesh and the other is a curve. I need to convert the other in a mesh. (like is say in the comment prevously)


text:
playback animation's performance is too slow
I would like to speed up the animation viewport. they are too slow it's very irritating I did low simplify. nothing works
What can I do to fix the slow performance?

please also add picture As an example.

The Line Art Modifier is quite resource-intensive. You could disable it for the viewport only:

Enable it in the viewport only when you need to tweak its values.
Disabling it increases my uncapped viewport frame rate from around ~35 to about ~250 fps.

You should also set your timeline's Playback Sync to Frame Dropping or Sync to Audio if you have an audio track to animate to. The default Play Every Frame is suited only for physics simulations.


text:
Help with auto pro rig symmetry weight paint problem
So I tried to mirror the right hand, but they didn't match up. I used the addon Easy Weights. I don't want to weight paint each finger of the right hand individually. How can I fix this?

please also add picture As an example.

I would check the Issues page on the addon's github page or see if you can contact their support system. We can't really help with addon-related issues, only built in Blender functionality.

Have a look at the documentation:

Mirroring only works when the object’s rest pose is perfectly
symmetrical across the X axis.

The problem is that your model is not perfectly symmetrical because the scale is non-uniform, negative and not applied. Before you do rigging and weight painting you should Ctrl+A Apply > Scale and Rotation.

To fix the symmetry

apply the Scale and Rotation to the hands, upper body, head, hair, etc.
because the scale on the hands was negative their faces are flipped now and you need to fix this, too. Go to Edit mode, select all (A), and do a Recalculate Outside (Shift+N)
the Thickness of the Solidify modifier that creates the outline depends on the model's size. You need to adjust it after you applied the scale. Try 0.03 m instead of the 0.15 m.
to fix the symmetry of the hands, apply the Location to set the origin to (0,0,0). Then delete the right hand (left side), and add & apply a Mirror modifier to recreate it - "perfectly symmetrical" ;-)

Now you can select the vertices of the right thumb (=target), select the vertex group c_thumb3.l (left thumb=source), and mirror the weights with the menu item Mirror Vertex Group of the vertex group drop-down menu. I haven't tried the Easy Weights add-on, but I'm confident that it will also work now.


text:
How to create a reflective diffraction grating with cycles?
I have been wondering how to create a diffraction grating material with cycles.
From the Wikipedia article:

In optics, a diffraction grating is an optical component with a periodic structure, which splits and diffracts light into several beams travelling in different directions. The directions of these beams depend on the spacing of the grating and the wavelength of the light so that the grating acts as the dispersive element.

Diffraction is what creates the colors on a compact disc.  I am interested mainly in reflective rather than transmissive diffraction, i.e. the light is diffracted on a bounce rather than as it passes through a material.  I have heard that cycles currently does not support true diffraction (though most of what I have read is from a while ago).  So I would be equally interested in some kind of node trick to achieve the effect if this is still not so.

Related: http://blender.stackexchange.com/q/1605/599. AFAIK this cannot be simulated in cycles accurately yet, but it can be convincingly faked in many ways.

@gandalf3 thanks a lot!  A convincing fake sounds good to me, so if you could explain a couple of those many ways as an answer it would be nice :).  As for the linked question, the first answer is almost what I am looking for.  I am thinking of something that is mostly plain glossy but at certain angles reflects only certain wavelengths (i.e. colors).  I will see if I can get a picture, so far my camera is not doing such a great job.

You could try a setup like this:

It's probably not physically accurate at all, but with a bit of work you can make a pretty decent looking effect.


text:
How can I bypass a node?
Sometimes when working with nodes it is useful to see what my setup looks like without a certain node.  I know I can delete a node without breaking the chain with Ctrl+X and then undo with Ctrl+Z, but that is kind of cumbersome.
Is there a way to easily bypass a node like this, connecting the inputs to outputs like Ctrl+X does, only without deleting it?

This is called Muting a node.  You can mute or unmute a node by selecting it and pressing M.  Muting a node will connect the inputs directly to the outputs according to datatype in the same way as Delete With Reconnect (Ctrl+X).

When muted the header of a node will turn red and it will display red wires showing which inputs are connected to which outputs.

This may not work only in one case - Math node. If it's connected and even muted, it won't add any operations, but still will continue converting color data.

@MrZak I don't experience that.  To test it I plugged a colored texture into a math node and the math node into a color socket.  When unmuted the output is B/W (obviously), but when I mute the math node the output is colored.

Seems like it was fixed in latest versions. In 2.75 you would face that which I remember because someday I've lost several hours to understand why the texture isn't colored.


text:
Is there a way to enter the absolute (not relative) value of a transformation?
When I press G, R, or S and enter a number, Blender will move, rotate, or scale the selection relative to its local value.  Is there a way to press, say R > 4 > 5, and then some other key to have it set the absolute rotation to 45° instead of incrementing it by 45°?  I know how to go into the object properties or right hand toolbar and set the position, rotation, and scaling there, I am wondering if there is a keyboard way to do it (as there is for most everything in Blender).

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

There probably is, but I'm not aware of it. I only know of the methods you mentioned.

AFAIK there isn't currently a way to do this. But if you can think of some good use-cases, then maybe someone will implement it ;)

Blender is painting/animation oriented. 3D artists don't use electronic drawing boards and T-squares, location/size are approximate. Users searching for a free CAD software to replace (AutoCAD, 3DS, Maya, name-it) are indeed disappointed by the difficulty to reproduce elementary CAD features like absolute move. For those in this case, there are interesting free projects filling this technical need. They are built over different 3D engines (e.g. Cascade) supporting engineering purposes.

Not entirely the answer you're looking for, but at least for some cases it works nicely to do one or more of the following:

Object > Clear > Location Alt+G
Object > Clear > Rotation Alt+R
Object > Clear > Scale Alt+S

And after that make the transform and input the desired value.
Also, it's important to mention that after pressing move G, rotateR or scale S, you can define:

global axis by pressing X,Y or Z
local axis by pressing XX, YY or ZZ.

Or this method.

In the special case where you wish transform a set of selected vertices at any varying Z's to a planer absolute Z, use keystrokes (in edit mode) "S Z 0" (Scale, Z-Axis, 0). I offer the following add-on to align a set of vertices on the 0-Z build plate for 3D printing (with one keystroke):
bl_info = {
"name": "Move To ZOrigin",
"author": "Ropodiak",
"category": "Mesh"
}

import bpy
import bmesh

class MeshMoveToZOrigin(bpy.types.Operator):
"""Mesh Move To ZOrigin"""
bl_idname = "mesh.move_zorigin"
bl_label = "Move To ZOrigin"
bl_options = {'REGISTER', 'UNDO'}

def execute(self, context):

    # Get the active mesh
    obj = bpy.context.edit_object
    me = obj.data

    # Get a BMesh representation
    bm = bmesh.from_edit_mesh(me)

    bm.faces.active = None

    for v in bm.verts:
        if v.select:
            # Zero the z coordinate to place this part of the object on the stage
            v.co.z = 0.0

            # Show the updates in the viewport
            # and recalculate n-gon tessellation.
            bmesh.update_edit_mesh(me, True)

    return {'FINISHED'}

def menu_func(self, context):
    self.layout.operator(MeshMoveToZOrigin.bl_idname, text="Move To ZOrigin")

def register():
  bpy.utils.register_class(MeshMoveToZOrigin)
  bpy.types.VIEW3D_MT_edit_mesh.append(menu_func)

def unregister():
bpy.utils.unregister_class(MeshMoveToZOrigin)
bpy.types.VIEW3D_MT_edit_mesh.remove(menu_func)

if __name__ == "__main__":
register()

Of course it is possible. Setting or getting absolute position, rotation and scale is really basic. Press N to get the toolbar in the right side of the screen, between the 3D view and the properties bar (in the default layout). In the Transform toolset, you get Location, Rotation, Scale and Dimensions, which are actually the absolute values.

As I said in my original post: "I know how to go into the object properties or right hand toolbar and set the position, rotation, and scaling there, I am wondering if there is a keyboard way to do it".

A method would be that you first reset or apply the Position, Rotation or scale and then set it with the value you need.
For example if you have an object rotated by 15° but you want it 45°
do the following:
To reset rotation press
Ctrl+a Applies the previous rotation
or
Alt+r Reset the rotation to 0
then
r 4 5
to set the new rotation.
That is what is needed to set the absolute value as you asked.
Of course it works for the position, and scale too, you just need to change the key from r to g or s respectively.
None of the previous combination of Alt + some key work if you have already applied the transformation you need to reset by using the function achievable by pressing Ctrl+a menu.
What follows is a bit off topic but it might also help:
Alternatively it is possible to use just a relative value calculated as 45-15=30 and insert this result after pressing r.
The resulting angle will be the same in both solutions.
You may want to know that it is also possible to make Blender it self perform some calculations directly inserting the calculation to perform directly into the target field instead of calculating them by hands or by an external calculator.
More or less all numerical fields (and in particular position, rotation, scale) allow calculations.
Of course you must be careful with sign + or - when performing calculation using directly Blender fields, as elsewhere as well.
One more thing to remember: rotations and translations happen perpendicular to the current view (the direction you are looking the draw from). In other words if you are looking at the draw from above the rotation is performed by default around the z axis while you can grab and translate an object along the x as well the y axis.
The aftermath are that if you are looking at the draw from a random direction that doesn't match to an axis the rotations and the translations will be executed relative to that custom view unless you lock the axis you need to use as "pivot" or as "direction"

Select the object then go to Properties (usualy the right sidebar) -> Object (little yellow cube). There's Transform, which are absolute values for the object. If you enter Y: 45° it will be rotated 45° as an absolute value. I don't know of a shortcut for this.

The OP already said they knew how to go into the properties to do this.

@RayMairlot I know what it means, but what does OP stand for?

@PGmath 'Original Poster'

Sorry I overlooked that.

This was what I was looking for. Thanks!


text:
How can you change the curve resolution of hair particles?
How can I change the curve resolution of hair particles?  It seems that by default, hair consists of 4 segments.  Which is fine most of the time, but for long hair this does not work at all, as in this picture.

The segments spinner at the very top of the particle settings does not accomplish this, contrary to what one would think from the name and tooltip: "Number of Hair Segments".

Maybe a bug. I think that used to work.

I found the same issue, I hope someone has a solution to this

There are three different settings which control this:

3D view > Particle edit mode > Tool shelf > Options > Draw. This setting affects the curve resolution in the 3D view only while in particle edit mode.

Properties > Particle settings > Render > Steps This setting controls the number of steps in the final render.

Properties > Particle settings > Display > Color This setting controls the number of steps in the viewport, outside of particle edit mode.

The Segments setting at the top of the particle settings controls the number of control vertices there are, however doesn't affect the number of interpolation steps. Think of this like scaling an image up with Nearest interpolation; you end up with more pixels, but the result is not smoothed.

You should also check the influence of the Children settings in the Kink section are different types of periodic offset to choose from:
Increase the frequency slider (number of waves) and adjust the amplitude (strength of waves)

Cycles hair rendering


text:
How to make Halftones Render Composite in Blender?
Does everybody know how to do only halftone composites? I want a dotted style below this picture, and I don't want anything with the material mesh.

Please add pictures or videos as an example.

No idea how to do that with Compositor nodes, but you can do that with shader nodes.
The idea would be to first pixelate the image by rounding UV coordinates:

Here I just repeat the same for U and V(or should I say X and Y?..):

So rounding is a bit funny in Blender for some reason and you can only round to integers so that's why all the trouble with first multiplying and then dividing the coordinates by some number while rounding in between. The add node just adds an offset so the image edge doesn't end up in the middle of a pixel.
OK, so pixelated:

Then I need voronoi texture with 0 randomization so I have a radial  gradient for every single pixel. The math is just to figure out the correct scale for specific amount of pixels and I also have a math power node at the end to control the brightness/dot size:

Alone the voronoi texture should look like that:

Just tiny radial gradiants:

And now I need to mix those gradiants with the image pixel values with math nodes in Greater Than mode:

The problem is - I want to do that for each channel and also offset each channel as well, so let's do that 3 times:

Oh, yeah, that should probably be CMYK :D, not RGB. :D :D :D Anyway, the idea is the same. And by "I don't want anything with the material mesh." you did probably mean you don't want a MATERIAL NODES solution which I did not understand and ignored... Anyway, I don't think it's going to be easy in Compositor nodes. I guess you could prerender the radial gradient and do the same...


text:
Is there any help with the deforming weight error rig?
How do I fix this error? I had a deforming weight error rig problem.
I made the painting weight and then symmetry both arms.

then The derform looks terrible when it's in pose mode.

how do I solve this problem? please make sure to add a picture or video As an example.

The parenting with Automatic Weights didn't work correctly because your faces were inverted (image), to fix that go in Edit mode, select all and recalculate the normals (ShiftN):


text:
Parenting issue, how can I keep objects connected without changing origin?
So I parented a smaller plant to my main one. My issue is that since the origin point of my biggest plant is at the bottom, my smaller plant doesn't stay attached to my main one. It follows the path but isn't staying attached to my plant. Is there a way that I can fix this without changing my origin points? Here's a video of the issue ;
https://vimeo.com/761921403

You can use specific verts as parent of an object, so the child will follow those verts location, not the origin. https://docs.blender.org/manual/en/2.79/editors/3dview/object/properties/relations/parents.html#vertex-parent

@FFeller thank you so much! I'll look into it


text:
The import time is increasing gradually over time while trying to automate a rendering process
My goal is to optimize a synthetic dataset program that imports N-number of .glb files, places them randomly, and fixates a camera on the center of all these objects (so it can render an image of everything); this is done for M-number of desired renderings. Basically creating a collection of 2D pictures with random assortments of my objects.
I have the bulk of this figured out. When I run the program it starts by importing the N-number of .glb files in under a second and renders a picture, but then starts to import them at about 2-3 seconds each and renders a picture, then 8-10 seconds and renders a picture, etc. It doesn't take long before it's importing a single file at 30-60+ second speeds.
The render speeds are fine though, they happen fairly quickly; it's just the .glb import speeds. Maybe it is the rendering that is somehow slowing everything down over time; I don't know for sure. Could be anything.
I don't know why this is, or what could be causing it. I couldn't really find anything on the internet about this exact problem. Maybe this is a memory issue and I should be freeing more memory (my RAM usage isn't really increasing though)? Honestly open to (and would appreciate) any suggestions.
Thank you in advance for any help!

Generally all operators slow down as the number of things in the scene increases. See if this does anything.

The problem lies in the way Blender handles orphan data. Try removing a material from an object and adding another one to it. In the dropdown you will see at least one material with a 0 in front of it. That means 0 users (oprhan). However the material still exists and will only be deleted once you close Blender. Therefore importing and deleting objects will clutter your RAM and the time Blender takes to sort things out.
The correct solution is: Run Blender from the commandline, starting a new instance everytime you want to render. something like:
blender.exe my.blend --python myScript.py -- path_to_glb render_image_name

everything after the last " -- " (spaces are important) will be ignored by Blender, but can be read via sys.argv
More about sys args in Blender:
How to pass command line arguments to a Blender Python script?
all built-in commandline args:
https://docs.blender.org/manual/en/latest/advanced/command_line/arguments.html


text:
How do I create a procedural "fill-up"/ "Progress-Bar" shader?
I am an avid software engineer, but new to Blender. I am trying to create an ammo clip for a video game. It is inspired by the Mass Effect "Thermal Clip", and I have a reference fan image I'm using for some baselines.
How would I create a "progress bar" shader for the red bars, where I can set something like 10% and 1 bar lights up (assuming there are 10 bars. The image has 12... so in that case if I set 8.3% one bar lights up). Any references would be great.
I am a very new to blender, so even keywords to google would be helpful.
I asked two questions before this one. Reviewing them may give some context.
How to create grooves with texture
How do I create geometry/ textures for procedural shading?

Making a material in Blender is not going to be the same as making your material in your video game engine.  Are you sure you don't want to be asking somewhere focused on your game engine instead?

@Nathan, I'll definitely need to figure out how to convert a Blender material into a Unity material, but first I need to figure out how to make this effect in Blender. Then, if no conversion exists, I will make the material in Unity.

@Chris, Yes! Yes it does. :)

You won't do yourself any favor if you get it right in Blender, only to never use it in Blender. Converting materials is all but trivial and in a simple case like this I would just do it (twice) manually. Or is your idea trouble-shooting in Blender and then transforming that to the Unity Shader Nodes?


text:
How to change the snapping increment in different units?
I would like to know how to change the increments used for snapping transforms.  This would be useful in a number of situations but my problem now is that when I change the units it does not scale the snapping increments to match.  So when holding down ctrl the cube snaps from here:

To here:

I would like it to snap to the 1 foot grid, or possibly any other amount I find useful.  It would also be nice to be able to change the rotation snap as well.

As of the latest release, the 2.73 release candidate, it seems that when the scene units are set to imperial it will snap by feet instead of blender units at all times (when Ctrl is pressed).  This holds true even in perspective view mode.
But it seems to still be impossible to change the snapping increment to a custom value.

this is still the case as of 3.3.0. there doesn't seem to be a way to define the increment, no matter the units you're using or the unit scale.

If you hold ⇧ Shift while snapping, then it will snap in smaller increments:

Or if you view from an aligned view such as top ortho (Numpad 7), the snapping increments will be equal to the grid subdivisions (which change with zoom level):

Thanks for the answer gamdalf3.  So I gather it is impossible to manually change the snap amount to some arbitrary useful amount?  And likewise for the rotation snap?

@PGmath Not that I know of.. But you can specify the amount to rotate/translate numerically, e.g. G+Z+= 6" will translate the object 6 inches up on the Z axis.

Can we conclude that holding shift+ctrl+ snaps to a tenth of the ctrl+ snap?

@TavernSenses That seems to be how it works, yes. I haven't looked at the internals to be sure though.

Snapping will use the resolution of the displayed grid, so you have to change the scale of that.
You can do that in the Properties Shelf (press N). Open Display rollout and change the scale of the grid. (For example if you use Metric system, type 0.01 and Blender will snap things to centimeters).

So 0.001 will snap to things to millimeters. No, it doesn't. In fact, the display scale appears to have no influence on snapping whatsoever.

Create a Snap Template made of vertices according to the desired offset in a separate Mesh object, then snap to those with snapping mode set to Vertex.
I would also make one that is spaced one unit apart.
Then for quick edits to this, you could scale it.
If I needed 1/8 I could scale the template down by that factor and use it at those increments, then I could reset it by scaling it back up 8 times.

You can change the scene units, in the properties window. By default blender is in blender units which is the same as meters, but if you change it to Imperial grid snapping will snap to the new imperial grid only if you are in one of the views front, top, left, ect.

Blender snaps to the displayed grid. Changing the scale of the displayed grid is answered at this other answer. The method of doing so changed around blender version 2.7,

Turn on "absolute grid snapping" then go to Scene > Units and adjust the "Unit scale" property. Higher values will make the increments smaller.


text:
VSE: Can I move an audio track in smaller increments than one frame?
I am using Blender to mix the video from my camera with the audio from my external recording setup.  It works great mostly and I am very pleased with it.  But the problem is that I can't start the audio recorder an even number of thirtieths of a second from when I started the camera.  And Blender seems to only let me move the audio track in the VSE by whole frames (1/30 of a second).
Here are a couple screenshots:

The track on top is the external audio and the one on the bottom is the camera's audio.  Between the two screenshots I have only moved the audio track by one frame.  But as you can see, I need to move it by about 1/2 frame to line up the audio properly with the video.
So can I move a track in the VSE by fractions of a frame?

I have a sophisticating solution for this problem as I faced it as well. The quick answer is: No, in Blender you can't align your audio more accurate, you'd need an external program like Audacity for this. But usually my method to match two audio files playing back in sync works quite well.

Here is a proposal on Right-Click Select. Put your vote there so we may have a solution in the future. https://blender.community/c/rightclickselect/4Fgbbc/

Blenders VSE aligns clips to the frame, I don't know of any plans to change this.
I would suggest adjusting the audio clip in Audacity or other audio editing program where you can move the audio the desired amount from the start of the audio file.

I was afraid of that, the problem is I often have large amounts of audio and video to mix.

Had the same problem before. Maybe using a Custom Frame Rate with a higher FPS and a corresponding Framerate Base while fiddeling with the time remapping helps? Couldn't get it working on demand though... For me (handling only "speech footage") it never was too much of an issue though as in the end only one audio track mixed down in Audacity was used...

For me it would be obvious to have that option to turn of frame snapping or something like that. It is really necessary for professional editing. Is there a development goal to solve this problem? Is there a platform to "vote" for this feature?

@Prag you could add your suggestion to rightclickselect, not sure if anyone is interested in making blender suitable for professional video editing.

@sambler Thanks. Do you think it is hard to implement that feature?

@Prag I'm not familiar with the code used so don't know what would be involved.  The code for the sequencer doesn't appear to be too large.

I'm using Blender 3.0. I found that in the "Time" section of the clip properties an adjustment can be made. I aligned the audio as close as I could then I adjusted the start offset and it seemed to do the trick for me. I use up to 6 audio tracks to align/synch all the video tracks in music videos. This worked for me. If the "echo" is gone it is in synch.

This worked for me, but on Blender 4.0.2 (4.0.2 2023-12-05) it's under the "Time" section of the clip properties and I used "Strip Offset". Clicking the little arrows, it still moved by frames. But when I click on the time, I can put in fractions of a frame (e.g. 0.175). Tweaking that made it work for me. I don't fully understand what this is doing, but it made the echo go away and the audio matches the video.

@seth127 in 4.2.2 this does not work unfortunately, fractions are rounded to integer values after pressing enter :(


text:
What does the "unused" output on the Vector Math node do?
The Vector Math node has two output sockets, Vector (vector type) and Value (scalar type).

Most of the vector operations (Normalize, Cross Product, Average, Subtract, and Add) result in vectors, what does the Value socket output when one of these operations is selected?  Likewise, what does the Vector socket output when Dot Product (which results in a scalar) is selected?

Surely you have your answer here with this one ? http://blender.stackexchange.com/questions/62309/does-the-vector-math-normalize-operation-use-the-second-input

@lemon  Ummmm... no...  There I am asking if a specific function of the VM node uses both inputs, here I am asking what the outputs give when any function is selected.

The answer can be found in the source which isn't hard to follow.
For add and subtract the Value output is the average of the absolute vector values. That is:
$$
\text{value} = \frac{\left\vert v_x\right\vert + \left\vert v_y\right\vert + \left\vert v_z\right\vert}{3}
$$
For average, cross product and normalize it is the length of the vector output.
For dot product the vector output is set to zero.


text:
Is there a way to determine if a ray is coming from a volume?
I am trying to create a light that only illuminates volume scatters.
The input > light path node has "is X ray" outputs for all the various types of rays coming off a surface.  However I'd like something like an is volume ray output to tell if a ray is coming from a volume.  Is this possible?

Unfortunately I don't think it's possible atm.. :/

This is a great question, and although an "Is Volume Ray" feature would be very handy, I'm wondering - could you use the "Is X Ray" output to determine that it is not a surface output (and therefor presumably a volume output) as a solution for your particular use case?

Okay I am not sure about using some sort of 'Is Volume Ray' value to make a light source only illuminate a volume, but if you simply want a lamp/meshlight to only illuminate a volume scatter material, in the ray visibility settings of that light, you can leave only the 'Volume Scatter' ticked and the rest unticked:

Keep in mind that the light source may still end up illuminating the scene due to multiple volume bounces and the density of the volume.
Here is a simple scene with a point lamp directly above suzanne with a volume scatter material and a maximum of 32 volume bounces. The ray visibility is of the lamp directly above suzanne.

Here is the same scene except with only the 'Volume Scatter' ticked for the point lamp.

Here is the same scene with only 8 volume bounces. You can see how there is more light exiting suzanne with 32 volume bounces than with 8, though it is a very small difference.


text:
Emulate non-number numpad keys?
On my tablet I don't have a numpad, so I have enabled Emulate Numpad in the user preferences.  This allows the normal keyboard numbers to perform the functions their respective numpad number buttons would normally do.
However, this only emulates the numpad numbers, not the other buttons it has such as . (center view on selected) or / (local view).  Is there any way I can emulate these (and all the other numpad keys) if I don't have a numpad?

When Emulate Numpad enabled it's possible to use Back Slash button as Numpad / for Local View. However this doesn't seem to work for period button etc.

You could enable pie-menus and use the Q-Key (if possible). For local view there is a sub menu called More.

As mentioned the \ is already set for local view, the = (+ without shift) and - are also set to replace the numpad +/- (for zoom in/out). For others you most likely want to setup some custom keys.
In the Input preferences you can search for key-bindings containing numpad and then adjust the ones you want to use by clicking the key display and choosing another key. The issue is finding a key that isn't used or that you don't make use of, then save your settings so they are always available.

You may find that the [ or ] can be used as they are shortcuts to brush size when sculpting/painting where F is more well known. Also 2,4,6,8 and 9 are less used by many people.

I did not know you could search by key bindings and I didn't know what the actual command name was (View Selected) so I couldn't find it on the list.  Thanks!


text:
BGE: Can I automatically switch to material view on run?
I've recently been experimenting with the game engine and coming from exclusively using cycles there are a few things that I am trying to get used to.  The most annoying of which I find is that when I run the game it uses the same shading as the viewport.  This doesn't make sense to me since I am used to rendering being totally independent of viewport settings.
So, as I usually use solid shading in the viewport, if I want to see my materials I have to remember to switch to material viewport shading mode before hitting P.  Is there a way to have it automatically switch the shading mode to material when I run the game and back to solid (or whatever else it was) when I Esc. out?

This might be a precautionary measure - a deliberate limitation to make sure that if material viewport shading is causing a crash for some reason, that the instant you go to into the BGE you won't be put into a shading mode that will crash for you immediately. I don't know much about the BGE (yet) but I believe it could be like Cycles viewport shading in that when you load your saved .blend viewport shading is always disabled, even if it was enabled when you saved the file. Just my theory.

You complain that that output of the BGE looks the same as the 3D view in Blender? The funniest thing I ever heard. Usually we got complains if the output does not match. --- No I do not think there is an option that automatically switches the display method. You might write you own little Python script that switches the method and starts the game. Then redirect  to your script.

@Monster  Well, I am used to Cycles where in the viewport I can use solid shading to make it faster and less cluttered; but when I render it uses the actual materials assigned to the objects.  But in the BGE I equate running the game with rendering in Cycles, so I am surprised when running the game uses the viewport shading.  I'll see what I can do with a script, though my Python is pretty rusty.

Please keep in mind, if the scene is slow in viewport, it will be slow in the game as well. I can't help on that script as I usually do not do Blender Python.

You could split the Start/Stop keys into separate press/release actions... So P engages Material Shading then starts the game; and Escape stops the game then (re)engages Solid Shading.
The devil's in the detail of course, ie. typing exactly the right stuff into User Preferences » Input » 3dView » Object Mode P to start the game engine need only be changed from Press to Release, but the two compound shading actions are best done with two new entries.
Put wm.context_set_enum and space_data.viewport_shade in the first two boxes of both; then, to engage Material Shading with the first new entry, set the Value to MATERIAL and assign key P as Press; and to (re)engage Solid Shading with the second new entry, set the Value to SOLID and assign key Escape as Release.
I tested this out & it works nicely but it's still a good idea to backup your hidden User Preferences file so you can reinstate it if things get messed up). Several blender.stackexchange threads cover this.
Also note that a key's standalone release action will be triggered if a combining modifier (Ctrl / Shift / Alt) is released first.
So modifiers need to 'lag' and be the last key up. Unless the modifier is an adapted normal key, in which case clean key release may require 'cover' from an invoked on-screen dialogue.


text:
How to non-destructively solidify only certain faces?
Sometimes I would like to solidify only certain parts of a mesh.  I know I can use the solidify under the faces (Ctrl+F) menu, but often I would like to do it in a non-destructive manner using the solidify modifier.
The solidify modifier does have an option to solidify only a particular vertex group.  However when I use this option it solidifies (i.e. duplicates) the entire mesh, but only moves out the vertices which are in the vertex group leaving the areas not in the vertex group with double overlapping geometry.  This results in a giant hideous z-fighting mess, as shown below.

So can I have the solidify modifier apply only to the vertex group and not create this mess?

Is the goal similar to dynamic paint or displacement by texture?

Try enabling Only Rim in the modifier

Add a Weld modifier after Solidify modifier.

There are really two ways of handling this issue.
1) As Denis suggested in the comments, check Only Rim. This won't give you thickness, but will just displace the faces in the vertex group.
2) Offset the Factor a small amount:

The suggestion to use the weld modifier after the solidify modifier might be better since it actually removes the unnecessary geometry which will be way better for performance. If things are welding where you don't want them to experiment the weld modifier's settings and see how it works.