Making a Voronoi Texture affect where an image texture is placed on a model?

You can add a Color > Hue Saturation Value node and plug the voronoi texture into the Saturation socket.  Values on the voronoi texture closer to 1 will make those areas of the diffuse texture closer to the original saturation, values closer to 0 will be more saturated.

You can add a Color Ramp node after the Voronoi texture to have better control.


I just had a look at your model. It fails to parent the base mesh properly with automatic weights and this usually happens for a number of reasons.

It's because there are errors with your base mesh. Looking around the neck you'll find quite a few holes in the mesh. These need to be filled in being careful not add interior edges or faces.

Around the hand I found a few more holes.

I assume, what you did was to sculpt the monkey and then decimate it.

Decimation basically decimates your mesh (destroys it). So it's no good really for animation.

Honestly the best way to approach this is to prepare your model for rigging by retopologising it correctly. So you want to avoid triangles but also make sure there are no duplicate vertices, holes in the mesh and that there are no extra parts of geometry overlapping each other. Retopology really helps us have a lot of control over our mesh to ensure that we don't have errors.

A clean quaded topology also allows for nice animation, so focus on getting nice edge loops around where the limbs fold and that the vertices are spaced out nicely and this will prevent any ugly artifacts from appearing during animation.

If you'd prefer to skip the retopology of your model (which I don't really recommend although it'll save you time), really check your mesh carefully for holes and inside faces and overlapping geometry. This actually might take more time than just retopologising it. The mesh looks quite difficult to manage as a modellor (also considering that the mesh consists of mainly triangles and many ngons).

However, to retopogise it, start with a plane and turn on snapping to face and apply a shrinkwrap modifier to the plane. Then start extruding one edge along your model.

That's the basic explanation but I suggest checking out youtube for some good tutorials on retopology.

NOTE: After applying the Remesh modifier, I was able to Parent the mesh to the Armature with automatic weights. So it's definitely that there are some issues with the mesh.

I hope this helps you and good luck with it!


Unable to Drive Animation from Timeline using Scripted Expression Driver

A simple way around this issue would be to add an input variable with the the scene's current frame, then referencing it in the expression.

Your final setup will look like this:

The steps to set this up are as follows:

Add an input variable
Change the variable type to 'Single Property' (from the dropdown next to the variable name)
Change the 'ID' type to 'Scene' (from the dropdown in front of the 'Prop:' label)
Select your active scene from in the Scene ID property search menu (from default startup you'll only see one scene named 'Scene')
Type 'frame_current' into the 'Path' property
type 'var' (or whatever you've named your variable) into the expression field

Input Variables are the proper way to read from RNA properties when using Driver expressions.  This way Blender knows to update the dependencies and ensure the driver functions properly.


Any chance anyone looking into evolutionary algorithms for Blender?

some good codes (K-d tree) and similar topic found, showcasing computational Blender possible through python or programming approach :)

How would one go about creating a genetic algorithm and/or neural network for blender?

https://www.blender.org/conference/2017/presentations/352

https://salzis.wordpress.com/2014/06/28/kd-tree-and-nearest-neighbor-nn-search-2d-case/

https://www.youtube.com/watch?v=Qc9Mp4TdS2k (K-d Tree for animation! Can it be spatial planning!?)


How do I put a image inside of every brick on the brick texture?

It is not possible to map image textures using a Brick Texture node

For texture placemanet you need texture coordinates. Brick texture outputs only colors. So it is not possible to map any images to the colors of the brick texture.

However, you can manipulate texture coordinates using Math nodes

Texture coordinates are only sort of gradients going in some direction from -∞ to + ∞ and you can manipulate them with all sorts of math functions:

So using various maths functions you can construct the same brick pattern out of
the texture coordinate gradients and use that to map any image you wish in the same pattern:


How to procedurally model a non-linear screw? / non linear modifier

with this node group you can control the distance of an array of objects:

RESULT:
https://youtu.be/2QJ8b9MexNY


Outputting full length of video node to scene

When you Add a Scene, the length of the strip is the same of the length of the Scene in the moment that you added it. So, if you change the length of the strip, the content lasts the same.

In those cases, just delete and Add again the Scene Strip. The new strip will work for the entire Scene's length.


Match face-count and keep the flow of the edges

Assuming that you would like to create a sort of "basemesh" to start to work with, I suggest you should:

keep a the polycount low, it will be faster to make adjustement
keep a quad oriented topology, it increase the edgeflow redabilty and helps to keep the model "clean"
keep a quad oriented topology, because you said you are going to subsurf the model, and quads give best results
work with the subsurf modifier so you can easily check if everithing is going the way you are expecting and to place correct additional edge loops

Here's a possible topology fort this particular case with the previous characteristics:

Notice how three of the 8 faces that makes the cylinder are "bridged" to other 3 faces of the the other mesh. This allow a good junction between the pieces like they were welded that will give good results once the mesh is being subsurfed.

Here's the final result with subsurf in action:


Strange black shading. Cannot fully light mesh. (Cycles)

You have Custom Split Normals Data added to the geometry, to fix this, while selecting the object, go to Data Tab in Properties Panel, scroll to find Geometry Data, and click Clear Custom Split Normals Data.

More information about this issue Here


Don't use the fill tool. Delete that big and ugly n-gon shown in the pictures, then select the edge loops you want to join (⎇ Alt+ RMB), and press the space bar and type Bridge Edge loops

Read: How to connect vertices in a mesh efficiently?.

Then, if you are using a subsurf modifier you need to select the edges you want to make sharp and crease them. Press ⇧ Shift+E and set the edge crease to a valud of 1.0

read: Keep sharp edges when using subdivision surface


Use the Btrace addon.

It allows you to trace particles and to also convert the paths to curves.


There is a merge tool.
Select the vertices you want to merge.
Press ALTM (or M for Blender 2.8)
There are a few options:
At First, or Last will merge the points depending on the order in which the vertices where selected.
At center. will merge the vertices at the center of all selected vertices.
At cursor will merge the selected vertices where the 3D cursor is.

I recommend you read this page of the blender manual for this and other ways to deal with Deleting and Merging


How can I make a glossy finish and an anodized finish (rough but shiny finish)?

Try using a glossy shader.

Even with just a single glossy shader you should be able to get an effect similar to your reference images, but you may also want to mix in a bit of diffuse shading:

Note that the way your scene is lit will affect the result a lot, especially with glossy materials. For example, I used a mesh light above the "iphone" to give that highlight:

See Whiter white in cycles for some examples.
Also remember that the surrounding objects will affect reflections as well.


You will only see the Axis you can snap to once you start dragging! So, press G, hold MMB  and then drag, and select the axis you want to move across!


How to get the data path of object dimensions for using in drivers?

You can use the object viewport color to transfer information to the material. Here it's convenient because the dimensions are always positive and the RGB channels can only hold positive values so we can just use the raw value.
You can either add a driver to each of the R, G, B channel of the viewport color property by hand or by using a script.
Use dimensions[0] for the $X$ dimension, dimensions[1] for $Y$ and dimensions[2] for $Z$.
Alternatively (and perhaps more intuitively) you can use dimensions.x, dimensions.y, dimensions.z.

Here is a script to automate it :
import bpy

def main():
    ao = bpy.context.active_object
    if not ao or ao.type not in  ('MESH', 'CURVE', 'SURFACE', 'META', 'FONT', 'VOLUME', 'GPENCIL'):
        print("Select a mesh, curve, surface, metaball, text, volume or grease pencil object")
        return
    for i in range(0, 3):
        add_driver_to(ao, "color", "dimensions", "dim", i)

def add_driver_to(obj, prop_to, prop_from, var_name, dim):
    """
    Add a driver to obj's prop_to property
    Using obj's prop_from property

    Both properties must be at least of dimension dim
    """
    if not obj:
        return
    if not hasattr(obj, prop_to):
        print(f"Object '{obj.name}' doesn't have a property named '{prop_to}'")
        return
    driver = obj.driver_add(prop_to, dim).driver
    # Make sure we don't add variables indefinitely :
    var = driver.variables.get(var_name)
    if not var:
        var = driver.variables.new()
    var.name = "dim"
    var.type = 'SINGLE_PROP'

    target = var.targets[0]
    target.id_type = 'OBJECT'
    target.id = obj
    target.data_path = f"{prop_from}[{dim}]"

    driver.expression = var_name

if __name__ == "__main__":
    main()

To visualize what we just did, set the viewport object color to "Object".

Execute the script and scale the object.

To access it in a shader access the "Color" output of the "Object Info" node and separate each channel.

Scale along X for example (Values > 1 are pure white):


Bone layers work exactly like Blenders scene layers, just for a single armature. The point is simply to provide a way to organize groups or types of bones in an armature, as working with all of them at the same time can be quite difficult, and there are often bones that never need to be selected or edited.

The dots you mention just show that there is something on that layer. There is also two 'groups' of layers, the second having the 'Protected' heading. Clicking on any of these protected layers won't change what is in your scene, but will prevent you from being able to select or edit anything on the corresponding 'Regular' bone layer.

To 'unlock' your layers, just make sure that you have none of the layers set to protected. If it still persists, it's probably not an issue with the bone layers.

Like Blenders scene layers, you can use Shift to select multiple layers. Also, you can use M to move bones between layers, just like with the scene layers. You won't be able to move anything on protected layers separately from the regular layers, as the protected layers are simply the way to tell blender that the contents of a regular layer should not be editable. Thus, moving between regular bone layers will update the protected ones as well.


My mirror ball is not shading correctly - it looks too flat

The Look Dev mode uses an HDRI which produces the nice reflections in your first image. As the name suggests the Look Dev mode is only meant to develop the look of your model, not for a preview of the final render, that is what the Rendered mode is for. If you want to use the scene's world settings instead of the HDRI preset in Look Dev, you can enable Scene World in the Viewport Shading settings.

In order to use an HDRI in your render, you'll have to set it up in the world tab or its node editor.

Blender 2.80

Blender 2.81


How to render only shadow instead of an object?

Eevee
Render Only Shadow instead of Object

In Principle BSDF set Alpha zero
and under Material Properties > Settings > Blend Mode > Alpha Clip

Reaction on your EDIT:
Shadow Catcher

Shader to RGB with some tweaking in Color Ramp
and under Material Properties > Settings > Blend Mode > Alpha Blend


How to unwrap a cube into a LINEAR Cubemap (all sides next to each other)?

What problem do you encounter when you try to do it manually? You could do it this way: choose to unwrap with Smart UV Project option (and a marge of 0.03 for example), then in the UV/Image Editor, choose the Vertex snap mode, and rearrange your faces holding ctrl to make them snap. Does it answer?


Get glossy shading but no reflections (Cycles)

Here I have a sphere reflecting the two objects and environment.

If you don't want an object to be reflected just select it, go to the Object header and uncheck the Glossy box in the Ray Visibility panel.

If you want to see the objects reflected, but without the reflection of the environment, go to the World material settings in a Node Editor and set up the nodes as pictured below.


Select the objects in object mode, then press Ctrl+J. They are now merged into a single object.

Since these are curve type object, connecting them with faces is not that easy. I would suggest that you convert your new object to a mesh. Alt+C > Mesh from Curve/Meta/Text


Update September 20, 2018 - Filmic now Supports Apple DCI-P3!

You can download the branch for testing here. It will get merged into the main branch after a little time for testing.

Original Answer

The issue is that Blender isn't designed for your MacBook Pro 2016 nor any model beyond it. I have brought up this point many times, but no one cares.

The reason is that the RGB coloured lights in your MacBook Pro are different to the sRGB standard coloured lights. Blender's camera rendering transforms (displays and views) are designed solely for REC.709 based displays. Blender simply sends values that are encoded assuming REC.709 flashlights at the display, and when those lights aren't REC.709 colours, the results are completely broken.

macOS assumes imagery without an ICC profile attached are sRGB. This is close to how the imagery is designed to look, when viewed through Preview, as Preview will properly transform the imagery to the DCI-P3 based lights in your display.

So what is the problem, exactly? Blender is showing you incorrect colours while working within it. In order to properly get a 1:1 WYSIWYG within Blender, the developers would need to integrate a series of camera rendering transforms designed for your display, as well as fix Blender's areas where it isn't properly colour managed.

With a little effort, you could test the values in the development branch Filmic Blender. Sadly, I haven't had time to update the entire configuration to support Apple P3 displays, but the basic values are in there for testing.


Save objects into separate blender files

Saving multiple objects as separate Blender's files can be done by using BlendDataLibraries (https://docs.blender.org/api/current/bpy.types.BlendDataLibraries.html)
import bpy
import os
destination_folder = "destination_folder"

for idx, obj in enumerate(bpy.data.objects):
    ctx = bpy.context.copy()
    ctx['selected_objects'] = obj
    filename = 'file_number' + str(idx) + '.blend'
    filepath = os.path.join(destination_folder, filename)
    bpy.data.libraries.write(filepath, set(ctx['selected_objects']), fake_user=True)

This code snippet will save the object in a blender's file. To load then the data in the visible user interface a second snippet can be run on the opened saved file:
collection = bpy.data.collections.new('collection')
for obj in bpy.data.objects:
  collection.objects.link(obj) #link object to collection
bpy.context.scene.collection.children.link(collection) #add collection

This second script creates a collection and loads all the objects in the Blender file into it and (in some sense) sets it visible/active


Print to Info or grey out a button if no object is selected - Python script

The poll function of your operator is suitable for this check indeed.
Just let it check whether an object is selected/active in the current context and return a boolean:
import bpy

class HelloObjectOperator(bpy.types.Operator):
    bl_idname = "obj.hello"
    bl_label = "Minimal Object Operator"

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

    def execute(self, context):
        print("Hello", context.object.name)
        return {'FINISHED'}

bpy.utils.register_class(HelloObjectOperator)

When adding your operator in a panel somewhere:
layout.operator("obj.hello")

The button will automatically grey out when no object is active.


Select "bone" instead of parenting it with "envelope weights"


there are 3 steps to this:

scale with all selected and center one being the active element


Perspective Camera does not change view when moved

Ok, I wasn't being aggressive enough with the luminance.  I increased the power setting to 5000 and that worked.
Ditto with the camera - I moved it a long way back and the model image then fitted in the camera window.
It would help if Blender provided a range for these settings - you might expect to double the luminance to get a better view, but not to increase it 5,000 fold!


You are doing it the wrong way:

delete the parent relationship, you won't need it
create a Follow Path constraint on the object and select the curve in the Target field

As you can see the origin of the object is on the curve, but the object itself is not, so to fix it, with the objects selected, go to Object > Set Origin > Origin to Center of Mass (Surface), and press Alt + G to reset the object's position

You may want to enable Curve Radius in the constraint

NOTE

In your picture, unlike in your .blend file, you have many of those object on the curve. If you want multiple copies of the object on the curve you should use an Array Modifier with a Curve Modifier


Your problem is the curved, tapered and twisted hand protection part? This may be modeled using Bezier or NURBS curves. One curve defines the general curvy outline of the hand protector, a second the cross section (which looks a bit flower-like). This shape can be beveled along the first curve. Moreover it can be tapered and also drilled (tilted) to get the desired shape. Please look it up in tutorials on curve modelling; there are also some basics in the Blender manual (Curves, Beveling, Tapering, Tilt). - Greetings from Suthern Germany, Tschöbbel


How do I add a keyframe for a certain channel using Python?

See this answer and these paragraphs
#1,
#2,
#3,
#4
in the docs for api methods/functions to create/manipulate channels.

You might define your own function:

def get_channel(action, data_path, index=0):
    for fcurve in action.fcurves:
        if fcurve.data_path == data_path and fcurve.array_index == index:
            return fcurve
    #nothing found
    return None

action = bpy.data.actions['CubeAction']
data_path = "location"
index = 2

fcurve = get_channel(action, data_path, index)

In this answer some options are given to find out the data_path of a channel.

To select an fcurve in the UI you simply set its select property to True.


These "black spots" are actualy supposed to be there.

Look at these images with similar dark spots

It is actually more prevalent in thicker objects so if you really don't like it, try making the glass thinner

This images has a glass with much thicker walls.


it seems to me that you are using a glossiness texture in the roughness input.
you can read about different texture maps here

try to invert your gloss map and maybe remove your reflection map.

the invert node can be found by pressing Shift + A >color>invert


You are editing a world shader, not a material.
World shaders don't really have a surface per-se so you obviously can't add surface based shaders like principled.
Change the shader context you are editing on the top left of the Shader Editor header from World to Object.


(MMD) How do I make multiple empties (joints) and meshes (rigid bodies) visible at once?

As it turned out, the quickest answer was MMD/plugin-specific. Anyone using MMD models in Blender needs to have mmd_tools installed (Powroupi has the most updated version now). Installation provides an MMD and a Misc tab in the N menu, and Misc > MMD Display has checkboxes to make all rigids and joints instantly visible, at which point they can be grouped and manipulated en masse.


Bad image error Blender 2.9 (Asking again because the previous info was wrong)

Apparently the problem was that Simple Direct media Layer (SDL) is considered as a game engine and blocked my employers firewall.
This may not be an issue in personal computers, but something to watch out for in work and school systems.
Thanks for the help


Python Animation - Can change camera location but not always pointing correctly

So.. I don't know why, but the solution that worked for me was to split the keyframe assignment into two separate loops.

Investigations made it appear as though the 'camera look' function just wasn't being called.. "in time?" I'm not sure. Working code below.

for i in range(10):
  bpy.context.scene.frame_set(i)

  x, y, z = randint(6,15), randint(-6,16), randint(6,35)
  cam.location = (x, y, z)
  cam.keyframe_insert('location')

for i in range(10):
  bpy.context.scene.frame_set(i)

  look_at(cam, cp)
  cam.keyframe_insert('rotation_euler')


Use the scroll wheel, it exist a short cut that is somthing like klick+Shift+Ctrl or klick+Alt+Ctrl and drag.
In the N menu remove lock camera to view.


I have a 3d solid drawing I need to import from autoCAD

When importing from autocad to blender, usualy it is  pieces of furniture for me, i'm using stl format and downscale it to fit units and view. Never using dxf because having problems with it.


You can do this using the Object ID and a ID mask node.

Select the object you want to use as a mask, and under the object tab in the properties set the Pass Index unequal 0 (I used 1, but if you have more then one mask give each one a different number)

Now, head over to the RenderLayers tab and check the Object ID pass

Re-render your image and head over to the node editor. There attach a ID Mask node to the IndexOB socket. Use the node's output as a factor for a mix node (See screenshot)

Here I used a test image, but you can use one from any source you want.


[obj.keyframe_insert, bpy.data.particles["ParticleSettings"].lifetime]; how to insert keyframe to an existed particle setting, e.g lifetime

Set on the object that has the property
Python console code.  A default particle system has been added to a Plane that has context.
The lifetime is set to 10 and keyframed on frame 1.
>>> C.object
bpy.data.objects['Plane']

>>> ps = C.object.particle_systems['ParticleSettings'].settings
>>> ps
bpy.data.particles['ParticleSettings']

>>> ps.lifetime
10.0

>>> ps.keyframe_insert("lifetime", frame=1)
True

Notice the objects particle systems settings points to its data item in  bpy.data.particles which is the ID object that the action (typically bpy.data.actions['ParticleSettingsAction']) will belong to.


Initial animated particles on a force field path: How to control/hide?

Texture mask to hide unwanted particles in center (red outline) but keep surrounding visible (green outline).

Emitter object's coordinates controls spherical texture which gradient splits material in two shaders: default and invisible (holdout or transparent BSDF for your choice).

Holdout is easier for render but needs compositing, while transparent with many overlayed particles need many transparency bounces to get clean results.


Maybe a classic missing-numblock problem because your on a laptop or mac?
if so: User Preferences->Input->Emulate Numpad


Can I modify the #frame expression so it switches values slower?

Increase the values :
Example: #frame/100


How to use the array modifier multiple times in an optimised way?

You could do this using arrays, because they can be given Start and End Caps which can, themselves, be arrays. But you would be creating a lot of work for yourself.

when you put a second Array modifier on an object, it doesn't override the previous parameters; it generates an array with the entire previous array as its elements.

You might be better off using a different duplication method - perhaps Vertex Instancing:

.. using a simple framework of vertices. Every time you E(XY or Z) extrude a new vertex, a cube will be instanced on it.


How can I speed up rendering an animation with Cycles?

I'd recommend you use the GPU. Blender probably shuts down because you didn't set it to use the GPU at the preferences tab. Go to Edit > Preferences > System > Set it to the GPU you use, NVIDIA is CUDA, AMD is OpenGl. Other things you can do is optimize the amount of bounces in Render Properties > Light Paths > Max Bounces.


I can't get the hair on my model to render, or even apply color. (Buzzcut)

A few possibilities are (assuming using cycles):

For the mesh, you should make two materials; the first material is for the mesh itself, the second material is used to select it from the 'particle systems' to use for the hair material. To change the hair material, you should only modify the second material, since the first material is used for the mesh (for example face color). In image, the first material, light colored is used for the mesh and second material, dark colored is used for the hair and is also selected in the particle systems.

When you are in particle edit mode, then you don't see the hair when you render it or use rendered shading. You should see the hair, when you are in vertex paint mode, edit mode, object mode, sculpt mode, weight paint mode or texture mode.

But I am not sure if this is what you mean :)


