How do I make blender use precise measurements for scale?

I think you confuse the term scale with dimension. Changing the scale is always a percentage value of the object's size. If your cube is 2 [whateverunit] and you type "S - 1.1" it now has 2 [whateverunit] multiplied by 1.1

The only method of changing an object's size directly without using percentages I know of is manipulating its dimensions which you can find directly below the scale settings in the properties shelf. AFAIK there are no keyboard shortcuts to manipulate the dimension values directly - maybe due to the fact that Blender never intended to be an accurate CAD-like software.


Transparency only rendering on one side?

Try turning up your transparency bounces.


How can I bind viewport display display as wireframe (wire) to a hotkey?

You would have to code it as an add-on. First make an operator than make it into an addon for it to be available every time you start Blender. Something like this:

bl_info = {
    "name": "Toggle Wireframe",
    "author": "Martynas Žiemys",
    "version": (1, 0),
    "blender": (2, 80, 0),
    "location": "View3D - ctrl + alt + shift + z",
    "description": "Toggles display mode of selected objects between Wire and Textured",
    "warning": "",
    "wiki_url": "",
    "category": "View 3D",
}

import bpy

class OBJECT_OT_wire_toggle(bpy.types.Operator):
    """Toggles display mode of selected objects between Wire and Textured"""
    bl_idname = "object.wire_toggle"
    bl_label = "Display as Wire Toggle"

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

    def execute(self, context):
        if context.object.display_type == 'WIRE':
            display_type = 'TEXTURED'
        else:
            display_type = 'WIRE'
        for obj in context.selected_objects:
            obj.display_type = display_type
        return {'FINISHED'}

addon_keymaps = []
def registerKeymaps():
    wm = bpy.context.window_manager
    if wm.keyconfigs.addon:
        km = wm.keyconfigs.addon.keymaps.new(name='3D View Generic', space_type='VIEW_3D')
        kmi = km.keymap_items.new('object.wire_toggle', 'Z', 'PRESS', shift=True, alt=True,ctrl=True)
        addon_keymaps.append((km, kmi))

def unregisterKeymaps():
    for km, kmi in addon_keymaps:
        km.keymap_items.remove(kmi)
    addon_keymaps.clear()

classes = (
    OBJECT_OT_wire_toggle,
)

def register():
    from bpy.utils import register_class
    for cls in classes:
        register_class(cls)
    registerKeymaps()

def unregister():
    unregisterKeymaps()
    from bpy.utils import unregister_class
    for cls in reversed(classes):
        unregister_class(cls)

if __name__ == "__main__":
    register()

You can change it to your liking, save it as .py and install it as an add-on.

There is no reason to try to keep your workflow 'add-on free'. A big part of using Blender is using its many addons. The software cannot and should not come with all possible functionality - it would be massive and inefficient. Add-ons help you have the functionality you need.


Why do my objects disappear from certain angles when played in the BGE

I'm not entirely sure why this is happening.

However, I found that joining the arm mesh to the rest of the character mesh (with ⎈ CtrlJ) (and joining the two armatures, also with ⎈ CtrlJ) fixed it.

My first thought is that the BGE's view frustum culling was hiding the arm, but if that's the case, I'm not sure why it doesn't also hide the entire character..


Dithering is a post-processing step that reduces the banding caused by insufficient bitdepth by adding some controlled noise to the image.

Dithering set to 0:

Dithering set to 1:

With Blender's internal renderer, I almost always set it to 1 to avoid banding, but with Cycles, it's less useful because Cycles introduces its own noise anyway.


You don't actually want even thickness, here, (the slice is thicker along its vertex normals than the other walls). If you select 'Complex' as the Mode in the modifier, then Boundary Shape becomes available, and it has a 'Flat' option.


