It looks like Z-fighting, which is caused by overlapping faces in your model.

From Wikipedia:

  Z-fighting is a phenomenon in 3D rendering that occurs when two or more primitives have similar values in the z-buffer. It is particularly prevalent with coplanar polygons, where two faces occupy essentially the same space, with neither in front. Affected pixels are rendered with fragments from one polygon or the other arbitrarily, in a manner determined by the precision of the z-buffer. It can also vary as the scene or camera is changed, causing one polygon to "win" the z test, then another, and so on. The overall effect is a flickering, noisy rasterization of two polygons which "fight" to color the screen pixels.

From looking at the tutorial you linked, the most likely place for this to have happened is in the Mirror modifier on the overlapping pieces. Ensure that the object origin is in the right place relative to the geometry, so the the geometry does not extend past the origin along the mirror axis:

Since this question is getting asked a lot and overlapping faces aren't always caused by a mirror modifier, here are some common cases where there is no readily apparent overlapping face:

Overlapping objects, one of which is hidden in the viewport. Press ` (often the key below the Esc key) to toggle all layers visible, and then press AltH to unhide all hidden objects. This should make all objects visible in the viewport, but it's also possible you might have some modifier causing this. Try different combinations of disabling and enabling them in the viewport and final render).
Hidden faces in edit mode. Press AltH in edit mode to make sure all geometry is visible in the viewport while in edit mode.

Once unhidden, try selecting the problem faces/objects and see if moving them (G) reveals multiple faces/objects in the same location.

If there are multiple faces in the same place, one way you can try to get rid of them is with the Remove Doubles operator. Select all the vertices in the mesh with A, then press W> Remove Doubles. This will try and merge duplicate vertices if they are on top of each other.

In the case of baking, overlapping UVs can have the same effect. Try using a quick auto-unwrap guaranteed to avoid overlapping UVs such as Smart UV Unwrap or Lightmap Pack to see if this is the problem.


Save mesh via python scripting at a given frame

It turns out that I had to advance the iteration frame by frame, like:

for frame_no in range(55):
    print ('Running frame {}..'.format(frame_no))
    bpy.context.scene.frame_set(frame_no + bpy.data.scenes["Scene"].frame_start)


Noob - world color affecting rendered (plane) image

The reason for this is that the world color does not only define the background, but also acts as a light source. When you set it to orange, you have a purple object illuminated with orange light, causing the red end result.
Using the white world color will illuminate it with white light, allowing the object to stay purple.

You could have a look here for a method to use a white lighting while having a colored background.

I've uploaded an example. The only changes I made that aren't directly visible when you open the file is that I enabled "Transparent" in the Film tab under the Render panel.


I need more subdivision levels to apply textures

Having more mesh data allows you to have more detail on the surface of your mesh. The mesh data only defines the shape of the object, you don't need more mesh data to add more texture detail.

While we can apply a different material to each face of a mesh, or a vertex colour to every vertex, these options give limited results. To get more texture detail you UV unwrap your model. The UV data allows you to define how much texture detail is used by each face. Often this is used to map an image to different parts of a model, but UV's can also be used to adjust the scale of a procedural texture on different parts of your model.

By scaling up the UV's of one face you can see that one face can use more of the image than the rest of the model.


Wood texturing - how to get seamless texturing

There are several procedural wood textures available like this one

from http://www.blendswap.com/blends/view/52626.

They are seamless by definition. However you have to adjust scale and rotation to your object.


are bpy.context.object and bpy.context.active_object STILL the same?

They do appear to be interchangeable at the moment. I have seen no evidence that developers plan to change this. For sake of consistency I prefer to use .active_object for everything that requires the active object.


While not blender specific, it is a basic python list operation. Start by creating an empty list, then append each item.

verts = []
for mesh in object.meshes:
    for m_index in range(len(mesh.materials)):
        for v_index in range(mesh.getVertexArrayLength(m_index)):
            verts.append(mesh.getVertex(m_index, v_index))

You may also want to adjust them as you go instead of making a list.

posadjust = [0,1,2,3]
negadjust = [4,5,6,7]
for mesh in object.meshes:
    for m_index in range(len(mesh.materials)):
        for v_index in range(mesh.getVertexArrayLength(m_index)):
            if v_index in posadjust:
                vertex = mesh.getVertex(m_index, v_index)
                vertex.x += 0.2
            elif v_index in negadjust:
                vertex = mesh.getVertex(m_index, v_index)
                vertex.x -= 0.2


How come when I play rendered animations all of my old animations play too?

Could it be that all your animations are frame sequence renders and that they have the same name and live in the same render folder? Blender will play any frame sequence that has a consistent sequence of numbers in the same folder.

To fix this behavior try creating new folders for each rendered sequence or at least different names each time you render.


Your mesh is a nightmare to edit, because you applied the SubSurf modifier. You shouldn't do that unless you've got a good reason !
So first, we will Un-subdivide it. You can add a Decimate modifier, select the Un-Subdivide mode, and choose a Iteration of 10. Feel free to play with that value, 10 looks like a good compromise :

You can now Apply this modifier ; this way, you'll get a mesh that is largely easier to Edit.

The next step is to add a Subdivision modifier again, so the mesh will look smoother. A Level of 2 or 3 is more than enough.
For the mesh to look even smoother, but without adding more faces, you can go in the Object menu and select Shade Smooth.

There is still some pinches, but now you can move vertices in Edit Mode to mitigate them. Anyway due to the bad topology on the highlighted zone, you won't have a perfect result :

I would suggest to read this Topology Guide (the whole site is quite interesting) if you want to improve this useful skill.


Script to store object's entire material setup and reuse them later?

what you need to do is to press the little "F" next to your material that you want to save for later.

This will save the material data block even though it is not assigned to any object. Then you can assign a new material to your object to experiment, and then come back later.

you can also set those by scripting

material.use_fake_user

If you want to swap materials back later via script,
you could probably store your original material in the object datablock.
If you have multiple materials, it would be a bit more complicated, but you could remember which material slot held which original material.

Checkout how to work with blender datablocks to save custom metadata:

Datablock Documentation

This is how easily you could add your custom metadata to any object:

C.selected_objects[0]['OriginalMaterial'] = "materialName"
# Access it directly in the console
C.selected_objects[0]['OriginalMaterial']
'material'


You can add properties to the scene that can be retrieved by all scripts. In the code you can find different 'variabletypes' (I think you can also make custom properties/variables yourself). To actually retrieve the value you will have to write bpy.data.scenes['Scene'].Annotation.my_bool

import bpy
from bpy.props import (StringProperty,
                       BoolProperty,
                       IntProperty,
                       FloatProperty,
                       EnumProperty,
                       PointerProperty,
                       )
from bpy.types import (Panel,
                       Operator,
                       PropertyGroup,
                       )

class Annotation(PropertyGroup):
    my_bool = BoolProperty(
        name="Enable or Disable",
        description="A bool property",
        default=False
    )

    my_int = IntProperty(
        name="Int Value",
        description="A integer property",
        default=23,
        min=10,
        max=100
    )

    my_float = FloatProperty(
        name="Float Value",
        description="A float property",
        default=23.7,
        min=0.01,
        max=30.0
    )

    my_string = StringProperty(
        name="User Input",
        description=":",
        default="",
        maxlen=1024,
    )

    my_enum = EnumProperty(
        name="Dropdown:",
        description="Apply Data to attribute.",
        items=[('OP1', "Option 1", ""),
               ('OP2', "Option 2", ""),
               ('OP3', "Option 3", ""),
               ]
    )

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

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


How can I remove doubles without creating intersections?

The mesh cleanup tools can help with this, especially limited dissolve.

Select all mesh elements in edit mode, then go to the Mesh --> Cleanup --> Limited Dissolve tool. Then triangulate all faces with CtrlT.

The larger the angle, the stronger the effect.


Making text more visible&noticeable on texture?

Maybe just fake the emission by texture?

Should be more easier than making the light actually penetrating the glass with less and simple light path.


connecting grease pencil drawing to object with armature for animation

You can parent the grease pencil marks to the object first select the mark in object mode
then the object i believe its shift p to parent it to the object if not try alt p


I suggest to redesign your code:

import bge

scene = bge.logic.getCurrentScene()
controller = bge.logic.getCurrentController()
owner = controller.owner

raySensor = controller.sensors['Ray']
if raySensor.positive:
    if 'Body' in raySensor.hitObject:
        target = scene.objects['Target']
        target.worldPosition = raySensor.hitPosition

    owner['Body_Track'] = True

Recommendations:

Filter "Collide" at the ray sensors configuration. All hitObjects have a property called "Collide". This way you get much less hitObjects and you do not need to filter by yourself.
No need to import bge and bge.logic. One of them should be enough.
Writing the exact same code several times is a sign of the need to redesign the code.
Nothing in this code ever resets the property "Body_Track". That might lead to confusion.
No call to "property()" - this makes this function obsolete.


I'm having problem enabling Animation Nodes in blender 2.82

I had a similar problem when I upgraded recently.

I suspect you need to reinstall the vc_redist.x64 which has some windows features that AN uses.

Check out this link on the AN github, third item titled "Import Error: DLL load failed"

https://github.com/JacquesLucke/animation_nodes/issues/1240

After I reinstalled vc_redist, I went through the AN install process again and it worked normally.

HTH


Rigging: Limiting motion on one axis to when the object is in a specific position on another

In my setup there are 3 bones, one controls the body, one controls the head and one marks the center loc of the head. Center and head are child of the body. Head bone has been rotated on x axis -90 degrees, to match world orientations, and has z loc locked.
Head bone has two limit loc constraints, one for X axis, one for Y axis.
Their influence is driven by two similar drivers.
The first driver has two variables, transform channel kind, evaluating Y loc of the head bone and Y loc of center bone.
I've named the variables with the same name of the bones, but they can have any name you want.
The expression says: absolute value of difference between Y loc of head and Y loc of center is > 0.1 (you can vary this value).
If the condition is true 1.0 is the output, if false 0.0.
The second driver is the same but controls limit Y loc, evaluating X loc.
Every constraint and driver has to be set in local space, in order to work even when the character is rotated, translated and scaled.
In the first limit loc constraint you can add a limit y loc from -1 to 1 (and the same in the second for X loc), in order to prevent the head going outside the body boundaries.


Because the plugin is version 7.1.0, and you need the plugin version 8.0.0, unfortunately there is no such plugin


To answer the first part of your question, any mesh can be sculpted on in Blender. The way that sculpting works is by moving the positions of vertices, so your model must have vertices where you are sculpting otherwise nothing will happen.

For example, you will not be able to sculpt any detail onto the default cube, because it consists of only 8 total vertices.

But, if a Subdivision Surface or Multiresolution modifier is added, the model will gain sufficient geometry to be easily sculptable.

As for having multiple vertices in the same location, this can be resolved by pressing W > Remove Doubles in edit mode (in 2.79).


Why is a. Volume shader not working along with a glass BSDF shader?

There are two suzannes in the scene;
One has a  simple glass shader with a solidify modifier and is the "outer suzanne" as I'll call it.
The second is inside the first and has a volumetric material (the tree I used is below). Midge added a displace modifier to this one to shrink it .
Suzanne 1 (Outer) should look as so with the solidify:

Modifier stack will be as follows:

Suzanne 2 (Inner) should be as shown below, just slightly smaller than the outer suzanne to avoid any intersections that will cause shading issues will the glass material:

modifiers for inner suzanne are as follows:

This is the volumetric material I used:

Click to enlarge
The result is about as below, but any volumetric material could be used:


How to stop objects from second layer createing themselves

I figured out the problem.  I just handled the problem locally in the Icosphere rather than controlling it with the Empty.  Thanks!


What does 'Blender's System supports only quads' mean?

First let's solve some term confusion here. Every face of a mesh is a polygon. A tri is a polygon with three edges. A quad is a polygon with four edges. And a N-gon is a polygon with n edges. n stands as a variable here for any possible value. In 3D a N-gon describes a face with more than four edges. So when somebody talks about a N-gon then you know: he talks about a face / polygon with more than four edges.

Now for your question: The statement that Blender supports just tris or quads is not longer true. Since Blender can deal with N-Gons too since a pretty while. The code part that made this possible is called Bmesh. Which is a special code part under the hood of Blender to deal with the mesh geometry. It gots introduced with Blender 2.63. More to read here: https://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.63/BMesh


It is because you have too few samples. Samples are the number of times any given pixel is rendered. By increasing the number of samples in the render settings tab, you can decrease the amount of grainyness, or 'noise' in the image. Increasing the number of samples also raises render times too.

Also, if it's taking too long when rendering an image with very many samples, consider using less samples but with the denoiser.

To learn about the denoiser:

https://docs.blender.org/manual/en/dev/render/cycles/settings/scene/render_layers/denoising.html

And

Proper Denoising?

Hope this helps!


Maybe not exactly the same, but closer to what you're trying to achieve are the following two node setups. The basic idea in both cases is the same. Try to achieve a similar look with combinations of the default procedural textures, and then use either a colorRamp node or a math node set to 'GREATER THAN' to filter the texture.

Using the colorRamp node, the Musgrave Texture will already be enough as an input. Take a closer look at the ColorRamp node. I pulled the white and the black values very close together. What this means effectively is that all pixel values coming into this node, which are below something like 0.6, will be converted to pure black. everything above something like 0.7 will be converted to pure white. The rest becomes greyscales. Basically, this is a bit like an extreme brightness/contrast correction.

Greather than (this is an option in the math node) is only able to output values of 0 or 1, so black or white, nothing inbetween. For your example, this seems to work, but for others there might be too much aliasing in the image. The texture I tried to build using two distorted wave textures overlaid over each other. I just added it so it becomes more clear that you can also stack procedurals, combine them using pixel math, and then again filter the output. The result is less of what you wanted, but the idea might take you further from here:


Here are some more links with almost identical issue:
Blender Artist thread 1
Blender Artist thread 2
Blender Bug Tracker
Looks like you are running blender on a potato and there is no fix. This integrated graphics card will just not do. It shares the system RAM as a video-memory and when your system uses a lot (2GB is almost nothing) there is not enough left.
Check the minimal system specs:
Minimal Blender Specs


Objects Not Showing in Other Workspace Viewports, Only Default

You are in Local View, check your viewport label on the top left.

Local view is stored per viewport, so switching layouts or windows doesn't carry it over, though switching scenes in the viewport does.

Exit Local View mode to view your scene, either using Numpad / or in the 3D view header choose the menu option View > View Global/Local to toggle.


How do you animate or otherwise envelope the noise of an animation?

To open the Graph Editor right panel, press N.

It looks like you can’t keyframe the F-curve modifiers values (I don’t know why though), but you can influence the course of the modifiers through the time by several methods:

As explained here: "You can create empty, set Noise on it, and copy location from it using constraint. So you can animate constraint’s influence, this is the way to key noise’s influence." Maybe it can suit your needs?
You can also open the Restrict Frame Range menu of your Noise modifier and play with its start and end values.
You can add an Envelope modifier after your Noise, add as many Control Points as you want and play with them to restrict or expand the effect of the Noise.


How do I link Particle data between objects?

select all the objects you want the particle system to be linked to
select the object with particle system as last (so it is the active object)
from particle system list select the system to be linked (the active one or all the particle systems)


What will speed up renders more effectively?- more cores or higher clock speed?

From what I read about in the past, more cores give you "better" rendering because of the parallelism. Regarding GPU rendering, the thing you also have to consider is whether you want this to be scalable and if your scene has a large memory footprint. Running out of GPU VRAM will essentially leave you without a GPU. If you're building a renderfarm, cores are the way to go. Plus, you can set the render to leave one or two cores free for other applications to use, so you'd be left with 4 or 5 cores on the 6, versus 2 cores on the 4. I personally use a 6-core Phenom II OCed to 3.72 GHz, which does everything I need it to and I can run background applications without issue. I can set the tile size up and get a reasonable looking preview pretty quickly without having to wait for two tiles at a time. Then, when I need to do a final render, I just set it back up to 6 cores and let it sit overnight or while I'm out.

tl;dr - I would say go with the 6.


Navigation working in Object mode but not Edit mode?

Yes, this happens when you use "LEFT" click selection (not the default).

the shortcuts you used above need the "emulate 3 button mouse" setting enabled... which you can do with "RIGHT" click selection:

but as soon as yu enable "LEFT" click selection, the setting is unavailable (greyed), and thus those shortcuts doesn't work anymore

I guess you're on Windows, and I suggest you to use a little utility (called X-mouse, or a similar one) I suggested in another answer, here;

Can't navigate in the 3d view

With that, you can have an automatic setup just for Blender mouse usage, and your 3 button mouse will use the middle button as it is intended by Blender, so you don't need the "emulate 3 button mouse" setting, and thus you don't need the shortcuts either...

hth


Most likely when you "opened" this blender file, check on your left lower size of the screen "LOAD UI" on the OPEN FILE manager. UNCHECK IT. THEN, open up the file.
If you already did, then yes, you need to "re-open it" like it was the first time you opened it, and uncheck the load UI.
If you have it save, close the file. Open file>uncheck load UI. Profit.


How can I render Cryptomatte pass for Nuke

I found it!!! you need to rename your view layer to "scene" it's really akward but it works. wasted too much time on this... (using 2.8 thou), also no need to use the compositor to output the passes, it'll work just fine...


You are looking for applyImpulse.

applyImpulse(point, impulse, local=False)
Applies an impulse to the game object.
This will apply the specified impulse to the game object at the specified point. If point != position, applyImpulse will also change the object’s angular momentum. Otherwise, only linear momentum will change.


You have a hidden object, "Donut2".
This only hides it in viewport, not in render. You can go into the object properties and disable render, or delete the object.


Add glow to animation in compositor when using sheepit renderfarm

I figured out the answer. One must never forget to plug the entire node setup into the Composite Node in the end to apply it to the render.

I simply forgot to plug it and left it at the Viewer Node whenever I save and close.


You can use a combination of

Render Layers
Object ID
compositing

These posts helped me to accomplish a simular case:

How to use an object as a mask?
How can I move an object on a separate layer behind another in the compositor?


You can download Blender from any mirror you want. Australians can download from US, US can download from Netherlands, etc. If there's no Aussie mirror, just pick a different one.


Increasing mesh detail from existing model

Final result:

Overview:

Sadly you will need to retopologize your meshes. Happily it's not that hard and it's certainly good practice.

Main goal is to have quad only topology, which will allow us to use modifiers and have better control over the mesh itself.

There is no simpler method that I'm aware of to get high poly from low poly in order to prepare mesh for 3D printing.

Steps:

Remove vertices from the back of the mesh.
Merge two bottom vertices (I think only this particular mesh has this issue).
Delete one side of the mesh.
Add Mirror Modifier and select Axis accordingly to your mesh and check Clipping.
Delete inner edges.
Select two bottom vertices and hit F few times to fill in faces.
Make Loop Cut trough the mesh.
Place top vertices a little bit higher (use Edge Slide - G>G) to make nice Edge Loop and add another Loop Cut for sharp center (press E when sliding edge to make it even with left/straight edge).

Add Solidify and Subsurface Modifiers.

Final thoughts:

Now you can add as many Loop Cuts as you want to have sharper/smoother edges. You can use Mean Crease to sharpen them even more. Meshes from your file may produce some issue while printing. It's better to make an effort and prepare good mesh then loose time and money while printing.

Blend file:


Keeping emitted particles with emitter animation

Thanks for the answers, but you may have misunderstood my question. You can't use hair because hair doesn't continually emit and what I needed was for particles to emit while moving with their emitter. Like when you pick up your beer glass, the bubbles stay in the beer instead of in the place where they formed.

I did figure out how to make it work and the answer is using keyed particles. with Keyed particles, you can create chains of emitters whose particles flow from emitter to emitter. With this you can create some really cool effects too.
https://www.blender.org/manual/physics/particles/physics/keyed.html

To use,first set up your primary emitter. This will be the emitter whose particles are visible. Then duplicate that emitter and move it to where you want your particles to travel to. Then back on the first emitter, change the physics to "Keyed". then under that is a list where you can set keys. Click the button twice to add two keys. Select the second key and then select the second emitter on the object target below the keys.

Now set your second emitter to "Keyed" and particles to not render and run the simulation. Your particles now travel from emitter to emitter regardless of gravity. Parent the second emitter to the first and now they travel together. I found the answer on this youtube video https://www.youtube.com/watch?v=6tRKFUEhEgw


Mesh Won't Move With Armature After Setting Parent

You have flipped normals as you see if you enable the Face Orientation option in the Viewport Overlays panel:

So go in Edit mode, select all, press AltN > Recalculate Normals, and parent again With Automatic Weight.


How do I add a node to a frame using python

I found the solution as shown below and thought I would post the answer to help others facing the same problem.  It is actually more obvious than I first thought.

glass.parent = frame
trans.parent = frame


Rigid body physics: Why objects are attracted without any force applied?

I tried your file, I found  that just following what @moonboots said above in comments should work, but sometimes... it doesn't, and it's weird!

Here is when I tried to "free" rigid body cache, and also to "free all bakes": it didn't work.

Then I tried a trick: apply scale, and it worked, the "screen" mesh fell in a more natural way, but after reaching the floor, it fell downwards...

So, I tried to apply also rotation, and in this way it worked how you probably expected:

Applying transforms (particularly scale and rotation) is always recommended when you simulate physics in blender, and most of the times it solves even weird issues like this one.


Use a smaller shutter value.

A smaller number would give you less blur, freezing the action. Same effect as a faster shutter speed on a real camera, where the film or sensor is exposed less time to the light.

A larger value would result in more blur, the same way as using a longer exposure time on a real camera.

If you are curious of where the default value of 0.5 comes from, you can read https://en.wikipedia.org/wiki/Rotary_disc_shutter. Motion picture cameras have a rotating shutter in the form of a semi-circle, half the time the film is held in place while is being exposed to the light, the other half of the time the shutter is closed while the film transport mechanism moves the film for the next frame to be exposed.


How do I make the Cycles world background a vertical gradient?

One way to make the world a vertical gradient in Cycles is to add a Gradient texture and color ramp for your color, and rotate the texture coordinates accordingly.
Here is the node setup and result of said nodes:


Blender built as a Python module, now how do I install and use it?

Okay, I think I got it.

cd to ~/blender-git/build_linux_bpy and run make install
this will install to a local path (~/blender-git/lib/linux_centos7_x86_64/python/lib/python3.7/site-packages/2.91)
setting WITH_INSTALL_PORTABLE=OFF on the command line before the call to make install had no effect
~/blender-git/build_linux_bpy/CMakeCache.txt defines the PYTHON_SITE_PACKAGES variable
I found this by running a search using grep -rnw . -e 'PYTHON_SITE_PACKAGES'
I set this PYTHON_SITE_PACKAGES to /usr/lib/python3/dist-packages
I chose that path from the list returned by python3 -m site
I can now import the bpy module from a python script

If anyone has a better way of doing this, let me know! Cheers.


Cycles Smoke render - Extremely poor performance & crashes

OK, just for reference, I found the problem - it was the Volumes settings!

I had them at the default of Step Size: 0.1 & Max Steps: 1024

It was killing my machine at this setting.

So I changed it to Step Size: 5 & Max Steps: 16 and it's MUCH better now! Only a very small noticeable difference in smoke quality too.


I would do it this way:

First apply the Scale on your object because if you've scaled your object in Object mode the bevels won't give anything good.
Only keep the front face.
Use the knife to create quads all over your plane: K to activate, Z to cut through, C to cut perpendicularly.
Make sure you don't have vertices very close to each other, if so use merge, remove doubles.
Extrude.
Give your object a Subsurf modifier and smooth it.
Bevel the drawings edges.
Bevel the border edges.
Cut an edge loop with the knife along the background face (or mirror the front face so that you don't have to work the back).
Clean all the corners.


How can I make objects fall at steady speed?

Set gravity to 0 and give them both same initial velocity

(also make sure to give em a lot of solver iterations/steps per second so physics calculate nicely)


What has caused this f-curve to be inactive?

You must have accidentally pressed the 'speaker' icon next to the f-curve in the Graph Editor, which is used to temporarily disable (mute) f-curves:

Click it to enable the f-curve again:


It seems like you just need to select a font that has japanese characters. I downloaded NotoSansJP-Regular font and it seems to work just fine. With Text object selected in Object Data Properties (The a tab) under Font you can select the font you want to use.


Face Selection Masking for Painting overlaped by the texture

I'm sorry, but since the Blender 2.73 version release you can't display the wire outlines while painting.

''Paint mask selection now only shows selection boundary (so you can better see what you are painting)'', as you can read in this manual: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.73/Painting


Possible to activate different object shape keys at same time? Regarding .vrm --> .fbx model for vrchat & vtuber programs

Not quite the answer I was looking for, but I've figured out a way to get things to work once exported.
You do not need to be able to activate them at the same time within blender, you just need to make sure that all of them are named the same thing, and that you can re-export your .FBX file to a .VRM file once imported to unity. This seems to be the only way to get your shapes/expressions to work properly if they are not all within one object.
Things needed:

CATS extension for blender https://github.com/GiveMeAllYourCats/cats-blender-plugin
Unity VRM export/importer [Apologies I forgot where I got this from so will update with link later]

First things first, This works better if your objects are linked and you've assigned parent and child bones. [How to parent/child bones: https://docs.blender.org/manual/en/2.79/editors/3dview/object/properties/relations/parents.html ]
You want to make sure that all of your shape keys that "connect" and you want to go together are named the same thing and line up properly. Both for ease of access and to make sure things export/import correctly for blendshapes in unity. Then you want to "Fix" your model with the CATS extension, under the "Model" category. All default settings should be fine except for the "Join Meshes" option. Because my mesh and objects are separated with their own keyshapes, joining the meshes here will get rid of or ruin the shapes.

Once your model is fixed, check your shape keys to see if any of them got altered. At this point you are free to go through and delete any shape keys that were transferred over when you separated your mesh/objects with your original vroid model, that are unneeded or do not affect your object. If everything is fine and once you've removed or added any extra shapes you need, then you want to export your model to a .fbx file. Make sure to select the embed textures option under settings in the CATS menu.
I'm going to skip over a bit of this final process as it's regarding unity entirely at this point, but essentially you want to import your .fbx model, make sure all the textures and materials are correct, and then you want to export your model to a .vrm model within unity.
From there you should be able to find a folder titled blendshapes and be able to alter the animations inside with sliders to create a "full" facial expression, pose, etc, as long as you exported and fixed everything correctly within blender.


It may be a bit hard to say, you need to explain a little more about the way you made the mesh.
Mi guess is that you only create the shape with the array, but you didn't delete the faces in between, so, every hexagon is still a separate object but very close to the other so you don't notice that is a separate shape. If that is the case, you need to delete those faces to make a one mesh and then, unwrap all the final shape or UV Unwrap every hexagon individually


Select 4 vertices and press F, to add a face between the selected vertices. You have to be in edit mode.


stitching uv islands creates sharp edges in new version

This appears to be because blender is keeping the old unwrap edge markings, but knows the UV is now different than what was created from the unwrap markings, so it is now highlighting them. This is not going to show up in the final render.
Edit: sorry, they are actually sharp marks and are not UV marks. But regardless, you can select those edges and then “clear sharp“ in… I don’t remember which menu. It’s either mesh or edge. (Why is this small?)


Bake Mesh Sequence Cache to Keyframes or Shape Keys?

Realized I can't do this, keyframes won't work for geometry and shape keys require each frame to have the same polycount.


Check if the head and the body share the same name of any vertex group, in that case rename one of them before making any joint. Then you should be able to join the armatures, join the meshes and have everything working as expected.

Remember that the order in which you select the two objects to join matters: the selected object will be part of the ACTIVE object, and will inherit its name, so - if something doesn't work, probably the armature modifier of the joined model is pointing to the armature with the wrong name, and you will have to simply choose the correct name in the modifier field.

All weights should remain untouched.

At now, as Moonboots said, the head has an armature modifier that is pointing to a non existing armature, if you change this, selecting the new jointed armature in the head's armature modifier, the head should return in its correct position.


Spin tool in Blender 2.92.0 rotates only around z-axis by default

Click outside to use view axis.

Spinning around camera view, undo, then TOP ortho.
There may be some magic to using the gizmo that appears if you click a plus, revealing the default Z axis path, but it is a slippery beast and TBH I have no idea how to control it. (apart from moving the pivot point)  Perhaps someone will add a better answer re this..
So I resort to align the view to axis I wish to spin around, then click outside the gizmo and spin around similarly to rotation.


Hi Misha welcome to Blender SE.  There's two things preventing seeing the deformations in your armature:

You have the manipulator set to 'Manipulate Centre Points' (see picture below).  That will prevent any rotations from happening in a chain of parented bones, who's pivots are all dependent on their parents' tails.  Uncheck this box:

Your armature modifier settings have all their deformations based on the Abdoman bone.  This means the Abdoman's vertex influences are determining the deformation of the entire model.  I suspect you don't actually want this, unless your gearing up for a more complicated modifier stack.  Just hit the 'X' next to the Abdoman bone to clear that out.

After that you should see that your model now deforms the way you intended.   Happy Blender-ing!


How can I tie the Display Face Orientation to a Toggleable hotkey?

In 2.8x, it's simpler than that. Just open the overlays panel, right-click the Face Orientation check-box, and select 'Assign Shortcut' from the menu.


Trying to combine all my materials into one with my UV maps being seperate

I had the same issue, when exporting my model to unity. Here is how I handled it:

create a new UV-Map for every object. It's easier later if they all have the same name.
select all your objects in object mode and unwrap them. With the new created UV-Map selected for every object, all objects UV-Maps now should all be in the gray square of the UV-Editor.
Bake your textures from all the objects to a new image with the new UV-Map.

Hope this works for you :)


Material color is darker in Kd in .mtl file than it is in blender

Like Troy said it's a color management convertion.
In cycles colors aren't bounded to 0/1 range, this is scene referred datas.
In .mtl files colors are stored in a 0/1 range, the display referred datas.
Look the Wiki for description of Wavefront .obj, scroll down to the section "Material template library" and subsection "Basic materials"
It's said that : "Color definitions are in RGB where each channel's value is between 0 and 1."

So with that in mind you couldn't expect a 1/1 between Cycles internal values and exported bounded values. Plus I don't know if you're aware that Hex values are gamma corrected in Blender.
It looks like there is a transfere curve, I guess an EOTF curve, see here for more details : the-importance-of-terminology-and-srgb-uncertainty, the whole article is worth reading but there is a section about the sRGB EOTF transfer curve.


Subdividing face doesn't automatically subdivide adjacent face

So...It is, but it isn't.

I'm betting you are watching some older tutorial videos (circa 2013) because that was old Blender subdivide behavior (circa v2.53).  Subdividing or otherwise changing the edge-count of a polygon ran the risk of an edge explosion to keep all polygons on a mesh either quads(4 edges) or triangles (3 edges).

Blender, as of around version 2.56, recieved N-Gon support.  N-Gons is the colloquialism that refers to polygons with 5+ edges, and Blender then began to hold them more or less as-is.  This allows for more or less non-destructive polygon slicing, which is what you are experiencing.

Under the hood, it is tracking just a bunch of triangles though.  If you want to see and manipulate those triangles, triangulate is ctrlt while the faces in question are selected.

You might want to find more recent tutorials, as well.


Model faces the wrong way. Any way to fix it?

You can just select the mesh in Edit mode by pressing A on the keyboard and rotate it on Z axis by pressing R (Rotate) and then Z (to rotate only on Z axis). Change angle as you want and you are set.

Press Z only while you are rotating it, or it will switch to Wireframe mode.


How do I subdivie Ctrl+n an object in Python?

subdivion_set, it seems, is the Subdivison Surface modifier (by default actually is Ctrl+2 for me).

Those bpy.ops. methods apply to the currently active object. It's good that you created one by bpy.ops.mesh.primitive_uv_sphere_add(size), because it creates all all necessary things AND selects the created object. There is good page about different methods for creating meshes in the documentation at 3 ways of creating objects.

TLDR, right after you created object with bpy.ops.mesh.primitive_uv_sphere_add(size), call bpy.ops.object.subdivision_set(level) without any variable setting for sphere.


How to set Textbody value with Python-Script (Adding a text and editing the body)?

This is how I solved it:

import bpy
import bmesh

def create():
    scn = bpy.context.scene
    scn.render.engine = 'CYCLES'
    scn.world.use_nodes = True
    set_background()
#context
    bpyscene = bpy.context.scene

# Create an empty mesh and the object.
    mesh = bpy.data.meshes.new('Basic_Sphere')
    basic_sphere = bpy.data.objects.new("Basic_Sphere", mesh)

# Add the object into the scene.
    bpyscene.objects.link(basic_sphere)
    bpyscene.objects.active = basic_sphere
    basic_sphere.select = True

# Construct the bmesh cube and assign it to the blender mesh.
    bm = bmesh.new()
    bmesh.ops.create_uvsphere(bm, u_segments=32, v_segments=16, diameter=1)
    bm.to_mesh(mesh)
    bm.free()

# add subsurf mod and smooth
    bpy.ops.object.modifier_add(type='SUBSURF')
    bpy.ops.object.shade_smooth()
# add material to the UV Sphere
    ob = bpy.context.active_object
    ob.select = True
#scene.objects.active = ob

# Get material
    g_mat = bpy.data.materials.get("green_glow")
    if g_mat is None:
    # create material
        create_materials("green_glow")
    g_mat = bpy.data.materials.get("green_glow")
# Assign it to object
    if ob.data.materials:
    # assign to 1st material slot
        ob.data.materials[0] = g_mat
    else:
    # no slots
        ob.data.materials.append(g_mat)
    print ("Green Material assigned")

# move UV Sphere
    bpy.ops.object.move_to_layer(layers=(False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False))

# Text
bpy.ops.object.text_add(view_align=False, enter_editmode=False, location=(0, 0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
bpy.ops.transform.rotate(value=1.5708, axis=(1, 0, 0), constraint_axis=(True, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1)
bpy.context.object.data.extrude = 0.02
# Delete default "Text"
bpy.ops.object.editmode_toggle()
bpy.ops.font.delete(type='PREVIOUS_OR_SELECTION')
bpy.ops.font.delete(type='PREVIOUS_OR_SELECTION')
bpy.ops.font.delete(type='PREVIOUS_OR_SELECTION')
bpy.ops.font.delete(type='PREVIOUS_OR_SELECTION')
bpy.ops.font.delete(type='PREVIOUS_OR_SELECTION')
# Set new word
chars = "Digital"
for char in chars:
    bpy.ops.font.text_insert(text=char)
bpy.ops.object.editmode_toggle()
# add material to the Text
ob.select = True
ob = bpy.context.active_object
#scene.objects.active = ob

# Get material
mat = bpy.data.materials.get("white_glow")
if mat is None:
    # create material
    create_materials("white_glow")
mat = bpy.data.materials.get("white_glow")
# Assign it to object
if ob.data.materials:
    # assign to 1st material slot
    ob.data.materials[0] = mat
else:
    # no slots
    ob.data.materials.append(mat)
print ("Green Material assigned")
# text to mesh
bpy.ops.object.convert(target='MESH')
# Particle system
bpy.ops.object.particle_system_add()
bpy.data.particles["ParticleSettings"].effector_weights.gravity = 0
bpy.data.particles["ParticleSettings"].render_type = 'OBJECT'
bpy.data.particles["ParticleSettings"].dupli_object =
bpy.data.objects["Basic_Sphere"]

def set_background():
# darken the background
bpy.context.scene.world.node_tree.nodes['Background']
.inputs['Color'].default_value = (0, 0, 0, 1)

print("Set background color")

def create_materials(mat_name):
mat = bpy.data.materials.new(name=mat_name)
# get the material
mat = bpy.data.materials[mat_name]
mat.use_nodes = True
# get the nodes
nodes = mat.node_tree.nodes

# clear all nodes to start clean
for node in nodes:
    nodes.remove(node)

# create emission node
node_emission = nodes.new(type='ShaderNodeEmission')
if (mat_name == "white_glow"):
    node_emission.inputs[0].default_value = (1,1,1,1)  # white RGBA
else:
    node_emission.inputs[0].default_value = (0,1,0,1)  # white RGBA
node_emission.inputs[1].default_value = 2.0 # strength
node_emission.location = 0,0

# create output node
node_output = nodes.new(type='ShaderNodeOutputMaterial')
node_output.location = 400,0

# link nodes
links = mat.node_tree.links
link = links.new(node_emission.outputs[0], node_output.inputs[0])

# remove links
#links.remove(link)

# Animate Particle System
#def animate():

# Move / Animate Sphere

if __name__ == "__main__":
create()


How to morph a sphere into a torus in blender

Modeling & shape keys

You can somehow fake the effect with shape keys.

It's just a matter of grouping vertex in the target position. The way about how to approach a similar problem could be various, and they really depends on the shapes.

Start by creating two shapkeys and enter edit mode to start changing the vertices position:

If we for example consider the morphing from a sphere, you could start by selecting the inner faces of the thorus and then scaling everything toward the center and then on the Z axis:

Invert the selection and start running alternatively the command "smooth vertex" and "to sphere".  The purpose would be to better distribute the edge loops to mime a UV sphere topology (at least outside). Then scale the whole selection to match with the lower and upper vertex.

Result:


What is wrong with my photorealistic procedural chocolate texture?

This node setup isn't really the best to use if you want the crumbly scratched look, if you look at the image that the node setup was posted with the chocolate is very smooth.
You can adjust the black and white ColorRamp going into the roughness of the material to get some smears to show, but it won't really get you any farther than that.
I suggest you make your own material, and use surface imperfection textures for the roughness and bump, that will give you the scratched up look you want.


Blender crash on Open/Save/Import/Export but app works as normal

Start blender from a terminal.  And see if any errors show up.
https://docs.blender.org/manual/en/2.79/render/workflows/command_line.html
Platforms
How to actually execute Blender from the command line depends on the platform and where you have installed Blender. Here are basic instructions for the different platforms.
Linux
Open a terminal, then go to the directory where Blender is installed, and run Blender like this:
cd <blender installation directory>
./blender

If you have Blender installed in your PATH (usually when Blender is installed through a distribution package), you can simply run:
blender

macOS
Open the terminal application, go to the directory where Blender is installed, and run the executable within the app bundle, with commands like this:
cd /Applications/Blender
./blender.app/Contents/MacOS/blender

If you need to do this often, you can make an alias so that typing just blender in the terminal works. For that you can run a command like this in the terminal (with the appropriate path).
echo "alias blender=/Applications/Blender/blender.app/Contents/MacOS/blender" >> ~/.bash_profile

If you then open a new terminal, the following command will work:
blender
MS-Windows
Open the Command Prompt, go to the directory where Blender is installed, and then run Blender:
cd c:\<blender installation directory>
blender

You can also add the Blender folder to your system PATH so that do you do not have to cd to it each time.
You can also try to reset user preferences (this will reset blender to stock)
https://www.katsbits.com/codex/userpref/


you can assign a texture to a mesh, them assign that mesh to a bone.


Blender Output Multiple Passes When Rendering with Specific Naming Scheme (2.8.2a)

From your image it looks like you are assigning a folder called "Mist". select a folder and then use the add input inside the File output node N and connect your "mist" to that new input


Why is my smoke simulation not updating?

This appears to be the result of a couple things:

Negative start frame.
The simulator doesn't seem to like this, I suspect that it's a bug that negative start frames are even possible to set. (will report later)

The start of the scene animation is after the start of the simulation.
Blender only simulates when the animation is played from the starting frame of the simulation (not sure why it worked at all in your case actually).
Once the simulation is Baked or cached you can start at any point.

If you set the simulation start frame to 0 in Physics > Smoke Cache and then Bake, it works as expected.


Which render engine should I use for export to Unity

Rendering or image synthesis is the automatic process of generating a photorealistic or non-photorealistic image from a 2D or 3D model

(see Wikipedia)

This implies generating an Image, which will be a projection of your model to a 2-dimensional space. Anyway, as long as you are not programming a sprite-based game, I don't think what you want to have is an image of your model, but a model to be rendered within the game.

For that purpose rendering in Blender is completely irrelevant and hence is the rendering engine.

Sidenote: If you are asking which rendering engine to use with Blender for photorealistic modeling in general, please drop the Unity from your question.


How can you curve the faces of a hexagon?

create a simple hexagon
Edit mode, subdivide as many times as you need for details but an odd number to get a vertex centered on each edge.
Select the central vertex
turn on proportional editing, spherical mode
scale down all selected vertex while adjusting the proportional editing effect radius.


Should I fill the mesh between two objects?

Well, it really depends on what you want it to look like. Realistically and according to couple of games (not blender games), there should be a gap where parts of the upper leg can be seen under the pants when the camera is placed down and field of view is pointing upward towards the pants, otherwise you will end up as if the pants and skin are stuck together.


How to do proportional move only on selection?

Three simple steps:

Invert your selection (Ctrl+I) and hide the vertices (H)
Transform using proportional editing
Unhide all vertices, Alt+H


There are no skin weights on the plane so that would need to be fixed. The weight painting will take some time to do since you need to do it by hand.

Also, you need to have much higher resolution on your mesh so it can deform properly and more bones to follow the curve to give a convincing result.

As a side note: It might be easier to solve this with a curve deformer directly attached to the mesh but I guess that you have reasons of doing this with bones.


How would I track a face turning around?

2D Tracking is quite simple and easy to do, just take advantage of the dots and use them as a guideline in your 3d scene to make the rotation of your helmet.

once you set up your tracking scene correctly and you turn your trackers into empties, you can extract transform information from the empties and apply them on your helmet object, by using a Constraint , a hook or even keyframe and rotate the helmet manually if it's a simple mesh.


How to find and eliminate materials that aren't disappearing with orphan data purge

On a peer material basis.

Try bpy.data.materials['nameofthematerial'].user_clear()
Reload the file.
If still there,

for i in bpy.data.scenes['Scene'].objects.items():
    for j in i[1].material_slots:
        if j.name == 'nameofthematerial':
            print(i[1].name)

Will give you a list of the objects in the scene that the material is connected to.
Do you have only one scene ? If no you can repeat the operation for each scene, if yes you might find an elegant solution by including another for that will loop through the scenes, but hey got to keep some handwork and this might be futile unless you have ~10 or more scenes.


How can I preview all of my video strips?

Just select the faded strips and press Alt+H and the hidden strips i.e your transparent strips, will be unhidden. You probably pressed H which is used to hide.


You can use Separate by selection.

Select the faces you want to remove
Use Mesh > Separate > By Selection
Your selection is now a separate object you can hide/show at will


Is the Orange Peel transparency effect impossible in Eevee?

You mean this kind of effect? I don't understand the relationship between orange effect and transparent issue. You might need to confirm what is your main question.

It should be work while you use Screen Space Refraction at render panel:

You will need to turn on Refraction if you want to see thing behind the glass.

And also turn on both alpha blend mode and Screen Space Refraction in your glass material:

Reference

Unable to see objects through Glass BSDF


Particles not going down - Z Axis problem offset


Final result:

Particles settings:

In this example Particles Emitter is small IcoSphere following spiral Curve.

Brownian - will scatter particles.

Damp - will keep them together.

Gravity - well, will make them less influenced by gravity :)

IcoSphere.001 - is our Particle Object.

Try them out to get desired result.
(Constant rewinding video on YouTube is not my strong side.)

Particle Object material:

To the Particle Object (in this case IcoSphere.001) you will want to assign Particle Info node and change color of them by their Age, or read more here: How do I get particles to change color over time?

Math node > Divide allows you to change how quickly this change will be and ColorRamp gives you colors.

Blend file:


You have three ways to control how animations are exported in FBX:

NLA Strips and All Actions disabled: only 'active' actions in scenes will be exported (i.e., actions assigned to objects/armatures/etc.).
All Actions enabled: all existing actions are exported for all compatible objects (because there is no way by default in Blender to restrain a set of actions to a specific object).
NLA Strips enabled: each strip of the NLA of each object is exported as a single action. This is the best way to get precise control over which action is exported for a given object.

As for orientation and armature issues, this is a well known issue of current code (at least with UE4, for some reason Unity seems to work much better), which is being investigated - it is still completely unclear whether issue is in UE4 reading code, or Blender writing code, or both…


How to bend my screw to the shape of an S

Use the images as plane add on. Insert your image plane & browse to your desired image, then sub-divide it up. Add a lattice. Then on your image plane use the lattice modifier, and select your lattice as the reference object inside the modifier. Then manipulate your lattice to have the S-Shape that you desire.


Blender wont import fbx animations correctly (Mixamo)

I found that importing the FBX with skin fixes the problem. I hope this helps.

If you export a binary FBX from Blender to Mixamo and get the expected results next thing is to download the FBX with animation and skin. What is usually done is to import all other animations without any skin. There is where I found the problem if The animation is downloaded without skin It wont re-target correctly.


How to display line using Measurelt between two vertex

You need to click the Show measurements button.


Cycles Toon shader size effects diffuse direct value

According to the code currently here, and the sample_uniform_cone currently here, without smoothing the resulting diffuse intensity depends on the size of the toon shader node.

So we can compensate this value to invert the calculation:

The size is multiplied by pi/2 (so this is relative to half cone angle).

Then take 1 minus the cosinus of the previous result.

Then divide pi/2 by the previous result.

Last, multiply the intensity value by it.

As this last step is multiplication factor in the shader code, we need to divide by it in the nodes. This is done by this node group:

The result is not exactly perfect (should be some rounding or an error by me). But we obtain this:


Be sure that both UV Maps have the same name, otherwise the textures will not share the same space when they are a single object.


Workflow to convert rendered images to video

The only tool I've ever needed is ffmpeg. Here is my standard "recipe" for command-line conversion:

To convert default Blender sequenced PNGs at 24fps to a lossless 24fps YUV420p colorspace, x264 format video:

ffmpeg -r 24 -i %04d.png -c:v libx264 -r 24 -pix_fmt yuv420p -qp 0 output.mp4

The quality is determined by "-qp", with 0 best (lossless) quality, 51 worst. Also, know that the first "-r" determines how long each PNG will be shown, while the second "-r" determines the actual framerate of the output video.

As an example using that same command above, but starting from 0100.png, with each image viewable for 5 seconds in a video with a framerate of 30fps, plus a forced-rescale to 1920x1080 thrown in too:

ffmpeg -r 1/5 -start_number 100 -i %04d.png -c:v libx264 -r 30 -s 1920x1080 -pix_fmt yuv420p -qp 0 output.mp4


Yes, you can. Make the output file with a '.png' extension (or any other image extension) and start rendering the animation. It will render each frame as a picture and you can stop and continue it whenever you want, starting from whichever frame you want. At the end, when it's all done, just add them all in blender's video editor or in a separate video editing software and the rest is easy.

Here's a video tutorial from Blender Guru:
https://m.youtube.com/watch?v=dd5RT8rEPqU


This adds a button to the 3D View tool panel, Animation tab:

import bpy

class OBJECT_keyframe_insert_hide(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.keyframe_insert_hide"
    bl_label = "(Un)hide"
    bl_options = {'REGISTER', 'UNDO'}

    hide = bpy.props.BoolProperty(name="Hide")

    @classmethod
    def poll(cls, context):
        return context.object is not None

    def execute(self, context):
        ob = context.object
        ob.hide = self.hide
        ob.hide_render = self.hide
        ob.keyframe_insert("hide")
        ob.keyframe_insert("hide_render")
        return {'FINISHED'}

def draw_func(self, context):
    layout = self.layout
    hidden = context.object.hide

    layout.label("Stop motion:")
    layout.operator(OBJECT_keyframe_insert_hide.bl_idname, text="Unhide" if hidden else "Hide", icon='KEY_HLT').hide = not hidden

def register():
    bpy.utils.register_class(OBJECT_keyframe_insert_hide)
    bpy.types.VIEW3D_PT_tools_animation.append(draw_func)

def unregister():
    bpy.utils.unregister_class(OBJECT_keyframe_insert_hide)
    bpy.types.VIEW3D_PT_tools_animation.remove(draw_func)

if __name__ == "__main__":
    register()

It hides or unhides the active object and keyframes the .hide / .hide_render properties.


Color with falloff | Animation nodes 2.1 in blender 2.81a

You can make use of the "Viewport Color" property of each object, since this property can be accessed in any shader.

See my answer here for more information : https://blender.stackexchange.com/a/163699/86891

In your animation node tree, you need to add an "Object Attribute Output" set to "color" :

Edit :

As of V 2.1.7, thanks to 3DSinghVFX there is a node specifically for this : The object color output.

Then access it in your shader :

These two objects share the same shader, but I am modifying the left one's color in my animation nodes tree :

In order to change each individual object's color, use this setup :

Don't forget to tweak the "Evaluate Fallof" node to output a list instead of just one value. You need to click on the button on the right of the "location" field in this node. Notice how it is blue tinted.
Result :


Images in the Render Layer nodes of the Compositor disappear

OK solved. I was manually rendering each layer and the compositor was only reading the last render, which was whatever layer I had just done. I let the compositor do the work and it handled it.


How do I save (bake) a particle simulation?

You can bake the particles by going to the cache section on the particle emitter. Enable Disk Cache and then Bake All Dynamics. After you do that save your file. The particle cache info will be saved to disk.


Is there any way to make multiple objects convex hulls?

Use the bmesh operator
Use the bmesh convex hull operator as outlined here https://blender.stackexchange.com/a/121815/15543
Test script, run in object mode. Turns all selected mesh objects into their convex hull.
import bpy
import bmesh

context = bpy.context

meshes = set(o.data for o in context.selected_objects if o.type == 'MESH')

bm = bmesh.new()
for me in meshes:
    bm.from_mesh(me)
    bmesh.ops.convex_hull(bm, input=bm.verts)
    bm.to_mesh(me)
    me.update()
    bm.clear()


How can I scale all objects in the scene about the origin using Python?

No solution, but a hint (cannot comment):

Your code runs the danger of scaling parented objects more than once.
You could filter/only scale objects with no parent (root scene objects)...like so:

root_objects = []
for obj in context.scene.objects:
    if not obj.parent:
        root_objects.append(obj)

for obj in root_objects:
    ...


Using / making text into a procedural shader material in nodes

You can import an image with text on it (typically in black an white, acting as a mask in your node setup), but there is no way to write text in a procedural manner with nodes in Blender.


It doesn't matter either way. If they are parented to the same armature, they can either be left separate or you can join them to the main mesh. The eye vertices need to be weighted properly, only to the eye bones.


where is the viewport shading in blender 2.8?

The icons are on the bottom toolbar in the 3D View. You can't see them because the 3D View is too narrow, so they're getting cut off.
You can move the divider between the two 3D Views to the right to reveal the icons:

You can also can middle click and drag to the left on the toolbar to access the icons:


Blender Internal. Edge post processing showing as see though

The reason the edges on the back are outlined is because some pieces of the mesh in front are assigned to transparent materials.


You have a vertex color layer on the object which is causing this.
Remove it in Properties > Object Data > Vertex Colors:


Cylinder Projection is based on the angle of the view.

Try switching to front (Numpad 1) or side view (Numpad 3), then unwrapping again:


Controlling the direction of curve extrusion

Consider changing the Tilt, In Edit Mode of the curve, N for properties, you will see a tilt angle which you can change:

Consider a lattice modifier.  Animate the strength of the modifier if that suits you

Consider a simple deform modifier


You activated "render border" with CTRLB.
Easily remove it with CTRLALTB.

The red area allows you to render only that rectangle when you are in viewport "rendered" view mode, it helps to quickly check the rendering settings for only a small portion of the scene, in the viewport.


Is there a way to make my numpad be just a numpad?

Go to Blender Preferences > Keymap.

Set search type to Key-Binding and search for numpad.

Scroll down to 3D View, and press X for the keybinds for the numpad


How can I combine two images with the Principled BSDF SHader?

Think about your image is a mask. Then connect it to the Fac of the Color Mix node.

Now your texture represent how to use 2 colors from Color Mix node. Where pixels are black Color1 will used. Where white - Color2.

So Color2 now it is Graffti color, you can just set it to black. Color1 - color of background, you can connect texture of tiles wall here.


Instead of creating new faces I used the merge vertices function of blender, here's the final result:

I noticed where the leg of the turtle meets the body of the turtle they are not connected.

All the vertices looked like the second vertex down, on both sides.

How to fix

First of all go to where the right leg and body meet, in edit mode.
From their select one vertex attached to the body. Then select the corresponding vertex on the leg like this:

Once there press Alt + M and finally press A. Once completed do the same to all the vertices, on both sides of the leg.
If you play the animation now the leg will be deformed, to fix this simply re-set the parent of the mesh to the armature. I did this using automatic weights.

Happy Blendering!


Why is extruding a bezier curve making these loops?

This type of extrusion actually splits this control point and adds a new one in the middle.

It's not obvious that it happens since they are in the same location.


Assuming the gauges are in an overlay scene, you'll need to establish communication with message sensors.

Send a "gearUp" or "gearDown" message to the gauge when the gear changes
Put message sensors on the gauge that execute whatever action you desire

Here's a quick sample - use the up and down arrow keys to send messages.
https://dl.dropboxusercontent.com/u/19279604/static/misc/gauge_example.blend

If the gauges are in the same scene, then it's a whole lot easier.  You can shift+click multiple objects and connect gauge actuators directly to the gear controller.

EDIT

There really isn't a good way to copy properties between scenes with logic bricks.  Here's a Python example that can be adapted to your needs:

import bge

def copyProps(cont):
    # Get a reference to the object running the script
    own = cont.owner

    # Get a reference to the overlay scene
    overlay = bge.logic.getSceneList()[1]

    # Find the object in the overlay scene
    other = overlay.objects['Speedometer']

    # Copy the desired properties
    other['Text'] = own['speed']

if __name__ == '__main__':
    cont = bge.logic.getCurrentController()
    copyProps(cont)


How to hide unused Node socket using python script

You can either call hide.socket_toggle() operator on all nodes in selection or hide each socket one by one using NodeSocket.hide property. Following demo is based on Operator Node template:

import bpy

def main(operator, context):
    node_selected = context.selected_nodes

    if node_selected:
        bpy.ops.node.hide_socket_toggle()
    else:
        operator.report({'ERROR'}, "Nothing selected")
        return

class NODE_OT_Operator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "node.simple_operator"
    bl_label = "Hide Node Sockets Operator"

    @classmethod
    def poll(cls, context):
        space = context.space_data
        return space.type == 'NODE_EDITOR'

    def execute(self, context):
        main(self, context)
        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

Result of calling the operator on all selected nodes in the shader editor

Result of calling the operator on all selected nodes in the compositor

Demo on how to hide the alpha sockets of Render Layer and Composite node using the console:

>>> rl_node = C.scene.node_tree.nodes.get('Render Layers')
>>> alpha_socket = rl_node.outputs.get("Alpha")
>>> alpha_socket.hide = True
>>>
>>> comp_node = C.scene.node_tree.nodes.get('Composite')
>>> alpha_socket = comp_node.inputs.get("Alpha")
>>> alpha_socket.hide = True

Result of setting the state for each output or input socket


You will have to create two materials (one for you wall, and one for the window frame). Select the window frame and create the new window frame material (click +, then click Add new material). Then, click Assign to assign that new material to the window sill.


Project individual elements on the surface of other objects

ShrinkWrap modifier seems to be working quite well on my end.

You geometry is quite uneven though, some triangles, very long and narrow faces with and slightly twisted topology may be screwing up your shape. Improving that may yield better results.


When rendering, you can specify that Blender saves in an image format like .png.

As long as you have set a render range (default is 250 frames), you can press the "Animation" button in the Scene properties>Render tab, Blender will generate a frame sequence in the path you set in the Scene properties>Output tab.

Notice that the button labelled "File Extensions" is ticked? That tells Blender to add the frame number to every rendered frame. This will keep your frame sequence in order when you load it into the VSE later.


this is simple script for scaling all bones in the active armature :

import bpy
ob = bpy.context.object
bpy.ops.object.mode_set(mode='POSE')

for bone in ob.pose.bones:
     if not bone.parent : # since children inherit scale no need to scale them
        bone.scale *=0.5

bpy.ops.object.mode_set(mode='OBJECT')

to remove scale inheritence  :

for bone in ob.data.bones:
        if bone.parent :
            bone.use_inherit_scale = False

#scale all bones
bpy.ops.object.mode_set(mode='POSE')
for bone in ob.pose.bones:
        bone.scale *=0.5
bpy.ops.object.mode_set(mode='OBJECT')

scaling in edit mode :

import mathutils
bpy.ops.object.mode_set(mode='EDIT')

mat = mathutils.Matrix.Scale(0.5, 3)

for bone in ob.data.edit_bones:
        bone.transform(mat,  scale = True, roll = False)

bpy.ops.object.mode_set(mode='OBJECT')


Red & white dotted line on outside of view

The border looks like a Render Border (activated by Ctrl B in the 3D view in Object Mode). It can be deactivated with CtrlAltB.

I don't think it's connected with navigation being disabled while in brush (circle) select mode. The scroll-wheel is taken over to determine the size of the brush, and Shift is occupied to switch from select to deselect.


How to place an IK pole target bone when IK chain is not aligned to cardinal axes

To find a position to place the IK's pole target bone, one must do some basic vector math based on the existing bone chain.

Suppose you have a bone chain for an arm; one point is the shoulder; next, the elbow; lastly, the wrist. Using these three points, we can define a plane on which to create a new bone to act as the pole target. Using a point on this plane means the chain will not move when we add pole target influence to the IK constraint.

The first step in setting up an IK chain in this fashion is aligning bone rolls with Blender's built-in roll calculator (shortcut ctrl-n in bone edit mode). With correctly rolled bones, the IK solver behaves predictably, always pointing the chain at the pole target.

The second step is to find the plane defined by the three points in the bone chain. We can easily find a reasonable place to put a bone with the code snippet below.

Step three involves more vector math to find the proper pole angle for the IK constraint. This angle is important because it allows the rigger to create an offset between the bone chain's orientation and the pole target's direction. Using the right pole angle makes animating and rigging more visually intuitive. The code snippet below includes a segment to calculate and plug in the proper pole angle for the IK constraint.

Lastly, I included a segment to create the IK constraint and plug in the necessary bones and numbers. This makes the script a one-button step to create an IK from just shoulder, elbow and wrist bones.

Some Notes:

You will need to fill in the names of the bones and armature object you would like to use at the top of the script. Make sure these are the bones you want to use!
The IK target (not the pole target) must not be a child bone of the chain you are putting the IK constraint on.
Run this script from Blender's text editor.

Snippet:

import bpy
from math import degrees
from mathutils import *

# Set names here:
arm_name  = "Armature"
bone1     = "shoulder"
bone2     = "elbow"
ik_target = "ik.target"
pole_name = "ik.pole"

########################################
# Create and place IK pole target bone #
#          by Marco Giordano           #
########################################

bpy.ops.object.mode_set(mode='EDIT', toggle=False)

# Get points to define the plane on which to put the pole target
arm_obj = bpy.data.objects[arm_name]
arm_edit_bones = arm_obj.data.edit_bones
A = arm_edit_bones[bone1].head
B = arm_edit_bones[bone2].head
C = arm_edit_bones[bone2].tail

# Vector of chain root (shoulder) to chain tip (wrist)
AC = C - A

# Vector of chain root (shoulder) to second bone's head (elbow)
AB = B - A

# Multiply the two vectors to get the dot product
dot_prod = AB * AC

# Find the point on the vector AC projected from point B
proj = dot_prod / AC.length

# Normalize AC vector to keep it a reasonable magnitude
start_end_norm = AC.normalized()

# Project an arrow from AC projection point to point B
proj_vec  = start_end_norm * proj
arrow_vec = AB - proj_vec

# Place pole target at a reasonable distance from the chain
arrow_vec *= 2.0
final_vec = arrow_vec + B

# Add pole target bone and place it in the scene pointed to Z+
bpy.ops.armature.bone_primitive_add(name=pole_name)
arm_edit_bones[pole_name].head = final_vec
arm_edit_bones[pole_name].tail = final_vec + Vector((0.0, 0.5, 0.0))

# Enter Pose Mode to set up data for pole angle
bpy.ops.object.mode_set(mode='POSE', toggle=False)

##############
# Pole Angle #
# by Jerryno #
##############

def signed_angle(vector_u, vector_v, normal):
    # Normal specifies orientation
    angle = vector_u.angle(vector_v)
    if vector_u.cross(vector_v).angle(normal) < 1:
        angle = -angle
    return angle

def get_pole_angle(base_bone, ik_bone, pole_location):
    pole_normal = (ik_bone.tail - base_bone.head).cross(pole_location - base_bone.head)
    projected_pole_axis = pole_normal.cross(base_bone.tail - base_bone.head)
    return signed_angle(base_bone.x_axis, projected_pole_axis, base_bone.tail - base_bone.head)

base_bone = arm_obj.pose.bones[bone1]
ik_bone   = arm_obj.pose.bones[bone2]
pole_bone = arm_obj.pose.bones[pole_name]

pole_angle_in_radians = get_pole_angle(
    base_bone,
    ik_bone,
    pole_bone.matrix.translation)

print("Pole angle: {}".format(degrees(pole_angle_in_radians)))

#####################
# Add IK Constraint #
#####################

# Bone constraints are added in Pose Mode
bpy.ops.object.mode_set(mode='POSE', toggle=False)

# Add IK constraint
IK = arm_obj.pose.bones[bone2].constraints.new('IK')

# Set IK parameters
IK.target = arm_obj
IK.subtarget = arm_obj.pose.bones[ik_target].name
IK.pole_target = arm_obj
IK.pole_subtarget = arm_obj.pose.bones[pole_name].name
# Pole angle is set with radians, despite displaying as degrees in the UI
IK.pole_angle = pole_angle_in_radians

Pole angle: Jerryno
Vector math: Marco Giordano


Translate manipulator switched to blocks and does not work

You've set the transformation manipulator type to Scale.

Change it to Translate. Remember you can enable all the types by clicking on the icons with Shift.


Why is my Smooth tool causing the surface of my sculpt to be reflective?

The culprit is actually the Solidify modifier. When i applied the mirror I was under the impression that i needed to use solidify to make the mirrored geometry physical.

Solidify will make an internal geometry. when sculpting, i would only be hitting the upper mesh and it would clip through the lower.

Lesson learned: do NOT solidify objects you intend to add to a sculpt.


Why is snapping to the Grid in Blender 2.8 not (always) reliable for precision for centimeters?

A few things to note about 'Snap to Increment'

In Object Mode, it snaps the mean position of the pivot points of selected object(s), in Edit Mode, the mean position of directly or implicitly selected vertices.
It snaps to the grid increments you can see. (If you're zoomed in, the increments may be subdivisions of the increments when zoomed out)
If Absolute Grid Alignment is switched off, you are constrained to move elements by units of the smallest increment you can see. If switched on, you are constrained to move elements to the nearest grid point. (In the first case, elements won't necessarily wind up on a grid point)
Whatever your view, the snap is to an orthogonal projection down onto the grid you can see. If you're viewing at an angle, or in perspective, the snapped element won't necessarily appear to coincide with the grid you can see, until you adopt an orthogonal view straight down onto it.
If using in an orthogonal view, it will also snap in the dimension you can't see. (So for example, you're looking straight down Z, snapping in XY, starting off-grid in Z, there may be some unwanted movement to the nearest Z grid-point, unless you constrain the movement. (GShiftZ)

A few of these things might give you the impression the increment snapping 'isn't reliable', and can make it counter-intuitive to begin with . But it works as expected.

EDIT: This answer doesn't really answer the question, since it has become one about precision.. but I'll leave it up..


Problem of 3D object rotation using manipulators

In case anyone else has the same problem: Careful with Alt,  (comma) this shortcut enables Manipulate center points. With that enabled, rotation and scaling will not have any visible effect on the objects.


Why is my light shining though my object when the smoke is on?

Smoke is made up small particles, gases and water vapor. Water vapor
  makes up the majority of smoke.

When light passes through smoke, it reflects off these particles into the camera. That's why you can shine a light/laser beam through mist/smoke in real life and get the same effect.

See https://www.youtube.com/watch?v=fU6JNGxfxnY

Edit:

According to the Blender manual here:

  Clip Start:
  Distance from the light object at which the shadow map starts. Any object before this distance will not appear to cast shadows. Clip Start will only appear for point, spot and area lights.

  Contact Shadows This type of shadow exists to fix light leaking caused
  by bias or shadow map undersampling. It uses the depth buffer to find
  occluders (just like Screen Space Reflections). However, just like
  Screen Space Reflections it has the same limitations, namely, unknown
  object thickness and effect disappearing at screen edges.

Unfortunately, no matter how much I played with the light settings, I couldn't get rid of the lighting issues. I thought that maybe it was the holes in the mesh that was causing the issue, but replacing the light housings with inset cylinders didn't work either.

I found a solution, but its just a makeshift coverup for the issue. The result is shown below:

And here's the secret behind the scenes madness:


Make a 3D tube curve that is flatter/ovalized along it's tangent

You can adjust the tilt of each point to 'twist' the flat extrusion of the curve. The tilt property is visible in the Transform panel of the properties sidebar N or you can use ⎈ CtrlT within the 3DView


Boolean difference modifier creating artefacts

Option A subdivide all faces of a cube, select the middle edges then bevel them. Either extrude the large faces inwards, or erase them and use a Solidify Modifier. If the former don't forget to remove doubles.

Option B Just select all fates then use Inset > Individual Faces then *Extrude > Region (Vertex Normals).

Also works in icospheres. If self intersections are not a concern you can use a Solidify Modifier replacing the last extrude step.

Alternatively you can use a Wireframe modifier, for a slightly different geometry.


You have non-connected edges and faces overlapping, I guess your problem comes from that, you need to correct this: Delete the faces loop, use the Bridge tool to reconnect the edges, mark seam again and unwrap.


You can use Wave modifier for such effect.

Add Subdivision modifier, Solidify modifier and Wave modifier
Increase IOR of Glass shader to increase light bending
Use Life of the Wave for that smooth transition

Adjust IOR to increase light bending

Adjust Life (and perhaps Damping) for smooth transition


The Viewport shading depends on your settings. Usually in solid mode you want to model or sculpt, so by default textures are not shown.

Assing the texture(s) to your material and then either press the button marked blue. This way you can already get a more accurate preview, e.g. if you are combining several textures. Or for a simple preview of a single texture, klick the orange dropdown and then the yellow texture button. You may need to click on the texture that you want to show in the node tree of your material.


How to set parameters on objects position while animating?

Don't try to animate every single part by itself, this would lead to the need of lots of adjustments (so-called "counter-animation"), wich should always be avoided.

Instead, you have to build a correct hierarchy over your spare parts, something like set the rifle butt parent of trigger, sight, stack, ....

Then you start animating the butt with the "big" movements, then animate the trigger relatively to the butt ....

In a professional environment you would build an armature, parent each part of the gun to a bone, you would have all bones child of a Master bone, you could have some automatized or pre-recorded sets of movements ....

Lot of things to learn... Enjoy!


For this kind of work there is amaizing addon COA Tools addon for 2D cutout animation. I just dont see it for 2.8x, but it is still very productive to download blender 2.79 and do it in this version. Tool itself easily creates armature and with simple click you can assign sheets to bones. After riging its easy to open (or Append) in 2.8x project. Just dont forget to convert Blender Internal materials into Cycles (nodes).
Package includes also very helpful script for exporting layers with their positions from Photoshop or Gimp.
To get animation like in your example you can try to use Spring Bones addon.

To get properly rendered animation you have to bake bones animation- search for Bake Action with Visual Keying enabled.


How to Interrupt a process the results in an unresponsive interface (like "Control-C")

ESC key might do it.  When the task is going to take an age, you can go to Windows' Task Manager and stop the Blender program outright...(Ctrl+Alt+Del)  It does mean you lose what you've been doing since the last save however.


If your side is round, then you can use this topology, the tris won't create any pinching or artifacts here:

View from top:


initial velocity for a rigid body simulation: a ball rolling on a skew plane

There might be another solution but I don't know it. So what you could do is:

Give your object a Rigid Body > Type > Active, create your slope, Type > Passive.

Put your object on the bottom, make sure it doesn't come across the surface, give your object a keyframe (i) > Location, Rotation and Scale, enable the Rigid Body > Animated option and give it a keyframe as well (put your mouse cursor over the option and press i):

Several frames later, move the cube a bit, create a second keyframe for your object, then disable the Animated option and keyframe again:

If the initial momentum is strong enough, it should work fine:

File:


Relation between BGE framerate and Action framerate

I think I solved it as follows:

import bpy, bge

BGE_frame = 0

scene = bge.logic.getCurrentScene()
bpy_scene = bpy.data.scenes[scene.name]

BPY_FPS = bpy_scene.render.fps / bpy_scene.render.fps_base
BGE_FPS = bge.logic.getLogicTicRate()

BPY_BGE_RATIO = BPY_FPS / BGE_FPS

def BGE_frame_to_Animation_frame(BGE_frame):
    return BGE_frame * BPY_BGE_RATIO

def main(cont):
    global BGE_frame

    arm = cont.owner

    print(BGE_frame)
    print(arm.getActionFrame()) # Kept for comparison
    print(BGE_frame_to_Animation_frame(BGE_frame)) # Outputs approx. same result as above

    if not arm.isPlayingAction():
        arm.playAction("run", 0, 45, play_mode=bge.logic.KX_ACTION_MODE_PLAY)
        BGE_frame = 0
    else:
        BGE_frame += 1

    print("\n")

I'm not sure of it is a good practice to access blender data from BGE, but it works :-) Comments/suggestions are welcome! Thanks.


Why is the curve modifier deforming strangely?

If you want the chain to follow the curve, move it to the origin of the curve (they need a common center).

Select the curve, press Shift-S and select Cursor to Selected
select the chain, press Shift-S and select Selection to Cursor

Then apply your curve modifier and the chain will follow the curve correctly.

The deformation is fixed scaling the object


I have a similar issue since Blender 2.8 for which I opened an issue: https://developer.blender.org/T59113


How can i replace missing mesh in UV editor?

Rather than fix the missing mesh, the best approach I found was to simply "reset" the unwrap, select all faces, then UV Unwrap again and use "Follow Active Quads". (hat-tip "moonboots"). I had to resize the mesh in the UV editor and align it onto the material. Other methods unwrap the selected mesh in ways that makes it unworkable to fill areas. When you initially unwrap a mesh, Blender (2.8) automagically lays out the mesh to match the boundaries of the material, but it appears that you can't repeat this process without manually aligning it.


This is a result of a Subdivision Modifier on an n-gon.
Just add another loop, and assign the white color to it as well.


Smoke simulation set to outflow, the smoke still interact with the ceiling

It's strange, I do not know if this is the intended design, everytime I change the setting of the flow, I need to re-select the "replay" item to make it valid as shown below,

The issue I came accross resulted from the cache from the previous settings not freed up until I re-select the "replay", so this is my solution.


Short answer as already answered here  Wrapping geometry object animation

If you start with a face setting like this, you can rotate 72° to obtain the other faces:

Now if you set the snapping like this:

And use an empty as active element, you can place the face next to the others as you need:

Finally you obtain this:

From that you'll need (I describe this quickly as this is not the direct subject):

to join the bones,
join the faces (and remove double)
parent them with empty groups and assign the needed vertices to the corresponding groups manually

Now, as the bones are all along their local axis (along Y), you can rotate them all around X using 'individual origins':

So you can rotate them all around their local X axis, using RXX (twice X for local axis):

Last step: the dodecahedron as an angle of arcTan(2) = 63.434949°. So we need
to set a keyframe for this rotation value.


How are blender UVs stored in relation to individual vertices?

The UVs and Vcols (vertex Colors) have the same logic of "per vertex in a face" order, flated in a simple sequence.

You have the polygon vertex indices and vertices list, so it can be deduces from here. Simple and very useful. More so, if u actually generate the mesh data and not read from an object.
You can access the mesh loops (the very rule of vert per face etc) to read what contains the vert index / uv. This should be done probably with foreach_get/set function that is more efficient.

Let's see var 1, as you actually seam to know these but just miss the relation poly/vert index

(note that I create list of indices of the uv/vcol and verts, for precise coords etc you can further use them to read or write to actual data):

creating perPolygon and perVertex lists of lists
like [[1, 3],[2, 5], [6, 8, 9]..] that correspond to the polygon / vertex list

    perPoly = []
    perVert = []    # best variable name yet :D

    if Object is not None and getattr(Object, 'type', '') == "MESH":
        # these are the poly vertex indices (as in the vert list)
        polyIndices = [p.vertices for p in Object.data.polygons]

        # create an list with empty lists for all verts
        perVert = [ [] for i in range(len(Object.data.vertices))]

        increment = 0
        for poly in polyIndices:
            lenP = len(poly)

            perPoly.append(i + increment for i in range(lenP))
            for i, vi in enumerate(poly): perVert[vi].append(i + increment)

            increment += lenP

Note that I have not even read the uv (or vcol) data, if any. So you can use this in the very process of creating your own mesh or where there is no uv/vcol yet.

perVert / perPoly contain indication to positions in the ...uv_layers[0].data

the opposite, creating a list that parallels the uv list but contains the vertex index goes by flattening the polygon indices (polygon.vertices) list
Basically, that is the way the uv list is done..

# explicit
flatVertsLikeUVs = []
for poly in Object.data.polygons:
    for i in poly.vertices:
        flatVertsLikeUVs.append(i)

or using chain, same stuff..

from itertools import chain

flatVertsLikeUVs = list( chain.from_iterable([p.vertices for p in Object.data.polygons]) )

an example:

uvs = Object.data.uv_layers[0].data
matchingVertIndex = list(chain.from_iterable(polyIndices))

# example, matching list of uv coord and 3dVert coord:
uvs_XY = [i.uv for i in Object.data.uv_layers[0].data]
vertXYZ= [v.co for v in Object.data.vertices]

matchingVertIndex = list(chain.from_iterable([p.vertices for p in Object.data.polygons]))
# and now, the coord to pair with uv coord:
matchingVertsCoord = [vertsXYZ[i] for i in matchingVertIndex]

-

ps:

getting the mesh loop data/ uv layers with another option, but logic is the same:
you may wanna look here for populating the list with fromeach get / set
http://blenderartists.org/forum/showthread.php?391847-Efficient-copying-of-vertex-coords-to-and-from-numpy-arrays&highlight=numpy

you can skip the numpy part and just populate a previously created list, (like the perVert above).


The constraint actuator dumping seems to only affect the aceleration of the object not the location as it says.

As your object physic is dynamic give it more mass than 1 and apply force over it with a keyboard sensor with tap option.


Boolean modifier is not applied to the array objects

According to some other answers, this is due to non-manifold geometry. Those spheres are not connected to form one closed, watertight object that can be subtracted from the cylinder.
I have a similar issue with a simple array of nine (3x3) spheres subtracted from a plane with a solidify modifier.
This is a rather important and annoying shortcoming of the Boolean modifier, IMO.


Cell Fracture Add-On Automatically Decimates Base Mesh

Sorry for the late reply, but I have been running into this problem as well and managed to find a solution. I have a pretty high poly vase model I wanted fracture:

I run into the same problem you did, where the Cell Fracture add-on was decimating my model. It took me a while to figure out what was going on.

The answer to the problem lies in the settings menu for the add-on. I found it while fiddling around with the add-on and trying everything to try and fix the issue. Note that this is the newest version, and there is no checkmark that disables model simplification. However, by checking "Debug-Boolean", the add-on, for some reason, will not simply your model. The other settings did not matter and you can still adjust them to your preference.

As you can see, there is a nicely fractured vase that is free of decimating. The debug option does come with the drawback that you have to apply the Boolean modifier on each generated piece if you want to manipulate them, as high geometry boolean interactions are very slow.
I don't know if the debug option was intended to disable simplifying, but it does, and it works. I don't understand why they removed the disable simplifying option from the newest build, but I hope it can be added back. Anyways, best of luck on your work!


How to fix a texture to the object it is being mapped to?

Have you tried adding a mapping node then a texture coordinate node?


How to toggle selectable of multiple objects?

OK, you've already added 'Selectable' to your visible restriction toggles in the outliner.

Create a new collection for the objects you want to make simultaneously selectable / non-selectable. Call it, say, 'S1'.
Select the objects of interest in the 3D view or the outliner, and ShiftM link them to 'S1'. (It's a link, not a move, it won't screw up your existing organisation.)
When you want to toggle the selectability of all the items linked in S1, Shift-click the dart icon next to the 'S1' folder.


Trying to make a spine-like structure in blender

I would do it like this:
- Create the first vertebra
- Shift D Z to duplicate and move upward
- Shift R to repeat the last operation
- S for scaling the needed
- at the end select all the vertebrae and ctrl J Join them
- add a curve modifier to adjust the shape of the whole object

Then create a single bone
in edit mode extrude the bone moving the tip toward the top of the next vertebra
extrude again ...
at the end parent the object to the armature using automatic wheight

I think it can take half an hour for 50-60 pieces

Maybe for 5000 you would need an automated way

Remember also that a long bone can be subdivided n times,  with the W key menu.


Is lighting needed for a 3D model in blender if you are going to import it into unity?

depends on how you import it. you could import the blend file, that includes the lights, or you could export the model as an FBX.
either way, if you only place the model in the scene, the light won't be included, except if you place the entire blend file in the scene.
or you could parent the light to the model... if you want it to be included, but i recommend using the lighting from unity itself


I'm working on 2.9. Problem is still here.
Allowing auto run python scripts fixed it.


Having trouble creating an Addon with multiple modules

The add-on registration can be simplified using a register() and unregister() function per file that can be called by the __init__.py. You've already implemented these to test your operators, but they can be used for the full add-on as well. Therefore all you have to do is import the kitfoxStairs.py and kitfoxStairsCurved.py and then call their register() function in the __init__.py.
# Copyright 2019 Mark McKay
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

bl_info = {
    "name": "Curved Stairs Mesh Generator",
    "description": "Adds new mesh builders for quickly creating staircases.",
    "author": "Mark McKay",
    "version": (1, 0),
    "blender": (2, 80, 0),
    "location": "View3D > Add > Mesh",
    "wiki_url": "https://github.com/blackears/blenderStairs",
    "tracker_url": "https://github.com/blackears/blenderStairs",
    "support": "COMMUNITY",
    "category": "Add Mesh"
}

import bpy
from .operators import kitfoxStairs
from .operators import kitfoxStairsCurved

def register():
    kitfoxStairs.register()
    kitfoxStairsCurved.register()

def unregister():
    kitfoxStairs.unregister()
    kitfoxStairsCurved.unregister()

If you want to reload modifications of your scripts when they have been imported before, then you need to replace the import statements
import bpy
from .operators import kitfoxStairs
from .operators import kitfoxStairsCurved

with the following code:
if "bpy" in locals():
    import importlib
    if "kitfoxStairs" in locals():
        importlib.reload(kitfoxStairs)
    if "kitfoxStairsCurved" in locals():
        importlib.reload(kitfoxStairs)
else:
    from .operators import kitfoxStairs
    from .operators import kitfoxStairsCurved

import bpy

Scripts can be reloaded through F3 > Reload Scripts. Blender 2.8x doesn't have the F8 shortcut anymore, but you can add it to your keymap. Since Blender 2.83 this feature is available via the top bar menu Blender Icon > System > Reload Scripts.
Note: I've removed the if __name__ == "__main__": from the __init__.py since this doesn't work with relative imports.

There is an error in the menu_func of kitfoxStairsCurved.py. It should reference the AddStairsCurved class instead of AddStairs. The correct function is:
def menu_func(self, context):
    self.layout.operator(AddStairsCurved.bl_idname, icon='MESH_CUBE')


how to create fluid simulation in glass?

There is a video you should be able to figure out the minor  changes but other wise there.
https://m.youtube.com/watch?v=YgwKPP2ZEjI


Particle System, objects emitted colliding

I think you could set a big size to the particles

And then use the Molecular Script addon and enable the Activate Self Collision option.


How can I sort a polygon list in AN based on the center distance to some specific point?

As always there are multiple ways to do this. Here is the most flexible:

Basicly you give each polygon a number (distance to the point) which will be used as sorting key in the Sort List node.

The first element in the polygon list and the first element in the distances list belong to each other, same with the second, etc.


This is an artifact of the interpolation method blender uses to display images. Image viewers which use other interpolation methods should display the image just fine.

The artifacts should disappear if you view the image at 100% (Numpad 1), so that no interpolation is needed.


you could just put the building below the scene (ground) and animate them on the z-axis to go up. if you want the camera to go around the block smoothly change the origin of the camera. You can do this by getting an object out of view and the camera to make the block in the centre of rotation

shift select them both.

Then just rotate them on the z-axis by pressing "r" then "z". this will make them rotate around the block.

and now all you need to do is animate it!


Clear parent relationship, but keep animation

Select the child object, and in the 3D View header, go to Object > Animation > Bake Action.

In the pop-up dialogue, enable Clear Parents, then hit OK.