text:
Remove Parts of a Flat Plane
I'm trying to start my model with a basic flat plane to represent a floor.  It isn't a square room, there are alcoves and other things that make the room irregular.  I've been trying to work out how to create such a shape in Blender and nothing I'm searching online comes even close to showing me how to perform what really ought to be a pretty basic task.  Here is a sketch of what I'm trying to draw.

The measurements are there because I need it to be fairly accurate as it's based on a real room where I need to place furniture etc.
I've started by creating a 2743x3625 plane in Blender, and I want to remove the two cutouts, one in the top-left, and the other skinny one on the left side wall.  I thought I could do this by creating two more planes of the appropriate sizes, positioning them and using the Boolean tool to subtract them from the main shape.  This doesn't seem to work however, even if I extrude them to 3D shapes and try that way.
I've also tried adding loop cuts, but I can't manipulate those accurately enough.  If I try to set a position, it does so relative to the middle of the plane where it starts.  Am I stuck with this method?
Is there some other/better way of doing this?  Ideally this shape would be a single plane, not a bunch of planes grafted together, but I don't know if this is possible like it is in other modellers.  Any help will be greatly appreciated... I'm pulling my hair out.
(Blender 2.79)

try to use knife cut with contraint angle on

Boolean opeartions won't work on flat planes due to precision errors as planes are infinitely thin and Boolean requires some volume. Subtracting cubes should work, though cubes ideally shouldn't stay on the same level (Z coordinate by default). Easiest way is to create a huge plane, enter Edit mode and with Knife tool cut some lines in it

I'm trying this now, but I have no control over how long the cut is.  Ideally I could snap it to an edge of an intersecting face (like the 3D boxes I made for the Boolean modifier) so I could use that as a guide.

No I write my measurements down in millimetres, but I either enter them as metres in Blender, or I specify the units as mm when I enter the values, which also works.

Thank you so much for those links @cegaton.  Even though I've managed to do what I need, that method to use the extrude function at a vertex is precisely what I was looking for.  I'm glad it does exist in Blender, even if it wasn't where I expected to find it.

Ok I came up with the solution by myself, based on new info provided about Boolean modifiers not working on flat planes in answers to my OP.  Instead of trying to model a 2D shape and then extrude it to a 3D shape later, it occurred to me that I should just create the 3D shape in its entirety and then use the Boolean modifier as it's intended to cut out the alcoves from the room.  I created cubes in the dimensions of each alcove, then used snapping to position them relative to the appropriate corner (a fiddly process), then apply the operator.  This has achieved exactly what I wanted.

I guess that if I still wanted a 2D shape then I could have still modelled it as above, then deleted the edges/faces that make it 3D, leaving a flat face in the shape I wanted.


text:
Subdivision Modifier Inconsistency (2.8 stable)
I'm trying to create coving/cornices and some skirting boards for a room I'm making.  I've created the initial mesh by making a 2D profile and using the extrude and shear tools to follow the edge of the room.  I've spent some time cleaning up duplicate vertices and edges, as well as deleting internal faces, but when I apply a subdivision modifier to the mesh, one corner of it appears as expected, but the other three average out and cut the corner like the images below.

At first I thought it might be because I need to add a loop cut to both sides of each corner, but this hasn't been done on that corner, yet it works fine.
I'm fairly new to Blender, so I'm bound to have done something wrong somewhere here.  I'm pretty sure I've cleared up all the duplicate geometry, and I can't see any additional vertices in the working corner (EDIT:  I've double checked this by vertex selecting the working corner and comparing the number with a not-working corner, they're the same).  Any ideas?
Another edit:
I think I've found the problem, but I have no clue how it happened.
In face select mode, I noticed what appeared to be edges that have the centre dot you see on faces.

Selecting these and deleting faces doesn't break the mesh, but I have no clue how that happened.
Additional note:  Deleted those faces and attempted to apply the subsurf again, but the same problem occurs, so I'm still at a loss on this one.

It could be that you have duplicate vertices at one edge loop. You can remove them, if they exist, by going to edit mode and then in the Vertex menu Vertex > Merge Vertices > By Distance.

I did go through and do this when I created the mesh.  There were a lot of duplicates, but not anymore.

You can see in your second new screenshot that you have tiny faces on the inner side. You likely extruded or inserted an edge loop and gave it a bit of an offset enough that merge by distance didn't remove it.

It turned out to be a combination of the two actually rjg.
I found those tiny faces and deleted those just now, but that didn't make any difference.  When I selected vertices again on that corner, there were now twice the number as the other three, so I merged those and now it works as expected.

After some playing around I've found the problem.
With face select mode enabled, I noticed that each edge had what appeared to be a face on it, shown by the centre dot markers normally seen in face select mode

Deleting those faces alone didn't make much difference, but with vertex select mode back on, I found that there were now twice the number of vertices than the other corners.  Merging those together with Vertex > Merge Vertices > By Distance solved the issue.
The mesh looks wierd on all four corners now, but that's expected and now I can fix it the normal way.

It does look like you need control cuts on the corners

What happens if you do this?

Yeah I figured that would be the case, but my confusion came from the fact that the corner on the left was sharp even without control cuts.  I sorted that (as per my answer above) and created the cuts on each corner after.  All looking good now :)

source: Stack Exchange

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

sort: votes


text:
How to hollow a filled curve?
I have the following curve (imported from an svg object):

and I want to extract the borders of it and ignore the faces.
I've tried converting it to mesh and deleting the faces in edit mode but that would delete the whole object.
Is it possible to hollow that object ? (It's possible to draw some beziers and match it to current curve's borders , but it seems too time-consuming for a complicated object).
Thanks.

Hi, when you convert to mesh and then X > delete only faces, the edges should remain.

@Fowl Hi. OK. Works.But that leaves the vertices unconnected .How can I re-connect them without filling the object again?

You clicked on the only edges and faces or only faces? When I convert tis shape to mesh select all and then delete only faces, you get verteces and eges left.

just select the border and duplicate

Convert object to mesh > edit mode-edges > ALT + double click on the border to select all > shift+D to duplicate > P-separate by selection. You have the border without insides.

Important : Selection mode should be set to "Edge select" in edit mode.

You can change fill mode of the curve object. In curve properties go to Shape and change Fill Mode to None.

After this, you may also need to change the Mean Radius to zero, in the Transform menu.

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


text:
Stencil texture mapping doesn't match object
i want to paint a wooden texture on an object using stencil brush.
that object formed from a cube, using boolean and bevel modifiers - that i apply them to my cube, and now i have this 3D object:

i use smart unwarp for unwarping, but my texture doesn't match correctly on my object! in viewport it looks like this:

but in render result, it exports like this:

i thought it's for complex object, but i had same problem with texturing a single cube!
can anyone help me? :)

What does your shader node tree look like - are you connecting a texture mapping node to the image texture node that is feeding into your shader, and is it using the UV mapping as coordinate?

@CraigDJones my nodes are look like this: https://imgurl.ir/uploads/f522624_.jpg

Try changing to 'Flat' mapping instead of 'Tube' in your Texture node - if your UV map is as it shows there in the screenshot, then you should be using flat mapping and not box or sphere, tube etc.

@CraigDJones Thank you! it works nice :)


text:
Co-dependence of parenting help
I'm still new to Blender.
When I try to make a human's spine helper on my skeleton, I use multiple helpers, they take helper1 plus helper 2 to take the rotation of the bone.
On Maya I know that I could solve it easily by just making the bone boing parented to the helper, but I think Blender doesn't let me change de hierarchy of the skeleton this way.
I've tried to changing parenting, using many types of constrain, but the result is always the same.
Any idea about how to create helpers on the spine?

Hard to tell cause you don't give us so much info. What does "com" and "sem" mean ? As far as I know, in Blender you don't often use "helpers" (=Empties?)  to control a rig. Instead, you use specific Bones (you can assign them any look you want (in Bone Properties/Viewport display) so that may be confusing. Those bones are part of the armature, so that solve a lot of dependence problems.

"Com" e "Sem" means "With" and "Without" in Portuguese. In stack exchange mandatory language for all posts is English. Please avoid text inside images because it can't be indexed, searched for or fixed in case of mistakes.


text:
Why does adding a subsurf modifier cause this large flat face to deform?
I'm very new to blender so this might be an easy fix, but I have a little problem with the model of my guitar. Here's what I'm working with right now:

But when I add the subdivision surface modifier, the tops go crazy, the big flat faces are not completely flat any more, and there's something wrong with the top and bottom of that carved out part... I would also like to make the edge of that less sharp but I haven't found a good way yet.

For reference, here's a picture of the guitar I'm trying to recreate:

What would you suggest to improve my model? Thanks for the help!

Subsurf works best with quads, and doesn't like ngons (faces with more than 4 vertices).

Hello and welcome :). There seem to be more problems present, as others pointed out. You can share your .blend file so others can take a closer look at the model.

Thanks everyone! I now know that i should stick to four points as much as possible and I fixed it! I tried to make a grid on the huge faces and I got rid of as many triangles as possible and I'm very happy with the result :)

Now onto the rest of the guitar!

Good one. Just restrung my strat.... I wish, strat copy.

Subdivision-surface work best with quads. Triangles and ngons causes artifacts. Checkout this answer. Generally, use quads if you plan on using subdiv.
For example, you can probably form quads in the main body face of your guitar. And if you were planning to use subdiv, you could start off with fewer geometry to form the silhouette. Advice at this point is to look for tutorials on 3D modelling.

You need to get rid of the N-gons(the triangles) in your topology, you can do this by adding an edge loop around where the triangles are, so something that goes over this area. If you can't add an edge loop that'll go over all of them try to get an even number of triangles there, that way it won't mess up your topology.