Dyntopo doesn`t do anything even though it's activated

You can try to make a new default scene and append your dyntopo object into it - could help, perhaps? Or just copy all the objects to a new project.


Can modifiers such as "Subdivision" and "Array" be "animated"?

You sure can! You can animate any of the values in the modifiers by Right Clicking on the field and choosing Insert Keyframe. Then insert another frame further down the timeline where you wish.

You can also insert keyframes from a value by hovering your mouse on it and pressing I, or you can remove keyframes on the current frame by pressing Alt + I.


New install of Blender; extremely slow when panning a video

Unfortunately, I believe this is 'normal'. It's 4k video, so it takes a lot to edit and needs a lot of optimization that is just not there yet.
Make sure you update your video drivers because if they are not up to date that might cause issues, but I think it will lag some in any case. I would not consider using lower resolution preview a hack since that is what is done in many video editing aplications in situations like this, it is a pretty standard thing to do. Video editing in Blender is being very actively improved at the moment so you can also try the experimental nightly builds, however be aware that they are in development and might be unstable so maybe save your work more often and save a backup file from the stable Blender version.


How would I lock vertex transforms to a certain axis?

For sculpting, you can use lock to certain axes in the Symmetry / Lock rollout in the brush settings.


how do i change my shortcuts for zoom, move the view, and rotate?

I think this will help you

go to 3d view

And now you have to do the same thing for the 2d view etc and the rotation


Literally just figured this out about 10 seconds after posting this. Here's the solution for anyone with the same problem:

Find the Shading section press N to open the Properties panel - should appear on the right side of your window. Find the Shading section in that panel and make sure 'Backface Culling' is checked. Voila.


Shadows not reaching all the way to the ground in Eeevee

Enable the Shadow > Contact Shadows option of the light:

Also for the shadows quality, take a look at the Shadows in the Render panel (and increase the Sampling value):


The reason why your sprinkles aren't moving with the icing is that the cache for the Particle Emitter is outdated. The cache essentially stores the data for the particle emitter at a certain frame so the computer doesn't have to constantly recalculate it.

I'm not sure if this is a feature or a bug, but when you're moving the donut (which then moves the icing because of parenting), the sprinkles are not getting updated. However, if you select the icing, press G to move, and press the RMB to cancel, the sprinkles will be moved to the proper location. This may suffice as a workaround in your case.

You can also bake the particles as Nate suggested. Baking means that Blender will precalculate the particles' positions, sizes, etc for all of the frames. You can do so by going to the Particle Properties menu, opening Cache, and selecting Bake, Bake All Dynamics or Calculate to Frame. These will take a bit longer to process since Blender will be recalculating the particles for all the frames in the animation even though you haven't touched that yet. So for now, you may just want to stick with the first workaround.


Different objects, same material, animating alpha independently

You can animate the object color (from its properties panel).
I've pluged it in the color in the example below, but of course, you can use it for alpha too.

That provides three channels (RGB) useable in the shader node tree that can be keyframed in RGB color mode (as indicated by @Gorgious).


Is there a way to deform a model and then have the mesh stay that way, even without an armature?

Yes, you can apply the armature modifier.

This will fix the mesh into it's pose, so you probably want to do this on a  duplicate of the model.


I would use an animation-image-texture for that, with each frame made seemless, in an other application like gimp. That texture with the displace-modifier and Texture-Coodinates to Object. As Object I would use an plane, that plane set to not rendered an animate it with key-frames. The Interpolation-Mode set in the Graph-editor to Linear.


Move text between two Objects (even if i will change objects positions)

You can use Animation Nodes for this. A simple linear interpolation between the two position using the Animate Vector node. The Delay node is used to set the frame at which the animation will start.


How to add background image with background environment and only render the first?

If what you want to achieve is a render without the HDRI Background, you can go to Properties Panel > Render > Film > Transparent [x] []1

Another option could be going to Properties --> World --> Ray Visibility --> Uncheck the "Camera" Box.

Hopefully this is what you need, Cheers!


Where did the tool bar go in object mode? Blender 2.8

Probably this is what you are looking for

Every time you create an object you will see it.

Good Luck.


How to prevent Subdivision Surface from changing the size of a loop

You can rotate the hole 45° or create an hexagon: the diamond shape generate a smaller hole than the square/hexagon ones.


Soft Body
To keep shape uncollapsed can be achieved by tweaking some parameters, but it will be always more "softer" in a center and "harder" in corners where springs are closer to each other without additional geometry (see Nathan's answer).
There is also a big game changer - topology. In your specific case if you go to edit mode select all and search for Un-Subdivide like 2, than under Physics Properties > Soft Body > Field Weights > Gravity set back to 1 ... you can see object doesn't collapse.

Cloth
You can try Cloth simulation instead, that has an Internal Springs feature. Here I scaled bag to something more real-size (1 x 0.5 x 0.3). Un-Subdivided to 3. Physics Properties > Vertex Mass 10 kg, enabled Internal Springs. Add Collision modifier with Thickness Outer 0.001 and Friction 50.


They don't disappear, they move to the location of the original. You have to remove the Rigid Body you added to the original, then convert the particles. You can later select all the duplicates and add a Rigid Body to them all using the Physics tab in the Tool shelf.


How to automate a script execution on import actions?

Blender doesn't have these kinds of hooks, the closest thing you can get to this is to write your own operator that runs import, then your own code afterwards.

For Python importers you could customize the script to include your own functionality and in a few causes you could monkey patch the importer scripts. But basically this isn't supported.

See this question for more details:
Run additional code after user has executed and finished an operator


You take an input curve, transform certain points and output that to another target object. With Spline Info Node you can get single points and check in a loop wether they should be transformed in relation to their index or location etc., then you can transform them and smooth the result for better handles.


Can't select and transform faces in UV Editor

You probably have the UV Sculpt enabled. Disable it via Uvs-->UV Sculpt or press Q.


Baked texture is way darker than render in cycles

What you want is setting up your scene for the game engine ? If you dont use any texture then the only thing you need to bake is the ambiant occlusion pass and shadows and use them for diffuse intensity. Also you can't use AO option in the game, it is only affecting the view port.


Normal map bake problem with weird artifacts

Your scene is on metric unit and your shirt is very big (15.7 m height), so you'll need a high value of Max Ray Distance, give it for example 2. Also to have a better result I've used a 2048 X 2048 picture and an Extrusion value of 1 (not sure how it works though):


Why can't I loop cut all the way around the object?

If the mesh already is triangulated you could use the Knife tool (K) in Cut Through (Z) and Angle Constraint (C) Mode when you are in a side orthographical view. This will let you add edges regardless of the topology.

But most of the time it's better to just un-triangulate it manually by Dissolve edge or with Tris to Quads (Alt-J) in the face menu (CTRL-F).

If you have ngons you can find them with the Select All by Trait/Faces by Sides and set the number of vertices to Grater than 4.

You will find it much easier to work with quads.


The Problem

Your problem is that you are currently determining material transparency with Z Transparency. This doesn't work, since Z Transparency calculates the alpha per-face. When your domains intersect, it doesn't recalculate the alpha.

If the Domains Move or Change Size/Shape

Change the Transparency method to Raytrace:

This will slow down your render a little bit, since it is calculating the transparency per pixel instead of per face, but it isn't too significant and definitely produces a cleaner render:

If the Domains Do Not Move

If your domains are static, instead of using the Raytrace method, you can fix this by cutting an outline at the intersecting parts of your domain (easier shown than said):

This way, the faces of the domain inside the other domain are calculated separately from the faces outside the other domain.


I would hardly recommend, that distributing textures randomly on a Mesh, is a task you would perform in Unity.

Theoretically it is possible to distribute textures randomly on a Material. But if you don't bake them to a simple UV-layout, I am afraid, you wont be able to ship this material to Unity.

But I would ask this question on a Unity focused platform.

EDIT:

But if you want to do something like this in Blender, I think this is only possible with the help of Python scripting or an osl shader.

Even if this Question will be closed, I have to share the result of my tests, because if not, I would have wastet to much of my time.

The closest result wich I found was to procect multible textures onto the mesh like decals. Therefore you have to use external objects as texture Coordinates.

The results can only be seen in the render mode.


Scaling an object up and down in an animation?

If you have moved and rotated your object and only created Location and Rotation keyframes, without creating any Scale keyframe, the animation will take into account the first Scale keyframe it meets and the scale of the object won't change until it meets the next Scale keyframe. If you want to make sure that the scale is taken into account at frame X you should keyframe with LocRotScale (or LocScale or RotScale).


Blender python custom UI button run custom function?

You can use custom properties in Blender by defining it like so (for example):

bpy.types.Scene.your_property = bpy.props.IntProperty(
    name = "Name your int prop", # as you want it to appear on the slider
    default = 1, # optional
    description = "Short description of your prop, to show in the popup"
    )

or

bpy.types.Scene.your_property = bpy.props.StringProperty(
    name = "Name your prop",
    default = "default value for your prop (optional)",
    description = "Short description of your prop, to show in the popup"
    )

You can read this for documentation about properties: http://www.blender.org/documentation/blender_python_api_2_68_2/bpy.props.html

Later, you can use your property in the code, by calling it like so (for example, and assuming you're in a function with context available, like your invoke function of your MakeTarget class) :

if context.scene.your_property == 2:
    do_something()

And, to use it in Blender's UI (TargetMakerPanel class):

row = layout.row()
row.prop(context.scene, "your_property")

Blender will automatically make the UI that correspond the property type. (eg. a slider for an IntProperty, input box for a string, etc.)

You can see more examples here : http://wiki.blender.org/index.php/Dev:2.5/Py/Scripts/Cookbook/Code_snippets/Interface#Using_scene_properties_to_store_information

Hope this helps!


Good format for character mesh & animation export?

I've had marginal success with the DirectX exporter.

The DirectX format supports meshes, vertex normals, UV coordinates, simple materials, bones, bone animation, and multiple animations in the same file. I've been able to export game-ready models using this format and load them into other software with Assimp.

Unfortunately, the 'Coordinate System' and 'Up Axis' options give unexpected results, doing really strange things to the Matrix Transforms for each bone in an armature. In other words, your model may import sideways or mirrored.

Blender version 2.71 includes an updated FBX exporter (now exports to FBX v7.4 binary instead of v6.1). FBX also handles all of the above features, and is generally the format of choice when exporting animation to Unity. The drawback of FBX is that it is not yet supported by Assimp.


Moving folders has confused blender paths

You can be Packing as .blend or .zip instead of saving your file directly.

You can also try setting up the File Path under the Preferences


There are many ways you could achieve "build" effect. The simplest one that mimic the Build Modifier, but does not simply "pop" the polygon faces are of course by using Add-Ons like Animation Nodes.

You could probably use Blender's own Particles as well to kind of reveal each polygon face slowly one by one?

One idea, using Animation Nodes Add-Ons:
1) Install Animation Nodes (AN) Add Ons.
2) Study a little bit a bout AN. Get a hang of it.
3) One of the Template provided to transform individual polygons will be perfect. The idea here is instead of appearing like a sudden pop, you want to use some kind of transition. The most obvious is probably to animate scaling of each polygon.
4) With a little adjustment you can get a more elegant "reveal" of your 3D model, perhaps in this case is basically polygon by polygon, as they are scaling from Scale zero to one.

Remember the way it is being revealed is also important and there are limitless way you could do this from basics to more sophisticated effects.

Here is basic:


How can I smooth an edge from a cut-out?

Once you've applied the boolean, rearrange the topology so that it's a good one, then bevel the edge:


As of 2.78a, you can use adaptive subdivision by turning on experimental features, using a subsurf modifier, and checking the "adaptive" checkbox in the subsurf options. Then, you can head up to the object's node tree and connect a procedural texture to the "displacement" input of the material output. Depending on what kind of landscape you want to do, you can mix procedural textures using the mixrgb node. Noise alone yields a connemara-ish landscape, Voronoi + waves creates a desert and Voronoi + Noise creates alpine mountains.


How can I render animations in PS1 / 3D pixel style?

It's several things, color sets, modelisation styles, ... But on the technical side, it's basically about low resolution rendering.

Assuming you're using Blender Cycles :
First, you have to make sure that you use only low res textures on your model, with their pixel filtering set to "closest" (otherwise the default behavior is to "hide" the pixels by blur) :

Then, you shall render with low resolution, and make sure your render pixel filtering (which serves as a kind of anti-aliasing in raytracer renderers like cycles) is set to the lowest value in the render options :


Camera Shadow in Cycles live render and final render?

The problem seems to be that the normals of the two faces that connect the horizontal bars of the letter E are pointing into the opposite direction as the rest of the front facing part of the E.

Make sure the normals of your meshes are consistent (meaning that the normals of two neighboring faces are pointing to the same side of the volume, optimally outside).
The normals are used for lighting calculations. Since the direction of the normals is inconsistent over the front of the E, the lighting calculations generate artifacts.
Do you really need these faces? They make the E look like a block. If not you can delete them.
Otherwise you need to flip the normals of the faces or separate the faces from the rest of the mesh. You can flip the normals by selecting the two faces and clicking the Flip Direction button in the toolbar to the right side of the 3D view. If the toolbar is not visible press [T] while your mouse cursor is in the 3D view.

The result should look like this:

To separate the faces instead select them and press [Y].
Both methods ensure the normals of the E are consistent on the front face:

In general you should avoid non-manifold meshes. A mesh is called non-manifold if an edge connects more than two faces. Just imagine your mesh was made out of a rubber sheet. If you can cut out a region around any edge and find a way to press it flat onto the table without faces overlapping, your mesh is manifold and you are ready for production.
If you have a manifold mesh, Blender can even calculate the normals for you: Go into editmode, select the faces whose normals you want to calculate and press [Ctrl+N] to calculate the outwards facing normals or [Ctrl+Shift+N] to calculate the normals facing inside.


Export rigid (non-skinned) animation from Blender for consumption by AssImp

I tried performing the steps in v2.65 r53189 and it exports the animations correctly.
It seems that in v2.66.1 r55078 the Collada export does not output the keyframes correctly.

In the end, I decided to take iKlsR's advice and use x format since it allows me to use the newest version of Blender and is still compatible with AssImp.  It also allows me to flip the z and y axes which is a bonus!


Hair Emitter Particles Point In Random Directions

There could be many causes for this problem, from my experience:

Rotation Tab

Your Particle system has an incorrect initial orientation, although this is less likely, be sure to check which one fits best.

Children Tab

Your particle system would probably be using children if you're generating a meadow of grass, as there's a lot of grass. These settings affect the children greatly, and can lead to some very strange things happening, if used incorrectly.

More specifically to your case, it's likely a clumping error.

In such cases, clumping can cause them to bend very strangely, generally toward, or away from the clump.

Velocity

It could also be a problem with your Particle system's velocity.
The Emitter Object settings especially, can cause some pretty outlandish results when used extremely, as they affect the direction and shape of your particles, as well as their origin points, especially in the case of children.

Object Problems

I'm sure that Andrew stresses quite a bit over applying scale, rotation, and location to your models, this is very important.
It's also important to check that all of your grass models are properly lined up, all facing the right direction. Although, in your image, you seem to have Scale, Rotation, and Global disabled, so that is less likely to be a problem than their absence.


Losing WORLD position when importing to FBX (for unity)

In the individual import setting for each animation on the FBX in Unity, there is a setting for applying root motion (location, rotation...).  What you likely will need to do is play with that setting some, likely by applying it to the root bone.  Without a file or other things to play with, I can't really go into more detail.


Background doesn't render transparently despite checking Film-->Transparent; RGBA settings (cycles, v2.83)

You are using an Alpha Over node and mixing something over the image messing up the alpha as well. Just plug the correct alpha you want to the output to fix this:

If you need glow, you should add it instead of mixing it. Using alpha will not give you the correct results in other application if you need glow. Glow is made of light and it should be added to the image, not mixed with it, so you should make a separate glow image to add it in whatever software you are using for compositing over the background and the object placed on the background.


How to bake uv map texture to vertex color (selected to active)?

I don't know if this is exactly what you want, but maybe these steps can help you (do a backup before doing anything!):

Do UV mapping and apply texture to your object.
Apply Dynamic Paint to your object.
We will transfer that Texture color information into Vertex Colors. And this is how you do it. Under Dynamic Paint attribute:

Once you done that, you hit Apply under Modifier to complete the bake of Vertex Color into the Vertex.
Now you will have an object with Vertex Color that originated from UV Texture.

I got it from this link: link

Go ahead to the section "Bake texture as vertex color". It's the same as i posted plus some other maybe useful information.


Is there an external editor like the compositor in blender?

Try Natron. Still a bit unstable though.

Other free option is the free version of Fusion.

For paid software try Nuke.


How to make emission object transparent in EEVEE?

Use something like this. make sure to change your blend mode.

For an energy shield effect, you can try adding a wave texture (vertical lines) with a bit of distortion to make it look "energized", and mixing it with a gradient texture to make the field "weaker" in the middle.


assuming that you want to create a vertical gap between objects, and their origins are in the center of geometry, you can use this script to do it, it aligns the objects and creates a vertical gab between them:

import bpy
#Change gab
gab = 1
objs = bpy.context.selected_objects
box = []
for i in range(len(objs)):
    objs[i].location = (0,0,0)
    box.append(objs[i].dimensions[2])
    if (i == 0):
        box[0] = box[0]/2
    else:
        objs[i].location[2] = (sum(box[:i])+objs[i].dimensions[2]/2)+gab*i


Use the Texture Coordinates Node and select UV and plug that to the Vector input of your texture. Then plug in the color output of the texture to the socket where you need the texture on the Principled BSDF node (most likely in the Base Color input, but you don't specify the use of the texture in the question).

Alternatively use Input UV map node.


Unless you're comfortable reading and writing Python, you won't be able to do anything but wait for the addon creator to do it.

2.8 changed the API quite a bit, but this addon may or may not use the parts that changed. So updating the addon might be as easy as changing a few lines, or as difficult as a complete rewrite of several parts of the script.

Your best bet is to use it in 2.79 for now and link/append it in.


How to link a segment to a bone to get a better result?

Maybe simply shearing the edge loop at the elbow?


Loft splines Does not close object,Animation nodes

This was a bug in the Animation Nodes addon. The problem appeared when you tried to loft cyclic splines.

The bug is fixed now. Please download a new version (uninstall the old version at first).

Btw a quick tip: when the normals of the output object show in the wrong direction it helps when you insert a "Reverse List" node as shown in the example.


To select border edges (I assume you mean ones located on the sharp edges of the mesh) use Select > Sharp Edges in the 3D viewport footer.

If you want to select these only based on current selection of edges then press Shift+H to hide everything but them and run Sharp Edges. Then invert selection, unhide and invert selection again - sharp edges from those selected before will be shown.

The simplest way to check for polygon sides is the same as above - hiding all but selection and running Select Similar menu or via Shift+G with one polygon selected. Or use addons like MeshLint which check for triangles / ngons (even real time) and report that in their menu.

To select edges located on the border of any hole in the mesh use Select Boundary Loop either from Select menu or via Ctrl+E.

Note that it runs based on selection, so it willselect boundary edges only from those already selected. You can also use Select All By Trait > Non-Manifold, option Boundaries is the one that does that.


How to snap an object to another object's edge

Change the snapping mode in the snap tab in the 3d view header to Vertex and drag according on your specific axis until a small ring appears on the vertex you want to snap to when you hover the mouse over it.


You need to enable your world shader in the Viewport Shading tab.

Check Scene World to use your environment texture.
Check Scene Lights if you want your lights to show in LookDev mode.


Using an opacity map with the Principled BDSF?

If you plug the opacity texture into the alpha socket of the Principled BSDF you should get the desired look.


N Panel (Location & Rotation Boxes are YELLOW) ... Makes my Mesh Load up in the Blend file in a new location with different scale

XD you animated the mesh. The boxes turn yellow when you animated something. Do you see that yellow line in the Timeline? That means that you animated the mesh to a new location from Frame 1, all the way to the yellow line!
Delete animation of object
Here is how to get rid of the yellow line, which would get rid of the animation. :D


Is it possible to modify the 'system bookmarks' category in the file browser?

Although I couldn't find a way to directly modify System Bookmarks, the most recent versions of Blender (2.81 and above) include an option in the Preferences that allow you to hide both the System and Recent bookmarks, which are both auto-generated bookmark types.

The options can be found in Preferences under Save & Load. Check 'Hide System Bookmarks' to hide the from the file browser. You can also use 'Hide Recent Locations' if you don't like to see recent file browser history.

This does not answer the question originally asked, but it does solve the issue I was having with the bookmark sidebar having space wasted by bookmarks I didn't use.


Is there a newer version for BlenRig add on?

The author is currently working on a new version. Quote from blenderartists thread:
Juan Pablo Bouza, 17th March 2021:

The working version would be the one I posted a couple of days ago:
https://blenderartists.org/uploads/short-url/jfTvnK4no3dGC2VI7Udvep1fNcL.zip
My advice is that you wait until a publish the Beta of the new BlenRig
version, I’m really close to getting it ready. If I don’t finish it
this week it will be next week, but we are really close. So don’t
waste your time rigging a character with the version that is available
right now

The last official version on github is Blendrig 5 for Blender 2.8. There is a bug and this version does not run for Blender 2.83 and higher. Blender 2.82 is ok. (Blender 2.92 I don't know). The calc bone roll operation script does not work properly.
There is a question here at BSE, too: Issue with execution of "Calc rolls" function


Important stuff I missed was:

Use Simple children instead of interpolated for this
Lots of steps in render settings (using 9)
Cycles Hair Settings -> Thickness to get better looking hair (subjective, I know)
Other settings can be seen in image below.

Now I just need to figure out how to get rid of that fur-ball attached to the monkeys chin...


How to retrieve the groups of an object?

Found it myself: Use obj.users_group, e.g.

for obj in bpy.data.objects: # All objects
    for group in obj.users_group: # All groups
        # Do something, e.g. use group.name to find specific groups.


Here is a way to connect two spheres with a cylinder:

Create a cube, then in Edit mode, W Subdivide Smooth, and increase the subdivision with the parameters on the bottom of the T menu

Select a square and W > LoopTools > Circle

Make a hole, then extrude to create a circle inside the circle (E)

Duplicate your sphere and rotate the duplicate

Select the two holes and W > LoopTools > Bridge

After that you can add a Subdivision modifier, add edge loops to make the edge loops sharper, etc...


I had the same problem too, but I fixed it by following the instructions to this answer. Here are the steps:
1. In the Texture Paint tab, press N, and click Tool on the right side-bar.
2. Under Brushes click the X button to delete the brush, then add a new brush.
3. Then select a colour under Brush Settings, go to the Colour Picker dropdown, and then draw over the object.
I hope this works for you.


material request for this soft body object

Here is a try, basically it's a mix between a basic color with a Wave texture plugged into it (perturbated by a Musgrave), a Subsurface Scattering in order to give it this kind of translucency, a Layer Weight to give it emission on the circumference and a bit of Emission to keep the translucency even in the dark areas:


They are different tools for doing the same things in different ways.

Color Ramp

Easier to precisely set colors and stops
Harder to make custom falloffs/interpolations

RGB Curves

Easier to make your own falloffs/distributions
Harder to specify exact colors

As an example, I attempted to replicate the result of an RGB curve setup with a color ramp node. Note the differences around the transitions due to the color ramp interpolation:

I used the compositor for this, but they work the same in Cycles

Which you use depends largely on what you want to do and what your preference is. I tend to use color ramps for precision stuff, and curves for more artistic things.


How to speed up only a part of an animation?

I make an edit as it looks like you don't need to use a Follow Path constraint and a simple parentage is enough.

So, once you parented the object (in your case, the penguin's armature) to your curve, you will just play with the Evaluation Time value of your object, in the Properties panel > Data > Path Animation..
Go in the Properties panel > Data > Path Animation.
Select the Frames rate you want, 100 is good.
In the Timeline (or Dopesheet) window, point the cursor where you want the animation to begin, for example frame 1.
For this frame 1, choose the object position along the curve with the Evaluation Time value. Once it's good for you, put your mouse over the Evaluation Time value and press i to insert a keyframe.
Again, in the Timeline (or Dopesheet) window, point the cursor where you want the animation to change speed, for example frame 50.
For this frame 50, choose the object position along the curve with the Evaluation Time value. Once it's good for you, insert a keyframe with i.
Etc, etc, you can make your penguin move forward, backward, etc, at the speed you want.
You can change the transitions in the Graph Editor with T > Interpolations.

old answer, with the Follow Path constraint:

The speed has been automatically generated when you gave your object a Follow Path constraint. If you want to vary the speed of the object along the path, you need to:

Select the path, open the Graph Editor, on the left panel, unfold the BezierCurve menu and click on Evaluation Time.
On the right panel of the Graph Editor, Modifiers tab, you'll now see the Generator box that has been generated by the constraint. Delete it. Now your object don't move any more, but you'll be able to determine its speed manually.
Keep the path selected and go in the Properties panel > Data > Path Animation. If you change the Evaluation Time value you can see that the object moves along the curve.
Select the Frames rate you want, 100 is good.
In the Timeline (or Dopesheet) window, point the cursor where you want the animation to begin, for example frame 1.
For this frame 1, choose the object position along the curve with the Evaluation Time value. Once it's good for you, insert a keyframe with i.
Again, in the Timeline (or Dopesheet) window, point the cursor where you want the animation to change speed, for example frame 50.
For this frame 50, choose the object position along the curve with the Evaluation Time value. Once it's good for you, insert a keyframe with i.
Etc.


How can I get the scene polycount in python?

OK twitter to the rescue!
Here's my solution:
bpy.context.scene.statistics(bpy.context.view_layer) gets you the same string as shown in the status bar, so to get the triangle count this just needs to be parsed:
s = bpy.context.scene.statistics(bpy.context.view_layer)
tris = int(s.split("Tris:")[1].split(' ')[0].replace(',', ''))

This is obviously dependent on the view, so it only includes the visible objects in the current view layer.
If you only want to know the tris of a specific object you can hide everything else or just enter edit mode.


My eye is turning black when adding the transmission on the BSDF node

He's in Eevee, maybe that setup works fine in Eevee, but in Cycles I think you need at least to mix your Principled BSDF (with 1.00 Transmission) with a Transparent BSDF node. There is a lot of solutions (like use Fresnel in the Mix factor, use Glossy, etc) but it will always be a mix with Transparent BSDF in my opinion.


Your problem is your lighting. Since your only sources of lighting are the windows, Blender is having to compute a lot of bounces to get light the room, which results in a super grainy render. The first thing to do is to add light portals. These will direct Blender toward the windows for light.

Add an Area lamp. Position and rotate it directly behind your first window, pointing in, and size it just bigger than them. Change the shape to rectangle, and size it to fit the window. Check the "Portal" box.
Duplicate it and move it to the other windows. (For convenience, since they are all the same size, you can do a linked duplicate Alt + D.)

The above should help you get more light from your sun. However, you still don't have enough light overall in your room. I would add some other lamps either on the ceiling, behind your camera, or anywhere there is actually light (since you are replicating your own living room).

Also, since you are using an HDRI, enable "Multiple Importance" under the "Settings" panel in the "World" tab.

One last thing you can try is to increase the Max Bounces underneath the "Light Paths" tab. This will force Blender to calculate each light ray further, but this is very computationally intensive, and will do relatively little for you compared to other options.

EDIT: I just looked at the number of samples you are using, and those are crazy low. Crank those up! 50 at least!


Z-Buffer render gives unexpected results

Cycles - is a path tracing render. It's mean that the distance in z-buffer is real distance between the  plane and the camera, because it calculated by measuring a light path traveling from the camera to the plane in every point of image.

If you want fake z-buffer, you can chose default "blender render", and you will see your expected result.


How do I Paint on has an Image that is used as Texture?

To paint on a mesh in Texture Paint Mode you need a UV unwrapped mesh.

Then, there are a couple of options:

Paint on a texture using the UV editor.

Enable Paint Mode and press T to bring up tools for painting

The image below shows where you toggle paint mode on

Choose the tool you want to use, and paint directly on the image.

(Please see this link for more info)

Paint using the 3D viewport.

Enable paint mode, select your tool and paint directly over the mesh.

IMPORTANT: After you've painted on the texture you need to save the image on the UV/Image Editor. Use Save Image on the menu or AltS to overwrite the original image with the changes or use F3 to save as a different file)

If you don't save the image and close blender, all of your painted texures will disappear forever

You might also find this pages from the blender manual useful:

Texture Painting

UV Unwrapping a Mesh


How to copy position, size from one armature to another?

While we can easily copy a pose from one armature to another I don't think there is a way to copy edit bone changes from armature to armature. This would mean creating a python script is the way.

As editing bone data in bpy.data.armatures[x].bones doesn't seem to work, we can go into edit mode to collect the bone data from the source armature, then apply that data to each destination armature in edit mode.

So getting close to an exact answer would be the following script, you should only have to change the rig names at the top.

import bpy

source_rig = 'metarig'
dest_rigs = ['metarig.001','metarig.002']

############

bone_data = {}

def edit_rig(rigname):
    bpy.ops.object.mode_set(mode='OBJECT')
    bpy.ops.object.select_all(action='DESELECT')

    bpy.data.objects[rigname].select = True
    bpy.context.scene.objects.active = bpy.data.objects[rigname]
    bpy.ops.object.mode_set(mode='EDIT')

edit_rig(source_rig)
for b in bpy.data.objects[source_rig].data.edit_bones:
    bone_data[b.name] = (b.head.copy(), b.tail.copy(), b.roll)

for arm_name in dest_rigs:
    edit_rig(arm_name)
    for b in bpy.data.objects[arm_name].data.edit_bones:
        b.head, b.tail, b.roll = bone_data[b.name]

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


You might need to install the proprietary AMDGPU-PRO drivers, or at least the OpenCL part of it. The quick fix is to install opencl-amd from AUR:

git clone https://aur.archlinux.org/opencl-amd.git
cd opencl-amd
makepkg -s
sudo pacman -U opencl-amd-*-x86_64.pkg.tar.xz

(You might have to downgrade libdrm for opencl-amd to work, see here.)

Note that Arch Linux is not officially supported by AMDGPU-PRO.

Resources

Arch Wiki: "Blender does not show the AMD card as an OpenCL rendering device"
Arch Wiki: AMDGPU PRO


Select them all. Without knowing the layout of your scene, it's hard to say what the best way to do this is.

Manual:

Try pressing ` (the key below Esc, at least on qwerty keyboards) to set all layers visible. Then use Border select (B) or circle select (C) in wireframe mode to select all the shards (you may also want to try hiding (H) any other objects which are in the way, or just deselect them afterwards)
Automated:

If the shards have anything in common, you could try using Select similar (ShiftG). For example, this can be used to select them if they are all part of the same group (rigid bodies are automatically part of a group called rigid body world, so that might help if they are rigid bodies).
Or Select Linked (ShiftL). This will select objects sharing a datablock such as a material or a texture (so you could use this if the shards all have the same texture).

Note that ShiftL and ShiftG only select visible objects, so you may want to set all layers visible first (`).

Press M and click the layer which you want the shards to be on (you can use ShiftLMB to select multiple layers).


Bones in blender are not limited to one axis, thus moving them along an angle is easy.

You can constrain it to 2 axes (say X and Z by pressing SHIFT+Y after pressing G) when moving, and this is likely what you want. Insert a keyframe at the bone's resting position, then advance a few frames, and move the bone along the 2 axes so that it lines up with the grip. You can even start to rotate it after its exiting the grip. There is no need for it to follow the grip exactly, because this wont even happen in real life. Just move it approximately and you should get great results.


Moving one leg moves the rest of the armature

Does changing the chain length fix it?
In the Properties Editor->Constraints->IK

https://www.blender.org/manual/rigging/constraints/tracking/ik_solver.html


Rigid bodies collision of a piston inside a shell

Unexpected results from Rigid Body simulations are often the result of incorrect geometry (such as wrongly oriented normals) or bad collision parameters. It's difficult to say what your specific problem is without seeing your actual set-up but here's a few things to try.

Firstly, check the normals of your meshes - look out for any meshes where the normal is not pointing 'out' of the surface. Bad normals can be the result of negatively scaled meshes. To check the normals you can enable the Display Face Normals as Lines option in the Mesh Display properties in the properties panel to the right of the 3D View. If you need to then you can tell Blender to recalculate the normals by selecting all while in Edit mode and then hitting Ctrl+N.

The next thing to check is the Rigid Body Collisions Shape in the Physics panel. This is fine set to 'Convex Hull' if the mesh does not have any inward curving faces but your cylinder 'shell' will need to be set to 'Mesh' to ensure the hole through the centre is treated as not solid.

For some simulations you can simply rely on the interactions of the meshes themselves. However, it's often useful to give the simulation a helping hand by adding Rigid Body Constraints. The constraints allow you to dictate how two objects interaction - usually also disabling any collision between those two objects. Typically a constraint consists of an Empty that sits between the two objects, linking them together in some way. For 'directional' constraints (such as Hinge, Motor, Piston) the orientation of the Empty is significant and, confusingly, depends on the type of constraint!

For a Hinge constraint the 'edge' of the hinge is in the local Z-axis of the Empty. It's useful to use a 'Single Arrow' style of empty and the 'arrow' should point in the direction of the hinge (think of the door frame up the side of a hinged door).
For a Motor contraint, the rotational element of the force is applied around the local X-axis of the Empty. This has certainly caused confusion in the past since if you set up a Hinge and a Motor on the same objects (say an axle and a wheel) then the two empties must be oriented differently, otherwise no motion will occur. Similarly, the linear element of the force also works along the local X-axis.
For a Piston constraint, the motion is constrained along the local X-axis of the Empty, similar to the Motor constraint.

The Hinge is the only one of these constraints which has an intuitive style of Empty that matches it's action - it would be useful to have Empty styles that matched the different directions - for example, if the Cone style were oriented along the X-axis rather than the Y-Axis then it woul be a useful style to 'point the way' of the Motor and Piston constraints!

To demonstrate this in action I created the following quick scene.

It consists of a 'block' to anchor the wheel to, a 'wheel', a 'rod', the 'piston' and the 'cylinder', all positioned at their start locations. A Hinge constraint is positioned in the centre of the wheel (oriented with Z pointing in the direction of the presumed axle), along with a Motor constraint (oriented with X pointing along the axle so the action is around the axle). A Point constraint is positioned where the rod connects to the wheel. Another Point constraint is positioned where the rod connections to the piston. The piston lies within the cylinder - and the cylinder is set with it's Rigid Body Collision shape set to 'Mesh' (although you could use a Piston constraint for this instead, if preferred).

Running the animation produces the following results :

Blend file included


Can cycles render motionblur and dof at the same time in 2.80?

Yes, Cycles is capable of rendering both at the same time. Make sure that the DoF doesn't mask the motion blur though. If the object is out of focus you may not see the motion blur. The strength of the motion blur depends on the shutter speed and how fast the movement is.

The following link has a small example project that shows both effects in action. It was created and tested using the official release of Blender 2.8.


How to save a group of objects separately for use in other programs?

V2.80 is brilliant with this.

Select the objects in the Outliner
Right Click on one of the highlighted objects in the Viewport, on the left to the list.
When the poupup menu comes up select Move to Collection menu item.

That will bring up another popup Menu and click on the + New Collection

Another popup menu will show up, click in the box next to the Name, circled, and type in your new collection name you want.

In this example named the new collection MyCollection. Click OK button to create it.

The collection is created and can be collapsed or manipulated making individually visible or hidden with the screen and the camera icons next to them. Or select all the objects in the collection with right clicking on the collection name and selecting from the popup menu Select Objects. See first image selected objects and now included in this newly created collection.

The same way you can create collections within collections, called nested collections.
If you right mouse click on a collection name in the Outliner then from the popup menu you can create a collection with the New menu item and later any selected item can be added to any current collection. In this example adding these 2 additional objects to the MyCollection collection. In this case after step 3 select the desired collection name


Unpaintable streaks in Weight Paint Mode

Those streaks are normal. They are caused by the way the paint display works. You are acutally painting on the vertices, not the faces. as a result, you will see unwanted blue areas on some of the surrounding faces.


adding detail (extruding a grill type part at top) to a box mesh without affecting lower part of mesh

It is not ideal to do what you are asking because you will most likely have to triangulate your mesh.

I recommend going with the loop cut, finishing your model, triangulating it (control-t), then decimating it down without losing quality (Note: Decimate is a modifier :D ).

But if you insist on doing it now:

Make the loop cut and select the vertices you don't want.

Double press G to slide along the edge and move it on top of the next edge.

Press W and select remove doubles.

If you have done it properly, there should be a single triangle in the middle of your mesh.

:D

Good luck with your project and I hope I helped,

BFB


Using BlendDataLibraries # bpy.data.libraries

import bpy

filepath = "//link_library.blend"

# append all objects starting with 'house'
with bpy.data.libraries.load(filepath) as (data_from, data_to):
    data_to.objects = [name for name in data_from.objects if name.startswith("house")]

# link them to scene
scene = bpy.context.scene
for obj in data_to.objects:
    if obj is not None:
        scene.objects.link(obj)


How to change origin of a layer in stroke in Grease Pencil?

In Edit Mode, you select the point where you want the origin to be. Then Shift+S > cursor to selected.
In Object Mode, Right Click > Cursor to Selected.


Render Regions renders part of region only

Rendering a region will always have the margins added to it when completed. The purpose of this tool is to make it so you do not have to render an  entire image when you are test rendering, so the margins give you an idea of what part of the scene it is in.

If you really need to use this method for a final render (NOT recommended, move your camera!) then you can use any image manipulation software to get the margins trimmed off.

If you want to render different sections because of huge render times for the entire image, and then add them together in post-pro, that works well, too.

HINT: Check transparent background settings, it will make your work a whole lot easier!

If this does not answer your question, please leave a comment, I'll try to get back to you.


Best modeling workflow for painting textures

If you are creating materials for others, it is a common convention to test them on a shader ball. See this question: Cycles advanced shader ball?

However, if you already have a mesh, it is best to test the material on it. The reason is that only the simplest materials are 100% mesh-independent, the rest have to be adjusted to the mesh, for example the depth of subsurface scattering depends on the scale of the mesh.


How to change the point about which a rigged object rotates?


Here are the principles of bone control over vertex groups:
Let's say that I have a bone called Bone1 and a vertex group called Bone1 as well. The bone will control the vertex group that has its name (if it has been parented with an Armature Deform option). Here I assign a vertex group weight of 1 to the 2 vertices on the left, and a weight of 0.1 to the 2 center vertices:

If the center vertices are only part of this group, it doesn't matter how much is the weight, as long as it is not 0 of course, they will be influenced by the bone as much as if they had a weight of 1, see what happens if I move the bone, left and center vertices are equally moved by the bones:

Now let's create a new bone, called Bone2. I create a second vertex group called Bone2 and assign a vertex group weight of 0.1 to the center vertices, and a weight of 1 to the right vertices:

If I move Bone2, as the center vertices are now part of 2 vertex groups that equally influence them, they will be equally stretched between the 2 bones:

Now, for these center vertices, if I change the weight of Bone2 up to 0.5 instead of 0.1, this time the influence of Bone2 on these vertices will be 5 times higher than Bone1, and so on:

All this explains what you show: You think that the weight of the bone should smoothly decrease along the mesh, but it's not what happens:

Why? Because the vertices that seem only lightly influenced are only part of this bone's vertex group, so the influence of this bone on these vertices is as strong as if it was 1. To decrease the influence of the bone on these vertices, they should be part of the next vertex group as well. That's what you need to keep in mind when you parent the tank track to these bones. Parent With Automatic Weight should work, because it will smoothly share the vertices between the groups, but you can do it manually if you keep all these principles in mind.


Rigify generated rig, hand IK controller has unexpected rotation

Solved with the help of CGDive! https://blender.stackexchange.com/users/25308/cgdive
The generated rig tries to correct the roll automatically by default, but this can be overwritten by selecting each upper_arm bone and in Bone Properties > Rigify Type > Rotation Axis selecting the rotation axis manually. If you have copied the roll orientations from the human metarig template, then this should be Z manual for the arms. This causes the hand IK control to be correctly oriented when generating the rig.


Hide subdivision dots/normals in edit mode?

I found the answer, I had "Adjust edit cage to modifier result" on the rig I was working on:


EEVEE viewport and render are completely different

You are using a particle system with hair and interpolated children.

Interpolated children in particle childrens have a count property which is different for viewport and render.

If you want the same amount of children (and the same results) for display and render, choose the same value for Display Amount amd Render Amount.


How can I subdivide and curve/smooth a low poly line without moving the original points

not sure if it is the solution but if you quick add faces to your loop and then use the knife project fonction with the side curve and remove the vertices you don't use in the end.

Draw the side section with curve as you did for the front section.

Then convert all those new curve to meshes with command + c
Join those meshes with command + j

select the new mesh (the one made of the joined one) and then what you have already done for the front of the boat.

use the side view and go to edit mode en press space to search "knife project

this will cut your mesh where it intersect with the second one


How to re-scale bone keyframes and objects at the same time?

Both Dopesheet and Graph Editor show keyframes of all selected objects, you can box select B the keyframes and scale them, S X .


Why did the texture I painted in texture paint mode disappear?

You need to save the image texture to an image file F3 (Menu: Image / Save As Image) otherwise all changes are lost. Blender indicates an unsaved texture in the UV-Editor with an asterisk at the Image Menu Item.

Another option would be to pack the image into the .blend file.


How to use script get event 3D Cursor(Position) change in Blender

You can use a handler to detect that.

Here I propose a little addon that demonstrates it:

The code contains:

A panel to start and stop the listening (the panel is in the scene properties)
Two operators: one to start and the second to stop
An utility class that handles various scene data changes

To use this utility class, you'll need to instantiate it giving the following parameters:

A context (for instance a scene)
A string corresponding to the data path to reach from the context (for instance 'cursor_location')
A function able to compare old/new values to check the changes
A function to call if there is a change
A flag indicating if the value is to be copied (in order to avoid 'pointers effect')

Here is the commented code:

import bpy
from mathutils import Vector

#A class that takes into account a context and one of its attributes value
#If the value changes a callback is fired
class EventWatcher:

    #Set of watchers
    eventWatchers = set()

    @staticmethod
    def AddWatcher( watcher ):
        EventWatcher.eventWatchers.add( watcher )

    @staticmethod
    def RemoveWatcher( watcher ):
        EventWatcher.eventWatchers.remove( watcher )

    @staticmethod
    def RemoveAllWatchers():
        EventWatcher.eventWatchers.clear()

    #From 'context', 'path' needs to exist
    #'comparer' is to compare the previous value of context.path to its new value
    #'callback' is the cb called if the value if changed
    #'copyValue' indicates if the value needs to be copied (that can be needed as if not old and new value may point onto the same object)
    def __init__( self, context, path, comparer, callback, copyValue ):
        self.context = context
        self.path = path
        self.comparer = comparer
        self.callback = callback
        self.copyValue = copyValue
        self.currentValue = self.GetValue()

    def GetValue( self ):
        value = getattr( self.context, self.path )
        if self.copyValue:
            value = value.copy()
        return value

    def Fire( self ):
        newValue = self.GetValue()
        if self.comparer( self.currentValue, newValue ) == False:
            self.callback( self, newValue )
            self.currentValue = newValue

#Global loop on the watchers. This callback responds to scene_update_post global handler
def cb_scene_update(context):
    for ew in EventWatcher.eventWatchers:
        ew.Fire()

#To stop the calls at the scene_update_post event level
class StopCallback(bpy.types.Operator):
    bl_idname = "scene.stop_callback"
    bl_label = "Stop Callback"

    @classmethod
    def poll(cls, context):
        return cb_scene_update in bpy.app.handlers.scene_update_post

    def execute(self, context):
        bpy.app.handlers.scene_update_post.remove(cb_scene_update)
        return {'FINISHED'}

#To start the calls at the scene_update_post event level
class StartCallback(bpy.types.Operator):
    bl_idname = "scene.start_callback"
    bl_label = "Start Callback"

    @classmethod
    def poll(cls, context):
        return cb_scene_update not in bpy.app.handlers.scene_update_post

    def execute(self, context):
        bpy.app.handlers.scene_update_post.append(cb_scene_update)
        return {'FINISHED'}

#The panel is located in the scene properties
class SceneEventsPanel(bpy.types.Panel):
    bl_label = "Scene events"
    bl_idname = "OBJECT_PT_scene_events"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

    def draw(self, context):
        layout = self.layout
        row = layout.row()
        row.operator("scene.start_callback")
        row = layout.row()
        row.operator("scene.stop_callback")

def register():
    bpy.utils.register_class(SceneEventsPanel)
    bpy.utils.register_class(StartCallback)
    bpy.utils.register_class(StopCallback)

def unregister():
    bpy.utils.unregister_class(SceneEventsPanel)
    bpy.utils.unregister_class(StartCallback)
    bpy.utils.unregister_class(StopCallback)

if __name__ == '__main__':
    register()

print( '--------' )

#Example:

#The comparaison (for cursor location, it is a vector comparison)
def CompareLocation( l1, l2 ):
    return l1 == l2

#The callback to execute when the cursor's location changes
def CompareLocationCallback( watcher, newValue ):
    print( 'New value', newValue )

#Install the watcher which will run the callback
EventWatcher.AddWatcher( EventWatcher( bpy.data.scenes[0], "cursor_location", CompareLocation, CompareLocationCallback, True ) )


2.9 changed the info log position - can I put it back?

The status bar will center the output of bpy.types.Operator.report in Blender 2.91, see ticket T81171 for more information.
If you want to have this change in your current version, you can edit 2.90\scripts\startup\bl_ui\space_statusbar.py yourself and apply the same changes as the fix in commit rB5e2a60a0034dc7543c868328cf971c442a0b33fb. Make sure to keep the indentation exactly the same and don't mix spaces and tabs.
Before (2.90.1)
# ##### BEGIN GPL LICENSE BLOCK #####
#
#  This program is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation; either version 2
#  of the License, or (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software Foundation,
#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####

# <pep8 compliant>
from bpy.types import Header

class STATUSBAR_HT_header(Header):
    bl_space_type = 'STATUSBAR'

    def draw(self, context):
        layout = self.layout

        # input status
        layout.template_input_status()

        layout.separator_spacer()

        # Nothing in the center.
        layout.separator_spacer()

        row = layout.row()
        row.alignment = 'RIGHT'

        # Stats & Info
        row.label(text=context.screen.statusbar_info(), translate=False)

        # Messages
        row.template_reports_banner()

        # Progress Bar
        row.template_running_jobs()

classes = (
    STATUSBAR_HT_header,
)

if __name__ == "__main__":  # only for live edit.
    from bpy.utils import register_class
    for cls in classes:
        register_class(cls)

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

# <pep8 compliant>
from bpy.types import Header

class STATUSBAR_HT_header(Header):
    bl_space_type = 'STATUSBAR'

    def draw(self, context):
        layout = self.layout

        # input status
        layout.template_input_status()

        layout.separator_spacer()

        # Messages
        layout.template_reports_banner()

        # Progress Bar
        layout.template_running_jobs()

        layout.separator_spacer()

        row = layout.row()
        row.alignment = 'RIGHT'

        # Stats & Info
        row.label(text=context.screen.statusbar_info(), translate=False)

classes = (
    STATUSBAR_HT_header,
)

if __name__ == "__main__":  # only for live edit.
    from bpy.utils import register_class
    for cls in classes:
        register_class(cls)


How to rotate (roll) the 3D view like I'm tilting my head?

It looks like you'd like to avoid viewport rotation lock around Z axis and to have possibility to rotate freely with RMB.

Option 1 - switch to Trackball rotating method

By default, Blender uses Turntable rotation method for manipulating view. It means the rotation in 3D Viewport will be locked to Z axis. See what the difference between Trackball and Turntable orbit styles.

To change that in File > User Preferences (or press Ctrl+Alt+U) choose Input page and find Orbit Style part.

After toggling it to Trackball the 3D Viewport will rotate freely.

Option 2 - use View Roll

Without changing anything in preferences it's possible to roll the view to change its angle. Hold Ctrl+Shift and rotate the mouse wheel(or by using the key shortcuts Shift+Pad4  / Shift+Pad6) to rotate left / right:


Sorry, my post covers generating smoke as a single mesh in Blender 2.79, and not an entire smoke sim anim, due a buggy particle system (or smoke cache).
Blender 2.83 doesnt have texture type Voxel Data, but there is a Voxel Mesher Modifier on the way https://developer.blender.org/D4960

In meantime my goal with 2.79 was to ...

use voxel data to generate particle cloud from texture (01) or vertex weight (02)
particles represent by metaballs
animation export as Alembic or Wavefront, that converts metaballs (smoke) into Mesh Sequence animation

test 01 - Mesh from Voxel Data Texture
Blender 2.79 contains texture type Voxel Data that use this kind of data as 3D texture. Blender Manual describes this quite straight forward. And it works for 8-bit RAW and Image Sequence file format (like CT scan or MRI).

It means - it is possible (with some headaches*) to generate mesh from particle system represented by metaball objects, like this ...

Troubles comes with voxel file format Smoke (that should be able to reuse data of existing Smoke Domain on another object) and Blender Voxel (that should use externally saved simulation bake) ...

... I could see Material Preview in Texture Properties, but nothing was rendered.
Usage of these baked smoke simulations (externally) is buggy for years. Smoke doesn't appear in domain at all / or is shifted / or just a few frames of sim is visible. Not always, and that it makes more difficult to hunt issue. (One for all bug report here - as many of them were closed/archived.)
Anyway ... for your needs, when I assigned particle system directly to domain and Domain was set as Texture for particle density I was able to generate a particle cloud and to mesh one frame of smoke, but not entire animation. Probably for the reason mentioned above - bug. I'm not sure how  that one frame is selected, probably current frame set on timeline when assigned? Can't confirm due the refresh issue.

For those interested - in case smoke sim is baked ...

add Metaball object
select Smoke Domain
add Particle system - Emission>Start1 End1 / Source>Volume / Distribution>Grid> / Velocity>zero / Texture>New (Cycles only) / Field Weight>Gravity=zero
go to Texture (Particles) Properties - Type>Voxel Data / Voxel Data>Smoke / Color>Ramp=ON to adjust density / Influence>Density=ON

set render particles as Object>Mbals
export (Mball) as Wavefront(.obj) or Alembic (.abc) that converts metaballs into Mesh Sequence animation
(in case someone will fix the bug :) )

... another pain as hell is particle system refreshing https://developer.blender.org/T52160 . Even you have visible particle cloud, opening file again hides the particles. To make them visible again I discovered only one weird way - switch to Blender Internal engine into RenderView mode in 3Dview, change particle resolution to something, it refresh particle appearance, switch back to Cycles if needed.

test02 - Mesh from Dynamic Paint - Weight
Dynamic Paint in video of Miikah can use a smoke sim as a "brush" to paint, so I wanted Weight paint into a dense grid using voxel data. Vertex Weight becomes Particle size solver. But ... I don't even thing this was implemented or I do something wrong here.
(I could only approved dynamic paint vertex-weight can generate animated particle cloud, but not driven by smoke.)

Resume - faked Fluid Particles seems to be a way to go ... :(

Notes to fix setup of your second blend file
(this part I will delete later)
Particle System Properties

Influence > enable Density
Field Weights > Gravity = 0
Render > Size is very small, try 0.4
looks better to use Random for Emission>Grid

Texture (Particles) Properties

Color > enable Ramp and move White to left to increase smoke density

Mball Properties

keep in mind all metaballs in a scene use resolution from first existing meta object in a scene (doesn't matter what other meta objects are set). That means - lowres for Preview and small particle size value make them invisible for its low res grid.

Time range

you have set Smoke cache frame range 1-90 even scene is set 1-150
also particles system Life Time is only 50 should be 150

Screens below use – Grid Res 200 / Particle Size 0.1 / Mball Preview 0.2
Smoke Default Preview

Smoke Viewports Display Color Ramp

Mball Particles

Hight Grid Resolution + Smaller Particle Size + Smaller Metaballs resolution = More detailed final mesh
Bake smoke sim first. If particles are not visible check italic paragraph under my first blend file.


My river water won't flow at steady rate, any solution? (found it)

idk if im allowed to answer my own question, but i think ive found the solution.
not sure which one made it work but here u go
change the plane shape into cube,
uncheck the "is planar" in the inflow mesh,
choose inflow instead of geometry,
surface emmision 1
for initial velocity,
0 source, 0 normal, initial Y* coordinate 7.1 m/s
for Y*, change it to the direction that ur river is flowing to.
hope it helps


Adjust the timestamp to .010 then lower the mass to .001 under particles physics. And Adjust the Brownian to whatever you desire... Then lower the gravity to 0... See if that helps...


Bevel only certain edges with Bevel Modifier

I don't think you can do it with the Vertex Group method, but if you choose Weight, then set the edges weight in the N panel, it works.


How to add a texture to a section that is already a part of a larger object with one?

First the odd thing. I don't know the origin of your model, but every mesh of your model has a copy, that can be identified by the .001 extension in the Outliner. This does make things very confusing, so I'm going to work on the copy while the original will be hidden.

Analyzing the Mesh

As I expected, your model is divided into several meshes, with each of them containing sub-meshes. These sub-meshes don't share vertices so they can easily selected in Edit Mode by clicking on one of the vertices and then expand the selection by hitting Ctrl+Numpad + until the whole sub-mesh is selected.

After selecting the hair mesh, we see the UV layout in the UV/Image Editor. Let's keep it as it is. We also recognize the name of the currently assigned texture, which is faceoff.png. We also have a material in the material editor that goes by the same name, so let's keep this convention.

Preparing and assigning the Material

If we click on the image selector in the UV/Image Editor we find an image named s76_hair.png.

Now we create a new material named s76_hair and assign the right texture to a new slot. (Texture names aren't necessarily file names, I chose the first one that matches the UV I looked up in the image editor - in this case it's Texture.006). To play it safe, we also assign the UV map for the correct mapping.

In the last step we assign the material to the hair mesh. With the hair mesh still selected, we go to the Material Editor, select our newly created material and hit "Assign".

If we look at our model in Texture Paint mode, we'll see that now the correct texture shows on the mesh.


Cycles Flame in Smoke Simulation not Rendering

It looks that you've used Quick Smoke. Though its material setup is ready to add the fire, it hasn't the shaders to it.

So you only have to add some nodes to that Input: mainly an Emission connected to an Attribute Node set to flame. Eventually, you would need a ColorRamp to color the fire.


Render Multiple Images from Multiple Cameras Simultaneously

From @Rob:

It will render all camera object with filename as camera name. Render path should set as a Directory

import bpy
import os

path_dir = bpy.context.scene.render.filepath #save for restore

for cam in [obj for obj in bpy.data.objects if obj.type == 'CAMERA']:
    bpy.context.scene.camera = cam
    bpy.context.scene.render.filepath = os.path.join(path_dir, cam.name)
    bpy.ops.render.render(write_still=True)
    bpy.context.scene.render.filepath = path_dir


How to create stylized cloud streaks like these using a particle system?

Maybe you can use some sort of Musgrave or Voronoi texture to form the base clouds, then mix up texture coordinates with a Noise texture to distort them into something more irregular.

Squash the textures in Z, or stretch in XY to get the elongated look.


Depth data works, but not in Background mode

Rendering of viewer nodes and previews in background mode was disabled in 2013 for speed optimization (see here). However, you can easily enable it again by modifying 2 files of the blender sources and compiling blender yourself (as described here).

In the file source/blender/compositor/operations/COM_ViewerOperation.h, line ~58:

bool isOutputOperation(bool /*rendering*/) const { if (G.background) return false; return isActiveViewerOutput();

should be changed to

bool isOutputOperation(bool /*rendering*/) const {return isActiveViewerOutput(); }

and in file source/blender/compositor/operations/COM_PreviewOperation.h, line ~48:

bool isOutputOperation(bool /*rendering*/) const { return !G.background; }

should be changed to

bool isOutputOperation(bool /*rendering*/) const { return true; }

After these changes, the pixels array gets properly updated in background mode.


Why are the internal parts of the model disappear in blender game engine

There are a few things that could be causing this.

First, backface culling

That happens because the inside of the mesh are backfaces and somewhere, (in the object data panel or in the materials panel in the properties menu) there is a checkbox for backface culling that is set to true. If you turn it off, then the backs of the faces will no longer show through.

Second, Your camera/viewport could be inside the mesh a little bit.

Third, your normals could be off in some way. Go into edit mode, select everything, and "recalculate normals." you can find this command by pressing the space bar and typing 'normal' until the command comes up (if you are using 2.79 controls) or by pressing f3 (if you are using 2.8 controls)


How to use image sequence to control particles?

You are lucky more than me :) I got particles emitted only from a one frame (tested with 2.79, 2.83, 2.93 and according to this answer and its link to devs (also seen as closed bug report with this topic in 2017) ... seems like limitation persists. So what you see in your preview is a pure love of God :)
So ... seems like the only one option to control animation with texture is to translate animation into a gradient image.

To prevent release from black pixels I used image with transparency (PNGA). For some weird reason I had to set Alpha > None to let it work as intended.
To get a bit of randomness of release apply a Noise filter on image

I know you said your example is just a prove of concept, but probably you would be able reuse for your needs as well.


How can I paint through a mesh while weight painting ? [Blender 2.8]

Update:
In the latest Blender version it looks like you need to open the N panel, click on the Tool tab and in Brush Settings:

Advanced > disable Front Faces Only
Falloff > switch from Sphere to Project
Front Face Falloff > disable the option


How can I make multiple meshes into a single hollow mesh?

For separate meshes, you should first of all join them in a single object (ctrlJ)

Then, if in that object you have separate "islands" of faces (like eyeballs and body) you can either:

join them manually, adding new geometry, or joining existing
make (eg) eyeballs intersect body by enlarging or reducing any of them, and then use a boolean modifier with "union" to get a single, "manifold" mesh (check very well normals before using booleans, and to not have negative scale, since that would invert normals effect in the boolean). Needs some practice with simpler object.
to remove "interior geometry" I have no other solution then removing it manually, eventually closing open surfaces left inside (there could be some, since the model was thought for a usage (render, animation) for which this was not a problem).
anyway, since you're creating stl, I guess you are going to print the object, so, you can surely have some help before exporting by using the "3d print toolbox" addon (included, but not enabled by default) to find and correct problematic shapes. And after export, the print program tipically have some "correction" tool to fix minor problems.


How do I avoid artifacts when using bevel objects with complex curves?

  The only way I have found is not a fast solution, but so far the only one I can imagine without writing a completely new bevel routine. If you have two beziers at a sharp angle, they don't normally have the same length, so the concept of resolution and even spacing would be in the way of a clean bevel where both sides shave off material.

  Okay, here's the way:

This curve consists of sharp angles. The ones that cause trouble.
Give the curve a bevel of, for example, 0.2 and an offset of -0.2 and adjust resolution of bevel and curve to match your desired end result.
Duplicate the curves.
Change the shapes like shown. Every curve segment you want to retain should continue straight. The newly created bulges will be cut away. I adjusted adjacent handles to be 180° and made them longer. If you want more precision, extrude the curve, so you can be sure to have a straight continuation (or a slightly curved one if the dynamics of the curve demand that). I put opposite curve segments into the same object because I have an even count of segments. The blue object is contributing the horizontal part of the finished mesh while the green object adds the vertical one.
Convert both into meshes. Perform Remove Doubles and maybe Recalculate Normals Outside.
Connect them with a Boolean Modifier set to Intersect because you are only interested in the space both objects occupy. Apply it.


This can be caused by a combination of subsurf and multiple materials.

You'll notice that when you assign the materials to a model with subsurf, in some cases they don't line up with the edit cage. In these cases, if you either apply the subsurf modifier to the edit cage or disable it completely, the materials line up with the topology:

To fix this distortion caused by the subsurf, add supporting geometry or creases.

For adding supporting geometry, the loop cut (⎈ CtrlR) and bevel (⎈ CtrlB) tools work pretty well.
You can change the crease weight of selected edges by pressing  ⇧ ShiftE.


Blender 2.8 Object and Background plane disappear

That is your camera clipping, it will only show object in a certain distance of the camera. You need to make it where it will show objects further away. in your screen shot, in the menu to the right you will see the clipping settings. Set the clipping end at 1500 or so and you should see everything.

Okay try going to object mode and opening the N bar on the right. fin the view tab and click it. That will open the scene clipping. you can try upping the end clipping on it, and see if that helps.

Select the camera object, then to the right where the where all the the icons are select the green camera and you will find the camera clipping. Up the end value there.


How to calculate the distance between two selected vertices?

You could use MeasureIt addon that you can enable from User Preferences (ctrl+alt+u), Add-ons tab:

Or you could also use an inbuilt ruler that you can find in the Tool Shelf(t panel), Grease Pencil tab that you can snap to vertices holding ctrl while dragging:


The solution was simple enough. I changed

polyline.points.add(len(coords))

to

polyline.points.add(len(coords)-1)

as found here:

http://blenderscripting.blogspot.de/2011/05/blender-25-python-bezier-from-list-of.html


I cant get light to work with emission on render

Unlike Cycles, which uses path traced light-bounces to calculate lighting for a scene, EEVEE uses fast approximations, which often need a bit of assistance to look close to their Cycles counterparts.
For emissions to work "properly" in EEVEE, at least 2 main things are necessary: Bloom, and baked lighting via an Irradiance Volume.
First, make sure Bloom is enabled:

Then, add an Irradiance Volume (under Light Probe in add menu). Scale it to the shape and size of where you think the "glow" should be cast. Don't make it too big, because if there are areas unaffected by the bloom, then you're just wasting performance unnecessarily. You can up the number of resolution subdivisions (default is 4) for the probe under the Object Data Properties tab if you want better quality.
After this, you will need to go to the Render Properties tab and select "Bake Indirect Lighting". Hit the bake button and allow it to calculate the indirect influence.

The final result looks something like this. If the look seems too low quality, you can adjust the bake settings and bake again as necessary. Just remember that this is a balance of quality and performance as is the case with many things.


How to slide a vertex group to make new edge loop?

Either use the Loop Cut and Slide operator Ctrl + R keyboard shortcut to manually place a cut on each side.

Or alternatively use the Bevel Edge operator on the whole existing edge loop CtrlB. Make sure you set the Bevel Profile factor to 1 so your current edge loop wont be moved


How can faces be added to a manifold mesh without losing the manifold property?

Non-manifold geometry basically occurs when you have an edge that is part of more or less than exactly two faces. For the sake of 3D printing this is important because non-manifold geometry is geometry that isn't describing the outer shell of a physical object. And edge that is connected to more than two faces means that you have faces that are 'inside' your mesh, for example.

Basically, if you add that face there, you need to delete some of your older geometry that is becoming internal. I'm not 100% sure this is what you're trying to accomplish, but it should give you the basic idea:

Delete faces that would become 'inside' faces, then select the edge loops around the hole you've created, and fill them. It's possible that you will want to clear away one more faces. As I've done it above, you have a hex shaped indent both inside and outside the cylinder. The same technique works if you want a smooth cylinder on the inside.


how to separate the sculpting layer as a different object in blender?

If you have applied these directly to your base mesh you will not be able to separate them.  The closest you can get to what you want is to use the multires modifier which will allow you to sculpt different levels of detail at different resolutions.


Is it possible to take control of Blender with a standalone Python instance?

You'll have to build it yourself, but you can build Blender as a Python module. You can then do import bpy and use it as if you're inside Blender.


Why can't i select objects using the outliner tab?

You are viewing the Outliner in Scenes mode

You need to change it to View Layer mode

Seems like it should work in both modes, but it doesn't.


Use another node to control Vector Mapping

You can create your own node groups to do that. First, let's start with examining what UVs are, or better how you can think of them. Start with creating a cube and unwrap it. Note that in the latest Blender version, you can even choose to automatically create texture coordinates from the last operator panel. Then create a node setup like in the screenshot here:

Note that you should connect the UV output of the Map Node into the Color of a Shader. This way, you can see what a UV Map 'looks like'. UVs are 2D coordinates of vertices / faces of your mesh. They exist in a space which ranges from 0 to 1. The 3D vector you get from the UV Map node carries the U direction in the first slot, the V direction in the second, and 0 in the third. check these screenshots:

you'll see that the map, if you split it out into its U and V sub components, gives you a gradient. Black is equal to 0, and means (for the U direction) left hand side in the UV Image editor, and in the end also in the texture which you map. For the V direction it means bottom, while white (= 1) means top.

So how to bring this in connection with the operations Translate, Rotate and Scale? Let's handle them one by one, starting with Translation. Since 0 means left / bottom, and 1 means right / top, one can simply add arbitrary values to move the UVs across the texture. Yes, you move the UVs, not the texture, which mathematically is something different. It will nonetheless enable you to do what you want. To do it, you can use any node which allows you to manipulate three channel input. You can use the SplitXYZ node and the Vector Transform node, but you can also use the MixRGB Node. In this case, it is the easier choice, because it has one additional element: the Fac socket:

In this example, I used the CombineXYZ node as the input node. It has one advantage over a simple RGB color node: You can set negative values. As you can see, you only need two of the sockets. Now, let's fool around with the Fac input:

To go further, let's create a node group so we can reuse what we have in other Blend files. Publish the socket values like in the screenshot, so you can add Noise or other effects to your result:

And this is what the result looks like from the outside:

Give it a nice name, add a fake user, and consider even to save this in your startup file to have it around every time you create a new file. Now let's handle Scaling. Luckily, this is really easy, because the logic is exactly the same as for rotations. The only change here is the math operation inside the node group: Make a duplicate of the node group, and change the math operation of the MixRGB Node from ADD to MULTIPLY, that's it:

Rotations are the ones that makes peoples minds crack. I admit that I didn't come up with the following node tree entirely myself, I took it from online references. Search for "rotate 2D vector" or "rotate 2D coordinates" to find the math equation, and build it with nodes like this:

The first multiply node basically gives you the Fac value for the Node group again. It was a deliberate decision to put it here like this, you can create variations of it if you like. The framed part is a conversion setup, because for the Node Group, the user most likely wants to type in rotations as Degrees, but Blender handles rotations in radians. That few nodes handle the conversion (pi / 180 * rotationvalue). The rest is trigonometry functions to rotate the coordinate around.

Finally, to do Translations, Rotations and Scales, simply daisy chain your Node Groups.

By the way, Bartek Skorupa did a comprehensive explanation at the Blender Conference 2014: https://www.blender.org/conference/2014/presentations/110 is the current link, however if it breaks you can find it by searching for 'how to manipulate texture coordinates like a boss'

well worth watching!


What are good free PBR material libraries for a beginner?

You should rather watch vidoes and try to create your own library so that u can learn as well. I would suggest you to watch videso from blender guru (https://youtu.be/V3wghbZ-Vh4) and remington graphics (https://youtu.be/OulP6f-aF-c). You can learn from these videos and create your own shaders. If not then i think remington has provided the shader pack for free as well.


check out if the object isn't duplicated. maybe there are two objects at the same location.


So (full credit to S. Visser here) I went to where it said 'Blend' underneath the strength slider an then changed it to 'add'. Hope this helps!


Type this in the blender console:

bpy.data.images["ImageName"].scale(x, y)

x, y = desired size of the image

In your case:

bpy.data.images["texture_paint_..."].scale(2048, 2048)

Old topic, but I found this code in the 2.78's API.  So we officially have a way to resize image inside blender.


Orthographic view with something like shift/transformation?

You can approximate the effect by moving the camera a long way away from the subject and using the Focal Length/Sensor Size/Shift camera settings to adjust the view.

The long distance for the camera effectively removes the effect of perspective (making it appear orthographic). For example,  I moved the camera back to -65 blender units and pointed it directly at the subject (ie, rotation X 90, Y 0, Z 0).

To project the depth as an offset you need to move the camera off the centre line. For example, move it 20 BU to the right and 20 BU up.

View through the camera and adjust the camera Lens shift settings to bring the subject back to the centre of the frame.

Adjust the Focal Length or Sensor Size to effectively 'zoom in' to the subject. Further adjust the Shift to keep the subject in view with the desired perspective.

NOTE : The Shift values have a "soft" limit of +/- 2.0 when dragging to adjust the value. To get beyond those limits simply type a value beyond the limit (eg, -2.5) and you can then drag to adjust beyond the limit.

Note that this is not "true" orthographic projection since it is still using perspective (for that you'd need to move the camera out to infinity which would not be practical and would introduce severe rounding issues!). However, with a narrow depth of the subject you should be able to get something appears close enough.


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


How to "Reverse Engineer" mesh created out of smooth curves with a missing chunk?

You can fill holes in curved surfaces like this either with extruding with snapping set to Vertex or using Mesh:F2 addon.

Using F2

After enabling add-on, select vertex in the corner of the hole and hover mouse cursor over hole (mouse position matters regarding to where face is created if there are several possible ways).
After that press F to fill the face. Continue until finished with other vertices.
Split uneven parts of hole to make it of square / rectangular form. Once it is use Ctrl+F > Grid Fill and choose options to have clean topology.

See more about filling faces with F2 addon: Make quad face from where two edges will meet?

Extruding and snapping

The same could be done with extruding with snapping turned on and set to Vertex as element to snap to. Fill the surface until the hole is rectangular and then use Grid Fill.


How I can define the order of the panels?

As a script author you have limited control of panel ordering.

You can change the initial order they show in relation to each other. (for multiple panels you define)
You can't change the order they display in relation to other panels(defined by other scripts for example).
You can't change the order of panels in existing blend files(see workaround below *).

Panels are shown in the order they are registered,

This means if you use bpy.utils.register_module(__name__) the order they're defined.

Since having to re-arrange code just to change panel order is inconvenient. You can register each class explicitly with bpy.utils.register_class(cls), and re-arrange the order of registration this way. See example.

Note that once the panels are saved in a file - their order is saved too. To ignore the saved order you will you will need to load the blend with Load UI disabled.

* You can workaround this and ignore saved panel location in existing files - by renaming the class. (admittedly a kludge).


How to select all faces within a square with a certain length and at a location (x,y)?

Square select.
Here is an edit to @zeffis answer
In edit mode, with face select mode, select a face and run script.
Change space = 'GLOBAL' to space = 'LOCAL' to select square using local coordinates of the mesh
size is the side length of the square

 Test run in GLOBAL mode

 Test run in LOCAL mode
import bpy
import bmesh
from mathutils import Matrix

space = 'GLOBAL'
size = 2 # 2 x 2 square
d = size / 2

obj = bpy.context.edit_object
if space == 'GLOBAL':
    M = obj.matrix_world
elif space == 'LOCAL':
    M = Matrix.Identity(4)

me = obj.data

bm = bmesh.from_edit_mesh(me)
f = bm.faces.active
if f:
    o = M @ f.calc_center_median()

    for f in bm.faces:
        f.select = (all((abs(o.x - (M @ v.co).x) <= d) for v in f.verts)
                and all((abs(o.y - (M @ v.co).y) <= d) for v in f.verts))

    bmesh.update_edit_mesh(me, True)

Note answer written for 2.8.  To run in 2.7x replace all at symbols @ with asterisk *
Notes
could extend to "cube" select by adding the z coordinate to test.
Doesn't consider the alignment of the view, either uses global or local coordinates.
Could extend to have choice to extend selection or not.


I'm having trouble finding the fluid Viscosity bar in Blender 2.83

It was renamed as Diffusion, enable it (check your 2nd picture)
You can consult official Blender Documentation here: https://docs.blender.org/manual/en/latest/physics/fluid/type/domain/liquid/diffusion.html


What are the advantages of separating FK and deform bones in an IK/FK rig?

One advantage is that you can see the FK bones actual positions without adjusting the IK/FK switch. This might be useful when blending halfway between IK and FK in order to transition from one to the other. When going from IK to FK you can set your FK positions to their destination position and then adjust the switch and see the deform transition state. You'll still be able to adjust the destination FK position while seeing the resulting transition state without having to go back and forth between them.


What would be the best way(s) to reproduce this ´wireframe mesh´ (see picture below) without having a ridiculous amount of vertices if possible?

If you still want to stick with real geometry ... in this example:

add cylinder, Loop cut Ctrl+R
Un-Subdivide = 1 (to get rhombus pattern)
Bevel Cmd / Ctrl+B
Invert Selection Crtl+I
Delete Faces

Modifiers

Array Modifier
Solidify Modifier > Complex
Bevel Modifier > Width
Curve Modifier

3000 vert for segment, 63000 vert for object

Sure in case of your example you would have to apply Array and there is nothing more you can save on poly-count. So if you are looking for something more lighter shader is your way.


How can I view the object in 2D in the front view

You must have been in the front perspective mode instead of front orthographic mode. You just have to press numpad '5' key to get to orthographic mode.

Front perspective looks like this and you can see that on the top left of the screen.

Front ortho looks like this. Again, its mentioned in the top left of the screen.

If you don't have a numpad in your keyboard.Press Ctrl+Alt+U for preferences and enable 'emulate numpad' in the 'Input' tab. And then, instead of numpad 5, you can just press the normal '5' to get to orthographic mode.


States define what logic is currently active. Inactive logic will not do anything. This means when your message sensor is not connected to a controller of an active state it will not sense anything.

If you really need you either:

connect the message sensor to a controller at each state
add another state that is always active (yes, you can activate multiple states at the same time) and move the message processing to that state