Is it possible to use inverse kinematics and Quaternions in Blender?

Yes, you can insert a keyframe and use 'Visual Rotation', this uses the pose with constraints applied, to set the rotation of the pose bones.

Note that if all you want is the quaternion values (without applying keyframes), Python can get the final matrix can calculate them.


AFAIK you can set up all but boolean by using that type in the property value field.  Eg type in integer 1 and you will notice the slider moves by integers, even if min and max are displayed as reals.

For vector floats, typing in (1.0, 0.0, 0.0, 0.0) gives a list usable for rgba values.

>>> C.scene['prop']
<bpy id property array [4]>

>>> C.object.color = C.scene['prop']

>>> [c for c in C.scene['prop']]
[1.0, 0.0, 0.0, 1.0]

To define them with a script is pretty simple too

import bpy
context = bpy.context
scene = context.scene
scene["someprop"] = False

To get a little more into it, the _RNA_UI is where custom properties keep their data, min, max, default, description

import bpy

context = bpy.context
obj = context.object

rna_ui = obj.get('_RNA_UI')
if rna_ui is None:
    obj['_RNA_UI'] = {}
    rna_ui = obj['_RNA_UI']

obj["prop"] = (1.0, 0.0, 0.0, 1.0)
obj["bool"] = 0

rna_ui["bool"] = {"description":"Bool",
                  "default": True,
                  "min":0,
                  "max":1,
                  "soft_min":0,
                  "soft_max":1}

rna_ui["prop"] = {"description": "Color Prop",
                  "default": (1.0, 0.0, 0.0, 0.0),
                  "min": 0.0,
                  "max": 1.0,
                  "soft_min":0.0,
                  "soft_max":1.0,
                  }

You can add these to your own layout

import bpy
from bpy.props import FloatVectorProperty, BoolProperty

class CarPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Car Details"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

    @classmethod
    def poll(cls, context):
        return context.object.get("Capot", False)

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

        car = context.object
        layout.prop(car, '["Capot"]')
        #bools don't show well (1 or 0 integer)
        layout.prop(car, "switch")
        layout.prop(car, '["bool"]')
        col = layout.column()
        col.prop(car, '["prop"]')
        # car color property
        row = layout.row()
        row.prop(car, "car_color")
        # object color rgba
        row = layout.row()
        row.prop(car, "color")

def register():
    # define a registered property (available for all Object types size=4 gives rgba)
    bpy.types.Object.car_color = FloatVectorProperty(subtype='COLOR', size=3)
    bpy.types.Object.switch = BoolProperty()
    bpy.utils.register_class(CarPanel)

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

if __name__ == "__main__":
    register()


What is the difference between the two properties panels?

The Properties region, or as it is commonly called the Properties panel, holds settings for the 3D view and the active object.
In the picture below of the properties region, all the selection specific items are at the top. The bottom seven in the red box are all settings for the 3D view. The grease Pencil can be either object specific or scene specific.

The Properties window, or Proprieties editor holds the settings for the entire scene and the active object. The first four contexts (aka "tabs"), in the red box, are for the scene and do not change with the active object. All the other tabs, with the exception of the Texture tab are dependent on the active object. The Texture tab, similar to the grease Pencil, can hold settings for more than just the active object.


Darker weight paint colors (Blender 2.8)

It's not so dark for me I don't know the reason why yours is. But it is adjustable you will find a colorramp for it in the preferences.

May be you messed up something here:


Is there a way to manually control vertex/face normals to get a more consistent toon shader?

Based on the other answer I created a Blender add-on for this exact purpose called TiNA which allows you to more easily transfer normals between objects. TiNA basically turns the somewhat overwhelming Data Transfer Modifier into a set of more comprehensible operations.
There's a special branch for those using Blender 2.80 beta.

 Hotkey           | Operation
------------------|-------------------------------------------------------------------
 Alt+N            | Transfer Normals from selection to active object
 Shift+Alt+N      | Transfer Normals from active object to all other selected objects
 Ctrl+Shift+Alt+N | Clear Custom Normals data for entire selection
 Alt+W            | Wrap Normals

In your case you could transfer the normals from a normals source mesh (based on the actual face mesh) by selecting it, then selecting the target object and hitting Alt+N.


You can use the volume material output to make your object pure light :

the emission volume is fast to render (not as smoke).
with very low emission strength :

Be aware that, sometimes, using 0 for strength will make your object black (bug). Use very low values instead.


How can I put a custom property into my pie menu?

It appears you are right clicking view source in the custom property in the UI.  Copy data_path will give you the path,  eg. ["prop"] where the property name is prop.  In the material properties panel the rna_item will be the active material, in the object, the context.object, in the data context.object.data, in the scene context.scene etc.

The code you are seeing is setup to handle the different object types that can have a custom property.  escape_identifier most likely handles garbage property names.

The pie menu template.  A custom property "prop" has been added to the scene.  The 'rna_item' equates to context.scene, the key to "prop":

class VIEW3D_PIE_template(Menu):
    # label is displayed at the center of the pie menu.
    bl_label = "Select Mode"

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

        pie = layout.menu_pie()
        pie.prop(context.scene, '["prop"]')
        # operator_enum will just spread all available options
        # for the type enum of the operator on the pie
        pie.operator_enum("mesh.select_mode", "type")


How to make object scale at specific point on Z axis based on bone?

Scaling the bone should scale the mesh as well. It is really easy to try it out:

Add a plane
Add an armature
Parent the plane to the armature (automatic weights)
Scale the bone

Move the mesh origin point in order to change the scaling origin.


Workflow: Cloth simulation without disabling armature

Option A: Cache and export to Alembic. But still have to wait 50+ frames for the collision to happen. There´s no instant "anything" on 3D. Never fall for that trap.

Option B: To my understanding that "pre-simulation" until the cloth is calculated and "rest" to the collisions, HAS ALWAYS BEEN LIKE SO IN ANY 3D APPLICATION. Yes, you need to let some previous frames to calculate, rest, and then get the character to pose. EVEN MARVELOUS DESIGNER works like that. So comparing it to Blender, you´ll have to wait to frame 75 or so, until the cloth "rests" to the collision.


Issue with bending mesh by using armature

So let's say you want the letter to be deformed. In that case you can parent With Automatic Weight, your topology is good so it is supposed to get nicely deformed by several bones, so you don't have to reparent.
There are 2 main problems in your current file though:

The Subdivision Surface modifier was above the Armature. Put it below:

Your bones kept bending badly. So at first I tried to give some corrections in Weight Paint mode but wth? it didn't fix it. Actually it's because even though your bones are displayed as Octahedral you've segmented them (which you can only see if you display your bones as B-Bones), and you've only segmented twice the second bone, the one that mainly controls the letter. 2 is not enough, it will break the shape, so increase the value and it will work fine:


Is there a way to assign a custom wireframe color for objects?

Since Blender 2.8 there is an option for colored wireframes.
At the top right of the viewport, select "Wireframe" shading, then under the shading dropdown arrow ("Viewport Shading") you can set Color to Single, Object or Random.


Can the name field of the WindowManager´s "invoke_search_popup" method be reset?

This got changed on Blender 2.79 due to a bug report I sent.
The popup menu doesn't show the last search anymore. It gets emptied, showing all the list again.
It would be cool though, if the scripter could be able to choose if he/she wants to clear the field or not, but maybe it will be necessary to file a feature request for that.


Ok, I just did a simpler rig now the answer is which is not very certain that I could only figure out there must be something wrong with how you adjusted the armature and the pinned vertices most probably won't move so the leg that's kicking is something you need to unpin like:

make sure you enable the cloth simulation on the physics tab ONLY FOR THE CLOTH(PANTS) and the collision set only for the mesh. and hence the result:

(this is a simpler rig though.)


In the Compositor

Select Node First. Toggle Node Preview.

Make sure you click on a Viewer.  It should have a highlight.
Make sure Backdrop (Show Backdrop) is enabled.


How do I make the object I set as a dynamic paint brush invisible in the render?

Open an outliner.

Enabeling that option allows you to hide objects from render by clicking the camera. IDK why this isn't enabled by default anymore. If you only want to hide it from the camera so it still casts shadows etc. you can go the object settings under visibility uncheck camera.


2.8 Grid disappears in Orthographic mode and returns in perspective mode

This has been reported and it's been fixed already with the commit rB4bbd1b9610f6d85079ea5bc31fc1949f8409a1a4. Just update your Blender version.


there is a lack of information in your question. What is the file extention? The model comes from another .blend file?

If it comes from another blender files the process you're looking for is to append something in your project. When you import a file to your project only the 3D information will transfer (vertices, edges and meshes). If you want to insert another informations such as materials, textures, etc you need to append these informations into your own blend file.

It is a step by step process, so I advise you to  see this video.

I hope it helps and welcome to the comunity :)


transfering compositing nodes with render layer nodes

Append a Scene
Compositor nodes belong to the Scene settings.
You just have to Append a Scene from a blendile containing the compositor setup you want. Go under -> File -> Append, pick the file and look under the Scene folder.

Then go to the scene selector, open the compositor in the appended one and copy past the nodes in yours.

Remember to update the render layer input scene in the copied compositor node setup.


You need to get rid of those n-gons.
For that, you'll need way more evenly spaced edges to support the geometry.

Add more edges using Loopcuts. It will deform the geometry, but don't worry.
Select the individual circles, one by one.
Use Mesh > Transform > To sphere on each circle to smoothen it