Blender problems with getting the center of an object. (Origin to center is not the center)

The origin of an object can be anywhere you like with respect to the object's mesh.
There are two possible definitions of 'center' provided by Blender's Header menu > Set Origin > Origin to Geometry operation, in Object Mode.

'Median Center', which is the mean location of the object's vertices

'Bounds Center', which is the center of the object's bounding
box.

It looks as if you want 'Bounds Center'.
(In Edit mode, the behaviour of ShiftS Cursor to Selected also varies, depending to whether 'Median' or 'Bounding Box' is selected as Transform Pivot Point.)


Custom mouse pointer slows the game down

Some things I found:

You should be more carefully with the usage of [True Level Triggering]

Just by deactivating [True Level Triggering] at Sensor "Always" of object Camera.001 the logic time improved from 5 ms to 0.05 ms.

Analysing the Game scene

Your scene has quite a lot of objects. I ran my analyser to get some information from it's setup:

Keyboard Listeners (Sensors):

----------------------------------------------------------
purpose <keys> by scene.gameObject (purpose = sensor name)
----------------------------------------------------------
a                           <a>             by World.Arrow.007
d                           <d>             by World.Arrow.007
a                           <a>             by World.Arrow.003
d                           <d>             by World.Arrow.003
a                           <a>             by World.Arrow.002
d                           <d>             by World.Arrow.002
w                           <w>             by World.Movement
shift                       <LEFTSHIFTKEY>  by World.Movement
a                           <a>             by World.Movement
d                           <d>             by World.Movement
s                           <s>             by World.Movement
space                       < >             by World.Movement
w.001                       <w>             by World.Movement
shift.001                   <LEFTSHIFTKEY>  by World.Movement
a.001                       <a>             by World.Movement
d.001                       <d>             by World.Movement
s.001                       <s>             by World.Movement
w.002                       <w>             by World.Movement
shift.002                   <LEFTSHIFTKEY>  by World.Movement
a.002                       <a>             by World.Movement
d.002                       <d>             by World.Movement
s.002                       <s>             by World.Movement
Keyboard                    <F2KEY>         by World.Movement
Keyboard.001                <F2KEY>         by World.Movement
Keyboard.002                <w>             by World.Movement
Keyboard.003                <s>             by World.Movement
Keyboard.004                <a>             by World.Movement
Keyboard.005                <d>             by World.Movement
Ctrl                        <LEFTCTRLKEY>   by World.Camera.009
Ctrl                        <LEFTCTRLKEY>   by World.Camera
Ctrl                        <LEFTCTRLKEY>   by World.Camera.008
w                           <w>             by World.metarig.002
shift                       <LEFTSHIFTKEY>  by World.metarig.002
s                           <s>             by World.metarig.002
not w.001                   <w>             by World.metarig.002
shift.002                   <LEFTSHIFTKEY>  by World.metarig.002
w.001                       <w>             by World.metarig.002
not shift                   <LEFTSHIFTKEY>  by World.metarig.002
w.002                       <w>             by World.metarig.002
not w                       <w>             by World.metarig.002
not s                       <s>             by World.metarig.002
Space                       < >             by World.metarig.002
Space.002                   < >             by World.metarig.002
Space.003                   < >             by World.metarig.002
Space.004                   < >             by World.metarig.002
not a                       <a>             by World.metarig.002
a                           <a>             by World.metarig.002
a.001                       <a>             by World.metarig.002
d                           <d>             by World.metarig.002
not d                       <d>             by World.metarig.002
d.001                       <d>             by World.metarig.002
a                           <a>             by World.Q battery
d                           <d>             by World.Q battery
a                           <a>             by World.Arrow
d                           <d>             by World.Arrow
a                           <a>             by World.Q Egg
d                           <d>             by World.Q Egg
a                           <a>             by World.Q seeds
d                           <d>             by World.Q seeds
a                           <a>             by World.Q.001
d                           <d>             by World.Q.001
a                           <a>             by World.Q.002
d                           <d>             by World.Q.002
Print Active game objects   <a>             by World.Analyzer__
Print Inactive game objects <i>             by World.Analyzer__
Print active Controllers    <c>             by World.Analyzer__
Print Python controllers    <p>             by World.Analyzer__
Print Message listeners     <m>             by World.Analyzer__
Print Keyboard listeners    <k>             by World.Analyzer__
Help                        <h>             by World.Analyzer__
Print Message Senders       <s>             by World.Analyzer__

warning: scene Cursor.001 already exists, not added!
warning: scene Cursor.001 already exists, not added!
warning: scene Seasons.001 does not exist, not removed!
warning: scene Seasons.001 does not exist, not removed!
warning: scene Seasons.001 does not exist, not removed!
Message Listeners (Sensors):
----------------------------
scene.gameObject: subject
----------------------------
World.Cube.057:           Net
World.Net.003:            Net
World.Net.002:            Net
World.Net.001:            Net
World.Key.005:            Igloo egg
World.Key.004:            Igloo egg
World.Key.003:            Igloo egg
World.Key.002:            Igloo egg
World.Gate.003:           Open door
World.Cube.043:           Key
World.Cube.042:           Key
World.Gate.002:           Open door
World.Gate.001:           Open door
World.Cube.041:           Key
World.Cube.040:           Key
World.Cube.038:           Igloo egg
World.Plane.039:          Fried egg
World.Cylinder.011:       Cook
World.Empty.007:          Egg
World.Empty.007:          Pan
World.Empty.006:          Wood pick
World.Empty.006:          Flint
World.Cylinder.010:       Fire time
World.Cube.027:           Bird seeds
World.Bird.001:           Bird seeds
World.Plane.038:          Seeds got
World.Plane.037:          Bird seeds
World.Egg.003:            Egg
World.Egg.002:            Egg
World.Egg.001:            Egg
World.Point.010:          Fire
World.Plane.021:          Igloo egg
World.Arrow.007:          Battery
World.Arrow.007:          Log cut
World.Arrow.007:          Stop
World.Arrow.007:          Resume
World.Arrow.006:          Axe
World.Arrow.006:          Log cut
World.Arrow.005:          Axe
World.Arrow.005:          Log cut
World.Arrow.004:          Axe
World.Arrow.004:          Log cut
World.Plane.011:          Power
World.Melon SLICE.003:    Cut melon
World.Melon SLICE.002:    Cut melon
World.Melon SLICE.001:    Cut melon
World.Sound:              Axe
World.Sound:              Battery
World.Sound:              Power
World.Sound:              Wood pick
World.Sound:              Log cut
World.Sound:              Cut melon
World.Sound:              Seeds
World.Arrow.003:          Battery got
World.Arrow.003:          Power
World.Arrow.003:          Stop
World.Arrow.003:          Resume
World.Cylinder:           Battery got
World.Arrow.002:          Log cut
World.Arrow.002:          Axe got
World.Cube:               Axe got
World.T pad.001:          Power
World.Movement:           Summer
World.Movement:           Tel W
World.Movement:           Winter
World.Movement:           Tel S
World.Movement:           Spring
World.Movement:           Tel Sp
World.Movement:           Autumn
World.Movement:           Tel A
World.Movement:           Stop
World.Movement:           Resume
World.Empty:              Stop
World.Empty:              Resume
World.Camera.009:         Summer
World.Camera.009:         Winter
World.Camera.009:         Spring
World.Camera.009:         Autumn
World.Camera.009:         Power
World.Camera.009:         Farm
World.Camera.009:         No farm
World.Camera:             Summer
World.Camera:             Winter
World.Camera:             Spring
World.Camera:             Autumn
World.Camera:             Power
World.Camera:             Tel W
World.Camera:             Tel Sp
World.Camera:             Tel A
World.Camera.008:         Summer
World.Camera.008:         Winter
World.Camera.008:         Spring
World.Camera.008:         Autumn
World.Camera.008:         Power
World.Camera.008:         Tel W
World.Camera.008:         Tel Sp
World.Camera.008:         Tel A
World.metarig.002:        Stop
World.metarig.002:        Resume
World.Gate:               Open door
World.Q battery:          Power
World.Q battery:          Stop
World.Q battery:          Resume
World.Arrow:              Axe
World.Arrow:              Stop
World.Arrow:              Resume
World.Arrow.001:          Axe
World.Arrow.001:          Log cut
World.Wood:               Log cut
World.Melon SLICE:        Cut melon
World.Butterfly 2:        Butterfly
World.Icosphere.048:      Net
World.T pad.005:          Power
World.Q Egg:              Igloo egg
World.Q Egg:              Stop
World.Q Egg:              Resume
World.Spider:             Spider
World.Empty.001:          Fire
World.Egg:                Egg
World.Bird:               Bird seeds
World.Q seeds:            Bird seeds
World.Q seeds:            Stop
World.Q seeds:            Resume
World.Seeds.001:          Bird seeds
World.Key:                Igloo egg
World.Q.001:              Fire
World.Q.001:              Stop
World.Q.001:              Resume
World.Q.002:              Fried Egg
World.Q.002:              Fire
World.Q.002:              Stop
World.Q.002:              Resume
World.Net:                Net
Toolbar.001.Text.032:     Butterfly
Toolbar.001.Text.031:     Caterpillar
Toolbar.001.Text.030:     Spider
Toolbar.001.Text.015:     Net
Toolbar.001.Axe.001:      Axe
Toolbar.001.Battery.001:  Battery
Toolbar.001.Battery.001:  Power
Toolbar.001.Cylinder.005: Wood pick
Toolbar.001.Cylinder.005: Fire
Toolbar.001.Seeds:        Seeds
Toolbar.001.Seeds:        Bird seeds
Toolbar.001.Egg.004:      Egg
Toolbar.001.Egg.004:      Fried egg
Toolbar.001.Egg.004:      Fire
Toolbar.001.Pan.001:      Pan
Toolbar.001.Pan.001:      Flint
Toolbar.001.Pan.001:      Fried egg
Toolbar.001.Pan.001:      Fire
Toolbar.001.Flint:        Flint
Toolbar.001.Flint:        Fire
Toolbar.001.Fried egg:    Fried egg
Toolbar.001.Fried egg:    Igloo egg
Toolbar.001.Key.001:      Key
Toolbar.001.Key.001:      Open door
Toolbar.001.Net.004:      Net
Toolbar.001.Spider.001:   Spider
Toolbar.001.Butterfly:    Butterfly
Toolbar.001.Cylinder.013: Caterpillar
Title.Plane.002:          Power
Menu game.Empty.002:      Game control
Menu game.Empty.002:      Resume
Menu game.Plane.057:      Resume
Menu game.Text.022:       Resume
Menu game.Plane.053:      Resume
Menu game.Text.029:       Control show
Menu game.Text.029:       Control hide
Menu game.Text.028:       Control show
Menu game.Text.028:       Control hide
Quests.Plane.060:         Quest show
Quests.Plane.060:         Quest hide
Quests.Plane.065:         Power
Quests.Plane.065:         Tel A
Quests.Plane.065:         Tel Sp
Quests.Plane.065:         Tel W
Quests.Plane.064:         Battery
Quests.Plane.064:         Tel A
Quests.Plane.064:         Tel Sp
Quests.Plane.064:         Tel W
Quests.Plane.063:         Log cut
Quests.Plane.063:         Tel A
Quests.Plane.063:         Tel Sp
Quests.Plane.063:         Tel W
Quests.Plane.062:         Near log
Quests.Plane.062:         Tel A
Quests.Plane.062:         Tel Sp
Quests.Plane.062:         Tel W
Quests.Plane.061:         Axe
Quests.Plane.061:         Tel A
Quests.Plane.061:         Tel Sp
Quests.Plane.061:         Tel W
Quests.Text.040:          Tel A
Quests.Text.040:          Tel Sp
Quests.Text.040:          Tel W
Quests.Text.040:          Power
Quests.Text.039:          Tel A
Quests.Text.039:          Tel Sp
Quests.Text.039:          Tel W
Quests.Text.039:          Battery
Quests.Text.037:          Tel A
Quests.Text.037:          Tel Sp
Quests.Text.037:          Tel W
Quests.Text.037:          Log cut
Quests.Text.036:          Tel A
Quests.Text.036:          Tel Sp
Quests.Text.036:          Tel W
Quests.Text.036:          Near log
Quests.Text.035:          Tel A
Quests.Text.035:          Tel Sp
Quests.Text.035:          Tel W
Quests.Text.035:          Axe
Quests.Text.034:          Tel A
Quests.Text.034:          Tel Sp
Quests.Text.034:          Tel W
Quests.Empty.000:         Quest
Toolbar.001.Text.032:     Butterfly
Toolbar.001.Text.031:     Caterpillar
Toolbar.001.Text.030:     Spider
Toolbar.001.Text.015:     Net
Toolbar.001.Axe.001:      Axe
Toolbar.001.Battery.001:  Battery
Toolbar.001.Battery.001:  Power
Toolbar.001.Cylinder.005: Wood pick
Toolbar.001.Cylinder.005: Fire
Toolbar.001.Seeds:        Seeds
Toolbar.001.Seeds:        Bird seeds
Toolbar.001.Egg.004:      Egg
Toolbar.001.Egg.004:      Fried egg
Toolbar.001.Egg.004:      Fire
Toolbar.001.Pan.001:      Pan
Toolbar.001.Pan.001:      Flint
Toolbar.001.Pan.001:      Fried egg
Toolbar.001.Pan.001:      Fire
Toolbar.001.Flint:        Flint
Toolbar.001.Flint:        Fire
Toolbar.001.Fried egg:    Fried egg
Toolbar.001.Fried egg:    Igloo egg
Toolbar.001.Key.001:      Key
Toolbar.001.Key.001:      Open door
Toolbar.001.Net.004:      Net
Toolbar.001.Spider.001:   Spider
Toolbar.001.Butterfly:    Butterfly
Toolbar.001.Cylinder.013: Caterpillar
Title.Plane.002:          Power
Tip Farm.Text.001:        Show farm
Tip Farm.Text.001:        Hide farm
Tip Farm.Text.001:        Show farm
Tip Farm.Text.001:        Hide farm
Toolbar.001.Text.032:     Butterfly
Toolbar.001.Text.031:     Caterpillar
Toolbar.001.Text.030:     Spider
Toolbar.001.Text.015:     Net
Toolbar.001.Axe.001:      Axe
Toolbar.001.Battery.001:  Battery
Toolbar.001.Battery.001:  Power
Toolbar.001.Cylinder.005: Wood pick
Toolbar.001.Cylinder.005: Fire
Toolbar.001.Seeds:        Seeds
Toolbar.001.Seeds:        Bird seeds
Toolbar.001.Egg.004:      Egg
Toolbar.001.Egg.004:      Fried egg
Toolbar.001.Egg.004:      Fire
Toolbar.001.Pan.001:      Pan
Toolbar.001.Pan.001:      Flint
Toolbar.001.Pan.001:      Fried egg
Toolbar.001.Pan.001:      Fire
Toolbar.001.Flint:        Flint
Toolbar.001.Flint:        Fire
Toolbar.001.Fried egg:    Fried egg
Toolbar.001.Fried egg:    Igloo egg
Toolbar.001.Key.001:      Key
Toolbar.001.Key.001:      Open door
Toolbar.001.Net.004:      Net
Toolbar.001.Spider.001:   Spider
Toolbar.001.Butterfly:    Butterfly
Toolbar.001.Cylinder.013: Caterpillar
Title.Plane.002:          Power