text:
Vertexes, edges and faces not lighting up when selecting
I am new to blender.
I am following the chair tutorial from the blender Guru. Only my vertices, edges and faces are not lighting up anymore when selected. So I cant see what I am selecting. Selecting it self works though cause I can perform fill oparations to make faces between vertices.
I think the file should be possible to access with link below.

Firstly you should add an image of your screen into your question. In Blender go to Window > Save Screenshot and save the image to, for instance, your desktop. Then edit your question here and you can insert that image using the image icon at the top of the editor or simply dragging and dropping it from your desktop into the editor. To upload your Blend file, follow the instructions here exactly.

Thanks! The picture and file should be available now.

You have turned off the Viewport Overlays, as you can see in your screenshot. Have a look at the top right corner of the viewport. There is an icon with two circles, one is filled. The overlays display the axis, the floor grid, the name of the selected object, statistic text, the selection outline, and much other information.
Click this icon to activate the Viewport Overlays. In the drop-down menu to the right of it, you will find the options. In the menu you can choose what you want to see and what should be hidden.

(Borrowed screenshot of an older Blender version)


text:
Inverted Model When Importing to Unity
I am struggling to understand what is happening to this asset pack I have downloaded. I save the blender file and then import into unity but it seems to be inverted and the model looks see through. Any ideas on what I am doing wrong?
This is the asset pack I originally downloaded. https://hexagon6.itch.io/sci-fi-tower-defense-pack

##EDIT##
I figured out the issue.
You need to ensure that this button is clicked and then select the dropdown arrow and enable "Backface Culling".
When you have done that you then select the mesh, press "tab", press "a", then press "shift + n" this should recalculate the faces and then the model displays correctly in unity.

Link to source of information https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwi5287fr4f1AhUB3KQKHb5rCYIQFnoECA4QAw&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9iV9wnvpQ1U&usg=AOvVaw2vuRgA8O8PQuFx6IxmkmP8

If you found the solution to your problem, it is better to post it as an answer to your question to help people who have the same problems.

You can enable Backface Culling to view the model as in game engines like Unity...

For material/render preview by enabling the option in the material settings:

For solid view by switching to to ensure that this button is clicked and then select the dropdown arrow and enable .

When you have done that and see through some faces, it means the normals are facing the wrong way -  you then select the mesh, press Tab, press  A, then press ⇧ Shift +  N this should recalculate the faces and then the model displays correctly with Backface Culling (and so it displays correctly in game engines like Unity).
Youtube source


text:
I reused a Mixamo animation for my modified Mixamo model. But, the origin is offset from the mesh in this animation. Animation not working as intended
I was adding some modeling tweaks to a character model in Blender that I had previously exported from Mixamo. I wanted to use the "Strike Forward Jog" animation from Mixamo, so I imported another version of that model with this animation into Blender. In Blender I renamed the animation to Kick_04 and I added the animation to my modified model using the Action Editor.
When I play the animation the character bounces around the screen frantically. It appears that the character still pulls off the kicking animation, however she keeps spawning on different areas of the screen each frame. I think this has to do with the fact that both the mesh and the armature's origin is offset in this animation. Could the animation have different local coordinates that are clashing with the Models local coordinates and its relationship with the blender files global coordinates?
I tried putting the armature and mesh's origins to the world origin of (0,0,0). I then moved the armature and mesh so that they stand right on top of the world origin, however I can only figure out how to apply this shift to one frame at a time, and I am worried I might alter the animation itself if I apply these local transforms to all the keyframes.
Oddly enough in edit mode the Mesh and Armature are both correctly placed right above the world origin, with their origins placed in-between the feet at (0,0,0). I just can't find a way to have the animation play in that location in pose and object mode.
I'd appreciate any help on how to fix this issue.
Thank you!

Model at frame 1 in object mode

Model at frame 1 in edit mode
[Video of Blender Animation error3
(I apologize for the poor video quality)

Just suggestion ... Upload your edited model to Mixamo, run through auto-rig system, assign mocap you like and export. One more thing ... I see you have Rigify in use ... Mixamo's rig doesn't match Rigify's ... It means anim would not work without proper retargeting process.

Thank you for the suggestion and the advice :)

Looks like the scale values have been applied, so animation data have an uncorrect scaling.
If so, you have to go to graph editor, select all and only location data of hip bone and scale them on Y (value) by 0.01 (or whatelse other scale has been applied).
If this doesn't solve the problem, please upload your file.

Josh Sanfelici, that fixed it. Thank you so much :)

Izzy ... If answer solved your issue, consider mark the answer as Accepted. Thank you keep this site organized.


text:
Exported Object is distorted from what Blender previews
I just recently started getting into 3D modeling to design objects for Flight Simulators. I'm currently working on modeling the United Logo for the hangers. I built it in Blender by "CRTL + Right Clicking" on a reference image, and then extruding the face plates. But, when I go to open the .stl or .obj in a 3D viewer the shape is completely messed up, parts are missing, etc.
Here is what I see in Blender:

Here is what I see outside of Blender:

Why is this happening? What am I missing?
Thanks,
Brady

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

Well, not all 3D viewers are good, and we don't know which one you are using. Make sure the STL look right in Blender to be sure if the issue is from the export or not. If it's good, then maybe check your game or viewer's documentation to see if there's something specific in their mesh features support. If it isn't, then check you mesh in Blender, remove doubles, apply transforms, check normals, and check your export settings.

In the pictures, I was using TinkerCAD but the same result occurred in the 3D Viewer stock with Windows. The interesting thing is that when I exported the file to what Microsoft Flight Simulator reads, .glft, everything but some lighting was correct. I ended just converting the United Logo to an SVG file then converting to mesh in Blender which has a clean export no matter the viewer or the format. Thanks anyway!


text:
VSE: Select all the strips of a given track?
Is it possible to automatically select all the strips of a given track, for example of the track of the selected strip (a kind of equivalent of L in the Dope Sheet)?

Select a strip on the channel you want, then use Select > Channel > Both sides.
bpy.ops.sequencer.select_side(side='BOTH')

oh of course thanks a lot


text:
Multiple Render Layers to single EXR
Trying to render multiple renderPasses in a sequence using MultilayerOpenEXR
Together it just aint working.
Result is  only one Renderlayer+passes exports to the EXR, other Renderlayers has folders and layers, but are blank.
In Compositor the renderpasses are linked to the render_layers node.

I am answering myself, the thing is that you have to UNTICK "OVERWRITE" all your renderlayers and all passes will be stored in a single EXR file per frame.

Solution:
- untick "OVERWRITE"
All your renderlayers and all passes will be stored in a single EXR file per frame.

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


text:
Smoke Simulation - Bake Offset before Frame 0
Need to offset smoke simulation, treat it as if keyframed.
ie. Simulated 250 frames of smoke, want the animation to start on frame 125
(ex. fluid simulations have "offset" slider )

I am answering myself, it is a workaround

set frame Start: -125 frame End: 125
click "Bake" the sim should bake, but not move in preview
"Free Bake" and go to frame 0
Let the smoke simulate in viewport from frame 0(do not click Bake)
Click "Current cache to bake"

Voilá

Set the start of the animation to the desired frame. In the timeline tab, there should be a part that says "Start" and "End." Change the "Start" frame after you have finished baking to animate from that point.

Thanks, but my question was how to shift only the smoke sim back and forth.

Ah- If you want your sim to start at a certain frame, first save the Blend file and then go to the Smoke Cache tab in the Smoke Domain settings, and set the start and end frame. Does this help?


text:
Geometry Proximity - Permanent vertex attribute value switch ("Permanent/Temporary proximity trail")
Objective:
Toggle/Trigger attribute value permanently/temporarily, even after controller object left the proximity area.
Examples:
Controller objects leaving fading trail in material color
Controller object proximity translating vertices permanently

Found solution here:
https://www.youtube.com/watch?v=KCQjOau6eIA
This is the setup:

If anyone knew the solution for objects (not vertices), please share. (i.e. translating entire objects)


text:
How would i curve panels like this?

How would i curve panels on a surface like this?
I am making a lobby for a building and i am trying to model this in a cleaner way.

start with the arch around the window and then extrude it out.

You may do it using a Spin Tool. In right view add a single vertex and extrude it creating the arch's profile. In Object Mode press Shift+C to place the cursor in the center of a grid. In Edit Mode grab the profile and translate it along the Z axis. Press the Spin button in a tool shelf. Your arch is ready.

You can model a niche in the same way. After spinning it divide it using loopcuts (Ctrl+R). Then extrude single segments downwards as pictured below. You have a clean geometry to add creasing loopcuts for the Subsurf Modifier.

Finally join the meshes with Ctrl+J, remove doubles and give the object a Mirror Modifier.

Add some loopcuts (CTRL+R) (use mousewheel after entering loopcut move to increase the number of loopcuts) or subdivition on the faces, active propostional editing>connected and move the bottom edge (G) (and lock to an axis if prefered). Use the mousewheel to increase/decrease the effect radius while moving.

After that, you can add some bevel (CTRL+B) to the edge for the final curve (in this case, you would probably prefer to set Amount type to Width in bevel tool options as well).

PS: I would suggest using mirror modifier for such symmetrical projects:

But how do i do the colorful designs on the arch?

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


text:
I'm using cycles render and I can't figure out how to render the image texture
I modeled a Desert Eagle, or "Deagle," In the internal render system (Blender Render), and then created a new .blend file, brought the model(s) over and then textured them and added a spare mag and 2 spare bullets to show to a friend.

