How to combine circular two shapes and subdivision surface properly and curved cylinder cap? I can't find a way to combine the two circular shapes, and then subdivision surface properly.
The bottom circle is curved so the face has to be made out of horizontal quads.

Subsurf a curved cylinder cap???

It looks like this kind of topology could work, tell me if it's ok:


GLTF files in three js i've been trying to export a gltf file to three js from blender I have used this tutorial and realised that it may be outdated since the gltf extension they're using is archived and it doesn't appear in the group menu in the uv node editor. How do I export a 3d gltf file suitable for three.js in 2.81 version of blender. There seems to be no tutorial on this.
This is pretty confusing since I have never used blender before only maya.

That last link (to the official blender addon docs) is the right workflow, if you already know the basics of creating materials in Blender. If not, I would start with a tutorial on Blender's Principled BSDF, like this one. If you follow the guidelines in the addon docs, a Principled BSDF material will export to glTF correctly.
More information in https://discourse.threejs.org/t/dont-know-how-to-create-gltf-file-suitable-for-three-js-in-blender/13065.


Object particle flicker and halted dynamics I have an object particle system that seems to work fine in the OpenGL preview animation, but the final render causes flickering and the dynamics suddenly stop. Here's a video showing the final render and the OpenGL preview right after it: https://vid.me/bUVq.

Does anyone know what might be causing this?

I'll admit I'm not entirely sure why, but the issue seems to stem from the particles colliding with the plane at the bottom. If the object isn't closed so that all normals are facing outward, then the particles which get stuck in the collider cause flickering and the dynamics fail.

So, the solution to this problem is to add a solidify modifier to the plane collider at the bottom. To illustrate the difference before and after the adding the solidify modifier to the plane, I'll show you scaled down versions of frames 80 and 85.

As you can see above, the petals just seem to fall down with very minor rotation. If I were to render more frames, you'd see that some petals flicker in and out. This is definitely not desired.

And now you can see that the scene is completely changed now that there is no error. All the petals seem to rotate or translate to a different position.


How to make a Python operator as a Slider- Scripting an Addon I am in the process of finishing an add-on I have been making and I am trying to work on some final tweaks. I am wondering how I can make a Python operator that is a Slider which controls the x, y, or z position of the selected object. Something like the image below except that controls position specifically. Thanks! - Brad

Set slider property to True

Consult the docs on UILayout.prop,

  prop(data, property, text="", text_ctxt="", translate=True,
  icon='NONE', expand=False, slider=False,toggle=False,
  icon_only=False, event=False, full_event=False, emboss=True, index=-1,
  icon_value=0)

To display the property in the UI  set it to True.  The default is slider = False

  slider (boolean, (optional)) – Use slider widget for numeric values

Sample code

def draw(self, context):
    self.layout(context.object, "prop", slider=True)

Make sure to set the minimum and maximum of the property, if unset the default values are +/- the maximum possible value on your system and as a result the slider will sit around the middle and be somewhat meaningless.

Tip: Right click and view source to see the code behind the UI.


Need Help making a frosted light Bulb material I been trying to make a material that looks like this:

I have only been able to make this:

I would love to have some help with this.

Overview:

I'll show you two methods with their pros and cons. One of them are using Cynicat Pro PBR Nodes and the second one is created by myself. As pointed by @cegeton you'll need some kind of environment to see reflections in light bulb. Try HDRI maps.

Both setups are using same masking method so I'll start with that.

Mask:

Mask is for the transition between clear glass and frosted/milky one.

You can control position of this transition and sharpness/smoothness.

My method:

My setup is using simple mix of Translucent and Glossy shader by Layer Weight.

If you want to have less/more reflection you can tweak Layer Weight Blend value.

Pros: It's good if you want to have it completely off (no light emission) and also works with light source inside.

Cons: It's pretty "heavy" to render, note amount of noise in final render.

Method based on Cynicat Pro PBR:

After downloading file from link in overview, append from it two Materials - Light and Glass. Then set Light as your object material and modify it accordingly to the image. PBR nodes are in Add > Group in Node Editor.

Pros: It look awesome. It's really fast. It's easy to manipulate.

Cons: It need to be always turned on. Emission value should be higher then something around 0.2, otherwise material is black.


Custom icons work when example is run in TextEditor, but fail in my add-on code? I've been trying to make an addon in Blender 3D, and have basically started out making a custom button that's going to generate a mesh. I want a custom icon for the mesh I'm going to generate, and I can get it to work as a script, but not as an addon. So when I click 'run script' a button shows up with my icon (which is in a folder called 'icons')

I've seen one code template that looks promising for an addon, but I can't get my icon to load when I try it:https://developer.blender.org/diffusion/B/browse/master/release/scripts/templates_py/ui_previews_custom_icon.py

If anyone has any examples of working addon code (like an example addon with a custom button with a custom icon) it would be very helpful.

I've already tried using one solution I found on this site, but it only works as a script, and not as an addon. Here's the code that works as a script:

   #----------------------------------------------------------
# File hello.py
#----------------------------------------------------------
import bpy

#
#    Menu in tools region
#
class ToolsPanel(bpy.types.Panel):
    bl_label = "MyAddon"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"

    def draw(self, context):
        self.layout.operator("hello.hello", icon_value=custom_icons["custom_icon"].icon_id)
        global custom_icons

#

class OBJECT_OT_HelloButton(bpy.types.Operator):
    bl_idname = "hello.hello"
    bl_label = "Generate MyMesh"
    bl_icon= "custom_icons[custom_icon].icon_id"
    country = bpy.props.StringProperty()

    def execute(self, context):
        if self.country == '':
            print("Hello world!")
        else:
            print("Hello world from %s!" % self.country)
        return{'FINISHED'}

#
#    Registration
#   All panels and operators must be registered with Blender; otherwise
#   they do not show up. The simplest way to register everything in the
#   file is with a call to bpy.utils.register_module(__name__).
#

bpy.utils.register_module(__name__)

import os
import bpy
import bpy.utils.previews

class Panel(bpy.types.Panel):
    """Creates a Panel in the 3D view Tools panel"""
    bl_label = "Custom Icon Preview Panel"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"

    def draw(self, context):
        global custom_icons

# global variable to store icons in
custom_icons = None

def register():
    global custom_icons
    custom_icons = bpy.utils.previews.new()
    script_path = bpy.context.space_data.text.filepath
    icons_dir = os.path.join(os.path.dirname(script_path), "icons")
    custom_icons.load("custom_icon", os.path.join(icons_dir, "icon.png"), 'IMAGE')
    bpy.utils.register_module(__name__)

def unregister():
    global custom_icons
    bpy.utils.previews.remove(custom_icons)
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

in particular this line won't produce the same result when running it as an add-on:

script_path = bpy.context.space_data.text.filepath

because the code isn't located in a text data block inside the .blend any longer, but directly on your file-system/ harddisk

to get the script path as an addon you can do

script_path = os.path.dirname(__file__)

or as a one liner set icons_dir:

icons_dir = os.path.join(os.path.dirname(__file__), "icons")