active and frequently triggered Python controllers in this frame
----------------------------------------------------------------
scene.gameObject(controller) by sensors
----------------------------------------------------------------
scene Cursor.001:       Mouse.001|Python         by [over, Mouse, Mouse.001]

This output might help you later. Unfortunately I have no function that prints all mouse sensors to console. When you have many mouse over sensors it will constantly eat performance. But let me check how many you have...

It does not look like you have too much. But it is hard to say.

Cursor Script

You suspected that your cursor script is the bottleneck. I can't confirm that. When I disable the cursor controller (and enable the system mouse cursor) the processing time does not improve.

Mouse Over Sensor

I have a different idea. This requires that I explain to you how the mouse over sensor is working.

The mouse over sensor (and the mouse over any sensor too) is basically a ray sensor. It measures the line under the system mouse cursor from pretty near the camera to pretty far away from the camera. This "ray" is a measurement of the line trying to find any face it crosses.

This is a pretty heavy operation which gets worse with the number of objects and faces that exist in the scene. To be more specific what matters are the physics faces (ghost and no collision objects will be ignored and not considered = no processing time required).

The nature of a sensor is that it will measure at each single frame. All sensor types do that. This means when a single measure eats time it will eat that time at each single frame until the sensor dies ( because the owning object died).

As more sensors you have as more processing time is required. As all mouse over sensors are measuring along the same line (the line under the cursor) you might think that only one measure is calculated within a single frame. Unfortunately this is not the case. Each mouse over sensor measures again. That is the reason why the number of such sensors should be as low as possible.

So there are two thing to consider:

the number of mouse over sensors
the number of "detectable" faces (including face that can block the measurement)

Reduce the number of detectable faces

I switched on Game\Show Physics Visualization. It showed my there are quite a lot of very detailed objects on the screen. They are not visible, but present as physics objects. These objects might cause the bottleneck. I suggest when you do not need them (they look like menu entries), then move them outside of the camera's view. This way the mouse over sensor does not need to consider them.

Reduce the number of sensors

To reduce the number of mouse over sensors you can use a single mouse over any sensor connected to a Python controller. The Python controller can read the object under the cursor (it should be one per scene) and tell interested objects which one it is. This reduces the number of mouse over sensor to one per scene.

Please be aware this is only worth when you have more than ~10 mouse over sensors.

I hope this helps a bit. Due to the large size of your scenes I can't dig deeper right now.


Strange issue regarding procedural textures

You have to connect the texture through the height input of a displacement node first - see below:


Can action strip converted back to keyframes?

The action editor and the graph editor both allows us to edit the active action of an object, only one action can be active for an object at any given time. When an action is added to the NLA editor it is unlinked from being the active action for the object.

While an action is removed as the active action for the object, it is still an action which contains the same editable keyframes and f-curve data, it can be edited again at a later time by making it the active action again. This can be done by selecting it in the action editor when the object is selected.

You will also find that it can also be associated with a different object and added to the NLA for both objects allowing both to be animated the same with the timing being offset for each object if desired.


Rigging questions - How do I make the drum of this revolver rotate only from the center of a barrel/barrel to frame question

As the barrel is symetric, you can find its center in edit mode by selecting all the vertices and use ShiftS (snap), then choose "Cursor to selected".

Now back to object mode. You can add a single bone armature and it will be created at the 3D cursor position (so it is centered to the barrel). Simply edit it (if you want as it is not mandatory here) in order to align the bone tail along the barrel (but keep the bone head in place along the same Y axis).

The barrel will rotate around the bone.

Edit (considering the comments) :

You can parent the bone placed above with the "barrel" (?) bone in blue below.
Go to pose mode for the "barrel" bone. Select the previous bone then select the "barrel" bone and CtrlP then choose "bone".

But as you can see, you may adjust the "barrel_joint" bone before doing all that :


Is it possible to apply modifiers to multiple objects at once?

You can select all of the object you wish to apply the modifiers to, then press AltC> convert to mesh:

Note:

Some modifiers have different values for View and Render.
This will apply the View settings.


Spin duplicate gives parts - how to spin a complex part of a pipe?

Method 1:

Build the unstretch parts first, then bridge the loops among them:

.

Demo file for Method 1 is here.

PROS: Can well satisfy what you need in this particular case.

CONS: Quite a bit basic knowledge on blender is needed.

Method 2

Model stretching and unstretching units separately, then bend them individually with the same curve:

Demo file for Method 2 is here.

PROS: Relatively easy to accomplish.

CONS: Unavoidable intersections in final mesh.


Importing FBX with camera & target placeholders

The following is an example script that worked for me.  I first (manually) created a collection named "cameras" and moved all the Empties into that collection.  I skip any existing cameras in case I run the script more than once.
import bpy