Check if the Bones box under Objects is checked in Viewport Overlays. (There's a dropdown menu next to the small icon of a circle in front of a white circle, usually found in in the top right corner of the 3D Viewport.)


I´m getting something weird with my fluid sim

That danged Fluid Simulator. I don't know how many hours I spent trying to patch holes that didn't even exist in vessels that seemed to just want to ooze fluids, and trying to force the fluid down a hole, instead of all over the sides of the object.

The two biggest factors I found are Solidify and Air Bubbles.

It appears you already have done the Solidify to your vessel, but if not, it's in the Modifiers tab.

Even with that, fluid wants to avoid the vessel opening, and leak out of places when it does go in.
So, the other factor is in the Boundary section of the Fluid Domain's Physics tab. This seems totally counter-intuitive to me, but it seems by UN-checking the "Remove Air Bubbles" check box, it works better ... still not perfect.

For this test, I didn't really do it right, and did not want to spend a lot of time on it. I apologize. This is at mostly the basic, default parameters, except I set it for 96 frames, and set the "Inflow" to -3m/s on the Z axis, (and, of course, set the "faucet" Fluid Physics type to Inflow as a Shell), but hopefully you can see the difference in how much fluid fell out of the vessel and into the Fluid Domain box here ...

... and here where I UN-checked Remove Air Bubbles.

Here is the wire frame view, so you can see the crazy shape of the vessel better. As I said, I rushed through this a bit too much. I didn't even do the Solidify, as I suggest.

I would think the air bubbles would displace the fluid, and, without them, draw more fluid into the vessel, but the complete opposite seems to be true, (which is why it took me so long to try unchecking that box).

For this test, I should have made the opening a bit larger, but wanted to make sure it failed, and it did. Had I tuned it, I think I could have gotten it all to flow into the vessel, as I've had some success in the past by unchecking that box and solidifying my vessel object.

Both of the renders above were at the exact same frame of the simulation ... um, frame 27, I believe. I just picked one at random, and left it there before the second Bake and Render, after only unchecking that box.

Besides leaving all the rendering parameters at their default, low resolution, I also left everything in the Physics at the default Partial Slip parameters, but you can also try changing the "Amount" of "Partial Slip".

No matter what, we are still going to be finding issues with the Fluid Simulator ... if not keeping it in vessels, the viscosity thing. Just keep plucking at it.

Now, about that danged Fire and Smoke Simulator ...


Why doesn't Blender detect RTX 2060 with OpenCL?

That is because Cycles in Blender 2.8x only uses OpenCL for AMD GPUs. For Nvidia GPUs you have to select either CUDA or OptiX (only for RTX cards until 2.90, then for Maxwell GPUs and higher). This is documented in Blender's manual.

Nvidia
CUDA and OptiX are supported for GPU rendering with Nvidia graphics cards.

AMD
OpenCL is supported for GPU rendering with AMD graphics cards.


Accessing property with different ways gives different results

Ok I solved my problem. I used setattr and it works. Sorry for the non-clearness of all this :-).


Python draw 2 vertices under specified angle EDIT!

As far as i understand you seek for this. one way to do this is using the matrix.Rotation
the only thing i dont know and maybe @batFINGER or @Robin Betts can help in this is to extend the line to the asked X axis. As far as i get it @cexoso wants to "constrain" the vertices on the X axis. with other words the vertices are free to move on the Y axis and are fixed on the X axis respecting the given angle.

@batFINGER or @Robin Betts
May i ask you to edit this code so that the line will be extended on both sides to the X axis. I'll try to explain using an square. Screenshot is below the code.

Please note that in this example the outside vextors are drawn on -1.0 and 1.0 X axis
I added a third vector but it might not be needed.

import bpy
import bmesh
import mathutils
from mathutils import Vector
from bpy.types import Operator
from bpy_extras.object_utils import AddObjectHelper, object_data_add
from bpy.props import FloatVectorProperty
from mathutils import Matrix
from math import asin, pi, degrees, radians

angle = 10
mesh = bpy.data.meshes.new("mesh")  # add a new mesh
obj = bpy.data.objects.new("MyObject", mesh)  # add a new object using the mesh

scene = bpy.context.scene
bpy.context.collection.objects.link(obj)  # put the object into the scene (link)
bpy.context.view_layer.objects.active = obj   # set as the active object in the scene
bpy.context.active_object.select_set(state=True)  # select object

mesh = bpy.context.object.data
bm = bmesh.new()
test = []

V3 = bm.verts.new((1, 0, 0))
V2 = bm.verts.new((0, 0, 0))
V1 = bm.verts.new((-1, 0, 0))

bm.edges.new((V1, V2))
bm.edges.new((V2, V3))

bmesh.ops.rotate(
    bm, verts=bm.verts, matrix=Matrix.Rotation(pi * angle / 180, 3, 'Z'))

bm.to_mesh(mesh)
bm.free()  # always do this when finished

Text continues below screenshot

Note 1
On any given angle the edge should connect to the square
I dont know how to do this tbh. Im still learning lOL

Hope my answer contributes to this question


So, based on this Duplicating object and default value of property I think I found a way.

I use a second identical property to avoid having to get from the getter

Here it is :

# Getter for anchor duplicate
def get_global_index(self):

    # get current index
    index = self.hidden_index

    # chek if already used (in case of a duplicate) and try a new one while necessary
    # Do not forget to remove self from result !
    anchors = [obj for obj in bpy.context.scene.objects if obj.type == 'EMPTY' and obj.empty_draw_type == 'PLAIN_AXES' and obj != self]

    while any(obj.hidden_index == index for obj in anchors):
        # found to try another index
        index +=1

    self.hidden_index = index;
    return self.hidden_index

def register():
    bpy.types.Object.global_index = bpy.props.IntProperty(name = "Object index for Anchors", default = 0, get=get_global_index)
    bpy.types.Object.hidden_index = bpy.props.IntProperty(default = 0, options={'HIDDEN'})

Since it the getter, I just need to return the new value. Using an other property without getter but with the same value, I can get the copied value from the getter.


How to recreate the pixel effect that happens when you move rendered objects

It's not terribly clear what you are hoping for, but what I believe you are asking is how to sample the image in such a way that results in that blocky look.

You should be able to effectively get a similar result using the Transform node in the compositor. Simply:

Resample the image to be a very low resolution version of the input image using Nearest sampling and the Scale value. For example, sample your image from 100 pixels by 100 pixels down to 10 pixels by 10 pixels.
Resample the image back to the original resolution using nearest and the scale value again.

Combinations of the above may be required if you are animating, to control the smoothness of the motion. Nearest will literally find the nearest sampled point and can result in very blocky movement, while a combination of nearest with linear may smooth things out. You can see a sample of the effect used in this music video from several years ago, achieved with a custom bit of node code as nearest wasn't available.


To effectively use Blender's sculpting tool, you must first subdivide the object you are trying to sculpt. Sculpting moves a certain section of vertices on an object where you use the tool, so if there are no vertices to move, you cannot sculpt the object. To subdivide, go to edit mode, press 'W', and set the amount of subdivisions to be about 60 for effective sculpting.


How can I recreate geometry using a photograph?

For Blender 2.8x use fSpy
(For blender versions 2.7x or older read the instructions at the bottom of this post.)

fSpy is an Open source still image camera matching app that sets the parameters of the Blender camera and optionally sets the camera background image.