to complete your script. I reused the template in TextEditor, and some variable names may have changed. (good practice to figure out what's different). There's no need to use global keyword, using a dict for the preview_collections lets you avoid that complication.

bl_info = {
    "name": "FILL ME IN",
    "author": "fauxbar",
    "version": (0, 1),
    "blender": (2, 7, 6),
    "category": "3D View"
}

import os
import bpy

# global variable to store icons in
preview_collections = {}

class ToolsPanel(bpy.types.Panel):
    bl_label = "MyAddon"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"

    def draw(self, context):
        this_icon = preview_collections["custom_icons"]["custom_icon"].icon_id
        self.layout.operator("hello.hello", icon_value=this_icon)

class OBJECT_OT_HelloButton(bpy.types.Operator):
    bl_idname = "hello.hello"
    bl_label = "Generate MyMesh"
    # the icon is told to appear by layout.operator(...icon_value=this_icon) (above)

    def execute(self, context):
        print("Hello world, from space")
        return{'FINISHED'}

class Panel(bpy.types.Panel):
    """Creates a Panel in the 3D view Tools panel"""
    bl_label = "Custom Icon Preview Panel"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"

    def draw(self, context):
        self.layout.row().label('something')

def register():

    import bpy.utils.previews
    pcoll = bpy.utils.previews.new()
    icons_dir = os.path.join(os.path.dirname(__file__), "icons")
    pcoll.load("custom_icon", os.path.join(icons_dir, "icon.png"), 'IMAGE')
    preview_collections["custom_icons"] = pcoll

    bpy.utils.register_module(__name__)

def unregister():

    for pcoll in preview_collections.values():
        bpy.utils.previews.remove(pcoll)
    preview_collections.clear()

    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()


Multicolored outlines (For Blender Render) I want to give to my model a outline with multiple colors.

As you can see in this image, the outlines are slighty darker than the material they surround. How can I do something like that in Blender (Render mode)?

Using the "Freestyle" outlines I can only get one color outline like this:

With the Freestyle rendering option enabled, you will find the Freestyle Line panel showing up in the Material properties window.  The color selector in this panel allows you to choose a line color associated to the material.  The line color can then be referenced using the Material color modifier in the Freestyle Line Style panel in the Render Layers properties window.

At material boundaries, you might want to use the Priority parameter in the Freestyle Line panel to give a precedence to one of two competing line colors at material boundaries.  A post in the Freestyle development blog details this feature if you're interested.


How to chance radii of many cylinders at the same time? I want to change radii of the cylinders without moving each one.

Now the radius of each cylinder is 0,6cm, I want to make them 0,13cm.

Is is possible?

If they are equal, you can select all of them, Ctrl L Link object data, then if you modify one, every other will be modified as well. Press U to turn back to single user.

To vary the radius of the cylinders without affecting loc and rot, choose the "normal" transform orientation, select the top of one cylinder and click this plus button to create a new custom transform orientation, call it "face normal".

Then choose face normal as active transform orientation, select all vertices of one cylinder and press  S Shift Z Z.


How do I fill these holes, fill space without information, and deal with overlapping meshes Hello user forums and those interested,

I have scanned a brick using a 3D scanner and the mesh it provided has lots of holes, overlapping mesh, and it missed the extruded interior of the holes.
How can I fill the random holes more efficiently than selecting edges and filling the holes? How do I deal with the overlapping faces? How should I fill the extruded interior?

Try the remesh modifier. This will generate an entirely new manifold mesh made exclusively of quads.


making reusable text object I want to simulate a multi-agent system with Blender. It's almost done, but I experience a problem.

System agents speak to each other by passing messages, and I want to pass messages between them. I considered a text object as container of these messages. There is no constraint on the number of agents.

I want to create one (or some) text object and reuse it many times, by only changing source and destination locations and body texts.

After some search, I realized, that there is no data_path that supports keyframe_insert() to change the body text. Beside that I found dynamic text, but my context is extremely different with that method's context.

I want to change text on every keyframe, and it depends on my simulation's input.

An application handler could be used to read subtitle data from your simulation module and display it by editing a text object.

import bpy
from bpy.app.handlers import persistent

@persistent
def frame_change(arg):
    print("Load Handler:", bpy.data.filepath)
    t = bpy.data.objects["Text"]
    # here get the text you want to display
    label = ("Frame # %d" % bpy.context.scene.frame_current)
    t.data.body = label

bpy.app.handlers.frame_change_pre.append(frame_change)


How to quickly assign an individual material to color thousands of cubes at the same time with python API in Blender 2.8? Let us just say you have a 100x100 cubes 2d grid and each cube will be assigned its own individual material. How can you do this? My code below worked initially when I created all the cubes as individual objects but it took a very very long time to create that many cubes. I was then told I can speed up this process by just copying over the mesh from the first cube to help create the next cube. This speeded up the process but when I tried to run my coloring functions all the cubes now shares the same color material. I assume this is because the new cubes inherited it's material from the creation of the first cube. I think its has something to do with the last else statement below but I am not sure.

How can I keep the speed gain from copying cube mesh to create cubes without inheriting the initial material color from the first cube as well? I asked this question in the Blender official chat a whiles ago and was told to use MaterialSlot(bpy_struct) and I have no idea how it works.

Full relevant code

class Create(Animation):

    def __init__(self, collection_name, H, W, y_axis):

        self.collection_name = collection_name
        self.H = H
        self.W = W
        self.master_collection = bpy.context.scene.collection
        self.myCol = bpy.data.collections.new(self.collection_name) # Automatically create the correct layer
        bpy.context.scene.collection.children.link(self.myCol)

    def create_block(self, x_axis, y_axis, z_axis):
        """
        1) Takes the Height and Width and create a 3D wall in Blender
        2) Center it in the middle, assign it to the given collection
        3) Translate corresponding pixel values to the correct mat color

        Args:
            H -- The height(int)
            W -- The width(int)
            collection -- The collection this block belongs too(str)
        """

        if self.collection_name == "input_image": # try mycol flag

            self.x = x_axis
            self.y = y_axis
            self.z = z_axis

        elif self.collection_name == "filters":

            self.x = x_axis + 69
            self.y = y_axis
            self.z = z_axis + 69

        pixel_idx = 0 # corresponding pixel value index from the tensor

        bpy.ops.mesh.primitive_cube_add(size=2, view_align=False, enter_editmode=False, location=(self.x, self.y, self.z)) #create initial cube

        cube = bpy.context.scene.objects[0] # remove the duplicate cube from initbpy.ops

        for height in range(self.H): # z-axis

            for width in range(self.W): # # x-axis

                new_cube = bpy.data.objects.new(self.collection_name + "cube", cube.data) #cube.data = mesh struct

                new_cube.location = (self.x, self.y, self.z)

                self.myCol.objects.link(new_cube)

                #self.master_collection.objects.unlink(new_cube)

                self.x += 3

            if self.collection_name == "filters":
                self.x = x_axis + 69
            elif self.collection_name == "input_image":
                self.x = x_axis

            self.z += 3

        bpy.ops.object.delete()

    def fill_pixel_value(self, tensor_img):

        self.image_flatten = tensor_img

        self.obs = bpy.context.scene.objects

        for i, o in enumerate(self.obs):

            name = o.name #grab the cube's name

            mat = bpy.data.materials.get("Material")

            if mat is None:

                mat = bpy.data.materials.new( name + "_Material" )

                #Change the mat color to the corresponding image_flatten tensor values
                # This used to work but now the first cube I made has the dominate material.

                mat.diffuse_color = ( self.image_flatten[i], self.image_flatten[i], self.image_flatten[i], 1 ) #RGBA

                # Assign it to object
            if o.data.materials:

                # assign to 1st material slot

                o.data.materials[0] = mat

            else:
                # no slots

                o.data.materials.append(mat)

One mesh, object linked materials.

You are trying to make same linked mesh have different materials on a different object. Using object linked materials can use only the one mesh, and N x N materials and objects.

import bpy
context = bpy.context
scene = context.scene
count = 32

bpy.ops.mesh.primitive_cube_add(location=(0, 0, 0))
ob = context.object
dx, dy = ob.dimensions.xy
bpy.ops.object.material_slot_add()
ob.material_slots[0].link = 'OBJECT'

mat = bpy.data.materials.new("Mat")
ob.material_slots[0].material = mat
for i in range(1, count * count):
    o = ob.copy()
    o.material_slots[0].material = mat.copy()
    # set some mat props
    o.location = (dx * (i % count), dy * (i // count), 0)
    scene.collection.objects.link(o)

One material could be used here instead by mapping texture coordinates via the object.

Method 2: 1 material, N x N objects and meshes.

Grid, UVMap image texture, edge split, solidify, separate by loose parts

Using the same methods as outlined to you here https://blender.stackexchange.com/a/131765/15543

Material is an image texture mapped to the UV. This way we only have one material. The UV can be mapped to 1 pixel squares.

Result of script. Image is 128x128, grid was split 32 x 32

So each block has a top with 4x4 pixels.

import bpy
context = bpy.context

bpy.ops.mesh.primitive_grid_add(
        size=10,
        x_subdivisions=33,
        y_subdivisions=33,
        calc_uvs=True)

ob = context.object
me = ob.data
me.materials.append(bpy.data.materials["Material"])
sfy = ob.modifiers.new(name="Solidify", type='SOLIDIFY')
sfy.thickness = 1 / 3
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.edge_split()
bpy.ops.mesh.separate(type='LOOSE')
bpy.ops.object.mode_set()

bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY')

Creating 128 x 128 objects and as many materials too is going to be slooooooooooooooooow.

Can be optimized for speed somewhat. Not sure it's worth it for zero feedback.

Method 3: 1 object, 1 mesh, N x N materials.

Single cube, applied array modifiers, materials assigned to each part

Similarly to this answer https://blender.stackexchange.com/a/61254/15543 can create an array mesh very quickly.

After the array modifiers are applied the faces are still ordered such that each 6 belongs to a cube.  A new material is added for each and assigned.  The row and column of the parts can be obtained using integer div and modulus and hence can be mapped to pixel colour.

For example sake I've only made a 32 x 32 array. Note the offset is at 1.5, change to 1.0 to have touching cubes.

To make each a single object, separate by loose parts as above. This is the rate-determining-step.  As one mesh, individual parts can be animated via hooks, armature, shapekeys.

import bpy
from bpy import context
# add a cube
bpy.ops.mesh.primitive_cube_add()
ob = context.active_object
me = ob.data
# add two array modifiers
count = 32
arrays = {"x": (1.5, 0, 0),
          "y": (0, 1.5, 0)}

for axis, displace in arrays.items():
    mod = ob.modifiers.new(axis, 'ARRAY')
    mod.count = count
    mod.relative_offset_displace = displace
    bpy.ops.object.modifier_apply(modifier=mod.name)

def chunks(l, n):
    for i in range(0, len(l), n):
        yield l[i:i+n]

material_index = 0
for cube in chunks(me.polygons, 6):
    mat = bpy.data.materials.new("Mat%d" % material_index)

    mat.diffuse_color[0] = material_index / 100
    me.materials.append(mat)
    for f in cube:

        f.material_index = material_index
    material_index += 1

Alternatively could use a UV map here also, for 1 object, 1 mesh (with NxN parts) and 1 material.


Blender Game Engine control material values I'd like to have dynamically changing materials in the Blender Game engine.

Is there any way for the game logic or a python script to change the properties of a node in a material?

For example, in the image, I would like to be able to change the red "value" input that connects to the color ramp.

(I know that the BGE can assign an overall color to an object, but I would like to do more complex things than just single colors. If I could input that object color to the node set-up, having those 3 floats might be enough to work with)

Thanks for any help you can offer.

I've found a hack: the "Lamp data" node gives you the distance from a specified lamp to each fragment. That gives you a float to control the material, and the position of the lamp can be controlled with the game logic.
This is a fairly terrible solution.


How can I composite these 3 Layers? I'm attempting to add a couple of filters to a render layer that sits between two others. I suspect my problem arises from a misunderstanding of how layers work, as my "flames" layer renders on the "door" layer as well as its own... Anyway I can't get a result at all. If anyone can give me some pointers, I'd be much obliged.

You can't compose this way because you use Glass shadier on the window. Glass isn't just transparent color - it have refraction and reflection, that's why it renders non-transparent. So you can try different things:

1. Just remove window or move it on different layer.

Then use Mask layer. If I move window on this layer:

The setup for render layer flames will look like (pay attention to the mask layer option):

and door of course:

result will be look like:

2. add glow effect by threshold

in this case you should not to separate render layers. Render all in one frame and in glare node set threshold to value between 0 and 1


Game engine lights not pointing to same place as in a render I'm working on an auditorium scene for my game. I set all the lights up and did a quick model of the mesh, and rendered it. It came out all right, but when I went into the game engine and started it, only two or three of the lights actually pointed to where I wanted it. Why?

Blend file at pasteall.org

Blender Internal:

Game Engine:

Try using GLSL shading instead of multitexture.

Multitexture shading shades the mesh per vertex. Since your object doesn't have many vertices where the lights should be illuminating, the results are misleading.

If you subdivide your mesh a lot, multitexture gives a more predictable result, but not as nice as GLSL:


Object not rendering smoothly - Can see where it bends regardless of how many loops cuts I have I'm making this shape which is just a cylinder with a curve modifier on it.

I can't seem to figure out why you can see the subtle bends in the cylinder. I've rendered it multiple times with varying subdivision render levels, and I've even tried increasing the number of loop cuts from 100 all the way to 400+, and I can still see those bends/vertices/loop cuts.
I must be overlooking something. Can anyone help me out? I'll post my .blend in a moment.
edit: I'll note that I did apply shade smooth and autosmooth normals, and the problem persists. I currently have the subd render level to 3.

Thanks!

The imperfections are inherited from the curve used in the curve modifier. Select it, go to edit mode, select all and then search(f3) for Set Spline Type operator and set to NURBS:

You will also be able to control the resolution of it in the curve properties tab, but default 12 should be fine.
Or you could also solve the problem by moving the subdivision modifier below the curve:

I would recommend to do both - make the curve smooth and also use the subdivision modifier in the right order.
Just to clarify: by "right" order I mean probably the more efficient way - first modify the less dense geometry by curve modifier requiring less computation and only then smooth it by subdivision also increasing the density. I might not know some of the context to use such strong words as "right" ;)


make a body fall into place I need help in doing a (probably) very simple animation. I want a body to free-fall into an exact location and angle. I've already arranged the "rigging body" physics for the gravitation fall, and now I want to set the location and angle for my body to land on.
How can I achieve this?
Thanks in advance!

I want the body to fall down, but instead of simply hitting the ground randomly, end at a specific location.
I've tried animating it using key frames, but it's way too much work and doesn't have that "realistic touch".

In both examples the object of the exercise was to have a cube dropped with physics and still have it ending up exactly on target.

This was achieved by baking the physics actions and manually adjusting (biasing) those resultant sequences to get the cubes to where they're supposed to be.
To do this, the graph editor was used to drag the X/Y axis' keyframes as a whole up and down in the Editor's Y axis. (one axis at a time and with only the appropriate keyframes selected)
Select the keyframes and press keys G Y to ensure no inadvertant drift to the left or right.
-===============-
For those without Graph editor experience...
Set up a test file and give a cube horizontal momentum then switch it's physics to Dynamic to drop it to a ground plane that has passive physics.
Use the Graph editor's keyframe handles to adjust the cube's X/Y axis Bezier curves into a straight line (end of the slope) at the drop frame. (where you switch from Animated to Dynamic physics)
This will ensure the cube has inertia at the switchover and will slide across the plane when it lands.
Once it's landing, bouncing, & sliding as desired, bake the entire sequence from frame 1 to where it comes to rest.  (in the bake panel, tick all boxes and enter the frame range required)
This will snapshot every frame in the selected range and store the action as keyframes, but with a catch!
Baking will remove constraints that might exist on the object but not do the same with the physics.
Consequently - Don't play the animation just yet !
Instead, manually switch off the physics, and also get rid of the two redundant physics strips left behind in the Dopesheet.
With them gone it's safe to play the baked frames and carry out the Graph editor biasing.


How to get same size in every direction while Extrude Along Normal? How do I get same size in every direction while extruding along normals? Dont know why but size is not same and its kinda disoriented(Some side is getting fatter).

You need to use Offset Even Extrude function


How to adjust normal map I am attempting to create a Normal Map in order to apply High Res detail to a Low Res object. No matter how I set the Ray Distance for the bake there are areas giving me problems. Especially tight areas like between the toes and mouth as well as the eye openings, nostrils and the tail base. Any suggestion on how to clean up these areas?

BLEND FILE HERE

Actually yes. It took me a while. Normal mapping is going to be one of the hardest things to do right. With a multi object, model you can explode the mesh and use displacement modifier cages. I don't think this model can do that though, not easily anyways, its a smooth organic and the cage might need a lot of tweaking..

I dont know if you could rig and pose the model in order to create a cage for the small areas like the toes armpits and groin. If you used a displace modifier to create a cage those sinchy areas would be toughest. You might have to fineagal the cage mesh for a better bake. I could be very wrong here, im still a novice. From what I've seen you may need to manually paint those problem areas in the normal map in GIMP. I wouldnt even know where to begin with that. Characters are kind of hard. If this was an object you could split it into parts and bake easily.

Please don't throw me in an oven if someone more experienced blows my suggestions out of the water.

On udemy theres a 3dcoat and blender tutorial on making a sword. It does an amazing job describing the normal map bake process.

https://www.udemy.com/intermediate-game-asset-creation-3d-modeling-in-blender/learn/v4/overview


No Active Keying Set? What does that mean? I don't know what keying sets are for, so please do explain.

This is a list of possible keying sets: choose one of them (generally LocRot or LocRotScale) and you'll be ok: i.e., if you set LocRot, every time you will click on the keyframe icon six keyframes will be added on every selected element: three about Location (X,Y,Z values) and three about Rotation (again X,Y,Z; four values if the rotation is expressed as quaternion).


Imported 3D scan displays texture in editor, but renders without texture I am new to blender and I have a 3D scan of a stone tablet (which I am unfortunately not able to share, so I will try to be as detailed as possible) which was imported as OBJ and MTL files.  The editor displays the texture and mesh perfectly, but when I render the scene (pressing F12) the texture is not there.  I am trying to use blender to reduce the file size of the tablet for use in a three.js visualizer for a website.  I have tried exporting the file as a JSON file (as well as several other file formats to the same effect) for use in my three.js webapp and thought it was an issue with three.js, but after seeing that blender did not render the tablet with the texture I now believe it is an issue with my blender configuration.
I am unable to find within blender or online any way to check what current resources I have displayed and what options I have with them.  I have not applied a mesh or texture to the object, but when I do so it renders with the generated texture applied in the default pink.  I am confused as to where the disconnect is between the editor and the renderer.
I am still figuring out what is important and where to find all the relevant information, so any help on that regard would be very much appreciated.  Here is what blender looks like for me with the sensitive parts censored (can't be too careful these days):

I have looked at this question: Texture view works, but render is without texture
And there is no material overwriting the texture - I have not assigned a material to the tablet at all.
EDIT: In regards to the duplicate answer, I looked at that one as well and the issue I have is that it doesn't have an actual texture file that I can just put on it.  The OBJ MTL files come with their own file that can't be applied directly to the model.  Blender read the OBJ MTL files and recreated the object inside blender algorithmically - and now I need to know how to get blender to tell me where that texture is and how I can get it to show up in the render.  The texture is not on my hard drive, but entirely within blender which is the issue I am having.

Even though you might see an image on texture view, you need to assing a material that uses that texture.

Create a material and assign your texture to it:


atan2 equivalent in Cycles nodes? The Cycle's math node has an "Inverse tangent" option. This function however cannot discriminate between two opposite points on the circle, as they have the same tangent. Usually, this is solved with a function called atan2, which receives two inputs, the x and y of the vector, and returns the angle. Can I construct something similar in Cycle's nodes?

EDIT July 2018

If you are using Blender 2.8 or a recent build of 2.79, the math node now has the atan2 operation since this commit by Lukas Stockner.

This is in no way the most efficient way of doing it, but just a reminder that knowing a bit of math, you can painstakingly craft functions using NodeGroups.

Things to know:

The Maximum Math node acts as an OR boolean operation.
The Minimum Math node acts as an AND boolean operation.
The Substract Math node acts as a NOT boolean operation with 1 as first input and your value as second.
The Mix Colors node acts as a switch with a boolean as first input, which returns second input if condition == False, or third input if condition == True.

http://en.wikipedia.org/wiki/Atan2

http://en.wikipedia.org/wiki/De_Morgan%27s_law


Can't select an object while in bone pose mode. (Lock object modes is off) As the title says. Lock object modes is off, but for some reason I still can't select the rigged character (or any other object) while in armature pose mode. Tried appending the whole thing into other project, it worked for some time, then started having the same problem.

As a temporary work-around, I'm selecting object from the outliner. Obviously this is much less preferable than just being able to select them in the viewport window.

https://developer.blender.org/T65471
Short solution:
Press Alt+Z in Pose Mode, or uncheck "Fade Geometry" in overlays (both do the same).


Blender 2.81's render device set to GPU doesn't show the viewpport render So I was tweaking my node setup in the world background when suddenly everything turned grey.

I tried to undo the steps but nothing changed. A bit later, I switched my rendering device to CPU and it worked like normal, but a bit slower.

I checked my preferences and everything seemed fine to me.

When I hit render with GPU device, it says "CUDA error at cuCtxCreate: Launch failed"

I checked my other blender files and the problem persisted.

I would search a bit deeper on the web normally, but I have to finish a couple of VFX shots for next week so I want to everything to work as fast as possible.

Ok so it seems that restarting Blender resolves the problem.
However I know that this solution does not explain the cause, so if someone knows what it is or how to resolve it, go ahead


Add texture to character model I've recently downloaded this character model from a website that looks like this:
But when I opened the model in Blender, it came out like this:. I also have the texture files with me.
So how do I add the textures to the model?(BTW, I don't know anything about Blender).

Select your character, open the Shader Editor window, click on the New button, add a Texture > Image Texture node, plug it into the Base Color socket of the Principled BSDF, and in this Image Texture node, load your PNG:


blender game - animation of skeleton - not playing In Blender i have a model and an armature with one action. When i play the animation in blender it works but in blender game i cannot get the action playing.

The used blender version is 2.70 svn running in Linux Mint.

To narrow down and locate the problem i made a simple blender scene.
Here is what i did:

Make model and skeleton and parent model to the created armature.
Create action with a small animation
in the logic editor i added this chain (Always - AND - Action: Play|Continue|Select Action)

here is a link to the blend file: https://dl.dropboxusercontent.com/u/91457585/animation%20test.blend

Thanks for any help!

Put the action actuator on the armature not the mesh object.

When an action actuator is triggered the object it is related to is the one performing the action, the action you setup has no effect on the mesh object.


Precision of Z-coordinate Setup (reworked):

Camera position:   (0, -6, 6);
Camera angles:     (45, 0, 0) (zyx rotation sequence);
Camera resolution: X=64 [px]; Y=64[px];
Sensor sizes:      32 [mm] x 32 [mm];
  => px_per_mm:    2 [px/mm];
Focal length:      35 [mm];
Clipping:          Start = 2 [m]; End = 16 [m];

Object:            Plane orthogonal to z-axis located at z=0.

[EDIT] Used 'Blender Render' not 'Blender Cycles'.

The depth map is determined by an easy-to-compute formula, namely:

 depth(x, y) = fy * sqrt(2) * L / (fy - (y - cy))                       (1)

Where:

   L  = 6 [m] (height of the camera)
   fy = focal length * px_per_mm = 70 [px]
   cy = y-coordinate of the principal located in the middle of the screen,
        i.e. at 32 [px]

Then:

 depth(x, y) = 593.969696 / (70 - (y - 32))                             (2)

Saving the rendered image into an OpenEXR file 'plane.exr' allows to access the
depth- coordinate and compare it to the theoretical solution in (2). Save the
script below into 'extract_this.py':

import OpenEXR, Imath
import numpy
import sys

pt     = Imath.PixelType(Imath.PixelType.FLOAT)
handle = OpenEXR.InputFile("plane.exr")

dw             = handle.header()['dataWindow']
x_size, y_size = (dw.max.x - dw.min.x + 1, dw.max.y - dw.min.y + 1)
array          = numpy.fromstring(handle.channel('Z', pt), dtype=numpy.float32)
array.shape    = (y_size, x_size)
it             = numpy.nditer(array, flags=["multi_index"])

while not it.finished:
    depth = float(it[0])
    if depth < 10000:
        y, x = it.multi_index
        print x, y_size - y, depth
    it.iternext()

The call it with:

> python extract_this.py > tmp.txt

will deliver the a data file with x and y in columns 1 and 2. The depth is
stored in column 3. This can be displayed with gnuplot:

 > depth(y) = 593.969696 / (70 - (y - 32))
 > splot "tmp.txt" u 1:2:($3 - depth($2-0.5))

and delivers a picture as shown below. A '0.5' is subtracted to account for the
fact that blender seems to deliver the depth at the pixel's center. As can be
seen, there is a line where the z-coordinate is simply off the track. What can
be done about that?

I think I found the problem.
Look at the diagonal in the picture, I just output the z pass, and get the high frequencies with substracting a blurry pass. Then the power node just reveals the error for the eye.

The effect is only with Blender internal, and not with cycles. There is an error along the edge which is the diagonal of the plane.
Now I'm not sure why it does this, but I think it's probably something like as said above:
"Just an hypothesis, if the errors match the diagonal of the plane: maybe with floating point errors, the rays pass through the plane (on the edge), and then with sampling (I don't know if the z pass has several samples, for anti-aliasing, need to check somewhere) it mixes the good value with the 'inf' value, producing the errors."
Maybe the devs are aware of the problem, I don't know.
[EDIT]
In addition here is the same pass with cycles:

The z error is not here, AND the z seems to be correctly computed. I mean by this that with blender internal z is the distance between the geometry and the plane which crosses the camera, but in cycles z seems to be the distance between the geometry and the point from which the ray is casted (so on the sensor).
So here with cycles Z depends on Y and X, not only Y.
Also the white borders you see on both images are due to the blur combine with the power node, it's a normal effect.


Set light color from python script I would like to specify the color of a light that I add using a python script launched from the command line:

blender --python script.py

The script:

import bpy

bpy.ops.object.light_add(type='AREA')
light_obj             = bpy.data.objects['Area']
light_obj.data.energy = 500
light_obj.color       = [1.0, 0.0, 0.0, 1.0]

The light power is correctly set to 500, but the light color remains at its default white color, instead of being red.

Should I do something more to set the color of the light?

Note that I am using Blender 2.80 with Debian 10.

I noted a few weird thing:
The current online documentation of blender python api says here that the color of a light is a "float array of 3 items", but I get en error if I don't give 4 values. This post also talk about 3 values. Anyway, it proposes something similar to what I am trying to do: l.color = [r, g, b].

Is it en error in the documentation? Is their a bug?

Test code out in the console.

Even if you are going to use a script from command line always (IMO) a good idea to test it out in the python console. (D = bpy.data, C = bpy.context)

When adding an object via operator, the new object added is the  context.object  Notice the name below is not "Area" as there are already other area lights in the scene.  Using light_ob = bpy.data.objects["Area"] will only work as expected if there are no other lights of that name in the blend file.

>>> bpy.ops.object.light_add(type='AREA')
{'FINISHED'}

>>> C.object #  the new object
bpy.data.objects['Area.002']

At any time can hit the autocomplete to see the available options.  The light is the data part of the light object.  (In the UI Properties panel it is under the Data tab.)

>>> light_ob = C.object
>>> light = light_ob.data
>>> light
bpy.data.lights['Area.002']

It's of type AreaLight which per documentation link posted in question is a subclass which inherits properties of bpy.types.Light

>> type(light)
<class 'bpy.types.AreaLight'>

>>> light.energy = 500

All objects have an rgba color property. For a lamp as commented above to set the lamp color set it on the data part.

>>> light.color = (1, 0, 0)
>>>

The script.

import bpy

bpy.ops.object.light_add(type='AREA')
light_ob = bpy.context.object
light = light_ob.data
light.energy = 500
light.color = (1, 0, 0)


Convert Bsurface (without object) to mesh I am trying to join 3 objects. They should be 3 meshes (which i created starting from bsurface). Somehow when i try to join them it says "Active object is not a selected mesh". Also the mesh icon does not appear. Alt+C seems not to do anything. How can i convert it to a mesh!!
Thanks for your help,
Lluís
I belive the problem resides in that i made a retopo with bsurface but without the 1st step (add a object -> enter edit mode-> delete the plane-> start! ). Nevertheless i can see it like this:

*(Outliner View. Objects: Plane, Plane.001 and Plane.00)

Found my answer in this comunity and blenderartist.The problem was that i needed to click on the little arrow (selection off/on) next to the object.
Wasn't aware of that.
Thanks, lluis
i leave here the posts:
https://blenderartists.org/forum/showthread.php?441827-Bsurface-without-object&p=3263344&highlight=#post3263344
https://blenderartists.org/forum/showthread.php?441827-Bsurface-without-object&p=3263344&highlight=#post3263344


Is there a way to bake materials/textures, that use nodes, into materials/textures that can be used in the game engine? I am using some fairly irregular shapes, and most of the tutorials I have found have been about baking cubes or rectangular prisms, and I can't get that to work with my shapes, or have been about Blender Render. The objects that I wish to bake are pictured below.

It is supposed to be a building, and there are two rectangular prisms joined to make it. The prisms have been aligned face to face and edge to edge so I know there is no gap or anything between them. The same goes for the door and door frame. The top of the larger of the rectangular prisms has a knife project on it so I can easily remove a section of it and add things on the inside of the building. There is nothing inside it yet as I want to bake it first.

Thanks in advance to anyone who helps, and if there is any information you might need that I have not supplied please tell me.

UPDATE: I tried the solution offered by @pycoder and I got an error saying that there is no active image found in one of my materials. Is this something that is required for baking?

Nothing really changes from a rectangular baking tutorial to anything else except for the UV mapping. Try using "Smart UV Project" to unwrap a complex object quickly, then go through the baking steps.

Add the image texture that you want to bake to in all of your materials (on the object that you are baking).
Setup the bake settings (depending on what you want to bake), then hit the bake button.
Save the baked image.


What is the fastest way to create a 90° joint? I often want to create joints like this:

Since I end up making these more than a little, I'd like a fast way to do it (i.e. on the order of < 10 seconds)

I've found a couple tools which come close to being the ideal solution, but I've had some problems with them as listed below:

When using the spin tool I usually end up having to fiddle with the location for a while in order to to get a natural curve:

Are there any techniques to expedite this process of fiddling?
The bridge tool is nice because I can precisely specify where both ends of the joint will be, however I often end up with subtly uneven joints, probably due to my initial mesh being not quite square.

Is there a fast way to correctly line up the initial edge loops in a way that will result in an even joint?

The spin tool is well suited for creating joins:

Spin Alt-R it works best (expected results) in orthographic mode. The selected parts of the mesh will be rotated around the 3D cursor. The 3D cursor should precisely set vie the properties panel N.

The last operator settings allow to adjust the angle and steps:

If you focus more on modelling speed than accuracy the the bend tool could also be useful: How does the bend tool work?


What causes AttributeError: 'Material' object has no attribute 'texture_slots'? What causes, in the script below, the error given in the title?

if mat.texture_slots[0] == None:
    tex = target_object.material.texture_slots.add()

    tex.texture = bpy.data.texture.new(target_object.name, type='IMAGE')

    tex.texture_coords = 'UV'
# target_object.texture = bpy.ops.texture.new()

    new_image = bpy.data.images.load(image_filename)

Material.texture_slots is only available for blender internal render.

How to add a Texture to a Material using Python?


Blender texture painting appearing on the backside I'm following a long tutorial on using Blender with Unity.
After having modeled my character and drawn in the seams like the instructor, we move to UV unwrapping and then saving an image on which to paint on.
However my problem occurs when i start to paint. When i paint on the character front the colors appear on the characters back. When I rotate around and paint the back it appears on the front. Note the mirrored textures work correctly on side ways. When I re-unwrapped the whole model as one object thereby sepparating mirrored UV islands the problem persists.
Figure 1: Initial figure seen from front.

Figure 2: Having painted a green stroke across the figures belly, we see nothing on the model however a spot of the belt is green and as you can see on the texture right parts have been colored.

Figure 3: When i rotate, we see the green does infact show up but on the backside. Placing dots of different color next to one another on the front will similarily show the dots on the back as if they were painted through (blue on right seen from front will be on left seen on back as if shot through model)

I have tried to flip or rotate the texture ( https://www.versluis.com/2016/11/how-to-flip-or-rotate-a-texture-in-blender/ ) but this didn't help.

I think it may have something to do with when I applied the mirror modifier to objects. I used a different order on unwrapping then mirroring or vice versa for the head which paints correctly in contrast to the body.

Any way i can troubleshoot this or maybe even solve it?

This happens if your normals are flipped so they are pointing inside the figure instead of outside.  Select your figure and switch to Edit Mode.  Select the whole mesh ("A"), and hit "Shift N" to recalculate normals (or select Mesh -> Normals -> Recalculate Outside from the menu).


How to control the timing of Absolute Shape Keys? I understand that Absolute Shape Keys are for creating a deformation sequence, and are more practical than Relative Shape Keys when many deformations need to happen one after the next. The trouble is that I'm not sure how to set the timing to match my desired animation length.

1. Why do absolute shape keys increment by 10?

What does the 10 represent? Am I correct in understanding that it is not keyframes, nor seconds, but rather some arbitrary value that gets calculated as a result of the keyframing of the Evaluation Time slider. Why 10 instead of 1?

Furthermore, can this value be nudged to make a shape key come earlier or later relative to the others? The active/selected shape key shows two triangular arrows to the left and right of the value, but they can't be clicked.

2. Why do absolute shape keys need to have their timing reset? When to reset and when not to reset?

3. how can we keyframe a looping animation of absolute keyframes? How can we find out what frame number needs to be keyframed in order to make that animation loop smoothly? And does the first shape key in the list need to be duplicated down to the last position in the list in order for the tweening/morphing to loop?

The best documentation I've been able to find on absolute shape keys is in The Blender Manual, but it's pretty vague. It basically says "reset and drag the slider". And none of the shape key tutorials around the web that I've seen cover absolute to a useful extent.

Controlling the timing of absolute shape keys

You can add keyframes for the "Evaluation Time". The easiest way in the UI is to hover over the Evaluation Time slider and press "i". This will map your defined shape keys to particular frames in your animation.

Attempted answers to your other questions

The "frame" for absolute keys does seem to be separate from the usual meaning of "frame" in Blender and not related to keyframes. Not sure why it increments by 10 or why it's not editable, but it ends up not mattering much because of the fact that you can set the eval time and make keyframes for it.
Resetting timing seems to be an organizational tool. If you delete one of the shape keys, you'll have a gap of 20 in the eval time from one to the next, and resetting lets you get back to a list that increments by 10. If there's a deeper reason, I don't know it.
As far as I can tell, the best way to loop is, as you suggest, duplicating the basis keyframe for the final keyframe. I tried setting a final keyframe with evaluation time set to zero, and the result was my object rapidly undoing all of its shape changes, one at a time, on its way back to the basis shape key. To connect the loop after making a keyframe for your final shape key, I'd try making one more keyframe for your basis shape key in the very next frame to stop the intermediate values of eval time from getting animated. (If you want to avoid the doubling of a frame, you could also set eval time to a fractional value corresponding to what the shape of the object would be at that frame if it were continuously morphing.)


Blender 2.8, missing a few things I just downloaded blender 2.8 from the site, i was watching a tutorial and i noticed the tutorial had things i didn't in it. Im missing a wigets bar and a transform tool. All the red circled things.

I guess since it is now possible to get 2.80 just following a link called "Try Blender 2.80 Beta" without scrolling down and reading all the red warnings this is a valid question.

Blender 2.80 has been in very active development for quite some time now. It is normal for things to change. It is still in beta version. Beta version means it is not yet released as finished software. Although they are now a bit easier to miss, the warnings at blender.org are still valid as well:

You still get some warnings while downloading and you get the explanation as well if you click on "Legend":

What you happened to observe here are changes during the development. Blender simply changed from the time the tutorials were made.


How to have a rigged object snapped to another object's surface? I'm creating a cute, hyper simplified character, and I'd like to animate it with a rig. It's the sort of character that only has spheres for arms and feed, but when I try to parent the hands they sometimes protrude too far from the body, espeically with some of the more irregularly shaped characters.

What I'd like to have happen is for the arms and feet spheres to have their origins find the body shape and stay on it, but in the direction their relative bone is pointed, so that I can still animate them with a skeleton.

here's a quick example. The teddy bears arm, when I try to move it up for a wave, disapears into the body, because of the waythe sketon works. I could bend the sketon more and be careful about such things, but I'd still run into the problem if I'm not careful. I'd love if programaticlly it would simply put the arm so it's origin is on the surface of the body so it was always the same amount being shown.

More like this.

Is it possible?

1 Shrinkwrap Constraint
Add an intermediate bone as a parent of the Hand: Arm > HandParent > Hand.
Then add a shrinkwrap constraint to it using the options Projected, On Surface along +Y in Local Space.
The HandParent will be projected onto the surface of the object, which you select in the Shrinkwrap Constraint.

2 Bone Placement
An easier option, is to simply place the arm bone at an appropriate base position, so that the arc it describes resembles the arc of your sphere. This is less computationally expensive and faster to setup. Add a custom bone shape and the bone will not be in the way as well.


Apply transformations does not work in automated process I am facing a strange problem with Blender. I start Blender with a script as parameter which is supposed to apply all transformations to an imported fbx model. The import itself works fine.

Part of the code is following:

for o in bpy.context.scene.objects:
        print(o.name)
        o.select = True
        bpy.context.scene.objects.active = o
        bpy.ops.object.transform_apply(location = True, scale = True, rotation = True)
        o.select = False

When running the code like that, Blender does not apply the transformations. Instead it prints:

Warning: Objects have no data to transform

for every single  object.

The really starnge thing is, when I paste the exact same script snippet into the editor field and run it, Blender executes it like expected and applies the transformation.

I really tried to find a solution, but did not find one. Thank you in advance!

Make sure that you actually need to apply transformations. If you are writing an exporter, multiplying the object.matrix_world by the vertex position gives you the transformed value without altering the original mesh.

In case you still need to do it, do what batFINGER suggested.


When is retopology required? I have a high poly mesh which i would like to texture. Do I need to retopolize it in order to do this? Can I bake maps (for example specularity)straight from the high poly mesh (around 9 mil tris)? I will be rendering an image with no other background objects, just the mesh.

Retopology is required for performance:

if you need to deform the mesh (armature, etc.)
if you need to do simulation with the mesh
if you need to do real-time rendering of the mesh
if you need to paint very hipoly object (this point is not true for other software than Blender, for example Zbrush can paint high-resolution meshes easily)

Since Cycles has a shadow terminator limitation with rendering low-poly objects you need to render a high-enough-poly anyway (subsurf with displacement or normalmap). So depending on the object if you do not need the performance gain from the bullet points above it might be better to render just the highpoly and save time with the retopo work. With decimated hipoly you can get the same vertex count as with retopo+subsurf (so same render time) and you save a displacement or normal map texture space in VRAM/RAM (and some pre-render computation). The color can be either in vertex colors or the decimated hipoly can be unwrapped to use a texture similar as the retopo mesh would. However unwrapping high-poly meshes is slow in Blender (actually everything is slow in Blender with hipoly).

Every object is different, but the general approach would be this:

Try decimating the object enough so the poly-count is the lowest but you don't loose detail in render.
Next try painting into the vertex colors (you can have multiple of vertex color "textures" for specularity, roughness, color, etc.)
If the painting is too slow and you are unable to use other app than Blender for painting the mesh, try unwrapping the decimated mesh (you can use automated unwrap without making seams). If that is also unusable or painting into texture is also slow, you will have to put in the work of retopology to optimize the mesh to increase performance.


How do I subdivide all faces in a mesh equally? I want to subdivide all faces at the same time (subdivide in edit mode doesn't subdivide them equally) the way it can be achieved in sculpt mode with SculptDraw brush selected, strength set to 0 and detail set to a low number (1px) and then sculpting all over the object. Is there another way (I'm using v2.79 and the only reason I want to do so is to be able to use the Displace Modifier)?

Welcome to Blender Stack Exchange!

I know of a couple of options that will do what you're looking for.

The first is using sculpting like you're doing already. However, in the dynamic topology settings, there is a button called Detail Flood Fill. This applies the selected detail level to the whole object without having to manually sculpt.

Blender also has a modifier called Remesh. Add this modifier (second column about halfway down in the list of modifiers), set the mode to Smooth, and turn up the Octree Depth a bit.


How long should a 10mb .svg import file take to load in Blender? I am trying to load a 9.6Mb .svg file into blender and it is still working on it after 45 min.

Hardware is a duel Xeon 32 core workstation, Titan X video, 128Gb Ram, 1Tb SSD

It just finished after 90 min, it is a very complex file so I should have been more patient.

I also notice that although Blender will use most of my cores for other tasks, when doing this import it only used 1 core, any way to change this setting?


How to achieve this effect? Does it need a custom shader? I would love to replicate this effect in Blender, but have no idea how to approach the problem. Does it need a custom shader? and if yes, can you link me to references/guides on how to achieve a similar effect?

Its a open source fork of Blender called Bioblender, which can generate 3D models from protein database files.  As far as I can tell, the program uses the Blender Internal renderer to generate images.


Make an object invisible to a specific camera? (Cycles) I'm trying to set up multiple cameras for a scene set in a room. Is there a way to link object visibility to a specific camera? Ideally, a wall or ceiling would not render if it were in the way of the specified camera.

I've tried to get around this by keyframing Restrict Rendering, but that gets difficult to keep track of. I've also tried adjusting the clipping plane, but that clips too much and would also need to be keyframed if the camera moves.

Thanks!

This is possible using Drivers similar to the method described in the answer to How to change world background based on active camera?

You should set the Pass Index for each of the Camera objects so as to identify each camera.

Then add the driver to the visibility of the object being controlled - either the eye icon in the Outliner or the Camera icon - depending on whether you want to control the visibility only in the 3D view or in the final render.

Set the Driver expression to :

bpy.context.scene.camera.pass_index == n

Where 'n' is replaced with the pass_index of the camera from which you want that object to be hidden. Repeat for each object, specifying the relevant 'n' for each driver as appropriate.

Changing the active camera should now hide the object from view. Note that the driver will not necessarily update the visibility but will be updated on the next frame change - so animating the change in active camera on a specific frame will now automatically change the visibility of the objects.

Here I had 4 cameras positioned around the objects - with Pass Index of 1,2,3,4 - with the visibility of the objects (Cone, Cylinder, Torus, Icosphere) driven appropriately  and the active camera changing on each marker :


a hole keeps forming in my object and i don't know hwo to remove it I'm very new to blender and I'm learning how to model a chair with blender guru's tutorial. All seem fine til I realized there's a tiny hole when I apply the subdivider surface and I have no idea how to remove it. I've tried creating loop cuts, removing the edge and some other stuff. Can someone help me? I'll be attaching pictures. Thanks
The rest of the screenshots are here https://imgur.com/a/Rw6JtpQ

You have inner faces, the Subdivision Surface modifier try to smooth them and it gives this hole, so delete these faces:

Also, activate the Mirror "Clipping" option so that when you extrude faces along the axis the vertices stick to the axis and it doesn't create these inner faces:


can I install Blender internal render engine into 2.8 so I can open my old projects incompatible with Cycles and Evee? Or if you know a better solution please share. I just can`t switch between 2.8 and 2.79 fluently because of changes, so I want to move to 2.8 completely

If you want to keep using Blender Internal, you'll have to use Blender 2.79 and prior versions. You cannot add the old render engine back into 2.8.


My characters face is too bumpy I want to know how i can makemy characters face a bit smoother.

Here is a picture of the object

mesh in edit mode

The main problem here is the topology of you mesh, no amount of smoothing will completely fix that.
You should avoid big changes in face size between neighbouring faces (smoothing will help with this)
Also try and remove all the faces with more than 4 edges, as these can get triangulated in odd ways when displaying the mesh.
Another thing to avoid is vertices with lots of edges attached to them as these can lead to pinching artifacts with smooth shading and also subdivision.

The general rule for modelling faces is to make face loops around each of major features (e.g. they eyes should have rings of faces around them like goggles). See the following image for an example of a face with good topology (taken from blender.org)

There are a number of tutorials around the net covering best practices for character modelling which would help you, for example:
https://cloud.blender.org/p/blenderella/56040ecf044a2a00a515ada6


How can a cube/ a group of cubes be painted? Setup : Blender 2.82

I want to achieve something similar to what was represented below but through a  python script.

If each cube here represents a pixel, what is the fastest way to change its color so it looks exactly like the 2d image?

I wonder if it is possible to put there an actual RGB photo and not just a number?
I am also curios if i can map on a face of an cube a full image like a feature map from a tensorflow model ?

Here is the code that i have atm for creating cubes at different location in different collections

def createCubes(x,y,z, name):
  collection = bpy.data.collections.new(name= name)
  bpy.context.scene.collection.children.link(collection)
  k = 0
  l = 0
  for i in range(0,int(z)):
      for j in range(0, int(x)):
        bpy.ops.mesh.primitive_cube_add(location=(k, y,  l ))
        bpy.context.active_object.name = 'cube'
        cube = bpy.context.object
        for ob in cube.users_collection[:]:
            ob.objects.unlink(cube)
        collection.objects.link(cube)
        k= k+3
      l = l + 3
      k = 0

you have to use opencv a python library for image processing so that you can map a full image.


How can I render the way the render preview renders? I'd like to be able to render in cycles without the annoying tile system, just letting Blender keep working on the overall image, until I like the way it looks. Just like when I hit shift+Z, with preview samples set to zero. Is there a way to do this?

Yes, you can easily do this.

In your render settings under Performance just check: Progressive Refine.

Use very high samples and just stop the render, when you are satisfied with the way it looks.


How to render PBR lens flares? Is it possible to put a bunch of glass pieces in front of the camera to make physically realistic lens flares?

While Cycles is pretty physically accurate, this is not possible, or at least not practical without workarounds, as far as I know.

Lens flares are caused by tiny imperfections in the surface of the lenses or photographic equipment, which digital 3D models don't typically have.

You can introduce them by means of bump maps, displacement or material roughness, but it will probably lead to very noisy images and require an unpractical amount of samples.

It also probably has a component of light dispersion, and since Cycles is not a spectral render it will probably require further workarounds, making the physical accuracy questionable.

You can get decent approximations using the traditional methods involving compositor nodes for glare and light aberration.

Also see Can blender be used for simple optical modeling?


Cycles is not using the materials created by MakeHuman I am using a blender and  MakeHuman .mhx file to model some persons moved in a scene and captured by a fisheye lens camera.

I model a person with clothes on MakeHuman and I load it in blender in mode Cycles Render (because fihseye lens work only in Cycles Render). When I render I get a person without clothes and a lot of noise caused by the light (see image1). But in Blender Render I get the person with clothes (see image 2).

I'm guessing that the Make Human importer sets up a Blender Internal Material based on the Material that's in the file you imported.  This is not automatic yet for Cycles rendering yet.

First you have to go to the Materials Tab and click the 'Use Nodes' button.

Now you can up the Node Editor and add an Image Texture.  Next, plug the Texture's Color output into the the Shader node's Color input.


Closing Extra Windows I've been having a problem in the software recently, and it's been bothering me a lot.  I accidentally either opened this console or expanded it from the top, (currently empty as I just reopened the file, didn't help, ) and it wont close or shrink.  (see picture below)  I've looked at other guides similar to this, and nothing's helped.  The main problem I've had is that any time I try to merge it, it just creates a new ribbon with file, render, etc., and no guides cover this topic.  I don't know what to do, and can't find any guides, so I hope you can help!

You want to keep the Info Editor at the top of your window.

You can resize it so that only the header is visible as most times that is all you will use.

Start by opening a new file.
move the cursor to the bottom of the info header until you get a double arrowed cursor, then drag up until only the header is visible.

Select File->Save Startup File. This is why you want to start with a new file, saving the startup file will keep this screen layout every time you start blender.

Note that any files you saved with the altered screen layout can be opened with that layout, disable the Load UI option to use your saved default layout. you can change the default Load UI option in your preferences.


How to create an animated Electric Arc or Lightning? I know about the technique of using a displace modifier with an animated displace object on a thin plane, but there are no "branches", no forking in the lightning.

Here is an image from Wikipedia that shows more or less what I'm thinking of:

Is it possible to achieve an 3D animated affect like this?

I have tried a few things, such as the Laplacian lightning  generator addon. However, it doesn't support animation and repeatedly generating meshes and then manually animating the visibility is a tedious.

I've experienced such need in my project long time ago. I did it with the help of Laplacian Lightning addon, too. My suggestion is:

For the varieties of lightning, you can keep on clicking generate lightning button on the Laplacian Lightning tool panel until getting enough varieties. It will generate random result each time based on the parameter setting.
For the "show time", first group them together, then simply add particle to a plane or something to emit that group, set Lifetime to 1. The Number value is quite nice for controlling the frequency.


Animation on blender 2.72 does not work on blender 2.71 I have done some animations on my Mac pro using blender 2.72. However, my laptop has not GPU. So, I am using an other linux pc to do the rendering using blender 2.71. Unfortunately, the animation does not work as expected on linux machine.
I remark that the armature animation is the same and work as on my Laptop, but the clothes and body does not follow the animation. What is the problem and How can I fix it ?

I have resolved this problem by checking this option


Latest version of Blender opens with blank screen Recently installed latest version of Blender on my laptop, only to have it open to a blank white screen- did not have any issue with an earlier version of Blender on the same computer.

I am running Windows 8 64x, with NVidia GForce GT 6300M and Intel(R) Graphics 4000, and have installed python 3.5.1.

Any ideas short of rolling back to an earlier version of Blender?

I had a variety of problems installing other brands of software on my computer and even installing Microsoft updates, I suspect it may have been due to an installation issue with Windows 8. I've since upgraded to Windows 10, and the latest version of Blender (along with the latest version of everything else) now runs just fine on my computer.


Recreate water bevel I am trying make it so when an object interacts with a plan, it creates a bevel effect show in the attached photo.
Is this possible?

Here is one way using a Warp Modifier
Your surface must be highly subdivided, it will contain the modifier. In the gif below this is the plane object.
The modifier stack is as follows:

The from and to fields in the warp modifier are the important pieces here.
The modifier pulls from point a to point b, thus creating the effect shown in the gif below. By animating the cube to move toward the empty, as well as the strength parameter of the modifier it exaggerates the effect. This should get you in the direction you are looking for.


Set color of second selected object I know I can set the color of the active object (when displayed as wireframe) by setting the Active Object color in Themes/3D View.

However, if you select two objects (right click followed by shift + right-click), the second object is always a sort of orange. I could not find an option in the Themes that seemed to correspond to this "second selected object" color.

Is there a way to set this color?

To change the color of selected objects in the 3D_view go to : User_Preferences->Theme->3D_view->Selected_object


Hidden objects in old scene? I've got this old blender scene, last worked on it in 7.78 and I've opened it in 2.8 now to try and clean it up a bit. Basically, I've deleted most of the objects, as there were loads of instances and kept just one of each object.

After doing this the scene file size increased instead of dropping and I can't see any other objects in the scene, apart for the ones I kept. I've unhidden everything, all the collections (former layers).

The problem is, if I want to append objects from this scene into another, I see a huge list of objects and instances. I can also see them in Orphan Data or Blender File data, in the original scene, but I can't seem to be able to select and delete them. I'm getting a 'Not Yet Implemented' error.

Does anyone have an idea of why this happens?
Thanks!

All sorted. In Orphan Data (the Outliner) I found the 'Purge' button which deleted everything I didn't need.


Blender Video Editor: How to move a picture or movie from place a to place b and capture the movement into the video? Let's say I want to move a picture in the Video Editor from place a to b, over 100 frames. A way to do this is to create 100 pictures and adjust the coordinates of each one in each frame. It's gonna take forever! and 100 frames are very few! Can I automate it?

Yes, keyframes will allow you can automate your goal.

Select regular strip.
Add a Menu/Effect Strip/Transform strip to a regular video/image strip.
Select new transform strip.

Keyframe the position.  Frame 1.

In the image above the mouse was used the to get the [Insert Keyframe] menu option.

Next a second keyframe on frame 100.  Yellow indicates key frame.

Next Blender places the images on frames 2-99 via interpolation.

There are tutorial resources here a blender.stackexchange and other video websites.


How come Blender does not reconize a mesh from my makehuman program? my mhx2 function does not work so I have been converting my makehuman
models with an autodesk converter to FBX or importing them in DAE,
but when I try to bind the rig to the mesh, I get an error message that says no mesh found.I have tryed both rigged and un-rigged models and no luck even though I can see the mesh when I am rigging, my ctrl-p to use auto weights seems to have no effect whatsoever.

First: It would be helpful to know exactly which version of makehuman and exactly which version of blender you are using. The advice on how to proceed will be different depending on these answers.

At least DAE should work out of the box for exporting a makehuman character to blender, although material transparency might need to be tweaked after import.

This said, the recommended approach for exporting a character from makehuman to blender is still MHX2 rather than FBX or DAE. MHX2 has been ported to blender 2.80, but the import button is now available on the T-shelf rather than in the import menu.

I would thus recommend trying to get MHX2 up and running rather than try working through FBX or DAE, when the end target is blender.

As an alternative, and if you are using makehuman 1.2.0 alpha 2 or later, you can use the new blender integration to import a fully rigged character. See https://www.youtube.com/watch?v=tAwfR-G813g for a general introduction and https://www.youtube.com/watch?v=eEaVZVbTJOQ for notes specific to blender 2.80.


Procedural generation in Blender I am hoping to create a blender game using procedural generation(to reduce file size). According to what I have read, procedural generation deals with generating models,texture,etc using a procedure/code. Easy by definition, But I have no idea where to start with. All I can guess is that it deals with blender's python scripting.If I am correct, please help me proceed. If not, help me understand the correct way.

Also, Does procedural generation reduce file size tremendously? If so, at what cost?

Procedural Generation is a broad area. You can use procedural generation to generate terrain, textures, models, growth-behaviour of plants, missions/quests and so on.
With my restricted knowledge about pg, I think that I can assure you that if you really want to generate everything procedurally it will be a long way.

I would suggest you read more into procedural generation and determine what you should start first (mesh generation for example?).

There is a textbook about that topic which gives a good and, what is more important, up-to-date overview. You can find it here http://pcgbook.com/.

My experience so far:

You can use Blender to generate the mesh of a object. I let blender create basic objects like a sphere or a cube. Then the algorithm manipulates the object (it's vertices, faces, size,...).

I also tried to generate textures for the object. I used the pillow-library (https://github.com/python-pillow/Pillow) for that. For my project we need about 3 or 4 textures which all have 2K Resolution. I noticed really fast that when I use python-modules, which weren't baked via C++, it gets tremendously slow (Pushing a button and need to wait for 20-30 seconds isn't great for a tool which should be used for game development). So I wrote a C++-Application, which communicates with Blender/Python and does the generation stuff.

And yes, I know that Blender is able to procedurally generate textures with different noises. But we need more control over the generation. And Blender's way wasn't what I wanted.

Regarding to your question about the file size:

It depents. If you are using procedural generation to generate the assets in realtime then you will have a reduces file size. Most of the time. But that does also mean that you need to write good (e.g. optimized) code. When for example your shaders are slow your game will be slow.

But you can also go the way to pre-generate some of your assets and deliver them directly with your game. This can be helpful for computationally intensive calculations or if the 'making it in realtime' is to complicated and the benefit isn't much.


Cloud with volumes renders blurry I have been struggling with this problem for a while. I am trying to create clouds using volumes. I have figured out settings that works great and the outcome is like I want it to be except it renders blurry!
I would like to get the cloud as sharp as possible but haven't figured out settings that helps me. Or is it so, that volumes cannot be used for sharp objects?
I am a beginner so I have not changed for example my rendering settings.
I am also using hdri to get lights to the cloud - and tried it with different strengths: 0-30.
All help appriciated! Thank you!

Two things that jumped out to me.
First, the noise texture has a Detail slider.  This increases computation somewhat.

The second thing is messing with the settings in Render Properties -> Volumes.  Try decreasing the Viewport and Render Step Rate and possibly increase the number of Max Steps.
This may not be necessary depending on your scene, I think it mostly helps with large volume objects but clouds are typically pretty large.  This will unfortunately make volumes take a long time to render.  That's the cost of accuracy.

Just for reference, even on this default cube sized volume you can see we run into some strange effects on the top boundary with the default volume settings.  These images were both 512 samples in Cycles, no denoising.


Clean topology with holes in a mesh with bevel modifier? So this question today is not just how to make a hole, but I'd like to know what's the correct way of making a number of holes on a mesh having a clean topology.

I have seen numerous tutorials with lots of methods how to make a hole, and the topology result is nice and clean but it's demonstrated on a single cube. (I know if I add a subdivision modifier ill get better looking circular holes on my mesh).

But for this purpose I added a bevel modifier so the edges on these models are more natural and smooth. One problem I'm getting is, when I make holes in the mesh, the bevel seems to be affected. The edges become less smooth and become sharp. And on some of the mesh in the example, depending on the method I use, the mesh looks unclean, the holes need more loop cuts to clean up. In order to preserve the bevel on one model in the example, I added the bevel modifier and then stared making holes on the mesh so I can keep the smooth edges.

So what method would be appropriate to have smooth edges on a model, but also be able to make holes which would leave a cleaner topology.

Thank you.

This is my way of making holes. It's probably not the best one, but looks good enough for me.

1) We subdivide a plane one time to many, and select 4 quads for each hole.

2) We do inset. (I)

3) We use Mesh: LoopTools add-on (just enable it) using Cicrcle tool.

(in edit mode right click and then LoopTools->Circle)

4) Inset one more time. (I)

5) Extrude downwards. (E)

6) Add Subdivision Surface modifier

7) Smooth shading (subdivided 2 times)

8) Render Eevee

To make hole sharper you can make more insets, and extrude down several times to put loop-cuts in all holes.


motion tracking : How to apply lens distortion value from one clip to another? I tried to track a distorted clip using motion tracker. I already determined the distortion value K1,K2 using a reference grid. Now I need to apply this distortion value to other clip. How can I do this without manually copy/pasting the value (K1,K2,k3, optical center)? If I open a new clip, this value will be reset to 0.

There should be a way to transfer this values across the clips because by default the clip to track and the reference grid will be in separated files.

Thanks

The lens distortion values (and all tracking information for that matter) are uniquely associated with the clip that was loaded in the clip editor.

The distortion information can be accessed in the compositor via the Distort>Movie Distortion node. There you can assign distortion undistortion and unsdistortion to different elements. The file that contains the undistortion info can be selected there.

Note that the information from the compositor will not be reflected in the Movie Clip Editor. If you must see the undistorted information on the Movie Clip Editor, then you will have to input those values manually.


Add ons for videogame development I am currently building the assets for a video game using blender; however I will like to start implementing add-ons that would make the task of creating all the assets much faster and easier.
In this case I really need for procedural generation, uv unwrapping, animation and texturing.
What are some of the best add-ons that can be implemented? both general and specific. User experience feedback will be greatly appreciated.

Dark Blender is a modified Blender Build specifically for Game Asset Creation. You can find it's download link and BlenderArtists thread here.


Change material of faces of object with modifiers non-destructively? So I have a sample object like this. I want to make the blue-colored red parts into new material.
I'd want to do it non-destructively so I'd want to keep my modifiers. Is it possible?

.Blend file here

You could add a color stripe directly into your material.

Use Gradient texture and ColorRamp as a mask
Add the Mapping node to control position of the stripe
Use mix node to combine different shaders


How to project (bake) an environment texture onto a mesh as if from a slide projector? I have an equirectangular texture applied as the environment. I go to the camera view, match the camera's settings and create my mesh so it somewhat matches the objects' shapes in that texture. I unwrap the mesh.

I deliberately avoid such methods like cutting an image into small pieces and then manually texturing the objects. It's really tedious and time consuming and I have to do tens of these images. Also, the projection, as I've mentioned, is equirectangular, so doing it manually is really not an option.
How do I project the pixels from that env. texture onto my mesh? (like a slide projector)

One cheap and fast way of doing it is to use The unwrap option "Project from view" Like in this Picture:

This uses your current 3D viewport as to unwrap it 1to1 into the UV image editor. If you align your camera just right it behaves like a Projected Image. I recommend to do this in the orthographic 3D view as well.


I have a planet eating my donut When I have gotten to the sprinkles part, everything went as it should.  I am back to that point and instead of the thin white cookie hanging off the side of the donut, mine looks like a planet eating my donut.  I have no idea what I changed but it started out looking like shaving cream with a little icing top stuck into it.  Does anyone know, just by looking at this, what setting I have amiss or what I neglected to do?  The first jpg is the shaving cream, the second is the planet, the third is the tutorial.

Your particle system is set to emitter, set it to hair.


Multiple Object Tracking I am doing a juggling project and need to track the motion of 3 balls (red, yellow, and white). So far, I've been really liking Blender's UI for motion tracking. I have manually tracked an individual ball for 1800 frames and am wondering if there is a better way of going about this. The balls are regularly occluded and sometimes go out of the camera's view, so is there a way of tracking each ball using one track per ball for the entire duration of the video? I also would like to export the curves from the tracking to a graph so that I can present my data. What are some methods I can use?

When an object disappears momentarily form the scene (either it goes out of frame and comes back later, or is occluded by other objects) you can track up to the point where it becomes untrackable, then add a new tracker for other sections of the video when the object reappears. Then just select the trackers and merge them with the Join Track button

That way Blender knows that is not dealing with a new object, but the same one.

Once you are done traking your objects go to the solve section/geometry and select "Link Empty to Track".

That will create empties on the 3D environment that follow the movement set by the trackers. From there you should be able to create the graphs you are after.


Using python to create a curve and attach its endpoints with hooks to two spheres I'm trying to create a curve with python to depict a bond between two atoms (spheres) like so:

bpy.ops.curve.primitive_bezier_curve_add()
obj = bpy.context.object
obj.data.dimensions = '3D'
obj.data.fill_mode = 'FULL'
obj.data.bevel_depth = self.bevel_depth
obj.data.bevel_resolution = self.bevel_resolution
# set first point to centre of atom_1
obj.data.splines[0].bezier_points[0].co = self.atom_1.locations[0]
obj.data.splines[0].bezier_points[0].handle_left_type = 'VECTOR'
# set second point to centre of atom_2
obj.data.splines[0].bezier_points[1].co = self.atom_2.locations[0]
obj.data.splines[0].bezier_points[1].handle_left_type = 'VECTOR'

The curve endpoints seem to get set to local coordinates and not to the centers of the spheres.

How do I add the hooks to attach the endpoints to the two spheres so that the curve ends stay attached to the spheres when animating the movement of the spheres?

Based on the answer linked by Seppo Silaste I have come up with the following example code which you can modify to fit your application:

import bpy

def hookCurve(o1, o2, scn):
    curve = bpy.data.curves.new("link", 'CURVE')
    spline = curve.splines.new('BEZIER')

    spline.bezier_points.add(1)
    p0 = spline.bezier_points[0]
    p1 = spline.bezier_points[1]
    p0.co = o1.location
    p0.handle_right_type = 'VECTOR'
    p1.co = o2.location
    p1.handle_left_type = 'VECTOR'

    obj = bpy.data.objects.new("link", curve)

    m0 = obj.modifiers.new("alpha", 'HOOK')
    m0.object = o1
    m1 = obj.modifiers.new("beta", 'HOOK')
    m1.object = o2

    scn.objects.link(obj)
    scn.objects.active = obj

    # using anything in bpy.ops is a giant pain in the butt
    bpy.ops.object.mode_set(mode='EDIT')

    # the mode_set() invalidated the pointers, so get fresh ones
    p0 = curve.splines[0].bezier_points[0]
    p1 = curve.splines[0].bezier_points[1]

    p0.select_control_point=True
    bpy.ops.object.hook_assign(modifier="alpha")

    p0.select_control_point = False
    p1.select_control_point = True
    bpy.ops.object.hook_assign(modifier="beta")

    return obj

o1 = bpy.data.objects['atom 1']
o2 = bpy.data.objects['atom 2']

obj = hookCurve(o1,o2, bpy.context.scene)


Missing Blender Prefs folder on other Mac user account Today I decided to make Blender available to another user account on my Mac.
(Blender 2.92, macOS Mojave 10.14.6)
The first obstacle was a permissions issue, that persisted no matter what, to the extent that I had to re-download Blender while logged in as that user, and copy the .app file into Applications and authorize it as Admin. (Had to make sure the file names were different, of course.)
But even after that, there is no Blender Prefs folder for that user.
When I go to ~/Library/Application Support/Blender/ on my admin account, of course I see Blender's preference data.
But on the other account (which can launch Blender, only with default settings) there is no Blender folder in Application Support. See screenshot:

What's going on here? And how do I copy my Blender preference data over for that other user?
(I say "copy" rather than "sync" or "share" because I don't want changes they make to their prefs to affect mine.)

Never mind.
I thought that a Blender folder automatically got created upon the first launch of Blender under that account.
But it turns out that you need to save some preferences of some sort in order for that folder to be created. Once you do that the folder appears, and then just swap out the 2.92 folder for the one containing the preferences your desire to copy over.
Or you could just create the ~/Library/Application Support/Blender/ folder yourself. There is no need to rely on the app to do it.
Pretty simple stuff. My mistake was just based on the flawed assumption that it gets created on first launch. But it's actually on first prefs save.
Please move along, nothing to see here...


Why can I see through a box in blender game engine? I have a problem where I can see through a box in blender game, see picture. This effect changes so that the near side of the "chassis" of the truck is invisible when I rotate the model

What can I do to not make this happen?

The normal (1) of the invisible face points in the wrong direction you can fix that by selecting the face and Ctrl-N.

You can verfiy this by displaying the normals (2)
Alternatively you could disable Backface Culling in the material's Game Settings (3).


Making a radio wave/transmission waves I've been researching for a while now and I can't seem to find any way to make radio or transmission waves in blender.

I'm looking for an effect sort of like this, but coming from a point in the animation. I am using Cycles and I am trying to create an internet of things animation, but it is very hard to portray what is happening without waves.

I have already tried to use a particle system, but was unable to achieve this effect. Maybe something like this would work but I'm not sure how to do it without the plane still being there. I also don't have after effects so that isn't really an option for me.

Any help of ways to make waves or to portray them would be greatly appreciated! Thanks!

I don't think particles are the way to go for this effect

If you are just looking for a 2D style animation you can easily do this with bezier curves and shapekyes or the offset property.

Just add a circle to your scene, duplicate it a few times (as many as desired) and scale them up a constant scale factor so they dist the same from each other.

Join them all into a single curve with Ctrl+J. Don't forget to apply the scale and reset all vertex radius into $1$ so they have the same weight.

Make all vertex handles type Free, then erase all segments leaving only a quarter circle. Rotate it $45º$ about the center and exit Edit Mode

Make a duplicate of your waves object for reference and make sure you add one additional wave outside the last one, again with the correct distance for snapping.

Now create two new shapekeys , one base and one for editing. In the editing one, scale all segments one by one so they reach exactly the one immediately after it with a bigger radius.
Make sure you scale with pivot on the 3D Cursor (period key .) and that the cursor is correctly placed at the center of the wave emission.

Animate the effect by keyframing the Factor property of your shapekeys with the i key, then make sure the animation curve handle is set to vector in the Graph Editor so the animation is smooth and without discontinuities.

Now add bevels and materials as desired

If you want a similar effect but with a 3D appearance and volumetric shape, then replace the bezier curves by 3D mesh spheres.

Bonus point if add a material with a gradient from color to transparent so the curves fade in and out at the ends.

EDIT

I just found out a much easier way to achieve this, animate the Offset curve property instead, saves the trouble with all the shapekeys and scaling with references. Just create the concentric circles and join them together as before, but then just keyframe the Modification > Offset property instead.

Here is a bonus image with a possible node setup for the material. Add the gradient to transparency if you want it to fade away


armature doesnot follow path after applying follow path constraint on armature object. The body separate from the armature I face the problem with the follow path constraint which is when i set the armature to follow path constraint,it doest work but the body separate with the armature. Seek for help.

For some reason, you must have moved the mesh away from the armature, so it is not aligned with its armature anymore. The solution is to deactivate the armature Follow Path constraint visibility, bring the armature back to its Rest Position, and align back the mesh with the armature in the global space.


"Record" doesn't create keyframes I'm just a beginner with animations in Blender, but how my teacher showed me is that you can click on the "Record" button, place your object, turn "record" off, move the object, hit record again to create keyframes, turn off Record", etc.

I've done it a few times successfully, but the new animation I'm working on doesn't create keyframes:

Object in position 1

I turn "Record" on and move the object:

But no keyframes were created!

The Record Button keyframes automatically every change in the Viewport.
But that recorder works only in object mode, so not in Edit Mode, since keyframes are created for objects. Also it works for all properties in Blender wich already have one keyframe inserted. If you change them then they are automatically keyfamed too. If you need to change the "shape" of the object, you need to learn to use shapekeys (and you can animate them too).

However, you can also keyframe and animate the Vertices (because with your method you don't move the object, only the vertices) directly in the Edit Mode with the AnimAll Add-on. But this will only playback properly in Object Mode.


Render solidify backfaces in cycles? so i was following the first steps in this tutorial: https://www.youtube.com/watch?v=D4T1cDJryOI

Basically you use a solidify modifier to create an outline around your mesh, however it is only working on the viewport when you have cull backfaces checked on display.

 but it does not work in the render, it stills render those backfaces.
I've tried using the node editor an the geometry backfacing utility along with a mixed shader.

I think it's because your object is closed (so it's dark inside).

And it looks like IkariShinji gives the solution in blenderartists.org: "Making the backfacing faces transparent for the camera doesn’t automatically make them invisible to shadow rays."

So here is the kind of node organization you need to have to make your object transparent again, please tell me if it works:


How to get soft shadows in Solid View? I was watching a video by Blender Guru and noticed that corners in his scene have shadows in the Solid View. However, my corners do not have shadows like he does. Is this an setting I can turn on in Blender? If so, how can I turn it on?

Ensure your mouse is over your 3D view, and hit 'n' if your properties panel isn't already showing. Then, just click 'Ambient Occlusion'. This simulates only shaded areas.

If you tick 'Matcap' above this, the combination of these options is very handy for checking the smoothness or subtle details in your mesh. Great for sculpting, or just checking for imperfections that need fixing.


Does Weight-Paint work differently in 2.80? I was able to make it work in 2.79, by the usual way.
But in 2.80 it won't react when I am trying to select the mesh (after putting the armature in Pose mode).
Maybe this is still being worked on.

https://blend-exchange.giantcowfilms.com/b/5926/

It seems that was something that had not been worked on yet at that time. It's already been fixed by now.


In Blender 2.8, can a object be both masked (Holdout) and Exclude for a given View Layer? It seems that Blender 2.8 doesn't support Mask & Exclude together. It is important in motion graphic for example. Or I am overlooked something?

I know that I can turn off indirect contributions from the object properties, but that would be a problem, because I need to use the same object on another layer.

Blender 2.79 (object is masked and excluded)

Blender 2.80 (object is masked, but can not be excluded together)

You can now use Object passes in the Compositor, created through the Cryptomatte options in the ViewLayer properties.

In the Compositor, three "CryptoObject" socket will be available, that are transformed to a mask (matte) through the "Cryptomatte" node announcement & demo.

You can then render a Render Layer without the object altogether, and another one with the object, that you will use only to create the matte.