for obj in bpy.data.objects:
    hasACamera = False
    if ( ("Camera" in obj.name) and ("Target" not in obj.name) and (obj.type != 'CAMERA') ):
        for child in obj.children:
            if (child.type == 'CAMERA'):
                hasACamera = True
        if ( hasACamera is True ):
            print( obj.name + ": already has a camera")
            continue
        print( obj )
        print( obj.type )
        bpy.ops.object.camera_add()
        bpy.context.object.name = obj.name + ".Camera"
        print( bpy.context.object )
        print( bpy.context.active_object )
        sel = bpy.data.objects[bpy.context.object.name]
        print( sel.name + " align"  )
        bpy.ops.transform.transform(mode='ALIGN', value=(0, 0, 0, 0), orient_type='GLOBAL',
         orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', mirror=True, use_proportional_edit=False,
         proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)
        sel.parent = obj
        bpy.ops.object.collection_link(collection='cameras')
    if ( (obj.type == 'CAMERA') and (".Camera" in obj.name) ):
        targetName = obj.name[0:-7] + ".Target"
        try:
            targetObj = bpy.data.objects[targetName]
            if obj.constraints["Track To"] is None:
                print( "adding Track To constraint" )
                obj.constraints.new(type='TRACK_TO')
                obj.constraints["Track To"].target = targetObj
        except:
            print()