Download the app (https://github.com/stuffmatic/fSpy/releases) and run it.
Open the picture within fSpy

Move the red and green lines and place them along lines that would be  parallel in the real world, but that on the picture converge to a vanishing point.
Additionally set also the placement for the origin and grid (and if you know the distance between two points you can enter that as well).

In this case the tiles on the floor are perfect to set the lines, but for other images, all that matters is that the lines are on the same plane and are parallel in the real world, like walls, windows, ceilings, roads, etc. On the left side of the interface you can set what color line corresponds with what axis for the 3D envirionment. X and Y will be for horizontal lines and Z for vertical

Save the fspy project.
Download the fspy Addon for blender (https://github.com/stuffmatic/fSpy-Blender)
Open Blender 2.8, install and enable the fspy addon.

(detailed instructions on how to install the addon here)
Import the fspy project into blender.

A new camera will be created along with a camera background image.

Now you have a scene that matches that of the photograph, so that you can recreate the geometry and add whatever you want.
Start reconstructing the geometry.

You can choose to unwrap UVs Using Project from view, to place some of the original textures from the photograph.
From there on, you can create whatever materials you want and composite them on top of the original image.
Why settle with a boring old rug when you can have your own indoor soccer field?

For version 2.79
Use version 1.0.2 of the fSpy addon.
For older versions of blender use Blam Add-on!

NOTE: Blam is no longer mantained

To use Blam.

Download, install and enable the addon.

Load the image in the Movie Clip Editor.
Use the grease pencil to draw a series of lines following elements that would be parallel in the real world. Use a different layer of grease pencil for lines going in different directions.

In the Misc. tab. Set the camera calibration to use 2 vanishing points.
Determine the axis for each of the grease pencil layers.
Activate Set Background Image and click on Calibrate active camera

In the 3D viewport the camera lens will change to use the estimated focal length and will be placed using a matching perspective as the original image. The project render size will also change to match the dimensions of the original image.
Load the original image to be used as background and start reconstructing the geometry
Graphics Provided by Vecteezy.com


The filename in Chinese can not be display in Blender 2.8 when file explore in open

The default font used for the interface does not contain all characters, Chinese is one of them.

There are two options to solve this in the preferences (Edit > Preferences)

Activate Translation  and set language to Simplified Chinese or Traditional Chinese. It may also work with Automatic depending on your OS language configurations.
Choose a different Interface Font for the interface which includes Chinese characters.

I think the first option is likely the best for your problem. Optionally you can also activate the checkmark next to Interface in the translation options to switch the entire interface to Chinese.


How can I translate a texture using the mapping node?

so I toyed around a bit, I'd say this doesn't look quite as good, but it will scroll, I can explain a bit more if you want but I think it's easier to understand if you look yourself at it. I exposed some options, size controls the scale of the edge mask noise, and mapping is where you connect the mapping node to scroll, but if you want finer control go inside the group and tweak the ramps.
Sorry for jumping to conclusions earlier, I should have taken more time to test.

old post (this is wrong):

This is because this first noise texture node is only controlling the scale of your second noise, which is the one that is actually controlling the look of the texture the most.

The mapping node should be connected to the noise node right before the ramp node.


For subdividing a cube non-uniformly: your best bet is using the Loopcut Tool ⌃ Ctrl + R in edit mode and then Scroll to add more segments). Some of blender's primitives don't have the options you want like other software does.
To add flat divisions uniformly: when in edit mode, press A to select all components and then RMB >Subdivide (destructive operation, can no longer edit after activating a different tool). As long as you don't perform any operations afterwards, you can expand the little properties panel in the bottom left to control how many subdivisions you want.
For non-destructive smooth subdivision levels:
⌃ Ctrl + 1 for SubD level 1 ⌃ Ctrl + 2 for SubD level 2, etc. Using this hotkey simply adds a subdivision surface modifier and pressing different hotkeys for different levels simply changes the level of that exact same modifier. You can access this modifier from the Modifiers Panel on the right (little wrench).
For selecting ring of faces: Switch to Edit, then Face mode. ⌥ Alt + LMB  in between two faces to determine the direction of the loop. Add Shift to select more face rings or deselect existing ones.


Can we use the UV seams in combination with Smart UV project?

"Smart UV Project" is ignored on edges with seams. The edges with seams are unwrapped along seams as if simply using "Unwrap" (but only for those edges -- the rest are smart UV unwrapped").

Using "Smart UV Project" and seams together would be advantageous where you'd like most of the mesh to unwrap based on the angle between faces, but would like some parts to be completely cut along each face (which is what marking seams is for).

For example:

If we "Smart UV Project" Suzanne, each edge is sliced when the angle between faces reaches more than 66 degrees (default angle setting for "Smart UV").

Where the rim of her ear meets the front of her ear forms an angle larger than 66 degrees, so the rim is unwrapped as it's own island.

However...

...let's say we wanted a very specific texture mapped on her ear, but would like the rest to stay unwrapped as it is, then we could mark-seam each edge of her ear. In this way, the angle threshold (used to determine Smart Unwrap) is ignored and we're able to view each face separately.


Shape key setting so that value slider doesn't work

If the slider is greyed out, it could be that you have accidentally pushed this pin icon:


Convert particle system to animated meshes Blender 2.8

Few changes in 2.80:

Objects are linked to a scene via a collection
'hide' has became 'hide_viewport'
You need to get the dependency graph and an evaluated object to have access to particles

Here is the corrected code (modifications are commented '2.80: something'):

import bpy

# Set these to False if you don't want to key that property.
KEYFRAME_LOCATION = True
KEYFRAME_ROTATION = True
KEYFRAME_SCALE = True
KEYFRAME_VISIBILITY = True  # Viewport and render visibility.

def create_objects_for_particles(ps, obj):
    # Duplicate the given object for every particle and return the duplicates.
    # Use instances instead of full copies.
    obj_list = []
    mesh = obj.data
    for i, _ in enumerate(ps.particles):
        dupli = bpy.data.objects.new(
                    name="particle.{:03d}".format(i),
                    object_data=mesh)
        # 2.80: link to objects in collection
        bpy.context.scene.collection.objects.link(dupli)
        obj_list.append(dupli)
    return obj_list

def match_and_keyframe_objects(ps, obj_list, start_frame, end_frame):
    # Match and keyframe the objects to the particles for every frame in the
    # given range.
    for frame in range(start_frame, end_frame + 1):
        bpy.context.scene.frame_set(frame)
        for p, obj in zip(ps.particles, obj_list):
            match_object_to_particle(p, obj)
            keyframe_obj(obj)

def match_object_to_particle(p, obj):
    # Match the location, rotation, scale and visibility of the object to
    # the particle.
    loc = p.location
    rot = p.rotation
    size = p.size
    if p.alive_state == 'ALIVE':
        vis = True
    else:
        vis = False
    obj.location = loc
    # Set rotation mode to quaternion to match particle rotation.
    obj.rotation_mode = 'QUATERNION'
    obj.rotation_quaternion = rot
    obj.scale = (size, size, size)
    # 2.80: hide_viewport instead of hide
    obj.hide_viewport = not(vis)
    obj.hide_render = not(vis)

def keyframe_obj(obj):
    # Keyframe location, rotation, scale and visibility if specified.
    if KEYFRAME_LOCATION:
        obj.keyframe_insert("location")
    if KEYFRAME_ROTATION:
        obj.keyframe_insert("rotation_quaternion")
    if KEYFRAME_SCALE:
        obj.keyframe_insert("scale")
    if KEYFRAME_VISIBILITY:
        # 2.80: hide_viewport instead of hide
        obj.keyframe_insert("hide_viewport")
        obj.keyframe_insert("hide_render")

def main():
    # Assume only 2 objects are selected.
    # The active object should be the one with the particle system.
    ps_obj = bpy.context.object
    obj = [obj for obj in bpy.context.selected_objects if obj != ps_obj][0]
    # 2.80: Get the dependency graph
    dg = bpy.context.evaluated_depsgraph_get()
    # 2.80: Get an evaluated object from it
    eval_obj = ps_obj.evaluated_get(dg)
    ps = eval_obj.particle_systems[0]  # Assume only 1 particle system is present.
    start_frame = bpy.context.scene.frame_start
    end_frame = bpy.context.scene.frame_end
    obj_list = create_objects_for_particles(ps, obj)
    match_and_keyframe_objects(ps, obj_list, start_frame, end_frame)

if __name__ == '__main__':
    main()


Moving one object causes other to move another (already tried unlinking)

I had proportional editing on.

If you ever think your objects are acting as though they were linked and they aren't be sure to check if you haven't by mistake turned on proportional editing. Otherwise you may end up with situation like the one described above.


IK Bone setup , pole bones targets the bone wrong direction

You need to bend the elbow a bit so that Blender knows in what direction the arm is supposed to bend.


Found a way to do what you wanted, but it takes some steps and a addon, TexTools for Blender:

https://blenderartists.org/t/textools-for-blender/700811

http://renderhjs.net/textools/blender/

Place the Addon into: C:\Users\YOURUSERNAME\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons, so it can appear in your addon list in blender.

Here's the steps if you wanted to do this way, we're essentially just creating a mesh from the uv map, extruding it, and applying a subdivision surface modifier, where the mesh get's crumppled it's a breaking point in the UV.

So, step 1, gather your mesh and uv map together.

Step 2, using the addon, in the uv editor apply the function, Create UV Mesh.

Step 3, show it in solid form, by going in the object properties and setting the display mode.

Step 4, select the new mesh and extrude it.

Step 5, apply the subdivision modifier to see where the mesh breaks, that's a UV point break.

Step 6, using the information give on step 5, check the uv map where the mesh breaked on the subdivision modifier. There are your UV points break highlighted.

A ugly 6 steps solution, but it works.

The add-on is highly recommended if you like more tools for UVing, just a tip,

Cheers,


Use the Alpha Over node, as in this screenshot:


Extrusion along a curve for a certain face

Various Options .. You may only need one

Use the vertex group entry of the Curve Modifier to Limit the area  of shape influence.
Use proportional edit
Use an armature to control the shape of an
extrusion.
Consider Spline IK Constraint

See tutorials on any one of these suggestions. Blender Stack Exchange BSE, can be searched on these topics. You can also search the famous video website that has a name that rhymes with noonoob. This was to list various options and is not a tutorial on any of the ideas.


Importing and exporting blender user preference files?

You can use the free Blender Cloud add-on to sync your preferences between different computers. It's a free feature, just requires a Cloud account. More info at https://cloud.blender.org/services


How to translate a bone with IK in pose mode using the python API

Is there a way to see what commands is the blender UI applying to the
  skeleton so I could just copy the command of whatever I am doing to
  the script to achieve whatever I desire?

Yes, you can run blender with the --debug flags. For example:

./blender --debug-wm

or

./blender --debug-all


Yes i did it! It was simple i just needed to do Shift+Ctrl+A just after the duplication.... and i have all my planes as one object so i can work on it! Thanks


Uneven movement on camera following a path.

The resolution for the circle is way too low, increase the resolution for the Active Spline:


Part of your problem is that you have some extra overlapping vertices in there that are confusing the modifier. You have planes that only have two dimensions, to you can't really calculate a surface normal for them.

You can clear these out by selecting everything A, then hitting Alt + M > B or select By Distance to merge doubles.

Some of your other problems are the result of your initial geometry. Take a look at the corner to the right of the door. You're putting 0.33 on your solidify modifier, but the wall is only 0.211 there, so that's why you're getting that awkward protrusion. The same thing happens where the two walls come together at a fairly acute angle. The solidify is thick enough that it's pushing the created walls into each other.

Finally, I suspect you're going to have to do some manual clean up work around the door. The geometry that you likely want can't be created just by a solidify modifier. A lot of the problems you're running into have to do from this being one continuous mesh. I would strongly suggest modelling the walls, ceiling, and flood as separate meshes, if not separate objects entirely.

The other possibility would be to do it in stages, using the Shrink/Fatten tool Alt + S. Select all the walls, Extrude them, and then fatten them out. Then do the floors and ceilings separately.


in the 3D View Properties panel (N), all the Transforms are locked


Automatic Top / Middle / Bottom Alignment for 3D Text Object

You are right, aligning the overall text from top/bottom isn't available.

The Left/Right/Centre alter the location of the text relative to each line and allows adjusting the alignment of the text relative to other lines of text.

The up/down alignment only alters the text position relative to the object centre; this can be altered after text entry by moving the text object. Aligning each line left/right can only be done this way if you do one line per text object.

If you think up/down alignment is important, you should suggest it to one of the developers. I doubt this would be considered priority so unless a developer is interested in this you may have more luck in creating a patch yourself and submitting it for review.

Maybe an add-on could be created to add an option for top/middle/bottom alignment.


why are some of my objects rendering as a dark blue?

For the dragon and other objects, you have their children objects disabled from render, as you can see in the screenshot:

For the terrain, it is related to materials setup (nodes), especially try to fiddle with your alpha handling, I am not sure what are you trying to achieve there -
it would be easier to if you pack textures into the .blend and re-upload it.
I will try to correct it and then update the answer.


Add a plane, unwrap it and give it an image texture. Set the nodes as pictured below (connect the Image Texture node to Emission node). Set up the emitter's strenght.

If you want to increase the glowing effect you may do this in Compositor. Just add a Glare node and experiment with its settings.


Use the Curve Modifier to slide your Spiral Curve along a Bezier Curve

With the Add Curve: Extra Objects add-on enabled, Add a spiral object by pressing ShiftACurve > Spirals.

In the Operator Panel customize the spiral's shape.

Set your Curve settings as you want them.

Add a Bezier Curve. (ShiftACurve > Bezier)

Use the Curve Modifier on the spiral object to make it follow the Bezier Curve object. Set the Axis correctly (usually it will be Z). Enable the third and fourth modifier options, to Display Modifier in Edit Mode (makes it easier to see what you're doing) and Apply on Spline (makes for a nicer curve shape).

Make sure their Object Origins are at the same point, and that both objects have the same rotation (to avoid confusion). If you need to slide the spirals position along the Bezier Curve, Select All (A) and Grab (G) the spiral object and move it in Edit Mode.

You can also scale the spiral along Z to stretch, or X,Y to fatten it.

Above: Scaling with the 3D Cursor as the Pivot Point, to fit the spiral to the Bezier Curve.


What is the best way to set up crowd animations?

In my opinion, there are two viable options open to you, one is to use the boids particle simulation with animated armatures, but this would limit you to a single animation (for Minecraft characters this might indeed work). Note that the armature object being replicated by the particle system needs to be on the same layer as the particle simulation.

the second option is to use the Animation Replicator with Offset addon from blenderdiplom on a bunch of different models using follow curve modifiers.. again, this would limit you to one animation. There's a handy tutorial on their site showing how to use it.

In both instances you could have replicate small numbers of characters but use more than one particle system/curves with different animations for a bit of variety, but it would take a LOT of work. In either methods, there would be no way to have opposing teams react to each other and trigger 'fight' animations, for instance.

Since it's Minecraft and the animation would most likely be quite simple, my suggestion would be use boids (check out David Ward's youtube channel, he has a video tutorial showing this exact thing, then when you have a good basic crowd, you could Apply the particle modifiers and then manually add the arm swinging/fighting/dying animations. Like I say, for 200 characters this would be a lot of work, but if working with actions, the NLA editor would save you a bit of work here.

Good luck!


Blender render background image distorted


Why are this characther's hands not mirrored while I model it?

1st turn off clipping in your mirror modifier.

In object mode be sure to ensure that rotation and scale are applied Ctrl + A.

Next turn off increment snapping Shift + Tab.

Next set your cursor to the origin of the body.
With the body selected as it is here: Shift + S, Then Cursor to selected.

Next Apply your 3D cursor to the origin: use the . key on the qwerty not the Numpad.

Then Re-Apply the modifier settings.

From the screen-shot above you have a lot going on, so these steps may not be the right answer, but they are definitely worth a shot.

If this still does not work for you, please attach the blend file, so the community can take a look and see were the problem resides.

Hope this helps,

RRiggs


How to hide wireframe while turning on the 'face selection mask' in texture paint?

The purpose of Face Selection Mask in Texture Paint is exactly what it says - to use the selection of faces to create paint areas that are active and allowing the user to limit the spray of paint on the model surface. The wireframe drawing on the surface informs the user of what they can select, and the change in object color when deselected allows the user to differentiate between the selected and deselected faces. Hiding the wireframe is not logical when using face selection masking, and getting rid of the wireframe is only possible by turning off the face selection mask mode.


Specific style using shader editing nodes

For the grainy effect, well actually you could use the Cycles render engine and keep the Sampling value very low, for once you'll be glad to have grains. I don't know if it's doable in the Compositor. You can do it with an image editor (Filter > Other > Random Noise in Krita for example), or fake with your materials with some Noise nodes, like that:

I'm not sure it was part of your question but for the smoke itself, you can create a bezier curve, bevel it, play with the vertices Radius and Tilt values (shortcuts AltS and CtrlT):

Give it a mix between a Diffuse and Transparent node, use a Noise as factor, the Texture Coordinate UV output will allow you to follow the curve shape, use the Mapping node Scale values to stretch the noise along the good axis. In Eevee don't forget to choose Material > Settings > Blend Mode > Alpha Blend so that the smoke is transparent:


How can I rotate (in game,) with click-drag rather than keyboard keys?

Generally it's nicer to rotate the camera around the object, but the logic brick setup is the same:

If you want to rotate the camera, put an empty at the rotation center, apply the logic to the empty, and parent the camera to the empty.


I haven't seen a way to import just the keyframe information into Blender (granted I have not looked up how to). but what I normally do, though a bit tedious, you import all the fbx files containing the animations and delete the armature that comes with it. Blender will keep the animation data after the armature is deleted so after all the extra armatures are deleted you can select the armature you are using, go into your action editor (It's a different setting in your dope sheet window) and there should be a list of animations to choose from


You have snapping to increments while transforming on. Click on the magnet icon to turn it off, or change your snapping element (to vertex/edge/face) if applies.


Object pink in render (no textures are in use)

So apparently the answer is:

If everything looks pink in the render and there are no textures missing in the materials of the objects, the first thing to check should always be the HDRI lighting setup in the Node Editor:


Rotating Camera moves the skeleton out of the armature (2.49b)

Alright, consider this answered. I had "Driver Booster 4" check all my drivers and apparently the ones I downloaded directly from HP were too old. For anyone else having this issue I recommend either using that program or searching for updated drivers manually.


There are a couple of different ways you can do this...you can create the axis in Photoshop or Gimp and add it as an image on plane and then scale it, or you can use Blender geometry to model it.  Modeling it in Blender takes a bit more time but I think it gives you a bit more precision, it just depends on what you want to use it for.  The other advantage is that you can project your axis along a curve.
To model the major (and minor) tick marks in Blender, move the 3D cursor to 0,0,0 and add a plane.  The default dimensions for planes and cubes are 2m x 2m, so press S and .5 to scale it down by half:

The orange dot at the center of the X and Y axes are the origin of the object, you'll want to keep this at 0,0,0 for the time being.  Since you're new to Blender, an important concept to learn is to keep an eye on that origin and make sure that you're in Edit mode when editing the actual object (took me a little while to figure this out!).  Press tab to go into Edit mode, all of the verts should be selected.  Press G to move, X to lock to the X axis, and .5 so that one side of the plane will line up with X=0.  Notice that the orange dot is still on 0,0,0; if it isn't, that means you're not in Edit mode:

Press Ctrl-R to subdivide and move the mouse so the yellow preview line is on the Y axis.  Left click once, then slide the cut until it is close to the left edge (but still inside the plane) and left click to accept:

Use Ctrl-R to add another cut along the X axis, leave this one in the middle:

Change the selection type to Vertex (note that you're still in Edit mode):

Right-click somewhere in the scene to deselect everything and then select the two circled vertices (and ONLY the two selected vertices):

Delete the two selected vertices.  You'll be left with the two faces on the left side and a single edge down the middle.  You won't be able to see the edge in the middle but it maintains the 1m length along the X axis and keeps the origin at 0,0,0:

Now, tab back into object mode, go to the modifier tab on the right, and add an Array modifier:

Since the plane is 1m long along the X axis, increasing the count on the X axis will add 1m to the tick mark for each increase in count.  Of course, if you want a different measurement for each tick mark, you can go into edit mode, select all of the verts except for the one at the origin, and move them along the X axis as needed.  Here are the major tick marks:

To create the minor tick marks, while in object mode, press Shift-D to duplicate the plane and right click to leave it in the same place.  Tab back into edit mode and select all of the verts except the one at the origin.  Press S and Y and then .5 to make the tick smaller, then G, X, and -.5 to move the tick mark 0.5 meters along the X axis:

You can use the same Array modifier (this time with a relative offset of 2 on the X axis) to add more minor tick marks.
As for the labels, you can place text and individually edit the text to change the numbers but I don't know of a way to Array them and have them automatically increment.  That would be really useful but I don't know of an add-on to do it.  It isn't too hard to add the text, here it is:

Here's the axis with a Bezier curve created and a curve modifier added to each component:

Hope this helps!


beginner using v2.81 basic script format error please help (creating poses) compile error

Use bpy.context.object instead of bpy.context.scene.objects.active that does not work in 2.8x.

Works fine in 2.81:


Use some math nodes to turn down that brightness. For an HDRI like that, all you should need to do is multiply the value down to where the sun seems to be at a normal brightness, and then add usually 1-2 back for sky lighting.


This issue appears when you're trying to export an object that contains no geometry, because of a single erroneous line in export_obj.py. This bug has already been reported and fixed in D5479 by Philipp Oeser. The fixed version of the exporter will be available in Blender 2.81.

In your case the object 'sphere' contains no geometry, which triggers this error. As a workaround until 2.81 is released you can either just select objects that contain geometry and enable Selection Only in the exporter or you could simply delete the problematic object. Alternatively you could also change the one line of code in the obj exporter yourself.


How do I only select vertices which are visible from my perspective in 3D View?

Updated: The issue still happens, less often but it still happens.
I was able to solve the issue by changing the "display as" "wire" to "textured" under the view-port display under object properties.


You need to change these two lines, because the bpy module does not wok in the game engine.

hb = bpy.data.objects["HealthBar"]
should be changed to the code block below.

hud = None

for scene in bge.logic.getSceneList():
    if scene.name == "HUD":
        hud = scene
        break
hb = hud.objects["HealthBar"]

That loops through all the scenes in the game, and assigning a var of hud to the scene named HUD. Then the last line gets the object named HealthBar in the HUD scene.

Or simply this line if the object was in the same scene.
hb = bge.logic.getCurrentScene().objects["HealthBar"]

Your hb.dimensions[1] = health/100 line
must be changed to hb.worldScale[1] = health/100 (because there is no dimensions attribute in the game engine).


The light passes through edges of a model

Select your light, and in the light properties panel, tick the "contact shadows" box.


Editing a mesh in proportional mode from script

As you can see from your result,  simply adjusting the vertex location via script will not invoke proportional editing.  The translate.transform operator has all the settings you need.

Here is a test script to add 10 random bumps to a grid already in edit mode.

import bpy
import bmesh
from random import randint

context = bpy.context

bm = bmesh.from_edit_mesh(context.edit_object.data)
# deselect all
for v in bm.verts:
    v.select = False

for i in range(10):
    transform = (0, 0, 1)
    v = bm.verts[randint(0, len(bm.verts) - 1)]
    v.select = True
    bpy.ops.transform.translate(value=transform,
                            constraint_axis=(False, False, False),
                            constraint_orientation='GLOBAL',
                            mirror=False,
                            proportional='CONNECTED',
                            proportional_edit_falloff='SMOOTH',
                            proportional_size=1)
    v.select = False

Adjust accordingly into methods etc to suit your requirements. Being an operator it needs to have context,  To "dimple" multiple objects

for obj in multiple_objects:
    scene.objects.active = obj  # make context
    bpy.ops.object.mode_set(mode='EDIT')
    #dimple(...)
    bpy.ops.object.mode_set(mode='OBJECT')


Mesh only shows in wireframe in Edit mode

I think you have Hidden Wire activated in the Shading panel.


What's the most lightweight format for textures?

The GPU does not work in terms of jpeg, png, tiff, tga, etc. During rendering every image that is used as a texture has to be stored in vram using a format that is determined by the engine, so in this case Eevee. This can range from uncompressed to various hlsl/glsl/cuda friendly compressed variants. You cannot really influence that format unless Eevee exposes its internal texture format as a config option.

The source image format you use for your textures will be converted to that internal format once, not on every frame, unless you change your source texture every frame via script or something.


You likely have a modifier active that is hiding the mask, like subsurf. Go to the modifier tab and look for this warning:


How to get consistent stroke thickness when zooming grease pencil?

It appears you can get something like this, by enabling "Volumetric Strokes" in your grease pencil palette.

This creates the following effect (reduced opacity for clarity, volumetric is on the right hand side).

The sampled points can be increased by adding subdivision (default is 0 for basic brush) under the stroke quality section in the grease pencil panel. Increased subdivision is only applied to new strokes though.

The volumetric strokes retain their size, regardless of viewport zoom.

Lastly, grease pencil objects are coming to blender 2.80, which will support proper scaling.


at the last frame of animation increase z-rotation more and press i and add rotation keyframe

then change FrameRate in OutputProperties tab to max in my case 60fps so, it will look more realistic, also add motion blur.

It looked more realistic with fps increased.

Try balancing fps and z-rotation so, that it will be more realistic


It is possible. It can be done in a variety of ways, such as using a pinning vertex group to a bone, and then have the bone constrained to another cloth piece.

However, Blender's cloth sim is not the most robust, so I'll warn you that while it is possible, it probably will not produce very good quality results. You may want to look into other rigging options.


Add a Custom c++ Class to Blender and drawing it in the viewport using an Addon

I suggest writing your code in Python first to keep it simple and get results quickly (especially when you have little experience with where are the bottlenecks).

Then you need to benchmark it and find where the bottlenecks are.

if they are on Blender's side, porting your code to c/c++ will have little to no effect. Building your own Blender is the solution.
if they are on your code's side consider using Numpy module rather than writing custom C/C++ code first. If you want speedup on arrays or math, it is often enough. Threading can also help.

For most use cases when you need to wrap C/C++ classes the ctypes module is all you need.

You can also use Cython to expose parts of C/C++ library to Python.

For another solution for Python binding to C/C++ code look into Boost.Python:

  The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes, functions and objects to Python, and vice-versa, using no special tools

Last thing to consider is that Blender 2.8 version is behind corner and a lot of things will change including the particle system. Some coding time on an addon this big might be wasted when it will release and you will have to re-work it or it becomes redundant by the new native system.


GPU Compute (CUDA) Frequently Crashes Computer

It's common for this problem to be caused by running out of VRAM on your card.

One way to alleviate the problem is to reduce the tile size. Some of the things in a Blender scene can be swapped to and from the GPU on a per-tile basis. In those cases, a smaller tile size means less data on the GPU.

Other things will be the same size on the GPU regardless of which tile is being rendered, or how big the tile is. Hopefully, that overhead is small enough that reducing the tile size will help.

Cetagon's suggestions are also worth checking out.


You can achieve this with the Extra Objects addon, XYZ Math Surface option.

To enable the addon, open the User Preferences and search for the Extra Objects addon and enable it. Now in the Add menu you should find Mesh/Math Function/XYZ Math Surface. This allows you to define the coordinates of points in XYZ space as two variables (U and V) are varied.

To create your equation (y=x^2/(x^2+(1-x)^2)) you need to vary U over the range 0.0 to 1.0 and substitute x for u - by defining X as simply u and defining Y as u**2/(u**2+(1-u)**2) (note that power (^) needs to be written as **).

In order to turn this into a symetrical surface we need two points, one at +y and the other at -y. For this we can use V and vary it between -1 and 1 with only 2 steps (so it flips between -1 and +1 for each point) and multiply the previous equation by v :

To produce the shape in your question we need to stretch the two sides apart - achieved by adding a constant to the equation :

Finally, to add the 'ends' we can extend the range and use "ternary" operators to allow us to use 'x if condition else y' form. Here we set it effectively to 0.5 if u < 0 else our_equation if u <= 1 else 1.5. This produces the following result :

Note the settings in the left-hand panel. Increase the U step for more vertices along the mesh. Decrease U min for a longer 'handle', increase U max for a longer 'paddle'.

Once you're happy with the shape you can simply enter edit mode (Tab) and Extrude (E) to give it some thickness (or add a Solidify modifier if you prefer).


vertices with similar weights not moving at same speed

Upon further playing around with the mesh, I found out that I should do the following to get what I want:

In edit mode, select the island of the cloth mesh, in this case, the t-shirt.
Press P to separate the cloth, click by "Selection".
Go to object mode, parent the rest of the mesh to the armature, with automatic weights.
Then parent the cloth just separated to the armature too.
Go to pose mode and move the body, the cloth will follow it.
Go back to object mode, select the cloth then the body, and then join the two meshes, to get back the original mesh.
Going back to pose mode and moving the armature around still shows that the cloth follows the body's motion.

That's it, this worked for me and I hope someone will also find it helpful. If anyone has a different way of approaching this, please share.


How to make a two-point perspective render?

It seems this is not possible to do the same way as Yafaray, however you can do it with camera positioning and tweaking the Shift values.

From the wiki:

   Two Point Rendering

  Normal architectural
  rendering is called two point rendering; when vertical lines are
  parallel, and horizontals, if followed out to the side, converge on
  one point, and receding or depth lines converge to a second point.

  Architects often like this Two-Point rendering, so that the sides of
  their buildings are completely vertical and don't appear to be falling
  inward. This is also quite nice for compositions and schematics, given
  that the lines of the paper you print on and the screen you view with
  are also straight.

  Previously to get a 2-point perspective, you had to
  aim the camera level to the horizon, however this resulted in the top
  half of the building being cut off and the horizon being in the exact
  middle, which looks very boring. Architectural photographers use
  'shift lenses' to solve this problem. Shift lenses shift the image to
  another place on the film. Two Point Horizontal Render This technique
  works well for high buildings as well as for normal sized objects.

  Most of the time, the two vanishing points are horizontal and depth
  lines, with the vertical lines parallel. However, some titles are done
  with the horizontal lines parallel, and the vertical and depth lines
  having the vanishing point. This dramatizes and exaggerates the
  massiveness and height of the title.

  To get this effect, position the camera at ground level, centered,
  angle the camera upward, and shift the render passpartout down. In the
  example, the camera is rotated 30 degrees upward, at ground level with
  the title. A bright key light with a short falloff provides dramatic
  lighting that is bright in the middle and falls off toward the sides,
  further enhancing the depth.

  To achieve 2-point rendering:

  Use a short wide angle lens camera, say with a Lens Size of 10 mm placed close to the building, or a long lens farther away from the
  building. These differences affect the depth of the building render,
  with longer lenses making the building appear thinner and less
  dramatic or distorted. The example uses a 40mm lens.
  Position the camera off to one side of the object, vertically halfway up the building to minimize distortion of the vertical
  building edges. You may alter this vertical (Z value) position to be
  slightly higher than ground level or higher than the top (if you want
  to see the top of the object or building). To show the front bottom
  corner of the building jutting out, raise up the camera.
  Angle the camera to be looking away from the building and directly level at the horizon - not pointed up or down (note the 20 degree Z
  angle in the example). This should make the vertical lines parallel.
  The more the camera looks at the object, the closer the vanishing
  point for the horizontal lines, and perceived depth will increase as
  that vanishing point gets closer as well.
  You may have to angle the camera slightly down (just 1 degree or so) so that vertical lines appear vertically up and down, both near
  and far. If the lines are curved, use a longer lens. With your 3D View
  set to Camera view, use the passpartout or pixels on your monitor to
  determine vertical.
  Move the camera toward/away from the object until it appears near a corner of the render and is the right size.
  Adjust the Shift: X and Y settings until your object is positioned properly.

E.g.:

With a normal camera setup:

With the camera setup as described in the wiki:


Select the Blender element you want to extrude, and set the pivot point to "3D cursor". Extrude press the escape key, and use the rotate transform to complete the action.


How to Inset irregular (unevenly scaled) shapes?

I don't know how it evaded me the past multiple searches, but I've discovered the solution! Blender 2.8 comes with the Inset Straight Skeleton add-on bundled. Add it under Preferences>Add-Ons>Mesh>Inset Straight Skeleton. It's accessed by searching (F3) and has only two parameters: Amount and Height. Using this I was able to accomplish exactly what I wanted! Hope this helps others in the future!


How do i unlink a texture from a material?

Reference: How do I completely remove an image from my .blend file?

Apparently I had to add the texture to the UV map editor again and then Shift+LMB the X button to remove that texture from my project.


Objects pivot around their origins, or (0, 0, 0) in their local space. An object's position is simply the location of its origin in world space. You can get this as a Vector from the object's location variable:
import bpy

obj = bpy.context.active_object
print(obj.location)

If you actually did want to set the cursor location:
bpy.context.scene.cursor.location = obj.location

See How do you get an object's position and rotation through script? for a more thorough look.


Render two layers together for compositing

I found the problem.

1) I needed to uncheck "use alpha" in the compositor.
2) add an alpha over to combine two layers.

I only don't understand why?


How to get rid of these displacement artifacts?

If I understand you correct, it is the sudden drop in the terrain and the jagged edge that you want to avoid. You must smoothe the edges of the heightmap.

The transparent portion of your texture is treated as white. So it goes quite abruptly from dark to white.

One way to do this is in photoshop.

Duplicate the layer.
Smooth the bottom layer. (the smaller blur radius the better result)
Merge the two layers.
Repeat this until the entire image is filled.

It is handy to make this an action (a macro or a script) in photoshop. It can easily be recorded.

Halfway step:

Final result:


How to install Pyserial for Blender 2.83

I followed this tutorial: http://www.techmonkeybusiness.com/hand-installing-pyserial-into-python-installations.html

The tutorial says:

Download the pyserial source code. The file you're looking for ends with .tar.gz
Unzipp what you've downloaded
Copy the serial folder it is under PySerial\pyserial-3.2.1\serial (the version can change)
Paste the folder in your blender modules folder 2.83\scripts\modules

and now you should be able to use import serial


This Blender Artists thread has some great ideas. One of the best (created by IkariShinji) produces Img 1's result using Img 2's node setup. A decent scratches map can be found by Googling "scratches map."

Img 1:

Img 2:


How to mirror an object in a 90 degree angle?

You have to use an array modifier to rotate it 90 degrees, then mirror it along the X and Y axis:

Result:


Ka always zeros in MTL file, reflectance and translucency coeffs also missing

By default the ambient color is black.

If you change it to something else in Properties > World > Ambient Color, then it works as expected:


The template had no light! All I had to do was make the mesh "emission" and it worked!

Thank you for the help!


Which is better extrusion or assembly for creating blueprints?

I would create the pieces separately and then join them later. Here are some reasons why:

It allows you to preserve separation of concerns. This in itself has many benefits; for example, you could have different team members working on different parts.
It allows you to easily animate assembly instructions by simply moving the objects.
Logically, it makes more sense: the pieces are physically separate; in the real world, they are separate objects, so they should be in Blender as well.
You can join the pieces together at any time by selecting them and pressing CtrlJ or 3D View → Tool Shelf (T) → Join, and you can separate them again with Separate (P) → By Loose Parts while in edit mode.


A possibility is to use some hidden mesh (or other native Blender object type) to store the wanted data.

Also, as indicated by @batFinger in comments, you can use text blocks as a more versatile solution, if needed.


Automatic weight paint of solid mesh (with some thickness)

For the moment, to paint through you need to go in the brush settings and disable the Front Faces Only and the Front-face Falloff options, and enable Projected. Don't ask me what are the purposes of all these options  ;)   It's a bit tedious in my opinion, they should create one unique option to paint through:


UV unwrap doesn't show up in Object Mode?

In order to make a UV Mapped image appear in Object Mode, I found it was necessary to both:

Set the Viewport Shading mode (The button just to the right of the Edit/Object mode selector in 3D View) to "Texture Mode"
Set Properties -> Shading (game_settings.material_mode) to GLSL (OpenGL Shading Language)


How to export PNG image sequence as GIF with transparency?

If you've already exported the animation into PNGs with transparent backgrounds, you can simply upload your images to a png to gif converter website such as ezgif.com and download the result. Cheers!


Working with large images and transform in the VSE

Currently not possible to do that without some image quality loss.

If this is allowed then do the following:

Option 1

Add your image as a strip.
With the strip selected add Effect Strip -> Transform.
In Transform strip properties choose Bilinear for interpolation (or try with the other options to your liking).
Now scale the image. Assuming you are using 1920x1080 for render dimensions - type the expression (with numbers) in Scale - for X - [your_image_width]/1920; for Y - [your_image_height]/1080. This will set upscale factors for the image which will restore its original dimensions and also here the image quality loss occurs.
Now you can pan or zoom in the Transform strip using Position and Scale respectively. For Scale from now on always multiply X and Y with the same scale factor. For example if you want to scale the image down in half multiply the values by 0.5. If you want to scale up twice - multiply both values by 2.

Option 2

You can always import the image in the 3D view as plane. For that you can use the plug-in

Import -> Images as Planes (if not there, enable it in User Preferences)

Make the camera orthographic and orient it so it looks directly towards the image plane.
Set the 3D view to Textured. Scale and move the plane from Camera view to your liking.
In VSEditor add the Scene where the image is as a strip. In Sequencer Image View properties choose Scene Preview/Render to be Textured.
You can open 3D View window and animate the scale and position of the plane. To see the updated plane, Refresh the sequencer or change frames in the timeline.

Option 2 has better image quality than Option 1 but requires you to work in the 3D space.


How to properly "uncurve" those UV wrapping projections?

Try the UV squares addon, it does exactly what you're looking for.

Related: Texture big problem


This sounds like you may have you have already 'Posed' your armature.

When an armature is already posed, parenting somthing to it will cause the child to take on the armatures pose. You need to only use 'edit mode' for choosing how the armature is set up. However this can be fixed:

Select the armature, go to pose mode, then Ax2 (or 1) just to select all bones. Then hit Alt+R, Alt+G, Alt+S, to clear all data on the bones.

When this is done your armature won't be where you wanted it, so go to edit mode to fix it back to the way you wanted.


OKAY ! So finally, after playing around with various scripts found on this website, assembling them, we found out  we had taken it the wrong way, as blender workflow is different from maya. The material is applied after in maya, and before in blender.
The solution is a simple script that asks objects from the scene to be applied a premade material. In maya, naming is important for referencing, so our objects always have the same name. It's a bit fastidious to enter each name individually the first time, but it works out for us, as we simply run the script for each panel thereafter.

Here's our frankenbaby: (replace lama with whatever name you have)

import bpy
ob = bpy.data.objects.get("lama")

# Get material
mat = bpy.data.materials.get("Lamamat")
if mat is None:
    # create material
    mat = bpy.data.materials.new(name="Lamamat")

# Assign it to object
if ob.data.materials:
    # assign to 1st material slot
    ob.data.materials[0] = mat
else:
    # no slots
    ob.data.materials.append(mat)


why the armature its faded in the outliner?

Have a look in the Object Properties Panel and make sure you have Selectable checked in the Visibility section.

In 2.81, the faded text indicates that Show in Viewport is unchecked.


How to treat video material with non-square pixels

I misinterpreted your question, and I thought you were going to create a DVD. My bad, I didn't read thoroughly.

For simply re-encoding a DVD to a video file, such as an MP4 or an AVI, I wouldn't use Blender at all. Exactly what to use, depends on your OS. If you just need to re-encode, with minor or no filtering, I'd suggest Avidemux, which is available for multiple operating systems and has an easy to understand GUI. If you're comfortable with command line tools, there's always FFmpeg. Both Blender and Avidemux use FFmpeg as a backend to encode video, but neither of them has support for everything FFmpeg can do; most notably not all combinations of codecs and container formats are available.

For the scaling part, I'd say do as little scaling as possible. Especially avoid upscaling. If you use a container format that has native support for aspect ratio settings, you shouldn't have to do any scaling at all. MP4 and MKV are the safest bet, as they have aspect ratio support, and AVI can be made to support it with some trickery, but not all players will understand it. FFmpeg and mencoder can write AVI files with aspect ratio settings.


Can't see Physics tab in Properties Panel in Blender

Hover with your mouse over the top, last icon of the property list. Now, roll the mouse wheel, the rest of the icons will display.
You can also do that on all main menus at the bottom of each 3d window to see the rest of the options menus.


Duplicating object and default value of property

Each property can have callback functions: update(), set(), get() and get(), set() callback functions allows force to use default value:

import bpy

values = {}

def cb_get(self):
    try:
        value = values[self.name]
    except KeyError:
        value = -1 # default value
    return value

def cb_set(self, value):
    values[self.name] = value
    return None

bpy.types.Object.my_prop = bpy.props.IntProperty(name="MyProp",
    description="My Property",
    get=cb_get,
    set=cb_set
    )

print(bpy.context.active_object.my_prop)
bpy.context.active_object.my_prop = 10
print(bpy.context.active_object.my_prop)

Example with more explanation can be found in this gist:

https://gist.github.com/jirihnidek/2e5218dd8bf06787e538

Edit: Reloading blend file using previous concept is risky (look at comments). Following solution tries to fix problems with reloading blend file.
    import bpy

def cb_get(self):
    if self.name != self.name_:
        self.name_ = self.name
        self.my_prop_ = -1 # default value
    return self.my_prop_

def cb_set(self, value):
    self.my_prop_ = value
    return None

bpy.types.Object.my_prop_ = bpy.props.IntProperty(name="MySecretProp",
    default=-1,
    description="My Secret Property",
    options={'HIDDEN'}
    )

bpy.types.Object.name_ = bpy.props.StringProperty(name="SecretName",
    default="",
    description="Expected name of object storing properties",
    options={'HIDDEN'}
    )

bpy.types.Object.my_prop = bpy.props.IntProperty(name="MyProp",
    description="My Property",
    update=cb_update,
    get=cb_get,
    set=cb_set
    )

print(bpy.context.active_object.my_prop)
bpy.context.active_object.my_prop = 10
print(bpy.context.active_object.my_prop)


Group of objects appear blurry and distorted after render?

First of all, the ID Mask doesn't return a part of the image, but rather a greyscale value that is meant to be used to mask parts of the original image, e.g. by use of a Set Alpha node or an Alpha Over node. The following node setup is a template for adding glow and blur to parts of an image. It can be adapted to more specific needs, but in your case I think it'll work well as it is (click to enlarge).

The first Mix node mixes the original image with black, making it black where the mask is black and the original colour where the mask is white, and a blend of the two where, if at all, the mask has any shades of grey.

I changed the Glare node. I set the quality to High. Then I set the Mix to 1.000. This makes the node output the processed image only. 0.000 means a 50/50 mix between the original and the processed images, and -1.000 means original image only. By turning the Threshold down to 0.000 all pixels are affected. Higher values makes pixels with intensity below the threshold pass through unaffected. Note that the effect of the Glare node will be less visible if you render a larger image.

I also changed the Blur node. I set it to Gaussian rather than Fast Gaussian, and increased the amount slightly and turned the Size up to 1.000.

I also did turn down the emission strength in the material for the bars to 1.000. That, however, is just personal taste.

And this is the result I got (click to enlarge, the reason the background is pink, is that I don't have the image you used to texture it).


You could follow this
https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Modeling_a_Wolf_from_Guide_Images, keeping this in mind https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Background_Images

It seems suited to a beginner, to me.

My personal advice: the most precise (all views well aligned, same scale, absolutely still subject) front/side/top view you can get, the better.


Change Base Color of Paint Slot, or Delete Paint Slot

You can change the base color.

Starting in Blender 2.8, the UV/Image Editor has been separated into two different Editors:

the UV Editor and
the Image Editor

Let's look at you what happens when when you're in Texture Paint Mode and you make a new Texture Slot, and how to change the color later on.
All hyperlinks below link to the Blender v2.83 Documentation.

Setup :
In the following example, I resized the default cube, and sculpted a crude rock.No materials nor textures have been applied. No other changes yet.

1st step, Add a Base Color to the Texture Slot :
In the following picture, I have four Editors open in four Areas1,

Image Editor
3D Viewport in Texture Paint mode
Outliner in the upper right
and the Properties Editor

Look at the Properties Editor.
Under the Texture Slots Panel, it says "No Textures" by default. Click the [+] button and click "Base Color" in the Context Menu. You can click the field for "Color" and select the base color for the Texture Paint Slot from the Color Wheel (shown in this next image).

Not shown in picture: I then renamed the Texture Paint Slot "Base Color for TexturePaintSlot", to make it apparent when we find it later.

2nd step, Find where this color data was saved :
We can now see that the mesh is displayed with a different color in the 3D Viewport's Texture Paint mode. We see this same color in the preview square to the left of our newly created Texture Slot, but it is nowhere else in the entire Properties Editor.
So where is this information stored?

If you don't have one already, open an Outliner Editor.

Once the Outliner is open, click the "Display Mode" button in the Editor's Header (next to the "Editor Type" Button) and select either Blender File or Data API. Each are shown in the following image.
Here we see the name we typed ("Base Color for TexturePaintSlot")
nested under Images.
The data we just created for the Texture Slot is an Image.

3rd step, Change the Color :
Open the Image Editor and click the dropdown for "Browse Image to be linked" and select the name of the Texture Paint Slot created in the 1st step above.
Note, this means you are "linking" the image into the Image Editor. Similar to how if you change Scenes using the Topbar2, the tooltip displays "Browse Scene to be linked". If you'd like to know more, read about Data-Block Menus3.

To change the color of our Texture Paint Slot image data:

Change the Image Editor's mode to Paint.
Select the Fill tool in the Toolbar.
Change the color for the tool.
Click on the image.

Concluding Remarks :
It would be nice if we were able to change the color by clicking that little preview square in the Texture Slots Panel, especially if you change your mind and just wanted to make a small tweak.
But for now this is a fairly straightforward way to change the base color (once you understand how the datatype works).
If you'd like to non-destructively change the color, simply go back to the 1st step above, add a new Texture Paint Slot, and select it in that Texture Slots panel. Then follow the rest of the steps and modify your new slot instead.

Links to Blender v2.83 Documentation for further reading :
Areas1 :
docs.blender.org/manual/en/2.83/interface/window_system/areas.html
Topbar2 :
docs.blender.org/manual/en/2.83/interface/window_system/introduction.html
Data-Block Menus3 :
docs.blender.org/manual/en/2.83/interface/controls/templates/data_block.html#ui-data-block


Keyframe Bar Chart Animation Efficiently

Here's how I would write this script for a single object. You could use a "for loop" to iterate through all of your objects.

import bpy

scene = bpy.context.scene
obj = scene.objects['Cube']

y_locations = [
    10,
    13,
    22,
]

current_frame = 0
for y_location in y_locations:
    obj.location[1] = y_location
    obj.keyframe_insert(
        data_path="location", frame=current_frame)

    current_frame += 20


How to Import a finished 3D model with texture into a new blender file?

For most things, there are multiple ways to complete them in Blender, and importing a material is one of them. The procedure outlined by Zac Perry in his answer above certainly works, but if you are wanting to append just a material, an alternate method is to do steps 1 through 4 as Zac outlines them in his answer, but in step 5, instead of going to the object folder, and appending the object, you can go to the material folder, and append the material.

In the same manner, if you wanted just to append a texture from one file to another, and assign it in the new file to a different material, you can do that by navigating to the texture folder, and appending it from there.

Both of these (and for that matter, appending an object as suggested by Zac) become orders of magntitude easier if one takes the time to give meaningful names to objects, materials, and textures, and for that matter, to meshes, too.


how to flatten out the middle part of landscape

Select the vertices you want to be leveled, set 3D cursor to world origin, change pivot point to 3D cursor, S+Z+0. Don't forget to reset pivot point, or other things could go wrong. Hope this helps :)


When importing make sure you select these options:


How to run a script with lot of nested loop without crash

Ok so apparently when I run it on same PC but with windows OS it can run without any crash so far. So I will submit this into bug for linux later on. Thank you for all the helpful comment especially lemon who go as far as trying my code in his/her PC


Grease pencil 2.8, how to move strokes / curves / shapes between layers within the same GP objects

In edit mode, you can select strokes and assign them to the layer of your choice with the shortcut M or by going to the Stroke menu -> "Move to layer"


How to rename objects based on LODs in python script?

import bpy
name = 'Cube'  # case sensitive
collection_name = f'{name}.collection'
i = 0
obj = bpy.data.objects.get(name)
group = []
while obj:
    # this loop assumes you don't have a missing object
    # (e.g. Cube, Cube.001, Cube.003 will not reach to the Cube.003)
    group.append(obj)
    i += 1
    obj = bpy.data.objects.get(f'{name}.{i:03d}')

'''lines 4-12 could be replaced with a single line below, but the line below
will match objects with names 'Cube.000', 'Cubes', 'Cube_copy' etc. as well
as it will go through all objects on the scene, which (rarely) could  be slow'''
# group = [o for o in bpy.data.objects if o.name.startswith(name)]

target_collection = bpy.data.collections.get(collection_name)
if not target_collection:
    target_collection = bpy.data.collections.new(collection_name)
    bpy.context.scene.collection.children.link(target_collection)

def sort_key(obj):
    obj.data.calc_loop_triangles()
    return len(obj.data.loop_triangles)

result = list(enumerate(sorted(group, key=sort_key), start=1))

for i, obj in result:
    obj.name = name + (f'_LOD{i}' if i<len(result) else '')
    for collection in obj.users_collection:
        collection.objects.unlink(obj)
    target_collection.objects.link(obj)

How to put similar named objects into collection in python?
Finding Vertices, Edges, Faces, and Tris using Python


Orientation of array objects along a helix path

Twist method set to Z up on the helix curve:


how are games rendered in real-time gameplay?

The game engine uses openGL to render the image on screen. This is the same technology used to draw everything in blender's window. While video cards are designed to accelerate time consuming parts of openGL it is still common to keep the vertex count as low as possible to allow updating the window enough to get smooth animation. GLSL shading (that's openGL Shading Language) is also often used to get nicer results.

Maps is a fairly general term that is used in reference to the texturing used in the game engine. There are UVMaps that 'map' a location on a 3D model to a location on a 2d image. You can use several images on a finished model that are often referred to as maps. A normal map is an image containing details defining the 'surface distortion' this gives the appearance of detail that can cast shadows and highlights on the model without the extra geometry. A bump map is a simplified method of normal mapping. A specular map is an image that defines what parts of the model are shiny. Similarly a diffuse or texture map defines what diffuse colour is used at each part of the model.

Normally detailed models are created and then the detail is 'baked' onto these different 'maps' to be used during game play on a low poly model. This lets you do all the costly calculations at development time to give the game engine less work rendering the screen.

For the most part the texture options available when using the blender internal render engine are available when using the game engine. You can see the differences when you switch between the two, such as limited transparency, no mirror or subsurface scattering when using the game engine.


weight painting in blender displaying black color

Perhaps the shading of the viewport is shaded to the maximum. Reduce from 1.0 to .25. If you want you can also set Lighting for FLAT.
Hope this helps.


Boolean modifiers are known to cause issues when dealing with non-manifold and/or curvy geometry.

I can't say for sure what exactly what is causing the issue from your screenshot, but I'd guess it has to do with how you constructed it, seeing that your object is named as a plane in the outliner.

Applying a Solidify Modifier before the Boolean Modifier should fix your issue.


Fire effect looks different when renderd

First off I would disagree that the fire looks "better" in the viewport (but that is the very nature of using comparative and superlative adjectives to ask questions: at the end they are just opinions... Impossible to answer objectively...)

If the issue is how bright the fire is, there are many ways to control it.

The most obvious way is by increasing the intensity of the emission for the smoke domain.

It is very easy to push the values to the point where the brightest (hottest) part of the fire become white.

The issue becomes that the intensity of the emitter prevents us very quickly to deal with the color saturation in a way that resembles the images of fire that we are used to.

A different approach would be to change the intensity along with the way the values of the scene are mapped to create an image, so....

Welcome to the wonderful world of color management!

In this brave, and mostly unexplored world, you can have a lot more control on the intensity, and most importantly, how those values become the final image.

Given that you are exploring a version of blender that includes the filmic blender, you can find new ways to have intense values without having to loose detail in the bright areas.


problem with deformation of curve modifier

It's all about the order of events.

'First and Last' merging in the Array modifier doesn't work because the Curve hasn't happened yet. (It's only really useful when the rotation is performed in the array)
Modifiers operate on the mesh as handed to them by the stack. But edits on the mesh happen before any modifiers. So you have merged vertices on the strip in its uncurled state. If you switch off the Curve modifier, you can see:

One way of merging the ends of a cyclically-deformed array is to put a Weld modifier below the Curve. Then you can leave all your modifiers live.


Bare Bones Approach.
Can simply use an update on a boolean property button to start (add) and stop (remove) a handler.
The button is added to the window manager object, and will be False when blender is loaded (or addon is first enabled)
For testing the button is added to the footer of the text editor. The frame change post handler is used as a test case.
import bpy
from bpy.props import BoolProperty

def foogle(scene):
    print("Keep on Foogling", scene.frame_current)

def toggle_handler(self, context):
    print("Toggle Handler")
    if self.toggle_handler:
        bpy.app.handlers.frame_change_post.append(foogle)
    else:
        bpy.app.handlers.frame_change_post.remove(foogle)

def draw(self, context):
    wm = context.window_manager
    self.layout.prop(wm, "toggle_handler", toggle=True)

def register():
    bpy.types.WindowManager.toggle_handler = BoolProperty(
            update=toggle_handler,
            )
    bpy.types.TEXT_HT_footer.append(draw)

if __name__ == "__main__":
    register()


I finally fix the issue. Instead of using "Always" for the Atcion, I need to use the same Keyboard Sensor.

Thanks!!


How can I make the section of a prolate ellipse like the one shown in the figure?

You could do it this way:

Create a cube, subdivide it 3 times and in the Operator box give it a Smoothness value of 1:

Cut the top half, scale on the Z axis:

Cut a hole:

Extrude all along the normals (AltE):

Create some edge loop, both to sharp the edge and to give it different colors:

Give it the colors, give it a Subdivision Surface modifier:


Is it possible to manually sculpt a specific face in Blender ultra-accurately?

In theory, yes, if you have enough reference material and time, it would be possible. The end result is after all basically just a mesh and some textures, independent opf the method used to create it. However it takes a lot of skill to create lifelike copies of human faces, so if you intend to learn to do this yourself, expect to put in a lot of effort and experience a lot of frustration before you get something that looks reasonably good.

Its also worth noting that 3d scans also generally need a fair bit of manual work to get the best results, for example the image you have included has a number of artifacts including the eyebrows (which should probably be replaced with particle hair for a  more realistic reproduction.


Arm Polygons attached to Clothes Polygons?

This is due to weight painting, just not the bone your using.  when your moving a bone and it's moving part of the mesh you don't want it to, and the weight painting seems to be normal, check all the bones that are parented to the bone your moving.  in this case, check the fingers.

I hope this is helpful.


How to render part of an image at a higher amount of samples

There are two ways to do this.

1. Two Pass Render and Combine
One way is to render the whole image at 200 and then render just the selected area using border render to render the 400 sample area, and then combine them with the compositor or an image editor.

Pros: Good for small areas of an object, or large swaths of the scene involving multiple objects.
Cons: requires extra rendering to a small degree.

2. Use Render Layers to Set Different Sample Levels
The second solution, which would allow you to do it in one task would be to use render layers. If the objects that require 400 samples can be separated onto a different render layer than the rest of the scene, you can set a different sample amount per render layer.

Pros: Gives you more fine-tuned control over sample levels on an object level. Not limited to rectangular selections.
Cons: Can't render different portions of one object with different sample levels.

2b. Advanced Example
Here is an answer that extends the render layer answer above. It is more specific to your blend file and allows the rendering of the text and text shadows at the higher resolution.

The main idea is to separate all the items plus a shadow catcher plane across 4 render layers. This way you can set the sample amount for each layer.

Here's the final comp plus the separate rendered layers:

Here's the Render Layer set up:

Note that the Background layer is excluding the other 3 layers, and the ShadowCatcher layer excluding the Background layer.

Here's the composite node tree to combine the layers. Please note that I used the Shadow pass of the shadow plane, not the combined layer.


Cycles render Blender 2.79b - Texture/Material being rendered solid black

So after restarting my pc, and messing around with options I got the texture to show up but it was still broken ( as if it was deepfried ). I retried with a new project and started out with blender render which worked fine, I then switched back to cycles, reapplied the texture and it works fine now. I don't know how but I won't complain.


how can I show a texture over my bump texture?

The node setup you have shown looks like it should work fine.  I believe your problem is that you are multiplying the bump map by 0.000, effectively disabling it.  Try increasing the value of the Multiply node.

If the Multiply node is just supposed to control the strength, you don't need it at all, you can just adjust the Strength slider on the Bump Map node.  You can also delete the Invert Color node and use the Invert checkbox on the Bump Map node.

Just select the Invert node and the Math Multiply node and hit Ctrl+X to delete them and keep the other nodes connected.  Then adjust the Strength and select Invert on the Bump Map node itself.


How to stretch a material without changing shape

-Go into edit mode
-Press GG to Edge Slide
-On bottom menu Toggle "Correct UVs"
-Resize using GG without breaking textures (hold alt to extend outside the borders)


Adding staints to paintwall (two image textures) - UV map problem

So let say you want to make this object, but the sign is a PNG image apart (make sure it has a transparent background):

Load your background picture, create your first UV map, put your UV on the background.

Load your sign image, create a second UV map, put the face(s) you want on the sign, reduce the other ones so that they don't overlay the sign (I thought I could create a one face map but it seems like not, perhaps someone will tell):

In the Shader Editor, use this node chain. Use the Input > UV Map nodes to tell what UV map Blender is supposed to use for each image (you don't need to use the first UV Map node as the first UV map will be chosen by default). For the stain's Image Texture, choose Clip instead of Repeat to make sure that the other faces are not overlaying the sign (or move them over a transparent zone). Don't forget to plug the alpha output into the Factor of the Mix Shader.


How to use the age of a particle to change a modifier of a particle itself?

A simple way I just found is to use animation node (here version 2.1.8) and to loop on the particles object. Here is the graph I made:

Note: this is only a minimal setup to have something working (the result is not really useful/pleasant for a real animation), also for some reason I am unable to set a modifier into the "Object Data Path Output > Path" field. Only object specific data are working.
My scene only contains a cone for the particle and a cube for the emitter.


parts of my models are disappearing as my scene gets bigger

It's the camera clip plane. It controls the closest and furthest distance that gets rendered. You can adjust it for the editing view in the properties region (N key):

...and for any render cameras in the camera settings panel:

It is a good idea to scale both the near and far clip plane by the same factor (i.e. scale 1cm..100m up to 1m..10km) to preserve the precision of the depth buffer.

Technical: when objects are drawn, each pixel's distance to the camera is recorded in a "depth buffer". If another object draws to the same pixel, the depth buffer is consulted to know whether to draw over the pixel (new pixel is closer and in front of old pixel) or skip the pixel (new pixel is further away).

The precision of the distance values recorded in the depth buffer is limited, thus there is a nearest possible value (near clip plane) and a farthest possible value (far clip plane). Everything outside that range is simply not rendered. If the depth buffer is stretched out too far (i.e. to 1mm..100km) depth accuracy suffers and "Z-fighting" ensues (pixels that are farther away randomly draw on top of nearer pixels due to rounding errors).


When I add a cylinder, it doesn't even show up on my screen at all

The mesh will be added in the position of the 3D cursor. You need to place the 3D cursor where you want the cylinder to appear.
In the meantime you have got the mesh somewhere - it showed up in the Outliner when you pressed Add cylinder.  You can find the object while it's still selected by pressing Numpad . (dot). The viewport camera will zoom in to the selected object. Or, if it's not selected, select it in the Outliner.


How to open URL upon clicking an object? UPBGE/BGE

You can open a web URL in another browser with Python by running the following code at run-time.
import webbrowser
webbrowser.open('http://google.com')


Blender Path Deform Bone Contraint Deforms Mesh

There is another method for this kind of purpose, which is better than this one, given here by Batfinger. That said your problem is just that your vertices are influenced by other bones, if I select one of the 4 back face vertices, here is what I see (by the way, Bone is probably your root bone, you haven't disabled its Deform option):

So simply click on the X button to remove these vertex groups, or use the Weight Paint Subtract brush.


What is causing this reflection on a surface? (Blender Guru coffee cup tutorial)

I think I managed to fix it. After experimenting with the scale of the liquid and HDRI and shading settings, I found out it was neither of these.
I hid the liquid by using the eye icon while in render view and I noticed the line was still there, and when I switched to object view, it still looked like there was a still a liquid shape. What I think I did was duplicate the vertices and right clicked rather than make a separate object. I then created a new liquid layer on top.
So what I did was click on the cup in Edit Mode and then Merge Vertices > By Distance. This effectively removed that additional liquid layer I had in the cup object.


What is the Python code related to collection actions for blender 2.8?

Here an example i made, it will place the active object to a new collection.
it's a really simple example i hope it can help the beginner (like me) out there.

import bpy

obj = bpy.context.object
obj_old_coll = obj.users_collection #list of all collection the obj is in

new_coll = bpy.data.collections.new(name="COLLECTION TEST") #create new coll in data
bpy.context.scene.collection.children.link(new_coll) #add new coll to the scene
new_coll.objects.link(obj) #link obj to scene

for ob in obj_old_coll: #unlink from all  precedent obj collections
    ob.objects.unlink(obj)

here another examples:

import bpy

A = bpy.context.object
A_old_coll = A.users_collection #list of all collection the obj is in

terrain_coll_name = "Scatter: ["+A.name+"]"+" Terrain"
if terrain_coll_name not in bpy.data.collections: #if this collection name is not in all collection already:
    terrain_coll = bpy.data.collections.new(name=terrain_coll_name) #create new coll in data
    bpy.context.scene.collection.children.link(terrain_coll) #add new coll to the scene
else:
    terrain_coll = bpy.data.collections[terrain_coll_name] #else let re use the already existing one

terrain_coll.objects.link(A) #link obj to terrain coll

for ob in A_old_coll: #unlink from all  precedent obj collections
    ob.objects.unlink(A)


keep applying transformations to duplicated object

Linked duplicates and do transformations in edit mode.
Or use mirror modifier.


How to get the Class of selected object in Blender 2.8?

The selected class is not retrievable for every object, as that code is defined in C, not in Python. But the body of your question asks for the type anyways, so here you go:

objectType = bpy.context.object.type

This will yield one of the following strings in Blender2.8 (which I assume you use, as in 2.79 there are no Grease Pencil Objects):

"MESH"
"CURVE"
"SURFACE"
"META"
"FONT"
"ARMATURE"
"LATTICE"
"EMPTY"
"GPENCIL"
"CAMERA"
"LIGHT"
"SPEAKER"
"LIGHT_PROBE"

To get an updated type list (as the API changes sometimes), you can use the following code with an active object:

import bpy

types = bpy.context.object.bl_rna.properties['type'].enum_items

for t in types:
    print('type %s: %s' %(t.identifier, t.name))

Result in py console (2.8)

Convenience Variables: C = bpy.context, D = bpy.data

>>> C.object.__class__
<class 'bpy_types.Object'>

>>> types = C.object.bl_rna.properties['type'].enum_items
>>>
>>> for t in types:
...     print('type %s: %s' %(t.identifier, t.name))
...
type MESH: Mesh
type CURVE: Curve
type SURFACE: Surface
type META: Meta
type FONT: Font
type ARMATURE: Armature
type LATTICE: Lattice
type EMPTY: Empty
type GPENCIL: GPencil
type CAMERA: Camera
type LIGHT: Light
type SPEAKER: Speaker
type LIGHT_PROBE: Probe


How to keep a mesh in the same location relative to its parent mesh?

The letters and the "buttons" are two separate object. In order to get them move together, they should be one object. One "m" should be joined with one "button".

First, select every "m" individually, then hit Ctrl+A and select "Rotation and Scale". Repeat this for every "m" and every "button".

Select the "m", then shift-select the "button", then hit Ctrl+J to join them. Repeat this for all six pairs.