So it looks normal. But when i render it, i get this
Anyone know a solution to this? I looked around for around an hour and couldn't find a fix for this issue. i'm pretty new to cycles still so I don't know as much as I know about blender render.
EDIT for Carlo: For the lights it's just a simple 3-Point lighting system using rotated planes with the emission node attached. I would send an image, but sadly my reputation is not above 10 currently so I can't have more than 2 images.
And for the nodetree, I don't think i'm going to be able to send one image for that as there are multiple objects in the image and they each have different node trees. There's nothing too complicated to them, as they all just have the "Image Texture" Node connected to the output node. If you need anything else just let me know what you need.

Welcome to Blender.SE. So you made the materials in cycles? Could you show their nodetree? What kind of lights your scene has?

I'm still learning how this entire thing works, so i'm sorry if i seem unhelpful with this. I'm trying my best lol

In properties, goto material. And click use nodes if you haven't already.
 Then click the circle next to color, and select 'image texture'.
 Then use the drop down menu to select your texture, then render, and done.

Ah, so i had forgotten to us the "Diffuse BDSF" node, and that cause the texture to preview but not render. Thanks for the help!


text:
Grainy lights in Blender Cycles
I have this night scene and it's pretty clear that something is not right. The lights are strange, like muffled, making everything grainy. Does anyone have an idea that can fix this?

Hello :). This looks suspiciously like denoiser artifacts. Do you have any denoising enabled?

The visible bad res hdri is the issue to me.

Yes, I have the denoising node and denoise option enabled

Ok, and... Does disabling the denoiser resolve your issue? (asking because unclear what mean by "muffled")

Muffled in the sense of very grainy-looking

donìt look at the hdri, but look at the light on the desk or on the walls, it's really strange

Easy, then it is the denoiser... @VikSn0w Use Intels denoiser in the compositor and bump up the samples to at least 500.

I disabled the denoising node, leaving the standard denoising on, let's see

Only use one of them -> The node in the compositor (as mentioned), read: https://blender.stackexchange.com/a/166271/31447


text:
How to move forward or any movement which has surface deform modifier
I have actually modeled a fish in blender and I had made surface deform modifier on the fish with the help of a youtube video.
I wanted your help in moving the fish forward or in circular motion but since I added deform modifier it is becoming difficult.
Therefore I humbly request you if you could help in getting the required objective.
Here is the blend file:

What is becoming difficult, precisely?

Just have to parent nearly all to another object.

The difficulty is random motion of the body because of adding modifier..is there any way i can share my blender file in this forum so that you get an idea of what i am trying to convey..?

Yes use this site, then paste the resulting link in your question: https://blend-exchange.giantcowfilms.com/