```


Making a 3D semicircle and then hollowing out a portion of it

I don't think hollowing it out is the advised way to proceed, booleans should be avoided.

Just start out with a flat mesh in the shape of the straight part of the D. Make sure it only half of it with the object center correctly positioned so we can symitrize it later

Dividide it at the desired proportions, or extrude a lower part corresponding to the desired letter width.

Correctly place your 3D cursor at the center of the shape and use the Spin operator to create half the desired curvature.

Then just let modifiers do the work for you dynamically. Add both a Mirror and a Solidify modifier to add thickness.


Weird deformation with subdivision surface

Take a look at the topology of your hand there. The entire part with the fingers is one big concave n-gon, not good.

The ngon is what is making the subdivision surface freak out.

To fix this you need to change the topology of the fingers so that each finger is a separate face (example below)

Sadly there is no easy to fix for that. I tried using the knife tool and cutting in some additional faces, but that just moves the problem ngon, not get rid of it.


press "c" on the keyboard, then you can make 90 and 45 degree cuts, combine width ortographic view


Way too many vertices when switching to edit mode

Shrinkwrap modifier could help you:

Create new object with similar shape, big enough to cover your sculpted rock
Subdivide it as you would like the mesh of your rock to be detailed (or use Subdivision Surface modifier so you can tune it later)
Apply Shrinkwrap modifier with Target set to your high-poly sculpted rock.

You should get low-polygon version of your high-poly sculpted model.
There are some useful options you can use for tuning the Shrinkwrap modifier so you can look at it's overview in Blender Manual.

https://docs.blender.org/manual/en/dev/modeling/modifiers/deform/shrinkwrap.html


When rendering an image using the GPU, the data somehow needs to be loaded from your disk, preprocessed, pushed into RAM, from there into VRAM where the GPU finally starts doing its job. Everything up until the point where the data enters VRAM is done by the CPU.

If your GPU is working at 100% there is simply no need to push more data into this pipeline, so it's actually a good idea to not occupy more of the CPU's cores than necessary. In fact, this one CPU core won't even reach 100% unless your system runs out of RAM. In this case the CPU starts swapping the content of the memory onto the hdd, which ultimately will rise the CPU load.

So there's no solution needed, the system manages its own resources quite fine.


Create a gradient dependant of distance to an object

You can do something like this with dynamic paint.  This solution does calculate proximity from the mesh, not just the center point.

The plane should be your dynamic paint canvas, the sphere (or whatever object(s)) the brush.  I suggest painting to vertices as that's easy to use in the material node setup.  On the brush object, set your paint source to "Proximity" and set a Paint Distance that gives you the gradient values you're looking for.

Then set up your material to translate the gradient into a color gradient input to a shader.  Here I've used the wetmap.


How to adjust size and frequency of procedural texture independently

this node setup will produce the texture you want where you control the frequencies  by the value of Freq and the size by the gradient ( you can pass it through a ColorRamp for more control ) :

the result :

Here is a node setup to achieve a similar result  :

the result texture :


Load, Change & Play Sound in BGE Without using Logic Bricks

All you need it to load a script file using an Always Sensor and a Python Controller. In the script file put:

import aud
device = aud.device()
sound = aud.Factory.file("sound.ogg")
sound = sound.pitch(2)
device.play(sound)

This will load the file, pitch-shift it and play it back.


applyRotation is (like most operations in Python) a one time operation.

It applies the provided turn exactly once at the moment of calling.

When you discover a continuous turning it means you execute this operation multiple time.

When you can see the turning (=animation) you do apply the turns at different frames resulting in a turning animation (one frame = one step).

Your code applies a lot of small turns (steps) in one frame. This means you will only see the final orientation. As there should not be a problem in calculating this final operation your code is very inefficient and is wasting processing time.

Keep in mind:

Your code describes the behavior within a single frame.

To get the animated turning you execute the code at each frame when you want a turn step.

  I'm using 'ApplyRotation' but the object does not stop spinning.

This sounds like you execute the code at each single frame (see sensor settings).


You can press Shift and click each of the manipulator types to add them to the widget, and this will allow you to have the 'Combo' that they show in the video.


Why can't I import a SVG file from Adobe Illustrator or Inkscape?

This is a very common error with a simple solution.
The error:
Just because you saved your file as SVG, it doesn't mean that the information is in vector format, and blender's SVG importer expects vectors (paths) to create curve objects.
Long winded explanation:
Scalable Vector Graphics (SVG) is defined as

a modularized language for describing two-dimensional vector and mixed vector/raster graphics in XML

What that means is that the SVG format can contain three types of graphic objects:
Vector Graphics (made from the 2D representation of paths, points, lines, shapes, fill etc. )
Raster graphics (bitmap images, as pixel information)
Text (using fonts, and XML character data formatting information).
Currently the Blender's SVG importer can only read paths (vectorial graphics). Raster and text information will not be imported.
So how do I import SVG files correctly then?
In this particular case your illustrator/inkscape file is just a bitmap image contained within the SVG file, but is not an object made of paths.
To convert a raster image (pixels) into vectors (paths or curves) it has to be TRACED
In illustrator select your graphic, and form the menu select: Object->Live_Trace->Tracing Options. Then trace.

In Inkscape select Path->Trace_Bitmap (or press ShiftAltB)

Once the image has been properly traced and saved as SVG, the file should import correctly on Blender.

Random tips to deal with SVGs
When exporting from illustrator un-check this box:

On newer versions of there is an option to save as Adobe CEF when saving as SVG. Do not use that, but SVG instead. (see this question)

To import Text.
Text in illustrator doesn't get translated into outline curves automatically when you save as SGV either: You have to select the text and go to Type->Create Outlines first. Once is converted to paths, it's easy to create a SVG file that blender can deal with.
Filled Paths.
In Illustrator you can have paths that are filled but not closed. Those paths might not translate correctly in blender, so make sure to close your paths in illustrator before exporting.
Scale:
The scale in which the objects where created might not match blender's scene scale (Read this post). Upon importing you may see that there are new curve objects in the outliner but they might not be visible in blender's 3D viewport because they are too small (or sometimes too large). If that's the case you might need to zoom in on the viewport to find your objects, or you might also need change the clip point for the viewport. You can fix scale/visibility issues re-scaling the imported objects or re-scaling your scene.
For more on this topic please read this and this:


VSE - Audio wave forms are tiny, audio channel is huge

Changing the volume should work:

If you need to have different volumes at different times, then change an area to graph editor, click the small circle next to the volume widget, so you can work on a curve controlling the volume in Graph editor.


distorted / squished texture on mesh edges

By default (since you don’t have anything connected to the Vector input of the Voronoi texture node) it will be using Generated coordinates which are dependent on the actual dimensions of your object. The Generated coordinates vary from 0.0 to 1.0 over the extent of the individual X, Y, Z dimensions - but that scale can be different per dimension.

To get a consistent scaling of your texture you need to use texture coordinates which are the same scale in each axis. Add a Texture Coordinate node and connect the Object output of that to the Vector input of your texture and all should be well.


How to totally save a self-contained Blender object to ensure no data is lost?

I don't think there's any easy way to save everything, but the closest to what you want is to activate the automatic packing of external data.
This doesn't, however, save everything. For instance, it doesn't save the render result.

To activate this, go to File>External Data>Automatically Pack into .blend.

Video files or image sequences will not be packed.

Painted textures have to be saved as external files before they can be packed (else they will disappear).

Physics cache can be saved to disk (with different commands), but will be saved  on a folder where the original blend file is stored, but will not be packed as part of the blend file either.

For more specifics please see: https://www.blender.org/manual/data_system/data_blocks.html?highlight=pack#data-block-types


How can I reset Physics for fluid simulation?

Regular physics Collision has no effect on liquids. If you are using correct Fluid Collision, check that the normals are the right way on your plane.
Because the mesh of a fluid domain is actually completely replaced by the mesh generated by the simulation, the domain itself always must be cuboidal and aligned with the world axes and will thus will automatically be a bounding box of whatever mesh the domain was originally,
To clear the cache of a fluid domain: Seek to scene frame 1, then force the fluid cache to delete by changing the domain resolution, then change it back. The cache will reset unless you baked it.


Are there other ways to skin a mesh without Armature Deform with Automatic Weights?

You could parent the object to the armature with empty weights and then do the weights yourself. You might have better luck starting with a basic rig that is already linked into a shape and then match it up within your object and then try pairing it with automatic weights you might have better luck. Normally, it works, but there is always autorig pro, it has a smarter automatic weight painting system, you would probably like it.


How to delete specific edge using python?

Fill the circle primitive.
Going by the demonstration it appears you wish to have a flat filled semi circle.
In which case recommend filling the circle when created, then ditching the extrude and fill operators.
Test script, have chosen a triangular fan fill for the circle, for an ngon, choose 'NGON'

import bpy

# Draw hemisphere of 1m radius
bpy.ops.mesh.primitive_circle_add(
    radius=1,
    enter_editmode=True,
    align='WORLD',
    location=(0, 0, 0),
    fill_type='TRIFAN',  # NOTHING  or NGON
    )

bpy.ops.mesh.bisect(
    plane_co=(0, 0, 0),
    plane_no=(0, -1, 0),
    clear_inner=True,
    )

In question code after the bisect operator the verts on bisect line are selected. The extrude move operator creates an edge for each from original vert to 2 units in x direction.


The "blender game" mode (game engine) can record animations paths for objects, even as soft bodies, but it can be a bit different from the standard "soft bodies" you get in "blender render" mode.

A basic example:

open a standard blend file (cube)
change to "blender game" mode (pick it form the upper header list)
the menu at the left of the engine selection (which you just selected) now has a "game" item: expand it and activate the "record animation" flag
now select the cube
on the right object panels, go to the physics (bouncing ball icon)
choose "soft bodies" as physics type
press P
the cube falls
when the cube has fallen enough, stop the "game", pressing ESC
the cube is back to start position
now switch the viewport to f-curve (graph editor)
you see the f-curve recorded for the fallen cube:
now change the mode to "blender render" or "cycles render" and use that recorded animation as you wish...

you may have to experiment a bit to get desired behaviour for the soft body and other objects in the scene, but the "blender game" will record everything for you!

manual reference: http://www.blender.org/manual/game_engine/physics/introduction.html#recording-to-keyframes


How do I append an object from a python script in Blender2.8?

had the same problem! Here is the solution that worked for me:

change the last code snippet to following:

#link object to current scene
for obj in data_to.objects:

   if obj is not None:
      bpy.context.collection.objects.link(obj)

you can also add collections and their content from other blendfiles with data_to.collections:

for col in data_to.collections:
    bpy.context.scene.collection.children.link(col)


This is because of Eevee being a Real-Time Render Engine and it has to take shortcuts with materials such as glass.
Cycles on the other hand is a Ray-Tracing Render Engine which will give more accurate results compared to Eevee.


The blue area (weight painting) still moves when a bone is moved. Why the hell does this happen?

Because some vertices may appear blue but it doesn't mean there are not part of the vertex group, with an influence of 0.01 they will appear blue. If you want to have a real preview you need to switch the Viewport Overlay > Weight Paint > Zero Weight from None to Active. Now black is real 0%.

If you want to make sure that some parts of your mesh are not part of a vertex group, select these vertices in Edit mode and in the Properties panel > Object Data > Vertex Group, select the group and click on Remove or Remove From All Groups.


in blender 2.93 alpha:
the bevel modifier e.g. (if you mean this) has lots of options as you can see here (profile + geometry + shading):


In case you mean the number of live particles, rather than the total number of particles, you can get it thus:

o  = bpy.context.object        # Active object
ps = o.particle_systems.active # Active particle system
nLiveParticles = len([
    p for p in ps.particles if p.alive_state == 'ALIVE'
])

For the general number of particles, you can simply print:

print( len( ps.particles ) )

This will likely be identical to the number you've specified in your particle system settings, which you can also access here:

print( ps.settings.count )

So if your object is a mesh, and you want to test whether the total particle count or live particle count equals the number of vertices, you can just assert these conditions, and get an assertion error if any of them is false:

>>> assert len( ps.particles ) == ps.settings.count, "Total number of particles equals PS settings"

>>> assert len([ p for p in ps.particles if p.alive_state == 'ALIVE' ]) == len( o.data.vertices ), "Number of live particles equals number of vertices"
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
AssertionError: Number of live particles equals number of vertices


Radeon RX 480 or CPU for rendering animation?

If you are using an RX480 you should get a fairly significant speed boost over your aging FX-8350.  The AMD videa cards cards have a few less supported features than Cycles than Nvidia cards on CUDA but nothing that can't be worked around.

I'd suggest lowering the number of samples in your sampling settings and turn on the seed value being different per frame.  Video doesn't need as much refinement per frame as people think.  For the tile sizes, through experimentation I have found that larger sizes work better with GPU rendering but it is a fairly minor speed gain.

Good luck rendering your project!


Importing FBX into Blender 2.9 results in warped mesh

I had the same issue so I'll share what I've been able to find on it. Its caused by an error with the skeleton. If you delete it, the mesh should fix itself. Apparently blender just doesn't support importing skeletons/armatures from FBX, but third parties do.
There is a workaround - https://darisl.wordpress.com/about/importing-fbx-files-into-blender-with-full-armaturesweights/
And software you can purchase - https://blendermarket.com/products/better-fbx-importer--exporter
I have yet to verify either.


Make sure that on any modifiers the viewport setting is the same as the render.


Blender Text Not Rendering Over Background Colors

i just downloaded your blend file, rendered and got:

so either you changed something in between or a miracle happened or is it not ok?


Somehow, your metarig had become corrupted in some way. By deleting the rig and just starting again and being careful with positioning the bones, it should work as expected from the video tutorial that you were following.

***I believe the mistakes you made that could have corrupted were extruding the bones from the foot bone to make extra bones there which swapped the parenting around in a way that conflicted with the python scripting that comes with the Rigify addon.

There was also an elbow bone called Bone that had been created by mistake along the left arm. After trying to generate the rig and coming up with errors, the original metarig, even after undoing it, had become corrupted after that. It's always just better to start again with the rigging process if you suspect any corruption in an object. It saves time in the long run.***


How to change direction of view by Python?

Register a new operator that changes the views to your liking and bind it to a hotkey.

You can calculate the size of an area by multiplying width * height if that marries up with your idea of area size:

import bpy

class VIEW3D_OT_viewmulti(bpy.types.Operator):
    """Adjust 3D Views based on size (required 3)"""
    bl_idname = "view3d.viewmulti"
    bl_label = "Change multiple views"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):

        areas = sorted((area for area in context.screen.areas if area.type == 'VIEW_3D'), key=lambda a: a.width * a.height, reverse=True)

        if len(areas) < 3:
            self.report({'ERROR'}, "Not enough 3D Views (< 3)")
            return {'CANCELLED'}

        ctx = context.copy()
        ctx['area'] = areas[0]
        ctx['region'] = areas[0].regions[-1]
        bpy.ops.view3d.viewnumpad(ctx, 'INVOKE_DEFAULT', type='FRONT')

        ctx['area'] = areas[1]
        ctx['region'] = areas[1].regions[-1]
        bpy.ops.view3d.viewnumpad(ctx, 'INVOKE_DEFAULT', type='TOP')

        ctx['area'] = areas[2]
        ctx['region'] = areas[2].regions[-1]
        bpy.ops.view3d.viewnumpad(ctx, 'INVOKE_DEFAULT', type='RIGHT')

        return {'FINISHED'}

# store keymaps here to access after registration
addon_keymaps = []

def register():

    bpy.utils.register_module(__name__)

    # handle the keymap
    wm = bpy.context.window_manager
    km = wm.keyconfigs.addon.keymaps.new(name='3D View Generic', space_type='VIEW_3D')

    kmi = km.keymap_items.new(VIEW3D_OT_viewmulti.bl_idname, 'SPACE', 'PRESS', ctrl=True, shift=True)

    addon_keymaps.append((km, kmi))

def unregister():

    bpy.utils.unregister_module(__name__)

    # handle the keymap
    for km, kmi in addon_keymaps:
        km.keymap_items.remove(kmi)
    addon_keymaps.clear()

if __name__ == '__main__':
    register()

Hotkey in above example code is CtrlShiftSpace.


Blender doesn't update/refresh its window

I had a similar, but perhaps not identical issue.

In File->User Preferences->System, changing Window Draw Method to Triple Buffer from Automatic fixed it for me.

I suggest fiddling with all the Window Draw Method options, if that fails.


Distribute and Edit Objects along Polygon

Dupliverts should do exactly what you want.

I could spend ages explaining it here, but the manual does it better :)

You'll need to turn orientation on to get things facing in different directions.

Edit: But do follow the link in Mr Zak's comment, it contains many further examples and an entire alternative method.  Not sure why it wasn't an answer too.


Follow active quads does not "flatten" all the poligons

I Don't know how you got that. I rebuilt your mesh and I don't get that. And also you have ngones which is not good for your topology or your unwrap. So maybe correct this, select your mesh again and U > Reset, and again select your ring, select a quad of your ring, and U > Follow Active Quad.


How to make a 2d cloud texture more "stylized"?

I'm not sure exactly what you're going for, but you could try something like this.

The general idea is that I made the cloud "clusters" by using a Noise texture to slightly warp the input vector of a Voronai Texture. Doing this, and choosing the distance output of the Voronai texture can create "warped circles", which can be more tightly defined with a ColorRamp. This only makes the spaces where the clouds will go - to get the slightly fluffy look, I used a different Noise Texture to "fill in the gaps". This gives more (and separate) control of the cloud look, without affecting the edge detail.
To achieve the final look, I tinted the dark values from the Noise Ttexture to be the same color as the sky, and then added the values to the sky color, using the Voronai "warped circles" as a mix factor. You can control the detail of the clouds using both the Scale and Detail values of the Noise Texture, as well as through manipulation of the ColorRamp(s).
You can then render the image and take it into the compositor and apply a filter. "Sharpen" or Shadow" seem to be a good place to start.


This is because you have no faces.

To add faces, select everything with A and press F:


Is there a dynamesh feature (to sculpt) avaivable like in zbrush?

There is a different functionality (Dyntopo) but not quite like Dynamesh though.

Dynamesh will provide a nice quad topology, while Dyntopo will leave a nasty triangulated topology with many vertices having more than 4 edges - it will create triangle fans.

Triangle fans are big problem for Blender sculpting, because the smooth brush cannot smooth them perfectly (also in Zbrush there is an alternate smoothing method that can do that).

Dynamesh can also perform volumetric (and non-manifold) booleans on sculpted mesh. There isn't such functionality in Blender.


Move your Boolean Modifier above your EdgeSplit modifier and move the cutter Sphere just a tiny bit in a y-direction so there are no overlapping vertices.

If you want a copy of your cutter then you can copy it with Shift+d and in Object Properties under Viewport Display change Display As Textured.


Is there a way to get Project from View unwrap to work with modifiers without applying them?

I found a solution if anyone sees/needs this, you can make duplicates of the object, pose them, apply the armature modifier, then do a Project from View unwrap for both of them. Then use Transfer UV Maps(Ctrl + L) to transfer them back to the original mesh.
(https://docs.blender.org/manual/en/2.80/editors/uv/layout_management.html)


I'm not sure if this is the answer you're looking for, but I did look at your file. With my limited knowledge (I'm a n00b myself), I will say that if you want to get rid of the clouds, you need to hide them so that they don't render. I tried it, and it seems to work (I did get a transparent background). Refer to this pic below:


Why bool tool cuts without creating a face?

The problem is: non-manifold geometry.
I found how to fix this:

Install add-on 3D-print toolbox
Select your object and press N, select 3D-Print tab
In Result section you'll see Non Manifold Edge. This informs you about your problems.
Go to Clean up. Press Make manifold


I found the solution! It was the Anti-Alias setting on the ID-Mask node that was causing the problem. Apparently it was causing the render of those thin lines to be patchy, resulting in a patchy blur. Once I turned off the Anti-Alias, everything was fine!


you are on edge mode, so either press the icon on top or number "1" on your keyboard (top).

Other reason why you may not see the vertices or any other element of your mesh highlighted may relate to this:
Blender 2.8 I can't see vertices, edges or faces in edit mode


Can I export multiple objects with individual animations to FBX?

According to Bastien Montagne (https://developer.blender.org/T65768):

  No bug here, to achieve what you want you need to disable All Actions and NLA Strips options, then you'll get current scene's animation exported properly. Those two options are used to export several animations (usually for a single object), e.g. to export a character and all its animations to a game engine.

So, to export multiple objects with individual animations, do the following:

Click File > Export > FBX (.fbx)
In the Export FBX options, click the Animation button to view animation options
Make sure NLA Strips and All Actions are unchecked


Perhaps you can be helped by the remesh modifier:

http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.62/Remesh_Modifier

It uses the shape of the original mesh but builds it from scratch with even quads. The setting octtree depth controls how detailed the new mesh becomes.

Here I have made a little example. Because I started with a icosphere, there are visible edges of the original mesh. As you can see, there are some more settings to tweak, especially the mode operator can be experimented with.

Start mesh:

With modified:

Modified applied (mode sharp), in edit mode to show even topology:

Modifier applied (mode smooth):


Same rendering gives different noise amount

I'm not sure i have an explanation for that.

The faulty frames were rendered by two different users (5 for one user, 1 for the other), on different hardware (4 cpu, 2gpu). Only "windows" was the same but i don't know which version.

The Blender version used by SheepIt is actually the one from Blender Foundation, I just remove the blenderplayer.

Here are the binaries to verify, if that helps https://www.sheepit-renderfarm.com/media/binaries/

I'm also not modifying any seed value. Here is the python script I uss on a CPU render:

import bpy
bpy.context.user_preferences.system.compute_device_type = "NONE";
bpy.context.scene.cycles.device = "CPU";
bpy.context.user_preferences.system.compute_device =  "CPU";
bpy.context.scene.render.tile_x = 32;
bpy.context.scene.render.tile_y = 32


Keeping Bezier spiral curve handle tilt perpendicular to a specific axis

I solved it! In the Curve Properties menu, Twisting should be set to Z-up.

This makes all handle tilts level to one axis, and from there, I can tilt them all together or one at a time to get my desired result.

And the final result, with no errant twisting or rotating:


Display the Operator properties of an Active Add Primitive operator

You can display them, but i think you will get convoluted code.

def draw(self, context):

    # ... earlier stuff.

    operators = bpy.data.window_managers["WinMan"].operators
    if operators and operators[-1].name == 'Add UV Sphere':
        this_op = operators[-1]
        col = layout.column()
        col.prop(this_op.properties, 'segments')

But you'll notice you can drag the slider, it will update the visible value but not update the actual value of the active operator.

Then dynamically populating the UI with properties:

 >>> bpy.data.window_managers["WinMan"].operators[-1].properties.items()
 ...[('size', 2.0), ('view_align', 0), ('enter_editmode', 0), ('layers', <bpy id property array [20]>), ('location', <bpy id property array [3]>), ('segments', 9)]

so..

def draw(self, context):
    obj = context.active_object
    mode_string = context.mode
    edit_object = context.edit_object

    layout = self.layout
    col = layout.column()
    col.label(text="Generate objects:")

    if mode_string == 'OBJECT':
        layout.menu("INFO_MT_add", text="Add")
    elif mode_string == 'EDIT_MESH':
        layout.menu("INFO_MT_mesh_add", text="Add")

    operators = bpy.data.window_managers["WinMan"].operators
    if operators and operators[-1].name == 'Add UV Sphere':
        this_op = operators[-1]
        col = layout.column()
        for k, v in this_op.properties.items():
            col.prop(this_op.properties, k)

Would produce this, by inspecting the items in the properties of the current operator.

But, there are fundamental problems with this. You would have to limit somehow the kind of Operators to show in this list. Right now i've limited to Add UV Sphere, if you don't do that it will show all most recent Operator properties even if they aren't a Primitive operator..

So you might construct a set of Operator names to allow..

showable = {'Add UV Sphere', 'Add Cube', ....... }
if operators and operators[-1].name in showable:
   # ... display them as shown above

And still you won't be able to tweak these props. :(

Seen as the operator has a perfectly good Operator Properties panel accessible from F6, and the panel also appears in the 'TOOLS' shelf, I'm inclined to discourage trying to do this. -- But it's an interesting thought experiment.


Use the Cell Fracture add-on, it's the most common way to break stuff in Blender.

Once you've enabled it, click your object, press the spacebar and search "Cell Fracture".

It may change your object into something like this, depending on the settings you use for the fracturing.(if you can't see your fractured object, look at the next layer)

The fun part begins: select all the fractures and turn them all into Rigid Bodies, and check the "Animated". (make sure all of the fractures have the "Animated" checked, or else the whole thing will fall apart without collision)

Once you've set up your hammer or anything that breaks your object, make sure that is a Rigid Body too, with the "Animated" box checked.

Animate your colliding object through your breaking object, then you animate the "Animate" checkbox. If you don't know how to do that, just hover your mouse over the "Animated" checkbox and click I. Then go the the keyframe where your colliding object is just about to collide with your breaking object, then click I again. Go to the next keyframe, uncheck the "Animated" box and press I again. Now it works!

Do the same thing with your breaking object, but make sure it is well timed, because your breaking object might get destroyed before the impact. Now have fun and amuse yourself with your destroying things!


How to slide some vertices along a slant, until it lines up vertically with another vertex

You'd need a combination of custom transform orientation and snapping tool, but the workflow is reversed a bit:

Slant the top face any which way (by moving some vertices upwards, etc.),

Extrude the face along main axis, in this case vertically,

With the new face still selected, set it as the new transform orientation by pressing + button to the right of 3D View > Navigation menu > Transform Orientations group's dropdown menu, or pressing CtrlAlt-Spacebar.

Set the Snap Element to Vertices, its selection menu accessible through 3D View header > snap elements dropdown menu, or by pressing CtrlShift-Tab.

Using the manipulation widget oriented to the slanted face, select and move any vertices of the new face,

If you translate the vertices this way, and snap them to a vertex below, it will be aligned along the slant of the face:

I use this workflow because it's easier to move and align along a slant, than align along a main axis while moving along a slant.


How to add movie to timeline and start in middle of movie

Below the Edit Strip tab, where you had set the Start Frame, there is the Strip Input tab.

If you want the strip to actually display a later frame on your frame 1, change the Start property below Trim Duration (hard) to your desired start frame of the clip.

Another more manual way of doing this.

Scrub forward to or pause on your desired start frame.
Press Shift + K to cut the clip into two.
Select the first (now redundant) clip and delete it by pressing X.
Select the clip which now starts on your desired frame and move it backwards to the start of the scene by pressing G and then dragging the mouse. Once in grab mode, you can also enter an offset (like "-60") with the keyboard.

Reference: Blender Manual Entry


Double simulation time to achieve 0.5 speed effect (slow motion)

Change the speed setting under Rigid Body World in the Scene settings.


Baking ambient occlusion gives odd black vortex output?

For some reason this seems to be caused by the wire material.

If you remove it by pressing the - button:

Then it works as expected:

This looks like a bug to me. You might want to consider reporting it to the tracker. I've since reported it here.

Also note that there are some internal faces and non-manifold geometry in your model, which can also result in some artifacts. Try pressing ⎈ Ctrl⎇ Alt⇧ ShiftM in edit mode to select problem spots.


Creating an irregular array for these rooftop tiles

Just offset it on multiple axis at once.

One Array modifier with X offset
Second Array modifier with X, Y and Z offset (you can also add start/end caps)
Third Array modifier to repeat this result


Blender python : How to set object appearance in viewport?

Mouse over see the property test in console

Make sure python tooltips and developer extras is checked

Mousing over the desired field..

python: Object.display_type

Testing in the console

>>> C.object.display_type
'WIRE'

Get it deliberately wrong to see what options are available.

>>> C.object.display_type = 'XXX'
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
TypeError: bpy_struct: item.attr = val: enum "XXX" not found
         in ('BOUNDS', 'WIRE', 'SOLID', 'TEXTURED')

>>> C.object.display_type = 'SOLID'


How can I catch reports from Operators in Python script?

For Operator Error Reports

Catching Errors is handled separately, this example catches the error report and prints it as a string.

import bpy
try:
    bpy.ops.object.vertex_group_add()
except RuntimeError as ex:
    error_report = "\n".join(ex.args)
    print("Caught error:", error_report)

For Operator Info Reports

Python can temporarily redirect the stdout using contextlib, this is ideal since you may not want to suppress output for _all_ scripts, just selectively redirect some output.

eg:

import bpy

import io
from contextlib import redirect_stdout

stdout = io.StringIO()
with redirect_stdout(stdout):
    bpy.ops.mesh.remove_doubles()

If you want you can read the output back out or use it however you like.

stdout.seek(0)
output = stdout.read()
print("Report was %r" % output)


Cutting *only* existing geometry with a circle

I will assume that you know how to use the Knife Project tool but if not, there are plenty of tutorials on BSE that can show you.

Here's a simple technique that might help you achieve what you're after:

Get everything ready to use the Knife Project tool but just before you do, select all of the vertices of the shape you want cut, and add them to a Vertex Group.  Once you do that, cut your shape out with the Knife Project tool.  You can then Deselect the vertices from your original Vertex Group and use the Dissolve Vertices feature to get rid of the unwanted vertices that you added with Knife Project:


does it help?
noise texture + color ramp + background + world output
(applied to world, not a mesh)


To change the dimensions use the scale Vector.

obj.scale *= needRatio

NB: I have a hassle with obj.tag, albeit could be because I am running in UI and not batch mode.

# import blender svg logo blender.svg in app folder
# (quick hack works on linux)
bpy.ops.import_curve.svg(filepath = bpy.app.binary_path + ".svg")
#the list of all objects with obj.tag = False `
false_tag = [o for o in bpy.data.objects if not o.tag]

gives me an empty list.

However, it appears the importer doesn't return the objects as selected, hence selecting all objects first then running the op and making a list of all unselected objects in the scene gives me the imported svg's curves could be another way to go.

bpy.ops.object.select_all(action='SELECT')
bpy.ops.import_curve.svg(filepath = bpy.app.binary_path + ".svg")
newcurves = [c for c in context.scene.objects if not c.select]

setting select to True on each curve in newcurves  removes the need to run bpy.ops.object.select again.


Can motion sensors be used to make a character move in Blender?

Yes, it is possible to even move a human skeleton in real time in Blender but you need a few things to implement it.

A few external software, an XBox One Kinect and an adapter for it, in order to be able to plug it into a computer USB. The computer has to have a USB3 connection and for this a USB controller by Intel or Renesas, otherwise it will not work.
I would not recommend the XBox 360 Kinect because that has a lot less resolution and less features.

Instead of writing a mass of info here I rather give you a YouTube link where all this is explained in detail, including how to make all this work in Blender in real time. You will find all the links to the hardware and software that you need in the description of the video.

https://www.youtube.com/watch?v=1UPZtS5LVvw

What you learn there you can apply it to whatever you want to achieve.


It is caused by the View Clip setting in N panel (If you look through the camera, it is controlled by the camera clipping that locates in its own Object Data panel).