The following is the link generated : ](https://blend-exchange.giantcowfilms.com/b/56bBWZ0L/)

In your case, the idea is to take what can be "the main" object to drive all the other ones. If we take the force field and make it parent of the plane (flag like) then the force field will be the parent for all:
Select the flag plane then Shift select the force field and CtrlP then choose 'Object'.
Now add a curve, make the force field follow a path, adding this constraint:

The minus X is due to the force field orientation (rotated).
And...

To change the speed, select the curve and change "Frames" (the greater the slower):

Thank you so much for helping me out...i want to reduce the speed in which fish is moving so..how do i go about?

is there any way i can upvote or like you in this forum..?

Sure just on the left of the questions or answers, up arrow to upvote and down arrow to downvote. I'll give a look about the speed..

thak you so much for helping me out..


text:
I am not at all able to paint weight paint on the plane
I am new to Blender and I am using Blender 3.0.0
I am trying to weight paint this plane but I am unable to do it to at least a single vertex. I subdivided the plane many times but I am unable to paint. What am I doing wrong?

Weight paint is a somewhat confusing term, because you're really only painting the vertices.  To be able to cover the plane with finer granularity, you need to subdivide it, giving it more vertices to work with.  Weight painting, after all, is just a visual way to set the weights in vertex groups.
Here's a plane that's been subdivided:

Here's the same plane in weight paint mode after I've made a diagonal pass with the weight brush:

Notice how the red areas are centered on the vertices along the diagonal?
The other colors represent Blender extrapolating weights between vertices, from Red being a weight of 1 through green to Blue being a weight of 0.

Note: with Triangulate modifier you can observe at what direction will be weight extrapolated (you can better predict a result).


text:
Place objects on mesh using snap with Python script
I'd like to place objects on a mesh using snap with a python script in Blender 2.79, preferably on places where the gradient (steepness) of the mesh (terrain) is not too steep.
From the snap documentation and the API documentation for the transform I couldn't figure out how to do it in a script. The output of manually doing this in the info window (bpy.ops.transform.translate(value=(121.057, 0, 0), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1, release_confirm=True, use_accurate=False)) also didn't help.
One of the code snippets I tried:
cube = bpy.ops.mesh.primitive_cube_add()
bpy.ops.transform.resize(value=(4,1,1))
x,y,z = -100,-100,100
# Hoping that this line would place the object on a nearby surface of this point (It doesn't)
bpy.ops.transform.translate(snap=True, snap_target='ACTIVE', snap_align=True, snap_point=(x,y,z))
# Settings for the tool like doing it manually
bpy.context.scene.tool_settings.use_snap_align_rotation = True
bpy.context.scene.tool_settings.use_snap = True
bpy.context.scene.tool_settings.snap_target = 'ACTIVE'
bpy.ops.transform.translate(value=(121.057, 0, 0), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1, release_confirm=True, use_accurate=False)

Thanks in advance for any help, hints and other ways to place the objects on the mesh with proper orientation!
Image shows how I would like my objects to be placed:

It looks correct to me. The objects center seems to be exactly aligned with the mesh, but you have to check for yourself. Does changing the object center to the bottom of your mesh lead to the result you want?

@TeeTrinker The image is just to show what I would like. I created it using snap manually, my script does not snap the box to the closest object, just places it at the position I tell it to.

Make a shrinkwrap footing.
Oops just saw the 2.79.. see edit below.

Demonstrate the setup, the red dot foot is shrinkwrapped to grid. The wireframe cube is parented to it.
Similarly to how a tyre rig would be made, can make a 2d mesh footing and projection shrinkwrap to the landscape.
The "block" can then be placed in relation to the shrinkwrapped footing.
In the example below have used a simple circle as the footing and 3 vertices as a parent.
Setting the matrix world of "block" to a copy taken before removing footing places the "blocks".  Set remove_block to False to keep the footing.
The script below sets random x, y locations in range -20, 20 to test.  GIF became too large to demo,.. can arbitrarily rotate footing in z.

Result of running 20 times with subsurfed upscaled 10x10 grid with texture displace
Object mode. Select grid, run script. Resets the grid to context so can repeat.
import bpy
from mathutils import Matrix
context = bpy.context

from random import uniform # random 20x20 to test
x, y = uniform(-20, 20), uniform(-20, 20)
remove_foot = True

target_surface = context.object

bpy.ops.mesh.primitive_cube_add(location=(0, 0, 0))
#make the origin the pottom of cube
cube = context.object
me = cube.data
me.transform(Matrix.Translation((0, 0, 1)))
cube.scale = (4, 1, 1)

bpy.ops.mesh.primitive_circle_add(
        location=(x, y, 0),
        fill_type='TRIFAN')
foot = context.object
sw = foot.modifiers.new(name="SW", type='SHRINKWRAP')
sw.target = target_surface
sw.wrap_method = 'PROJECT'
sw.use_positive_direction = True
sw.use_negative_direction = True
sw.use_project_z = True

### set the relation to foot
cube.parent = foot
cube.parent_type = 'VERTEX_3'
n = len(foot.data.vertices)
cube.parent_vertices = range(1, n, n // 3)

if remove_foot:
    dg = context.evaluated_depsgraph_get()
    mw = cube.evaluated_get(dg).matrix_world.copy()
    bpy.data.objects.remove(foot)
    cube.matrix_world = mw
context.view_layer.objects.active = target_surface

Notes:
Could also look at the vertex coords and normals of the evaluated footing
Here the "block" is located at the middle circle (footing) vert and rotated such that vert normal is z up.  For the default circle, vert 0 is the centre, vert 1 is at (0, 1, 0).
### set the relation to foot
dg = context.evaluated_depsgraph_get()
me_inst = foot.evaluated_get(dg).to_mesh(depsgraph=dg)
v = me_inst.vertices[0]

cube.location = foot.matrix_world @ v.co.copy()
q = v.normal.to_track_quat()
cube.rotation_euler = q.to_euler()
if remove_foot:
    bpy.data.objects.remove(foot)
context.view_layer.objects.active = target_surface

The angle between the vertex normal and z axis will give the grade, and could be tested so as to not add above a certain slope.
z_axis = Vector((0, 0, 1)
if v.normal.angle(z_axis) > radians(45):
    # don't put it there

Another way would be to add vertex groups to the footing and transform the block to it via constraints.  eg copy location and a track to constraint targeting different vert groups.
Recommend making a more apt footing shape. Perhaps a poked plane matching bottom block face.
To do for many would use Object.copy()
EDIT 2.79 version of script above.
import bpy
from mathutils import Matrix
context = bpy.context

from random import uniform # random 20x20 to test
x, y = uniform(-20, 20), uniform(-20, 20)
remove_foot = True

scene = context.scene
target_surface = context.object

bpy.ops.mesh.primitive_cube_add(location=(0, 0, 0))
#make the origin the pottom of cube
cube = context.object
me = cube.data
me.transform(Matrix.Translation((0, 0, 1)))
cube.scale = (4, 1, 1)

bpy.ops.mesh.primitive_circle_add(
        location=(x, y, 0),
        fill_type='TRIFAN')
foot = context.object
sw = foot.modifiers.new(name="SW", type='SHRINKWRAP')
sw.target = target_surface
sw.wrap_method = 'PROJECT'
sw.use_positive_direction = True
sw.use_negative_direction = True
sw.use_project_z = True

### set the relation to foot
cube.parent = foot
cube.parent_type = 'VERTEX_3'
n = len(foot.data.vertices)
cube.parent_vertices = range(1, n, n // 3)

if remove_foot:
    scene.update()
    cube.update_tag(refresh={'OBJECT'})
    mw = cube.matrix_world.copy()
    bpy.data.objects.remove(foot)
    cube.matrix_world = mw
scene.objects.active = target_surface

I faced a similar issue and wrote a script to place many armature bones, snapped to mesh edge orientations. I had a short play with it tonight and got it working in this new context.

I don't know how you want to use it, but for this example the script chooses random faces, creates a list of the selected face indexes, deselects and then re-selects each face in turn, snaps the cursor to the face, adds a cube at the cursor, creates a custom orientation gizmo from the normal of the selected face, aligns the cube to the custom orientation gizmo, cycles to the next face in the index and does it all over again. Yeah, I know. I haven't done much to sanity check this, but I distinctly remember how convoluted it was when I wrote the original script and that I couldn't find any way around it. Maybe others can cast an eye over it and suggest a few shortcuts. I am using 2.82 but I don't think there's anything here that conflicts with 2.79. It's as rough as, but I hope it helps.
import bpy
import bmesh

C = bpy.context
scene = C.scene
screen = C.screen

def deselect():
    for obj in bpy.context.visible_objects:
        obj.select_set(False)

def Frank():
    #Create custom orientation based on normal of selected face
    scene.transform_orientation_slots[0].type = 'NORMAL'
    bpy.ops.transform.create_orientation(name='Frank', overwrite=True)
    scene.transform_orientation_slots[0].type = 'Frank'

def Norm():
    # Delete custom orientation and return to 'NORMAL'
    bpy.ops.transform.delete_orientation()
    scene.transform_orientation_slots[0].type = 'NORMAL'

def get_co(name, scene=scene):
    # Return custom gizmo orientation matrix
    slots = scene.transform_orientation_slots
    for s in slots:
        if s.custom_orientation and s.custom_orientation.name == name:
            return s.custom_orientation
    return None

def context_override():
    # Need to move context from Text Editor to 3d View when you hit "Run Script"
    for area in screen.areas:
        if area.type == 'VIEW_3D':
            context_override = {'window': bpy.context.window, 'screen': bpy.context.screen, 'area' : area}
            return context_override

######################## Script starts ####################
# Ensure transform orientation is set to 'NORMAL'
scene.transform_orientation_slots[0].type = 'NORMAL'

#Get object references
for obj in bpy.context.visible_objects:
    if obj.type == 'MESH':
        meshName = obj.name
        current_obj =  obj

#Force edit mode
bpy.ops.object.mode_set(mode='EDIT')

#Select random faces
bpy.ops.mesh.select_random(seed=2)

#Get index of selected faces
me = bpy.context.object.data
bm = bmesh.from_edit_mesh(me)
e = []
# Check all faces
for f in bm.faces:
    # If any are selected,
    if f.select:
        # add the face index number to the list of selected faces
        e.append(f.index)
        # Then deselect the face in readiness for cycling through and adding cubes
        f.select = False

for i in range(len(e)):
    # Cycle through list of selected faces
    bpy.ops.object.mode_set(mode = 'EDIT')
    bpy.ops.mesh.select_mode(type="FACE")
    bpy.ops.mesh.select_all(action = 'DESELECT')
    # Select face while in object mode
    bpy.ops.object.mode_set(mode = 'OBJECT')
    obj.data.polygons[e[i]].select = True

    # Back to edit mode to snap cursor to selected face...
    bpy.ops.object.mode_set(mode = 'EDIT')
    #... and create custom gizmo
    Frank()

    # Need context override to move focus from text window to view 3d...
    c_o = context_override()
    #... in order to snap cursor to selected face
    bpy.ops.view3d.snap_cursor_to_selected(c_o)

    #Back to Object mode to add cube
    bpy.ops.object.mode_set(mode='OBJECT')
    deselect()      # Need to deselect all first
    bpy.ops.mesh.primitive_cube_add(size=.1)

    # Get custom gizmo coordinate matrix...
    co = get_co("Frank")
    #... and align cube to gizmo
    bpy.context.active_object.matrix_local = co.matrix.to_4x4()

    # Snap newly minted cube to 3d cursor
    bpy.ops.view3d.snap_selected_to_cursor(c_o, use_offset=False)

    #... select the mesh, ...
    bpy.data.objects[meshName].select_set(True)
    #... make the Object selection active...
    bpy.context.view_layer.objects.active = current_obj
    #... and finally deselect the current face in readiness for the next face select
    obj.data.polygons[e[i]].select = False

# Set translation gizmo back to 'Normal for fine tuning
Norm()


text:
Scale locally in blender 2.8
I know how to scale along local axis (hit x or y or z two times), but how to do it in blender 2.8? Thanks.
EDIT:
made question more accurate.

The same way it is done in Blender 2.79. Hit "S" for scale, "X", "Y" or "Z" for the axis and then "2" for the size.

If rotation of the object was applied (Object mode > Ctrl+A) or it was rotated in Edit instead of Object mode then its local axes will be equal to global axes in the same way as it was in 2.79- and older versions

Set your Transform orientation to Local
Press S and X, Y or Z
And then 2, Enter

https://imgur.com/a/CmwH1Ks
I did set it to local but it does not work! (still scales along global axis X)

I think you might have an old version. There have recently been a change to this behaviour. If you still set the Transform orientation to Local and then S, and then X, X (two times) and then 2. But this is the same as 2.79b.

Thanks! I'll Check!

I found that you have to first rotate your object in Object Mode, not Edit Mode.
Then, you can scale it locally either in object mode or edit mode.
Scale locally: Press S the X , Y or Z (2 times)
It will not work if you rotate your object in Edit Mode first.
If you really need to rotate it in Edit Mode, you have to rotate it by adjusting the rotation values, located on the editor right window.

Then scale locally with S and X, Y or Z (2 times)
Notice that, if you rotate in Object Mode, the rotation values will change.
But if you try to rotate in Edit Mode, the rotation values does not change.
I'm guessing that in Object Mode, there is no faces, only the 3D object
In Edit Mode, there is faces geometry and that is why the object's rotation values is not updated.


text:
AMD & MacOS (2019)
I thought I was fully up to speed on Blender's hardware requirements when building my latest machine,

https://www.blender.org/download/requirements/
https://code.blender.org/2019/04/supported-gpus-in-blender-2-80/

... but it appears I needed to read the fine print a little more closely. Are AMD and MacOS now a non-starter with Blender (given the OpenCL issue with Apple)? 2.79 & 2.80 seem to crash completely with my Vega VII in MacOS, but both work absolutely fine in a VM running *Nix on the same MacOS host and GPU! Interesting.
Am I missing something? Is this an issue with Blender and the Vega VII? Or is there something missing MacOS-side that I would just need to update?

The removed support for OpenCL only means that GPU rendering isn't possible. The application should still run on supported systems and allow CPU rendering. Make sure that your graphics driver is updated. If that doesn't solve it, you should run Blender from console using the --debug flag to see why it crashes.

Many thanks, rjg! That makes some sense and was my gut feeling about it.

I'm going to take a wild guess that AMD's ProRender can also do an end-run around the GPU-rendering issue you mention, rjg. Will re-post when I get some results. Thanks again!

ProRender supports Metal, so it will run on the GPU when using macOS.

Yep, exactly.
And... sure enough, it was an OS upgrade issue. Able to get everything running tickedy-boo. Thanks muchly, rjg.

You're welcome :) Glad I could help.

@Zlyxian follow also this topic: https://devtalk.blender.org/t/is-there-interest-in-supporting-a-metal-version-of-cycles-for-macos/ There seems to be some hope for Cycles and EEVEE when Blender will switch to Vulkan which then will allow to use MoltenVK in MacOS. Probalby. Maybe. It's classified ;)

I familiar with this discussion, too. The most blasé response I'd heard was, "Yeah, if it ever comes down to it, someone'll go MoltenVK. Didn't think it was classified, though... :)  Thanks, @cgslav.


text:
Comparing Eevee & Unreal as render engines in animated film
I've followed the use of Unreal as the render endpoint in animated film for some time – specifically, Epic's use of it themselves in their cinematic trailer in 2017:
https://www.youtube.com/watch?v=LS0VsMMTaQA&list=PLBNTbstFRU1HNFcnbKJ59rhp-S-xslUqI&index=2&t=2862s
Other indie filmmakers have also used Unreal this way, eg.:
https://www.youtube.com/watch?v=Q8ZMQgyMTk4&list=PLBNTbstFRU1HNFcnbKJ59rhp-S-xslUqI&index=4&t=11s
While Unreal is capable of producing obvious quality:
https://www.youtube.com/watch?v=9fC20NWhx4s
... Eevee is also capable of some great stuff too:
https://www.youtube.com/watch?v=BiWmB8mwP70&list=PLBNTbstFRU1HNFcnbKJ59rhp-S-xslUqI&index=24&t=0s
So..., can someone explain to me how Unreal's render engine differs from Eeevee in render quality and speed?

Are they different technologies?
Is one faster than the other?
Does one produce different quality than the other?

(I'm curious about this because if Unreal produces very similar-quality output in the same amount of time, the advantage would be to keep everything in Blender, obviously, to avoid the work involved in shuffling everything off to another application just to do rendering. If, however, Unreal offers great advantages, the work would be justified.)

This is a subjective question and too broad for a stack exchange post in my opinion. But my take on this would be to use whatever you are used to. Unreal tools are geared toward real time but Blender have it all in one software (from modeling to rendering). With proper skills and time you can achieve great results in both Eevee and Unreal. The technologies are similar if not exactly the same for most tools. In short if I had to make an animation I'd use Blender, but if I needed interactivity (a game) I'd go for Unreal. Most 3D artist familiar with Blender would do the same but I could totally see someone more familiar with Unreal modeling in Blender and doing everything else in Unreal.

I'm used to working in both, Arthur, but haven't used Unreal for rendering. I was curious how they differ technically, but also whether one offered any advantage over the other in quality or speed. This isn't a subjective question: The differences should be objectively measurable. I was simply wondering whether anyone has ever done... the measuring.Thanks for responding.

I understand, it's just that measuring the speed of a scene depends on the scene itself. So without saying what you are going to render exactly you won't get an objective answer but most likely only speculations. It's an interesting topic nonetheless.


text:
Replace all white vertices with color of my choice Blender
I need a way to replace all white vertices in the scene with color of my choice via python or tools.
The real problems is that I make models with vertex colors and I apply Cell Fracture. Unfortunately all the fractured internal faces are white and I am looking a fast way to replace all the white vertices with a color of my choice.
I am a python noob but I have found so far: Generate/Replace Vertex Colors and invert vertex colors in Blender

Can you show some sample code of what you have so far?

You can use the edit link below your question to add more relevant information. Commenting on your own question without using @ isn't a good idea, because people won't get notified about the update. Please read the BSE help page to find out more about how and why some questions get deleted and how to improve your own question in a way, that others can benefit from it.

@Sazerac I am a python noob but I have found so far: Generate/Replace Vertex Colors and invert vertex colors in Blender


text:
Node Editor, Unwrapping, and FBX export not working
I am new to Blender and Unity, so if you need me to add more information I can, any help is greatly appreciated. This all started when I tried to export my Blender object into Unity. So I had my object all created with materials and everything, it was unwrapped and UV projected, but when I exported it to unity as a FBX file the Materials didn't show up. I thought that was weird so I went back into blender and all my materials where gone I tried reapplying the materials and I couldn't. Now I can't seem to add materials, unwrap, add nodes, or UV project anything.

Blender File Link

If you can, also add your .blend file to the question. It helps us finding a possible solution.

Okay I added the link let me know if it works. Thanks for the feedback Ben

Works fine, I'll check it out in a bit.

Did you fix your problem? If so, don't forget to mark the answer as correct.

oops forgot to mark it. Thanks for the help this solved my problem.

Sorry if this reply comes a little late, but I rarely ever import into Unity, so I had to do a bit of trial and error.
First of all, there is nothing wrong with your file. The only thing that is missing is the link to your texture. If you load it back in via the Texture-Tab in the Properties Window, everything works as it should.

Consider packing your textures into the .blend files if you hand them off to somebody else, this will incorporate the images into the file and you will no longer have to send the texture files along with the .blend file.
Now, to import those files into Unity, there are a couple of workflows. I will give you the one that I find the most useful, if you want to learn about all the ins and outs, i would recommend Darrin Lile's course on Blender and Unity Pipelines. It is only about 12 Dollars, but it goes through all possible permutations of asset importing and gives you best practises to follow along the way. Like for instance naming the materials. It will not matter with a single cube, like in your file, but the materials do pile up.
Darrin Lile's Creating a Game Environment in Unity Course
To get assets from Blender into Unity follow these steps:

Set up the materials (like you have)
Export an FBX. Either for the whole Scene, or, with the "Selected" Checkbox checked, only the selected Objects
Drag these objects into Unity's Asset Window (or right click it and select Import New Asset)

I would recommend you set up 3 Folders: Models for the Mesh Data, Materials for the Unity Materials and Textures for the Texture files

If you use the same Texture Folder for your Unity Project that you use for your .blend files, you will not have to import anything here. It populates with the files that are in this folder.
Now select your object. It has the material on it, that you assigned in Blender. You need to hook up the brick Texture manually to the Albedo slot (see image above). Drag it from the texture folder onto the square next to the Albedo Label.

This should be all you need. I remember there was an option to embed textures into an FBX, but as far as I could find out, that ONLY works if you use Blender Internal Renderer and do NOT use nodes to build the material. Just wanted to mention it for completion's sake. FBX Export Article
Also, on import, the default color in Unity is an off-white, which will make your textures look less contrasty. To counteract this, set the base color to full white.


text:
Blender 2.8 Texture
I'm trying to recreate a texture I created in V2.79. In that version I first created a colour using the material button, then I applied a cloud texture using the texture function. The result was an object that had a cloud effect on it.
The same features / buttons are present in V2.8 but they don't result in my object having a cloud texture. The cloud texture seem to be inactive. What is different / do I need to do something different to achieve the same effect?
Regards
Stephen

Please post a picture!

Hello. Picture has been added.

I tought post a screenshot about the shader editor, or the material preset.

Sorry. The above screenshot shows how I would have added the cloud texture in version 2.79. My expectation is that the cube should have a cloud like surface. regards.

It is a brush preset what you adjusted. Try to use the node editor.

How do I make it red with white, instead of grey and white?

Found the answer. Connect 'colour' to 'subsurface'

Just discovered. Only need to connect 'fac' to 'subsurface'.


text:
How to create and export a custom file using python?
I'm trying to make and export a file. I have a string which is basically the file content and I'd like to save this as a .dat file. So I need the user to click a button and the file explorer to open and then correctly save the file. I wasn't able to reference the file content itself on the following sample code:
class TEST_OT_export_tst(Operator, ExportHelper):
    bl_idname = 'test.export_tst'
    bl_label = 'test export test'
    bl_options = {'PRESET', 'UNDO'}

    filename_ext = '.dat'

    filter_glob: StringProperty(
        default='*.dat',
        options={'HIDDEN'}
    )

    def execute(self, context):
        print('exported file: ', self.filepath)
        return {'FINISHED'}

I'm not sure which part of the problem you are stuck on.  To give the user a button, you might want to create a panel to contain the button and then add an operator to the layout that will invoke your test operator.  See the panel in this answer for an example.  But to invoke the file browser, you need your execute function to call the appropriate exporter. You could do that by invoking the existing export menu entry.  Which are you looking for help with?

My confusion is where do i input the actual life content? otherwise i would be exporting nothing...

Have a look into the templates (Text Editor -> Templates -> Python -> Operator Export). Straight after the user has selected the location and filename, the execute method of the operator is called. What do operator methods do? (poll, invoke, execute, draw & modal)
Complete example how to invoke the file dialog and write a .bat file according to the wikipedia entry: https://en.wikipedia.org/wiki/Batch_file.
import bpy

# https://en.wikipedia.org/wiki/Batch_file
def write_some_data(context, filepath):
    print("running write_some_data...")
    f = open(filepath, 'w', encoding='utf-8')
    f.write("@ECHO OFF\n")
    f.write("ECHO Hello World!\n")
    f.write(":: %s\n" % filepath)
    f.write(":: %s\n" % bpy.data.filepath)
    f.write("PAUSE")
    f.close()
    return {'FINISHED'}

# ExportHelper is a helper class, defines filename and
# invoke() function which calls the file selector.
from bpy_extras.io_utils import ExportHelper
from bpy.types import Operator

class ExportSomeData(Operator, ExportHelper):
    """This appears in the tooltip of the operator and in the generated docs"""
    bl_idname = "export_test.some_data"
    bl_label = "Export Some Data"

    # ExportHelper mixin class uses this
    filename_ext = ".bat"
    filter_glob: bpy.props.StringProperty(default="*.bat", options={'HIDDEN'}, maxlen=255)

    def execute(self, context):
        return write_some_data(context, self.filepath)

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

if __name__ == "__main__":
    register()
    bpy.ops.export_test.some_data('INVOKE_DEFAULT')

Output is:
@ECHO OFF
ECHO Hello World!
:: /Users/USER/Desktop/untitled.bat
:: /Users/USER/Desktop/untitled.blend
PAUSE


text:
How to create a yarn "pom pom"?

I'm trying to create a yarn pom pom as shown the the sample image. But all the tutorials I can find online teaches how to create fur texture. Is there a simple way to create this?

I had an "o sh." moment at first when reading the title, the m letter really looks like r and n sticked together ><

@Gorgious Keming strikes again...  I actually read the title as "yam pom pom", but I think I like yours better.

Fixed the kerning.

@jiwopene (Boooooooooo) - haha, it was also a fun quick lesson on what "kerning" is.

@Gorgious you're not the only one, btw, "rn" and "m" are so-called confusables

Here is a try:

You could create a ball, and a piece of wool that will be the hair of the ball. Also give some hair to the piece of wool:

Here is how the material looks like, give it a bit a Subsurface Scattering, put the Sheen at 1, give it a bit of Emission, mix with a Transparent node with a Layer Weight as factor, give it a bit of Bump:

Nice one but why give it emission? Is it to fake the natural SSS/real or light bounces?

+1 for matching the lighting conditions as well, this is a nice approach, but some more details on how to add the hair via particles might be useful.

@Bruno yes it's a way to make the material a bit lighter, at least in eevee, SSS gives something a bit "buttery", but maybe there's another way?

@Freddie R, which hair do you mean? Maybe the original poster will ask for details...

Wow this looks really nice. Thanks for the reply.

Add an icosphere or a quad sphere
Add a particle system to it, set to Hair
Under amount set a lower value (about 200 for a default cube of 2 x 2)
Under Physics set Brownian to a low value like about 0.3
Set Children type to Simple and reduce the Display and Render Amount to a value of about 100.
Under Clump set to about 0.3
Set Kink to Braid with a low amplitude like 0.7
Increase the frequency to a high value like 20
Under the hair Render > Path settings increase Steps to a higher value of about 8, to make braids visible.

This looks like those evil attack robots from the Matrix. lol.... thanks for the help I'll look at the settings and play around with it.

The squiddies? Hehe


text:
Assign datablock to custom property
With bpy.props I can assign bool, int, float and string to a custom property. But how can I assign a datablock (bpy.types.ID) object (lets say a material bpy.types.material) to a custom property?
Background
I create >1000 curve objects with a python script. For each curve I would like to store a list of materials (from other objects that these curve interacted with during creation). Later on  I want to manipulate the curves depending on those materials with a script running on bpy.app.handler.frame_change_pre.

You can't. See the wiki page: Properties, ID-Properties and their differences.

+--------------------------------------------------------------------------------------+
|           |             Property             |        Property        | ID-Property  |
|           |             (static)             |       (dynamic)        |              |
|-----------+----------------------------------+------------------------+--------------|
| Creation  |      bpy.types.Object.foo =      | bpy.types.Object.foo = | ob["foo"] =  |
|           |    bpy.props.StringProperty()    |     property(bar)      |    "bar"     |
|-----------+----------------------------------+------------------------+--------------|
| Declared  |   all datablocks of same type    | all datablocks of same |    single    |
|    for    |                                  |          type          |  datablock   |
|-----------+----------------------------------+------------------------+--------------|
| Assigning |          ob.foo = "bar"          |     ob.foo = "bar"     | ob["foo"] =  |
|  values   |                                  |                        |    "bar"     |
|-----------+----------------------------------+------------------------+--------------|
|           |                                  |                        |   Floats,    |
| Accepted  |           Any property           |       Functions        |  integers,   |
|  values   |                                  |                        |   lists*,    |
|           |                                  |                        |   strings    |
|-----------+----------------------------------+------------------------+--------------|
| Stored in |              Yes**               |           No           |     Yes      |
|  .blend   |                                  |                        |              |
+--------------------------------------------------------------------------------------+

* List may only contain floats and integers.
  ** Datablocks that have a value assigned to the property, save that value as an ID-property.

You could instead store a pickled list of material names, e.g.
import pickle
import bpy

def fget(self):
    try:
        for name in pickle.loads(self["_interaction_materials"]):
            yield bpy.data.materials[name]
    except KeyError:
        raise StopIteration

def fset(self, materials):
    self["_interaction_materials"] = pickle.dumps([m.name for m in materials])

bpy.types.Object.interaction_materials = property(fget, fset)

Your link seems to be dead

You can store materials' names, and then, when you need to use it - search for materials by name.
Of course this metod requires you to be strict about your file. You must not delete any materials by accident or change names.
Let's assume you have a list of materials:
materials = [bpy.data.materials["Marble"], bpy.data.materials["Glass"]]
# To get materials from object, use:
#bpy.context.object.material_slots[0].material
# or from the material list if you don't care about slots:
#bpy.context.object.data.materials[0]

Then you can write them into a Custom Property, separated with colons:
materialNames = []
for mat in materials:
    materialNames.append(mat.name)

materialNames are now ["Marble", "Glass"]
materialString = ",".join(materialNames)

materialString is now "Marble,Glass".
You can save it to object's property:
bpy.context.object["materialString"] = materialString

And in other place, to get a real Blender material:
materialNames = bpy.context.object["materialString"].split( "," )
realMaterials = []
for matName in materialNames:
    realMat = bpy.data.materials[matName]
    realMaterials.append(realMat)

# check the results
# print(realMaterial[0].name)

First entry in realMaterials list now again points to bpy.data.materials["Marble"]


text:
White spots are appearing across glass
[Updated]
Upon further research, it seems my main light is bouncing a single time off of the bulbs and immediately into the camera, causing a reflection of the super-bright light source. How can this be fixed without increasing size? Clamping removes light inside the bulbs, so that isn't working.

Here is the scene with an alternate light source.
My issue is with the light reflection from the first bounce.
You see it here as well with the numerous reflections of the filament and the random overbright places in other bulb reflections.

Are you using an HDRI as background to light your scene?

@Carlo I am not.

The bulbs are projecting a shadows on the plane, so there should be something that emit light. Could you show your outliner set to "Visible Layers"?

@Carlo Updated.

Is your Denoiser on? I know for sure that 2.7.9 has that feature, not sure if 78 does. That should fix it, but it's a hack-ish way to do it and isn't necessarily the 'right' way to do it.

@Akados I can enable it. It's brand new though, and I don't know the specifics of what does what with it. Especially for targeted removal of the white reflections.

I'm mostly looking to dodge the strange light patterns I'm getting from the first reflection of the light source.


text:
What's causing this misshading, and how can I fix it?
There is a bizarre dark shading being applied to portions of my model. This is not intended, and only occurred after retracting the pinkish middle lines(on what was originally a cube) inwards. The shading looks really odd. It starting looking like this when I brought the middle lines inward
There are odd dark shadows appearing right near the middle section of my model.
It starts right before the mid-section, then stops after. I have tried various lighting strategies, and I've played with materials (which shouldn't show in the editor anyways). Nothing seems to change. (Normals are all facing the correct direction.

To clarify: My normals have all been corrected to be facing outwards. (At least as far as I've looked).
The shading is still wrong, and darker nearing the pink lines.
I created a rushed new version to try and compare/find the issue.

As you can see above, the right side of the bottom model has its top left cube significantly darker nearing the pink. This does not match the rest of the shading.
The below is what occurs when I try flipping the normals (to show that I have already flipped the normals, and no more flipping needs to occur)

And even in the editor, the models look different.
Light is reflecting much differently off of the two models, even without going into render-view.
Now seen below, the bottom model seems almost... metal, shinier. Without any in-edit-view materials applied. (And the only materials are basic diffuse colors. Simply a color change.)

The only out-of-place item I see is when attempting to move the middle square of the cube using proportional edit mode. The below happens, and the problems squares seem to be folding in half diagonally, while the others simply rise as expected. This might help give more clues as to the issue.

Comments are not for extended discussion; this conversation has been moved to chat.

Smooth shading was turned on, and reacted weirdly with the geometry.
(Some normals were also flipped, and were fixed early.)

The dark shadows on the pink line are cause by the normals. Normals are a operation mostly used in game to only show the outward appearance of the object causing less lag. Here is an example of how normals work.

Blender does a good job showing the normals without messing up anything, but, it still has a little problem with the shading. Plus, if you want to switch to another 3D studio, the normals will look all messed up. Here is how we invert (flip) the normals:
Step 1:
Select everything that is not shading correctly.

Selecting tips:

Type A to select all
 alt + Click to select all around

Example:

Step 2:
Use command 'ctrl N' to flip the normals.

Hope this helps
-Joshua

I really appreciate it. I'm fairly familiar with normals, and I've corrected them here, with the issue largely remaining. I've updated the post since. (Update 3).


text:
Geometry Node Raycast doesn't work properly
I am trying to repeat the tutorial of CrossMind Studio. In his Raycast tutorial at 29:53 he shows how to raycast curves from plane to the surface of a character. But when I try to repeat it all curves are raycasting to the origin of this character. I can't move the origin to the character because he is moving. But it doesn't matter because all the curves are going to one point.

Here are the nodes I am using for this effect

I can't paste here the nodes from tutorial because they are not at 1 screen. But here is the image how it must look like

I tried also to assign Geometry Nodes to different object (to plane and not to the character) but it gives me the same result.

Nodes for this pic:

I tried to ask the author, but he has too much comments at his channel to answer all of them. Maybe somebody could help me with this issue? Some tips? Want to end this study project. I will leave the link to the project here .
Thanks to all of you.
Update: I played with Ray Direction and moved a character and it partially works... I have curves on my character but also curves that are going to the origin. How to reduce them?

Also if I move the character, curves are raycasting from wrong curves.

There is a warning on your Ray Cast node. If you hover over it, what does it say?

@RobinBetts
Instances in input geometry are ignored.
Input geometry has unsupported type: Curve.

I solved it. I changed the man with sphere and moved geonodes to different plane, when I played with the origin of the plane from which curves are raycasting - everything started to work, then I changed the spere with a character. It took me too much time... but I learned a lot.


text:
How do you mirror and invert at the same time?
How would you mirror an object across both the x and y planes?
If you try and mirror them, you get a heart like shape:

General idea of the shape I am trying to make.

How could you mirror this object, but do so in a way that makes the curve bend the opposite direction?
Blender file located here:
https://dl.dropboxusercontent.com/u/460997/Blender/curve%20_test.blend

Try an array modifier with a rotated object offset. (I would write an answer, but currently having some technical difficulties)..

You can also use an Array modifier to do this.

Add an array modifier to your object, disable Relative Offset and enable Merge and Object Offset.

Snap the 3D cursor to the active object's origin by pressing ⇧ ShiftS> Cursor to selected.

Add an empty (⇧ ShiftA> Empty) and rotate it 180° around the Z axis (RZ180)

Set the empty as object offset in the array modifier (a quick way to do this is by pressing E while hovering over the object field and then clicking on the empty):

The nice thing about this is that changes to one side will update the other side in real time:

I'm using cycles, by 'empty' do you mean 'empty plane axis'? Also, in your example, the ring looks quite square which I like. Is this a torus, a square deformed around a circle?

@spuder By empty I mean an object of the type "empty". You can find them in the add menu (they are all the same except for appearance). Empties are basically just placeholder objects which you can use to define something like a location or rotation, but don't actually appear in the render. To make it squarish I used supporting loopcuts, see my answer here: http://blender.stackexchange.com/a/9059/599.

Unfortunately, the mirror modifier can't so this as it creates copies of the object for each axis you tick instead of just transforming it but this is easily done with the Interactive Mirror tool (Ctrl + M) or from the 3d view header, Object > Mirror > Interactive Mirror.
Simply duplicate the half of the mesh you want to mirror and use CtrlM + Xto mirror it on the X axis, then without deselecting, mirror it again but this time on the Y axis.

Only disadvantage as compared to the modifier is that if you update one side, you will have to perform the mirror operations again (this can be avoided if you link both object's Mesh Data with CtrlD > Object Data but adds unnecessary complexity IMO). Also, as per Understanding mirroring and inverting an object, you will have to recalculate the normals if you perform this operation in Edit mode.


text:
Bone Heat Weighting Failed. No solution works
I have an object, that always result in a "Bone Heat Weighting Failed" error when I try to set parents with automatic weights.
What I tried as a fix so far:

It's only one lose part.
Just using a single bone.
Making sure scale of bone is applied.
Making sure bone is inside mesh.
Making sure they have the same origin.
Remove doubles in mesh.
Check normals.
Applied modifiers.
Checked vertex groups, UV maps.

Can someone with some rigging experience quickly take a look at the .blend file and help me out?
http://pasteall.org/blend/index.php?id=51166

Possible duplicate of heat weighting: failed to find solution for one or more bones

https://blender.stackexchange.com/questions/38669/armature-bone-heat-failed

I listed all the things i already tried which are the suggested answers in the threads you linked. Besided "do it manually"

The solution is to scale up your object, parent, then scale back down (if you want to). I gave it a quick test with a single bone, which failed at default size, but worked after scaling both objects by a factor of 10.
The reason this works is because the automatic weighting system has a hard time with vertices that are very close together. Scaling up spreads everything out, making it easier to calculate.

wow this worked for me..I dont understand why but I scaled it up automatic weights worked and than scaled it back boom

you are my savior from the past!! This works finally!! Thanks!!

Honestly this seemed like a hoodoo magic solution to me, except for the fact it worked when everything else didn't.

I tried scaling up the model delete duplicates recalculate normals and deleted vertex groups of the armature it worked

If you apply a Decimate>>Un-Subdivide>>2 Iterations modifier on this mesh the rigging will work and it will preserve the topology. If you want you can apply a subdivison surface modifier after it for the same resolution.

Here's another solution for slower computers:
Parent it "manually".
Not exactly easy.
But when I tried some of the above solutions,
my computer was suddenly way too slow to pose the armature.
Parenting it manually fixes this issue tho.

In edit mode, manually select some vertices nearby a bone.
(for the object you want to parent to an armature)
Don't parent anything  yet.
add these vertices to a vertex group.
name this vertex group exactly the same as the bone they're near.
do this for other vertices nearby other bones.
now parent the object to armature with envelope weights. Not automatic weights.
Now it's somewhat rigged. It may require more tweaking.

Yeah, it's not perfect.
But this method let's me pose the object without major lag.
I only had to do this for hair, so it wasn't too much work.
Edit: Before I manually parented it, I applied a decimate modifier using the planar option (8 degrees). This allowed me to reduce vertices without reducing quality, whereas the un-subdivide method immediately made it look too low-poly.


text:
Particle System ignores vertex group
I have my fair experience with particle systems.
But currently i dont know whats going on.
Even the simplest plane, without any modifiers, that i subdive once wont work.
I added the loopcuts to try to fix it.
The vertex group itself is correct.
Is has a weight of 1.
Random or jittered dont work.
particle system

vertex group

Here is the blendfile
http://pasteall.org/blend/index.php?id=49975

Please show your vertex group in the question selected in Edit Mode for the mesh.

Please show your work with a screen capture. People who want to answer and casual readers may want to see more visual info. Some people feel opening your file should be an option for the reader ... [not] a requirement.   A screen capture is small amount of work.

Added screenshots.

Please know Blender may include a face if even one vertex of a face is selected.  The whole face need not be selected.  This may be inconvenient for a brief moment.  The other hair placement tools are more precise.
If you use a mesh with more vertices and a group, then you may see this pattern above.
Precise hair placement can be done with UV Maps and Particle Edit mode tools for hair.  See image below.

In the image above you see Particle Edit Mode offered. Weight Painting is also offered.  The yellow arrow points to
Textures Panel associated with a Particle System while the Cycles Render is offered. Blender has

Particle Edit offers the most precise placement on a 3D model
Textures can control density and length as an abbreviated explanation
Textures can have higher control Density than a low poly mesh
Vertex Groups can control density and length as an abbreviated explanation
Weight Painting a Vertex Group. Reasonable but least precise.

Consider
In the example below a placement of particles was desired on a single quad strip.  One solution was to duplicated the quad strip, place particles and move keep the meshes coincident.

Perhaps your vertex group is empty or has a weight close to 0.0 zero.
Perhaps you need to assign a weight of 1.0 to the group.

no the vertex group seems to be all ok


text:
How do you create a human model from one photo?
im currently doing 3D movie still studies, where i try to recreate a movie still frame as perfectly as possible in 3D.
This is the one im working on right now.

I used the Blam addon to calibrate the camera so it perfectly matches focal length and rotation of the specific scene.
The biggest challenge for me is to create the human models for this.
Till now i use a human model mesh and transform it till the outlines match. Since the camera is calibrated thanks to "Blam" i can then use the Camera Input from the Texture Coordinate Node to apply the texture.

The problem is that i might want to animate the camera in the future.
As soon as the camera moves out of the calibrated position the Camera input for the texture wont work anymore.
I know that you can actually project a texture using a lamp.
But this will mess with my lighting in the scene.
Any ideas how to solve this particular Problem or thoughts and Ideas to improve my process in general are well appreciated.

how about modeling and shading the Charecter in full. I know its a ton of work but would be great practice. Dont use that material texture and actually create everything from scratch. Just like you are doing with the room.

@icYou520 the problem is that i want to do like 15-20 of these studies. And i want to focus on different aspects in every one of them. But mostly light and materials rather than modeling. I have never done a character before. And some of the scenes i picked have up to 6 different characters. That easily adds 100+ hours to the whole endeavour :(

Can you post a .blend file?

A couple of quick thoughts.  First, regarding the camera movement, you could bake the image onto your mesh using a couple of different UV unwrappings, then tidy up the colors using texture paint.  I don't know if you have a high resolution version of your image but with the one you posted there's not a lot of detail to work with, you'd have to put in a bit of effort to get it to look halfway decent.  Here is an extraordinarily primitve demonstration of the concept (I didn't even use a human mesh, just a cube extruded into a vaguely human shape):

To do this, I would first unwrap your person mesh with a "project from view" unwrapping looking from the camera view.  Then position the uv faces so the mesh silhouette directly overlaps the human silhouette in the image you're working from.

Use that image as the diffuse color of your person mesh, and because of the unwrapping from the camera perspective it should look correct.  The sides will be distorted and the back will just be a mirror of the front, you'll fix that later (at least, the parts that will be seen).
Now duplicate your person mesh in place.  Give the new mesh a new material, and in this material add a new image texture (not connected to any shaders) that will receive the baked colors.  You also need to re-unwrap the duplicate person mesh to something where the faces do not overlap - you could use "smart UV project", the neatness of the unwrap isn't very important.
Then bake the colors of your first mesh to the texture in your second mesh using "bake selected to active."  I'm not going to go through all the steps here because that process is covered elsewhere.  Don't forget to save your baked texture externally.
How do I bake a texture using Cycles bake
Now you can clean up the texture using texture paint, taking advantage of the cloning brush, for example, to copy colors and textures from other parts of the mesh.
A different idea: the free MakeHuman program seems to be designed specifically to assist in making human figures (meshes and armatures) that match a reference image.  There are various tutorials on YouTube.  This might be faster than modeling from scratch, and the results will definitely be higher quality than the quick/hacky method described above.


text:
How do you create a Vortex Smoke Ring?
I want to create a Smoke Ring as the outer ring for a portal.
Example 1:
https://en.wikipedia.org/wiki/Vortex_ring#/media/File:Vortex_ring.gif
Example 2:

It doesnt HAVE to be a vortex ring.
A revolving smoke ring would be enough for a start
Example 3:

I tried to to a torus smoke ring, affected by vortex force fields, in different ways. But that got me nowhere.
Does it even make sense to do it with actual smoke ?
Or is there a better way to do it with particles ?

Those the screenshots posted by you are reference images? You want to achieve something like that or this is what you came up to so far?

Those are references.

Three examples are kinda different. I'll try to answer for the first picture.

That would be awesome. I'll take any help on this i can get


text:
Is it possible to change an object's color depending on its distance?
For example I have a semitransparent sphere which contains another object which is a cylindrical line. Let's say this cylindrical path is blue. Is it possible to change the color when I rotate my object?
For example the color of the line is darker when it's closer to my viewpoint and lighter when it's further away. So the line would be a color spectrum of blue.
Thanks for your answers!
This is my object: a cylindrical path.

By "viewpoint", do you mean camera? Also, what render engine?

Use the light path > ray length node in cycles. Or subtract the object position from the camera position and calculate the vector length in the cycles material. Or use the freestyle properties. Tag me if you can't find any resources on these topics.

Or use a distance driver.

only for blender render

can you show a picture of your object for context? Is the object rotating on its own axis?

Sure! yes it is rotating on its own axis.

Okay, thanks for the answers guys! I figured it out!

Just about what I was going to suggest . .

It should be noted here that the view distance is, in fact, a fragment shader, meaning it is computed for each pixel, not per object.

Animation Nodes can be used here. I shall show two methods for computing the distance between the objects and the camera.
Passing Camera Location To Cycles
The easiest and most efficient method is to use Animation Nodes to pass the camera location to cycles and compute the distance there through the Object Info Node. This is done as follows:

Notice that the distance between two points $A, B$ is equal to $\vert\vert\vec{AB}\vert\vert = \vert\vert\vec{B}-\vec{A}\vert\vert$. But for some vector $\vec{V}$, $\vec{V}\cdot \vec{V} = \vert\vert\vec{V}\vert\vert^2$ and it follows that $\vert\vert\vec{V}\vert\vert = \sqrt{\vec{V}\cdot \vec{V}}$ which is what we used to compute the distance above.
Using Vertex Colors
If more advanced computations are required, then you can compute the distance in Animation Nodes and pass it to cycles in the form of Vertex Colors. I compute the distance between the object and active camera, remap it by subtraction and division, though you can use the Remap Value Node if you are more comfortable with it, compute a color in whatever way you want, set the vertex color of the object to that color.

Why don't we use the distance a a Hue for the color?

Why don't we use the scale of the object as the saturation for the color?

I showed how to do that for a single object, however, you can do that for any number of objects using a simple loop:

I like this solution but can't really make it work for some reason. Are those cubes in your picture all part of a single object or are they multiple independent cubes?

@Antti They are multiple independent objects. I only showed how to do it for a single object for simplicity. If you want to do it for multiple objects simply loop over them and do the same. Will add an example in a moment.

Thank you so much! There is just one thing I cant figure out from your new example: what is the parameter called "distance" in your loop input, I can't find anything with that name in the available options for new iterators, new parameteres or new generator outputs?

@Antti The Distance is the name of the parameter not the type, when you add a parameter, a generator or an iterator, you search for the required type, in our case, the type is Float because distance is a scalar quantity.

You will have to do this manually like this:

then:

Final Result:

NOTE: Same works for cycles. Just click I on the colour at each different position.
Sorry about the bad quality gif.

Please consider this (https://i.sstatic.net/Dyj80.png) layout/frame when creating gifs. Source: http://meta.blender.stackexchange.com/a/964/30849

It doesn't "have" to be done manually.

thanks for your answer! Is it also possible without moving the object? The path is fixed in my object. So I just move my camera view.

If your object is on a path, then press I on the colour bar at the start of the path. Then change the colour at the end of the path and press I on the new colour bar.

@cmomoney I don't know of any other way of doing this

https://www.youtube.com/watch?v=rmUfNw6luWI i mean something like this, i think my description of the problem is not really good.

Oh I see. That's all good. I didn't even know Blender could do that


text:
How to animate independent mesh parts
I have kind of floor cell made of pieces

I want to animate it so it can fall into pieces.
Do I need to create an armature for it? Or there is a possibility to animate parts of mesh without bones?
I need this animation to be supported by unity.
Update: I think I have an idea how to proceed here. I did a separation into parts as was proposed. But instead adding a physics I can animate these parts manually. Without bones, just save positions of each piece into keyframes. Is it good idea?

Looks like you what to separate by loose parts, add physics to each part, and then bake the physics keyframes.  Or if you wanted to animate by hand, press "i," move forward a couple frames, move the object, press "i," repeat.  For games, you may want to increase the frame rate in Blender to 60 for 1 to 1 animation.

@Gliderman, do you have any links to tutorials on this subject?

Solution proposed by @Gliderman helped. I did a split into separate objects and animated them separately. I put location and rotation values into keyframes.
Thank you.

Maybe you should try Animation Nodes if you are going for some sort of procedural animation. It gives you the ability to create parametric animations, like ICE in SoftImage or Xpresso in C4D
https://github.com/JacquesLucke/animation_nodes


text:
Copy Loc/Rot constraints of all bones with same name across 2 armatures?
Any help on this would be hugely appreciated. I'm working with a difficult armature I need to animate. The mocap/animation plugin doesn't seem to be behaving well with this specific armature. The only thing I've found that works reliably is copying loc/rot constraints from source to target armature. It is incredibly tedious. Bone names are identical across both armatures, is there a way to automate this process instead of going through each bone individually and selection loc/rot? Thanks in advance!

http://blender.stackexchange.com/questions/2384/add-object-constraint-to-a-number-of-selected-objects

Thanks but this topic deals with objects and not bones, I need a method of  saving and applying a batch of bone constraints to another armature.

but the constraint from armature number one will reference to bones from armature number one...Do you want bones from armature1 to control bones in armature2? Perhaps you can simply duplicate the original armature and parent it to the second character.


text:
What can the Cycles Geometry node 'Parametric' Socket be used for?
In Cycles, the Geometry node has a socket for Parametric. What would this input be useful for?
It looks to me to be identical to UV coordinates for each triangle where the vertices are (0,0),(0,1),(1,0) but with no means of indicating or influencing the orientation of the face. I can't find any meningful documentation that explains what it could be used for.
Can anyone plese explain what it can be used for and, if possible, provide examples of it in use.

This output represents the "barycentric coordinates" in the rendered triangle. They can be used to  interpolate any data defined at the triangle's vertices.
In practice, however, as The Cycles Input Encyclopedia  explains:

It’s another one you probably won’t use very often, unless you’re trying to make an unusual wireframe effect, although we now have a specific node for that.

EDIT Here's an idea how you could use it: you can find the "center of mass" of the triangle - it is where all three coordinates have the same value. In practice you would need to work with an error threshold, and find a small triangle in the rendered triangle.
Another idea: Some software, such as Modo, have "Barycentric UV projection", you could probably emulate that, and use textures created in them.

Thanks for the info - very interesting. So the Parametric can be used to blend between vertex properties - So if we could get, say, the Normal at each Vertex we could blend them across the face similar to Smooth Shading. However, we don't seem to be able to get those vertex data, nor determine or control which vertex is which. There must surely be a use for it other than an "unusual wireframe effect".

I came up with an idea, see the modified answer :)

Some more creative uses of parametric coordinates, creating center points. Ramp converters are used to map colours across a face, with two positive edges on either end, containing x1 and y1 values.

Example using parametric co-ordinates in case anyone else is wondering how it can be used.

Insufficient explanation, image alone is not enough. Is parametric only for color ramps? And what does it do?

This is an example to support the above answers. As to how it works, all I can say is it seems to output vector co-ordinates of each point per triangulated face as x1 y1 z0. When creating triangles the closing vertex of the first edge will be given an X value, second Y and the closing edge or last created edge, will hold no value (Z0). For example when you create a default circle with 'pin wheel' fill, this will create triangles in the order 'from circle to center and back' wheras filling it by extruding the circle and collapsing the new verts will make the center vert Z0.


text:
Unwanted spinning particles
I'm using the Molecular Script add-on to create particles to fill a container. It's working well provided the particles aren't rotating. As soon as I add rotation, those that collide with the surface rotate as expected (with friction with the surface) and those that bounce off of each other also seem to rotate as expected, but those that become 'at rest' in the centre of the mass of particles continue to rotate - I would have expected friction with the neighboring particles to cause them to stop rotating.
I end up with something like the following :

I've tried all the particle settings (including Damping, Drag, Molecular Linking, etc.) but nothing appears to enable friction between these 'at rest' particles. How can I get my particles to stop when at rest?
Here's the full particle properties panel (apologies for the very tall image!) :

EDIT
I've tried disabling the Dynamic option as suggested by Mateus but this stops all rotation - including rotation when rolling on the collision surface.
I'm wondering whether Molecular Script does not handle rotation at all - since on closer inspection the particle to particle collisions don't actually seem to be producing rotation either - and what I was seeing was the rotation from surface collision interactions only.
Blend file provided :

I always set Friction under Molecular Script settings around 0.4~0.6 to stop them rotating/jittering. Try this value or provide blend file, so I can inspect it further.

Try to uncheck the 'dynamic' option on rotation tab.

You need only a couple of ticks @Rich Sedman .  Select the bowl, goto it's physics properties, give it collision and down in the "Collision" tab, tick "Kill Particles".  This would normally make particles disappear once 'dead' so we goto the emitter and get to it's particles properties and open it's "Render" tab, tick "Died".   Dead particles will now be displayed.   On collision with the bowl they stay visible and whatsmore, stop wriggling about!  If those heaped up in the center are still 'alive' give the emitter or the emitter object the same treatment.  (someone else's idea btw)

@LukeD Thanks for the comment. I've attached the blend. The friction doesn't seem to affect the rotating. Strangely on the Initial Linking there's a Link Friction setting but that isn't present on the New Linking settings (I've tried setting the Initial Link Friction but it seems to have no effect in this situation).

@MateusItiyama With Dynamic disabled I get no rotation at all.

@Edgel3D Thanks for the comment. I want them to continue moving/rolling about - like marbles filling a bowl - and not just stick to the surface.

How about adding damping to the particles, that way they should loose energy.

Sorry for the late answer, it actually seems (as you have noticed it) that Molecular Script doesn't support Dynamic Rotation. Collision objects are stopping rotation as they should, but in MS even strong particle linking doesn't prevent them to rotate.

@LukeD Yeah - that's what I feared. I wonder if I can get access to the linked particles from Molecular and write something to update those touching particles on change of frame.

@user3800527 The damping only affects the velocity, not the rotation.


text:
"Follow Track" motion tracking constraint depth to empty
I've created a track and am trying to use that to position an object in my scene using the Follow Track constraint. I've created an Empty to use as a depth object, but when I try and use it in the constraint, it isn't listed but other objects are. Is there some reason why empties aren't able to be used as a depth object?

I'll answer my own question... My original understanding was that the 'depth object' was an object that was purely used to indicate the distance from the 'camera' that the tracking the object would be placed. However, I've just stumbled on the realisation that it's much, much cleverer than that.... the 'depth object' is used to position the object on its surface at the point that it would intersect with the depth object - so a wavey mesh would position it at varying depth depending on which bit of the wave it happened to hit. This means that an empty (being a point) would be a completely pointless (excuse the pun) thing to use - hence it's not valid to use in that situation! If you want to have the track placed at a constant distance from the source then you could use a plane perpendicular to the camera; but if you want it to follow a more complicated path the the 'depth object' can be tailored to suit whatever profile you require.