To avoid it, either set start clip to a relatively small value (0.1 by default), or switch to Ortho view (3D view only).


Exporting the blend file as a python script

As hinted at by the comments, this is by no means an exhaustive or a general solution. At the moment there is no real way to save or export the actions you perform in Blender as a script or macro.

So the only way to automate things is to learn and understand the Blender Python API well, and to write a specific script to automate each task. You'll often be able to reuse code from one script in other scripts, and even to write generalized libraries that perform specific tasks, but it won't really allow you to tackle ANY problem or to automate all cases.

So here's a script that automates the creation of a rock like object from a cube, and will show you:

How to add primitive objects (in the example: cube, camera)
How to add modifiers and to set their properties.
How to add materials and set their properties.
How to add textures and set their properties.
How to set the render output path.
How to render to a file.

There's lots of things it does not show, including:

How to add and set up lighting.
How to change render settings (resolution, etc).
A zillion other things like animation, rigging, compositing, creating complex node based materials in cycles, simulations, particles... and more.

For these you'll have to read and learn other specific techniques and APIs.

Here's the code:

import bpy
from math import radians

# Add the base cube shape
bpy.ops.mesh.primitive_cube_add()

# Create a reference to the active object (which is the cube since we just added it)
cube = bpy.data.objects[ bpy.context.object.name ]

# Add a new subdivision surface modifier and set its view and render subdivision levels to 4
subsurf1 = cube.modifiers.new( "Subsurf", "SUBSURF" )
subsurf1.levels = subsurf1.render_levels = 4

# Add a new displacement modifier, set its texture to a new noise texture, and set the displacement strength to 0.15
disp = cube.modifiers.new( "Disp", "DISPLACE" )
disp.texture = bpy.data.textures.new( "DisplaceNoise", "NOISE" )
disp.strength = 0.15

# Add a 2nd subdivision surface modifier, and set its view and render levels to 2
subsurf2 = cube.modifiers.new( "Subsurf", "SUBSURF" )
subsurf2.levels = subsurf1.render_levels = 2

# Add a camera and set its location and rotation values
bpy.ops.object.camera_add( location = (0, -4, 0 ), rotation = (radians(90),0,0) )
camera = bpy.data.objects[ bpy.context.object.name ]
bpy.context.scene.camera = camera

# Give our rock object a new material
cube.active_material = bpy.data.materials.new("Rock.Mat")
mat = cube.active_material # Create a shorter reference variable to the material

# Set material properties
mat.diffuse_intensity  = 0.45
mat.specular_intensity = 0.1
mat.use_shadeless      = True

# Create a new musgrave texture and apply it to our materials as its active texture
mat.active_texture = bpy.data.textures.new( "Diffuse", "MUSGRAVE" )
mat.texture_slots[0].color = (0,0,0)         # Set base texture color to black
mat.texture_slots[0].texture_coords = 'ORCO' # Set texture coordiantes to object

# Set render filepath and render
bpy.context.scene.render.filepath = "/tmp/rock.png"
bpy.ops.render.render( write_still = True )

The unimpressive result of this script:


How to line up armature and mesh after deleting the armature modifier?

To fix this follow the below steps:

Select your mesh
Hit ctrl+A and choose apply Scale
Do same step 2 and apply location and rotation
Select your armature
Switch to Pose mode
Hit Space Bar and choose "Apply Pose as Rest Pose"
Select Mesh then select armature and hit ctrl+P
Parent with automatic weighting

It will be working fine as shown below:


Is there a way to make different HDRIs be reflected on specific objects in the same render?

Would be helpful if you can closer describe what exactly you want to achieve by this technique.

If you want to affect one object by one HDRi and second object by another HDRi from World shader - you can't (from what I know). From World shader you can use more HDRi to affects different types of light rays with Light path node. That is what you mentioned already I guess. Those affects all objects in a scene. For something like that you would have to render twice and merge in compositor.
In some cases you can fake few things like reflection per object on material level.
Like here is used another HDRi for reflection.

Tip: Quite great explanation of "Light Path" node.


IK on legs works only after you rotate a bone in the IK chain

First of all, if you don't want to add a pole bone (and I didn't understand why) in edit mode you can slightly move forward (Y axis) the knee bone: in this way the IK solver will try the front movement as first solution.

In a IK chain, limits should be set in the properties panel, bones, Inverse Kinematics tab, instead of bones constraints (this has to be done for every bone of the chain).

In your file all thoose values are wrong: I don't know which kind of constraint you need but I suggest you to remove all constraint and readd them one by one (the red line shows the allowed movement of every bone).


Rendering my freshly created diamond gives no good result

Purple = a linked image is not found.
so as @frederik wrote, it's something related to a material of the world (HDR image) that is not found by blender


Bevel Perfectly Round Corner Irrespective of Face Length

Thanks to @moonboots, I discovered that it was indeed the un-applied scaling that tripped me up! Once I applied the scaling and tried the bevel tool again, it worked as I hoped:

I wonder how many times it will take me to learn this simple lesson?


How do I convert 2D text into a mesh when alt c doesn't work in 2.8

Either right click on the text object, and select Convert to Mesh or from the Object menu select Convert to followed by Mesh from Curve/Meta/Surf/Text. If you've set selection to right click in preferences, the context menu obviously will not show up when you right click, and in that case you'll be limited to using the Object menu, or, as suggested in a comment, searching for it. After clicking your way through the steps, a window that lets you tweak the conversion will appear in the lower left (if it's closed, click the arrow to open it).

If you right click instead of left click on the menu item, a submenu will appear. From there you can click Assign Shortcut to set your own keyboard or mouse shortcut to call this.

In the same submenu, there's also Add to Quick Favorites. The Quick Favorites is a user defined menu, that can be called with Q. Blender 2.8 Quick Favorites -- A Feature Everyone Will Love? has a good description of how this feature works. This video is about six months old, and the UI still looks more like 2.79 than it does in newer builds, but this feature still works the same as in the video.


what file to put float property and properties class blender 2.8

A clean approach for registration is to provide a register and unregister function in every file that contains classes that need to be registered. Provide a top level register and unregister function in the __init__.py which calls the respective functions of the imported modules.

You can put the property groups in a separate file, they don't have to be in the same file as the panels.

A good reference for this approach is the Cycles add-on that can be found in your Blender install [version]/scripts/addons/cycles or intern/cycles/blender/addon in the repository.


Low poly/ cartoonish tropical island creation

What i recommend is to use a tool called Bisect.
To do this,  subdivide a cube and apply Subdivision Surface to get a sphere-ish shape.
Then to reach the Bisect tool, switch to edit mode, press space, search and there you go.
Press F6 and check "Fill". You can basicly slice pieces from your mesh. Then continue bicecting, till you get the shape you want. Scale the object to perfect your work.
I hope this little tip helped you, if you have any other questions or problems, let me know.

Source: https://youtu.be/G2CdYFgrP84


Export Premiere Pro Camera Track Data to Blender?

Since Premiere Pro is closed-source, you'd have to find documentation on its API or its data format first. Just use Blender's camera motion tracking features instead.


Fluid Simulation bakes, but cannot see water flow when playing video

I would highly recommend some Fluid tutorial to start with.
Mainly to understand how domain works.

Q: Does my part have to be modeled in Blender to be able to apply physics to it?
Sure, it doesn't. For Inflow / Outlow also a Cirle object or IsoSphere with much simpler topo will works as well. Just for a 2D objects like a circle or plane enable "is Planar".
Q: The model blinks as it's running the clip, but I don't see any fluid simulated.

Blinking - your object has more than 2 km. In perspective mode I wasn't even able to move vertices, shading was blinking, face normals drived crazy. It's happening only in Perspective mode, workes fine in Orthogonal. I don't think it should work like that, its more like a bug.
Invisible simulation - your Domain dimension is more than 7.5 km with Resolution 32, so as you can see on screen - one division (represented as a cube in domain corner) is in width of your Effector - that is why no fluid is generated.

Just for a test - If you scale down the Domain and run Play (with Cache type Replay so you can see result without baking) tube is going to be filled by liquid.

Suggestion
I guess the object's real dimension is in centimiters (or milimetres) so I would start with scaling all down with Scale S 0.0001 to get like 20 cm and Apply Scale Ctrl+A.
Adjust Domain dimension into a rectangle necessary to cover liquid space and adjust Fluid > Settings > Resolution Division like 1024 to get enough details and let liquid get through thinner parts. Nicely summarised basics - https://blender.stackexchange.com/a/50869/2214
Note: Resolution Divisions number is a value dividing the longest edge of domain.
Test from FlipFluid - Resolution 64

Note: If you would like to keep the huge dimension of objects you would have to adjust Fluid - Settings - Time Scale from 1 to 10. Like now you operate in kilometers so your liquid moves slowly as giant waterfall.
League - Im not sure how exactly luquid should to flow inside the object, but you can see liquid league (penetrates) through some parts of the object. And all tricks I know to solve it failed for me for this Resolution. For Mantaflow you can try to enable Remove Air Bubles or increase Subframes. There is possible it is because of bad topology in some parts of the mesh.
Increased resolution (tested 128) solved the issue, but liquid seems to me too much detailed for that scale and calculation is too slow even for this segment.

Surface - blender's original fluid solver did not handle obtacles well Mantaflow has a feature Delete in Obstacle that erases all parts that goes through Collider, but surface is not following a surface yet. So I used Flip Fluid addon, that is still faster and with a three options how to solve surface arround obtacles. Check this tweet https://twitter.com/FlipFluids/status/1113907615271145480


Why is the liquid's reflection look so weird after the render? (Blender Guru tutorial)

It looks like your liquid mesh is intersecting very slightly with the cup.  It's possible they have different render values for their Subdivision Surface modifiers, or a common fix (and one given by Price) you could try is scaling the liquid mesh up very slightly.
This intersects the liquid's outer faces into the glass completely which gets you a pretty good render.
Additionally, there are several posts on this site and others regarding the proper physically correct method of rendering liquids in glasses, which I will link here.
Liquid / glass interface IOR and normals in Cycles - BSE
fluid in a glass - BSE
Fluid in a Glass - Greg Zaal's blog