Cube will not collide no matter what I have a working gun that shoots bullets with a material named 'bullet'. I have a cube with a collision sensor that looks for the material 'bullet'. But the bullets won't collide for some reason, and the only way I can get them to collide is to put the cubes physics to Dynamic with Ghost checked, but I don't want that because it will fall through the ground. It will not collide at all if it's not that physics type.

You answer was very uninformative and i don't quite understand your issue, so please update your question and i'll update my answer accordingly.

I'll still attempt to help by saying why it might not collide.

If your bullet is not colliding with things, the reason may be many things, so a quick troubleshoot is to check your physics tab(1)

One, the collision group(2), if a cube had the top left box ticked (dark grey if ticked) and the floor had it's collision mask(3) on the top left as well they will collide.

And if Ghost(4) is ticked, then the cube will fall no matter what through anything, and can't be interacted with say, the mouse click.


How to zoom in into an environment texture ? I chose cycles render as the render engine,
went into the world panel,
clicked in the surface part onto use nodes
and selected from color environment texture.

Now when I am in the rendered mode of viewport shading,
I can see the texture environment and it lights my glossy
cube as it should be, but when I scroll the mouse-wheel,
the size of the cube changes and the size of the environment texture
stays the same.

How can I achieve to move with a camera inside this environment texture and zoom into parts of it?

add a node "coordinate texture" to environment texture and scale only "X" and "Y"


How to add external armatures to existing object I'm trying to make an animation using an object that I found on the web (object.blend) and binding an animation (stick.blend) on it that I've prepared with help of a document that I found on the web.

I merge these two files, align and scale bones and finally set parent using "with automatic weights". The result is awful. I also tried "with empty groups" and "with envelope weights" but no chance.

When I repeat similar operations with a simple stick, it works as expected. What should be the correct way of merging these files?

Before you parent with automatic weights, go into the armature edit mode and align all the bones with the mesh. So that each bone is where it is supposed to be.

Then go into pose mode and clear the location/rotation of all the bones.

Then apply the automatic weights.

here is a .gif of how to do it


Bmesh: running bmesh ops after deleting geometry often results in an error I've uploaded a blend file that demonstrates the problem, please have a look and test it for yourself:

https://drive.google.com/open?id=0B9DFPZBPKp6AdERZTmJWeGE0RFE

If you delete geometry from a bmesh, but immediately then run another some more bmesh operations with reference to your resultant geometry, you will often encounter this error:

ValueError: geom: found the same (BMVert/BMEdge/BMFace) used multiple times

The only way I've found to fix this is to run the following after a deletion:

bmesh.update_edit_mesh(mesh, True)
bpy.ops.object.editmode_toggle()
bpy.ops.object.editmode_toggle()
bm = bmesh.from_edit_mesh(mesh)

But that seems a bit hacky. Is there not a more appropriate way of dealing with this problem?

edit: in the example blend file uncomment 'bmesh.update_edit_mesh(mesh, True)' to stop the entire application from crashing.

I'm inclinded to think this is a bug and I have reported it.

The context paramater you pass to bmesh.ops.delete would appear to correspond to deleting faces (DEL_FACES), this isn't documented clearly but appears to match with the enum defined in bmesh_operator.h. Ideally this enum should be defined in python for use with this operator.

By passing a geom list as well as a context, there are times (not every time) when an item can be deleted multiple times. It may be expecting to use one of these paramaters - not both.

You can verify this by deselecting all geometry before running the script. Removing the context paramater or changing it to 1,2 or 4 also works. It would also appear that if the selected items matches the geom paramater there is no problem, you can test this by deselecting the faces in your loop and selecting the faces as you add them to the list.

So this also works -

delete_first = []
for f in bm.faces:
    f.select = False
    if f.calc_center_bounds().y < 0:
        delete_first.append(f)
        f.select = True

bmesh.ops.delete(bm, geom=delete_first, context=5)

Edit:
From the response to the bug report it seems that passing duplicate geom to bisect_plane is the cause of the duplicate error message, though I seem to have trouble creating another scenario that causes a crash. The bmesh data created by the bisect isn't guaranteed to be appended to the end of the geom list so copying the geom based on the index relative to previous list lengths is creating duplicates. You will need to look at what you want to do after what you have so far to see how to work out another way to update the geom list.


Scaling a mirrored object I have a simple cylinder which is mirrored on both the X and Y axis.

When I scale it along the X axis, the two halves of the cylinder overlap, rather than scale as it would before the mirror modifier was applied:

I haven't used Blender in a while and I know this is a simple fix.

Enable Clipping on the mirror modifier:

To get it to scale completely as it would have before deleting half and mirroring, you must use the 3D cursor as the pivot (.). The 3D cursor also has to be in the center of the cylinder. The easiest way to get it there is selecting middle vertices and pressing ShiftS>Cursor to selection.


How to animate light's energy I'm new to animation with blender, I can animate the rotation, position and scale of a light, but not the energy that it emits. Can anyone tell me how to animate the Energy value?

I found the solution.

For Blender Internal

In the Energy label: press right mouse button and select Insert Keyframe.

For Cycles:

Create an emission node and animate the strength.


Exporting UV coordinates I'm having massive trouble exporting UV coordinates from Blender. I'm using the following code:

"""
Name: 'PMDL'
Blender: 263
Group: 'Export'
Tooltip: 'Exports to ESTL format'
"""

bl_info={
        "name":             "ESTL",
        "description":      "Exports to estl format",
        "author":           "Doxin",
        "version":          (0,2),
        "blender":          (2,60,0),
        "location":         "File > Import-Export",
        "category":         "Import-Export"
        }

import bpy
from bpy_extras.io_utils import ExportHelper
import sys
import struct

class ExportMyFormat(bpy.types.Operator, ExportHelper):
    bl_idname       = "model.estl";
    bl_label        = "ESTL Exporter";
    bl_options      = {'PRESET'};

    filename_ext    = ".estl";

    def execute(self, context):
        with open(self.filepath,"wb") as fid:
            fid.write(b"ExtendedStl")
            fid.write(struct.pack("I",0))

            count=0
            for ob in bpy.context.scene.objects:
                try:
                    ob.data.polygons
                except AttributeError:
                    continue

                bpy.context.scene.objects.active=ob
                bpy.ops.object.mode_set(mode='EDIT')
                bpy.ops.mesh.quads_convert_to_tris()
                bpy.ops.object.mode_set(mode='OBJECT')

                count+=len(ob.data.polygons)

            fid.write(struct.pack("I",count))
            bpy.ops.object.mode_set(mode='OBJECT')
            for ob in bpy.context.scene.objects:
                try:
                    ob.data.polygons
                except AttributeError:
                    continue

                for face in ob.data.polygons:
                    for vert, loop in zip(face.vertices, face.loop_indices):
                        for item in ob.data.vertices[vert].normal:#normal
                            fid.write(struct.pack("f",item))
                        for item in ob.data.vertices[vert].co:#vertex
                            fid.write(struct.pack("f",item))
                        for item in (ob.data.uv_layers.active.data[loop].uv if ob.data.uv_layers.active!=None else (0,0)):#uv
                            fid.write(struct.pack("f",item))

        return {'FINISHED'};

def menu_func(self, context):
    self.layout.operator(ExportMyFormat.bl_idname, text="ESTL (.estl)");

def register():
    bpy.utils.register_module(__name__);
    bpy.types.INFO_MT_file_export.append(menu_func);

def unregister():
    bpy.utils.unregister_module(__name__);
    bpy.types.INFO_MT_file_export.remove(menu_func);

if __name__ == "__main__":
    register()

It seems like almost every triangle gets the wrong UV coordinates, causing stretching and smearing of my textures. I've been stuck on this issue for a couple days now.

Does anyone know if I'm doing something obvious wrong?

EDIT: it seems that somehow the triangulation is messing up my uvs, if I triangulate the mesh before unwrapping the uvs seem to be mostly correct.

This issue is that you are accessing UV's by the vertex index,

ob.data.uv_layers.active.data[vert].uv

This is incorrect, you need to iterate over the face loops and access UV's by the loop index.

This is how you could access loops.

            for face in ob.data.polygons:
                for vert, loop in zip(face.vertices, face.loop_indices):
                    for item in ob.data.vertices[vert].normal:  # normal
                        fid.write(struct.pack("f",item))
                    for item in ob.data.vertices[vert].co:  # vertex
                        fid.write(struct.pack("f",item))
                    for item in (ob.data.uv_layers.active.data[loop].uv if ob.data.uv_layers.active is not None else (0.0, 0.0)):  # uv
                        fid.write(struct.pack("f",item))

Note that ob.data.uv_layers.active is not None should probably be moved outside of the loop as assigned a var has_uv for eg, its quite inefficient to check this all the time.


Baking ambient occlusion from python script i'm trying to bake ambient occlusion maps for combinations of parts in a python script. While in another blend-file the baking works, i get a "No objects or images found to bake to" error and don't know what to do about it. The important code block is marked below. The for-loop just goes through the filenames written in baselist.txt and loads the Wavefront OBJ-files.

import bpy
import os
import sys

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

# initial values
bpy.context.scene.render.bake_type = 'AO'
bpy.data.worlds[0].light_settings.samples = 4

basepath = os.path.join('C://', 'Users', 'bassmas', 'Desktop', 'Bakerman')
respath = os.path.join(basepath, 'resources')
baselistTxt = open(os.path.join(basepath, 'baselist.txt') )
baselist = baselistTxt.read()
baselistTxt.close()
baselist = baselist.split('\n')

# beleuchtung
lampData = bpy.data.lamps.new( name="Licht", type='SUN' )

#material
if 'einheitsmaterial' in bpy.data.materials:
    mat = bpy.data.materials['einheitsmaterial']
else:
    mat = bpy.data.materials.new('einheitsmaterial')
mat.diffuse_color = (1, 1, 1)

if 'selfAO' in bpy.data.images:
    img = bpy.data.images['selfAO']
else:
    img = bpy.ops.image.new( name='selfAO', width=256, height=256 )

# for each OBJ-File
for baseplate in baselist:

    # alles löschen
    for obj in bpy.data.objects:
        if obj.type == 'MESH':
            obj.select = True
            bpy.ops.object.delete()

    # import OBJ
    bpFilepath = os.path.join(respath, baseplate, 'standardUV.obj')
    bpy.ops.import_scene.obj(filepath=bpFilepath)
    bpObj = bpy.context.selected_objects[0]
    bpObj.select = True

    # set active
    bpy.context.scene.objects.active = bpObj
    bpy.ops.object.mode_set(mode='OBJECT')

    # switch on lamp
    lamp = bpy.data.objects.new( name="Lichto", object_data=lampData )
    bpy.context.scene.objects.link( lamp )
    lamp.location = ( 0.05, -0.05, 1.0 )

    # assign material
    bpObj.data.materials.append(mat)

    ##########################################
    # NOW WHAT IS THE WAY TO GO HERE?
    img = bpy.data.images['selfAO']
    bpObj.data.uv_textures[0].data[0].image = img
    #bpy.ops.object.mode_set(mode = 'EDIT')
    bpy.data.screens['UV Editing'].areas[1].spaces[0].image = img
    #bpy.ops.object.mode_set(mode='OBJECT')
    bpy.ops.mesh.uv_texture_add()
    bpy.ops.object.bake_image()
    ##########################################

    # export unter neuem namen
    tSelfFilename= os.path.join(respath, baseplate, 'self.jpg')
    img.file_format = 'JPEG'
    img.filepath_raw = tSelfFilename
    img.save()

How to set the active texture/image from within the python script?

I've solved it by adding a texture to the material, seems this has done the deal. I had to switch to "generated" image source. Now some updated code is here:

import bpy
import os
import sys

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

# initial values
bpy.context.scene.render.bake_type = 'AO'
bpy.data.worlds[0].light_settings.samples = 4

basepath = os.getcwd()
respath = os.path.join(basepath, 'resources')
baselistTxt = open(os.path.join(basepath, 'baselist.txt') )
baselist = baselistTxt.read()
baselistTxt.close()
baselist = baselist.split('\n')

# beleuchtung
lampData = bpy.data.lamps.new( name="Licht", type='SUN' )

#material
if 'einheitsmaterial' in bpy.data.materials:
    mat = bpy.data.materials['einheitsmaterial']
else:
    mat = bpy.data.materials.new('einheitsmaterial')
mat.diffuse_color = (1, 1, 1)

matTexSlot = mat.texture_slots[0]
if 'AOTexture' in bpy.data.textures:
    matTex = bpy.data.textures['AOTexture']
else:
    matTex = bpy.data.textures.new( name='AOTexture', type='IMAGE' )

if 'selfAO' in bpy.data.images:
    img = bpy.data.images['selfAO']
else:
    img = bpy.ops.image.new( name='selfAO', width=256, height=256 )
img.source = 'GENERATED'

matTex.image = imgSelf
matTexSlot.texture = matTex
matTexSlot.texture_coords = 'UV'
matTexSlot.mapping = 'FLAT'

# for each OBJ-File
for baseplate in baselist:

    # alles löschen
    for obj in bpy.data.objects:
        if obj.type == 'MESH':
            obj.select = True
            bpy.ops.object.delete()

    # import OBJ
    bpFilepath = os.path.join(respath, baseplate, 'standardUV.obj')
    bpy.ops.import_scene.obj(filepath=bpFilepath)
    bpObj = bpy.context.selected_objects[0]
    bpObj.select = True

    # set active
    bpy.context.scene.objects.active = bpObj
    bpy.ops.object.mode_set(mode='OBJECT')

    # switch on lamp
    lamp = bpy.data.objects.new( name="Lichto", object_data=lampData )
    bpy.context.scene.objects.link( lamp )
    lamp.location = ( 0.05, -0.05, 1.0 )

    # assign material
    bpObj.data.materials.append(mat)

    ##########################################
    # NOW WHAT IS THE WAY TO GO HERE?
    img = bpy.data.images['selfAO']
    bpObj.data.uv_textures[0].data[0].image = img
    bpy.ops.object.mode_set(mode = 'EDIT', toggle=False)
    bpy.data.screens['UV Editing'].areas[1].spaces[0].image = img
    bpy.ops.object.bake_image()
    #bpy.ops.object.mode_set(mode='OBJECT')
    ##########################################

    # export unter neuem namen
    tSelfFilename= os.path.join(respath, baseplate, 'self.jpg')
    img.file_format = 'JPEG'
    img.filepath_raw = tSelfFilename
    img.save()


Blender recalculate Vertex Position so no Group Transform Matrices are needed I have a Model (I'm sorry I can't upload or show images of that). This Model is a huge bunch of group nodes and geometries and so on.

Some of the group have their own transform matrices and some are identity. This is normaly just fine and how it should be. I know that. But for my problem I need the model only to have ONE (or none) transform matrices in the head node and every other group node should have identity matrices. Is there a way to recalculate every vertex of the model and set all matrices to identity? So all vertex share the same "local space".

It would be super cool if there is something like that in Blender and somebody could explain how to do that.

Maybe this helps:

Model
- Group One Translation -2 0 0
  - Geometry Vertex 1 0 0
- Group Two Translation 5 0 0
  - Geometry Vertex 4 0 0

this should be converted to

Model
- Group One Translation 0 0 0
  - Geometry Vertex -1 0 0
- Group Two Translation 0 0 0
  - Geometry Vertex 9 0 0

Blender always has to have geometry wrapped in an Object datablock.  So the best way to achieve your Group X >> Geometry xx zeroed out is to parent Geometry xx to Group X Object, and then do an Apply location to Group X.  Without seeing a blend or a screenshot, I can't be anymore specific.


Why am I unable to extrude/translate along the Z-Axis? I have a 2D mesh plane dividing into numerous faces. I have x amount of faces selected and I want to extrude or translate them along the z-axis to create a 3D model. I am trying to do this:

From the 5:30 mark to the 5:50 mark in this video

http://www.youtube.com/watch?v=mbm9lPB5GPw#t=5m30s

My object will not move along the z-axis. The faces don't move at all, even if I type in the amount to move along the z-axis and press enter, it continues to just remain a 2D plane.

I can't figure out if I have a setting turned on or off that is causing this or if its something else. It seems it should be straightforward, but I have not been able to solve it.

EDIT:

I cannot get the selected faces to extrude/translate outward from the plane along the Z-Axis.

EDIT 2:

Here is my .blend file

http://www.pasteall.org/blend/29706

This is because the Z scale of the object is 0.

Apply the scale (CtrlA> Scale) or set the Z scale in 3D view > Properties region (N) > Transforms > Scale:

Then extrude/translate should work fine.


For realism should I use the maximum number of Subsurf levels? I was wondering if I always need to use the maximum value of the options from the elements of "Add Modifier". For example, do I need to use the view 6 in Subdivision surface?
I know it depends of what we are trying to achieve, but we all want the same. Make something look the most believable. So do you always use the maximum value Blender offers?

My advice would be the exact opposite:

Use the minimum amount of subdivision that will give you acceptable results.

How much that is depends on the complexity of the shape and the resolution of the images you want to generate.

Needlessly increasing the amount of subdivisions comes at a price: RAM (memory) usage and computer processing. A higher number of vertices will impact your computer's performance. Keep in mind that for every level of subdivision you are increasing the number of vertices exponentially, so it's quite easy to end up with geometry that exceeds your computing capacity.

For more details read Render crash using subsurf modifiers.

3d realism requires taking clever shortcuts and fooling the viewer. Use high level of detail only on those areas that are featured prominently on the final image(s), objects that are going to be far away need less detail than those up close.


UV Mapping - During or After Building Process? I'm in the process of modeling a stave church, I've built it [3] times already. I had to because I'm learning from my mistakes while learning new things about blender each day.

My question is should I UV-unwrap each piece as I complete it, i.e the clock tower on side of building, the overhang roof etc? Or would it be OK to build the entire thing, then do the process of unwrapping?

I'm dying to get it done and UV-mapped so I can texture it either in Blender or import it over to UE4 and texture it there, or is it better to everything in Blender and then import?

Generally, It's best for it to be fully finished before UV unwrapping, because you'll want all your parts to be on the same map.

(mainly because it's a bit less tedious to do it this way.)


How to apply soft-body curves (noodle simulation) as solid object? I created some noodles in blender to satisfy my 3d appetite, but I don't know how to convert them into a solid object.

Softbody and collisions are just right, and I've found the right part of the animation where it looks just right, so how to I 'apply it' as a modified object?

I didn't realise there is a set of 'bake' options in the softbody options. "BAKE DYNAMICS" does this. Then simply (in the case of curves) "CONVERT TO MESH".

After that your noodles are ready for eating (I've never baked noodles before this).


Carving runes in a Mesh I want to carve runes in a golem that I created using blender but I can't get what I want. I'm trying to use some brushes like "crease" but it has a round aspect...
I would like to get some perfect angles instead of carving something that look like a river. I would like to carve just like I was using a cube to draw those runes.
This is the actual state of the golem.

One of many ways is to just model your runes, knife project them on the golem and extrude inside as much as you need. And Sculpt mode is meant for characters, with special regard to human face and head. Hence the curves.


When I enter sculpt mode my model's hair looks deformed I have tried making a choppy haircut for my character, so that the hair ends flat (like a cartoon character) rather than at a point.

I started out with a cube, made it thinner and curved it to fix onto the head of my model. I was happy with the shape but I wanted to give it a little texture with the sculpt tool.

However, when I changed it to sculpt tool mode this happened:

I don't know what to do or how to fix this. I just want my characters hair to look like this:

To fix this you could add a subdivision surface modifier and use that with the smooth sculpt tool to keep things without all of those bumps. Make sure that your head is rounded ish to keep the subdivision surface working. I did the same with a hair model and it worked for me. try giving it a shot.


Fade in action applicable to all objects (in cycles) I am trying to make a schematic video about assembling a machine. For a lot of objects (bolts, etc...) I use the same delta location action, so they get assembled in their position. This allows me to use the NLA editor, to make almost all the animations.

The problem is when I try to fade in & fade out objects. Loc, rot & scale works well, because all objects share these properties. But transparency depends on the material.

I've tried to have all materials end with a mix node connected to a transparent shader. So with the 'Fac' slider I can animate the fade. But the result action can't be shared between different objects, as they have different materials.

So, is there any visibility property of object I can animate? This would be great for motion graphics too.

Thanks

You could use a node group to do this:

Add a mix shader and create a new node group by selecting it and pressing CtrlG
Add a transparent shader to the node group:

Add this node group at the end of all the materials you want to simultaneously fade in/out:

This process can be made a little bit faster with copy and paste:

Select the node group and press CtrlC
Select each object/material and press CtrlV to paste the node group.

Adjusting the Factor of the mix node inside the node group will set it for all instances of the node group

With the factor set at .5 and .8 (click for larger image):


Blender 2.81: How do I mirror a collection of objects, instead of a single object, across the center pivot? So Object Modifiers only work on objects, or is there some way to make them apply to a Collection as well?

set the origin to the center of your object, duplicate the object you want to mirror (shift+D) and rotate the object 180 degrees (R,Z180)


Boolean modifier is not applied to the array objects I have a cylinder and I want to create concave parts around it.
Here what I did:

add a sphere and position it on the cylinder surface, so only one half of the sphere is visible
set the 3D cursor to the sphere
set the 3D cursor XZ axis to 0 (so Y is the projection of the sphere)
set the origin of the sphere to the 3D cursor
add an empty (arrow) in this position
select the sphere and add a modifier (array) using the empty as object offset (x6)
rotate the empty to 60° to evenly space the 6 spheres
apply the modifier and remove the empty

now I have all the 6 sphere around the cylinder's surface, and only one half of them is outside.
Time to subtract them!

select the ciylinder
add a boolean modifier (difference)
select the sphere as object
apply
remove the sphere

Well, it partially works: only the original sphere is actually subtracted from the cylinder. The other 5 spheres (created with the array modifier) are not subtracted.

Why?

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


How is it possible, incorrect keyboard assignments I've been having a strange problem and I would like to know from someone from a programming point of view, how this is possible.

Let me explain, I have been using Blender for a while when all of sudden my keyboard hotkeys changed their assigned function. For instance, in the edit mode box select, shift b went from selecting to changing the view and when I selected an object to add a modifier to the modifier was assigned to all the visible objects in the scene and were many more.

How are keyboard letters assigned their function and how could they change what they were assigned to do?

One other thing I did to try and fix this problem was I deleted Blender and reinstalled a fresh copy. The strange thing was that the new copy of Blender kept the same incorrect functions as the old copy.

I am using Blender 2.79 running on a windows 10 computer.

Do you have multiple languages on your computer?  I ran into this b/c I also have French on my computer and whenever I pressed alt+something (I never figured out what I pressed) it would change languages and so the keyboard would change and so would the shortcuts.  The way to fix this is to minimize Blender, go on the taskbar, bottom right, and see if there is a different language select.  If so, you've found your problem, just click on it and change it back.  If not, IDK.


I have a model with many, many spikes on it and they need to be rigged. Any possible way to do this? Now, you can call this 'thing' a disaster:

Now, as crazy as it looks, I'm trying to RIG this, every spike. The problem here is that rigging every bone like placing it everywhere will take a colossal amount of time. So the thing I'm aiming for is that is there any possible way to rig this fastly? I'm not trying to push your knowledge on Blender but I need the rigging for realism for a disease (making an animation).

I need a quick way (I don't care if it's hard, anyway) to rig all the spikes on this model, can anybody help?

Any helpful answers are appreciated...

First I would try using snap to volume, this can make rigging fingers easy. Snap one end of a bone to the base of a spike and the other to the tip. Subdivide the bone and then snap the new joints at points along the spike.

If volume snapping doesn't work very well, you can use the 3d cursor for snapping, a bit long and tedious for this many items. Select verts around base of a spike, ⎇ Alt click if you have a clean edge ring around each, otherwise you can select two, three or four verts that surround a centre point and snap the cursor to that, go into the rig and add a bone in that position (a new bone will be created at the 3d cursor), then select the tip of the spike and snap the cursor to that, then select and snap the opposite end of the bone to the tip. The same thing can be done at mid points to align multiple bones along the spike.


How to add a socket for mapping node? I use a Mapping Node for modify texture result. But the properties of Mapping Node are fixed. Is possible to add some sockets for Value Node? Then I can change values from somewhere else.

Unfortunately this isn't possible without modifying blender's source code. However, in the case of the mapping node, everything it does can be done with regular math nodes.

I've made some nodegroups which re-implement the mapping node accordingly:

Append or link (F1) the "Scale" "Translate" and "Rotate" nodegroups into your .blend, or put them in your startup .blend to keep them at your fingertips at all times ;)


Extracting parallax data from only two photos to help reconstruct a 3D scene In terms of integrating Blender renders with existing photographs, is there a way to create a set of Blender mesh points using the parallax info between just a pair of stereo photographs?

I've gotten good at regular camera tracking with video, and also using BLAM for static images, but what I'd really like to do is take two very clear and stable stereo images and extract as many good 3D points from them as possible, without resorting to also videoing in order to reconstruct the scene.

Or you could try point cloud reconstruction software which are free to download using Visual SFM and Meshlab. There are a few tutorials on the subject on youtube. As the question you are asking will require substantial write up, it's best to point you to some tutorials.

I learn this in 3 hours last night. However you may need more than 2 images.

https://www.youtube.com/watch?v=D6eqW6yk50k


Northern lights effect along line on textured plane I would like to create the following effect (in purple colour but that shouldn't be a problem) along the line in the second picture. The picture was created in Photoshop CC and I have placed it as a texture on a plane object in Blender. I am using the Cycles Rendering Engine and Blender v2.76.

Disclaimer: This picture is not the texture I want to apply the effect on but the real texture will be published so for copyright reasons I cannot show it here. Just so you know the actual texture was hand drawn, scanned, and processed on Photoshop CC thus the option of me redrawing it in blender with lines is not really possible.

Thank you all very much for the help in advance. :)

You are probably better off creating an actual curve for the path of your effect than doing it from a "texture". Having actual geometry will help.

Just draw a bezier curve in Blender following the desired path, or draw it in Photoshop or Illustrator or Inkscape if you prefer, just make it so it is an actual Bezier Vector Curve, and can be exported as an SVG file and then imported into Blender.

Extrude said curve and then add the material.

The material is basically just a gradient in Z direction, from an Emission to an Transparent shader. Use the same Gradient texture, with Generated texture coordinates (so it adapts automatically to size changes) to drive both the emission progression of the Aurora Borialis and the color variation, as shown bellow.


How can we animate a ball rolling over a path? So I have an complex smooth surface.  I created a high resolution path curve and used a Shrink Wrap modifier to make it fit on my surface where I want it.  I apply the shrink wrap.

I can easily make an object move along this path now with a Follow Path constraint.  Great.

But...I would like to animate a ball rolling along this path.  I can't find a constraint or other tool in Blender that allows for this.  If I knew how Python interacts with Blender better (I'm just learning) I would write something using quaternions (I've done this in an iOS physics engine I did a few years back).

Or is there some trick with rigid body simulation to make my ball roll along the constrained path?

What's an animator to do?

You can make the ball roll with a Driver, first - this is what you should already have setuped, make sure the ball's Follow Path constraint option Follow Curve is set:

Add single driver to the X axis rotation field (RMB on field > Add Single Driver R)

Setup the driver like this (scripted type, no variables), also make sure Auto Run Python Scripts in User_Preferences > File is enabled:

Lets add a driver variable for the curve evaluation time, call the variable "eval_time", in the Prop field put the curve and Path is eval_time:

Now its time for the driver expression. You will need to know the ball's diameter and the curve's length.

diameter you get from ball's dimensions in properties panel N:

curve's length you get from running this script with curve selected:
 import bpy
 import bmesh
 orig = bpy.context.active_object.name
 bpy.ops.object.duplicate_move()
 bpy.ops.object.transform_apply(location=True, rotation=True, scale=True)
 bpy.ops.object.convert(target='MESH', keep_original=False)
 bm = bmesh.new()
 bm.from_mesh(bpy.context.active_object.data)
 edge_length = 0
 for edge in bm.edges:
     edge_length += edge.calc_length()
 bpy.context.window_manager.clipboard = str(round(edge_length,3))
 bpy.ops.object.delete()
 bpy.context.scene.objects.active = bpy.context.scene.objects[orig]
 bpy.context.object.select = True

It will calculate the length and store it in the clipboard, you can then paste it with Ctrl+V.

The driver expression is: -2 * curve_length / diameter * ( eval_time / eval_max ):

Let's break the expression down:

(eval_time/eval_max) is the only element that changes and it goes from 0 to 1 as the ball moves along the curve

the rest equates to a number, that says how much has the ball turn to rotate along the whole path
If the ball turns 1 complete rotation (360°), it will travel pi*diameter units.
So to cover the path it needs curve_length / pi*diameter of full rotations.
The catch is that driver expects the input in radians, not degrees. So a full rotation of 360° is 2*pi radians.
(2pi) * curve_length / pidiameter, we can simplify and remove pi
The last thing is the minus in front of the expression (-), this is to influence which direction we want the ball to roll. You can use the right hand rule to see what rotation is positive, and what negative (thumb in axis direction, fingers point in positive rotation direction).

Now the ball will roll accordingly to your curve's Evaluation Time:


Rotate duplicated objects according to a list of vectors? I'm trying to edit code that imports atom positions (xyz) and an arrow on each one with the spin (uvw). The atom positions can easily be imported with an add-on called XYZ importer, but it uses instances/dupliverts to duplicate a representative object to create the overall structure. However, each duplicated object needs to have a custom rotation, specified by the spin vector. I'm struggling in how to modify dupliverts to achieve this and I can't find any simple alternatives. It should look like the image I attached, with an arrow centered on each atom.

Assign and align to the vertex normals

Similarly to https://blender.stackexchange.com/a/163958/15543 using the cone as a duplivert instance

The vertex normals of suzanne are determined by the faces. If we construct a vert only mesh, then set v.normal = (x, y, z) for each vertex

Here is a script that adds a pointmesh cube, assigns the normals to the coordinate normalized and adds an empty as duplivert object.  Used the cone display type, as it points in Y to which the normals point.

Assign your "spin" direction to as the normal of the vert.  Make sure align to vert normal is checked.  Remember that instances will be aligned Y axis to vert normal.

import bpy
import bmesh
from itertools import product
from mathutils import Vector
from bpy_extras.io_utils import axis_conversion

M = axis_conversion
context = bpy.context
coll = context.collection

bm = bmesh.new()
for v in  product(*(((-1, 1),) * 3)):
    vert = bm.verts.new(v)
    #norm = Vector(random() * a for a in v)
    vert.normal =  vert.co.normalized()

cube = bpy.data.objects.new(
        "Cube",
        bpy.data.meshes.new("Foo")
        )
bm.to_mesh(cube.data)
coll.objects.link(cube)

bpy.ops.object.empty_add(
                radius=0.5,
                type='CONE',
                location = (0, 0, 0),
                )
arrow = context.object

arrow.parent = cube

cube.instance_type = 'VERTS'
cube.use_instance_vertices_rotation = True


Un-stacking textures that are stacked over each other I have an UDIM texture.

When I load my model in ZBrush, the UVs are stacked on top of each other, and that makes painting it really difficult:

I would therefore like to "un-stack" it in Blender.

It should look like this:

Could anybody please tell me how to do?

I have uploaded the Blend file here: (contains nudity)
 http://pasteall.org/blend/index.php?id=47958

If you still want to do this after reading pie75's answer, the MultiEdit Addon   might come in handy.

Select all objects, go to MultiEditMode.
Then select a face, press Shift+G -> Image
Move the UVs in UV Editor by pressing G X 256 (in this case, other value might be needed for other cases).
Hide the faces with H and proceed with another yet unhidden face, but this time move for the double amount.
When all UVs are moved, exit MultiEditMode and you are done.

Blenderman example (without hiding faces):


Extrude level to other element In the picture I have extruded the left cube. How can I extrude the right cube to exactly the same height as the left cube? I could copy the coordinates of the left one to the right one, but that is far too tedious ...

Enable Snap during transform option (click the magnet icon) and change the Snap Element type to Vertex. Extrude along the desired axis (in my case I press E,Z) and move the cursor until your extruded element snaps to the other mesh's edge.


Convert Blend file to GLTF with baked materials I am trying to convert MMD files into gltf files for use on the web. I use a plugin called https://github.com/powroupi/blender_mmd_tools to import them into blender, but when I export them, they don't keep their textures. I understand that this happens because the generated materials use complex nodes, so I was wondering if there was a quick way to flatten all materials into a simple unlit material.

IMAGE

The preferred material setup is described in the Blender glTF addon docs. You can use a process like How do I bake a texture using Cycles bake to bake a diffuse texture (or other things) which are compatible with that setup.


Making a falling object in "Physical properties"-rigid body soft I have a rigid body simulation of a falling object.
Now I would like to make that falling object soft to see how is it deformed when it hits
the bottom plane. Where do I set that softness ?

Keyword: Rigid. Because of the simulation methods, Rigid Body simulations do not allow physically calculated deformations. If you do want those, I suggest you use a soft body or cloth simulation with optimized settings.


How to know what object the snap function is targeting (in Python)? When using the snapping function during a translation in a script, is there a way to know which object, vertex, edge, or face was used as the snapping target?

The problem here is that snapping is an interactive operation, so to what is snapped to is known inside of the transform operator somwhow. But operators don't expose their internal working data, and bpy.context.active_operator.properties doesn't contain enough to find out (in particular if closest snapping is used, it may move your object to the same location for different snapping locations).

You can find the snapping co easily for snap to active, but it won't tell you which object nor which geometry element it used.

Would a scripted snapping modal operator help? Probably much slower than the built-in snapping, but that's probably the only way to know what is snapped to (requires a lot of final bmeshes in memory I guess).


Mesh deforming when armature is moved My character's leg is deforming when the master bone of the armature, or any bone, moves away from the default position. It always points there, and I believe it may be because of the object's origin.I have made sure everything is weight painted already. Here is a screenshot : http://gyazo.com/498f419cb9334c5a052cbaa977b4452c

You can view the blend file here : https://www.dropbox.com/s/8k380bhhhzmzgod/PROBLEM.blend?dl=0

Any ideas? I'm relatively new to blender.

You have a bone on different layer which has influence on the legs :

select the bone in the outliner
switch it to layer 1
go to weight paint for the legs and clean the weight


How can I round the edges of a mesh? I have looked at other similar questions on this site but couldn't answer my question. I have a model made of cubes the edges look very sharp (I would put a picture here but I don't have the required rep) is there a simple way to make the edges round?

You could use the Bevel Modifier from the properties panel.

Example with Segments set to 3 and Width 0.1 (red cube) Width 0.3 (blue cube)


Automatic weights not working well I'm new to blender and following a tutorial. I finished rigging and set parent with automatic weights but for some reason it doesn't work well for me - the side of the body of the mesh moves when I move the IK_Hand in pose mode.
In the tutorial it moves good and only the hand and its relevant parts are moving.

Can you help me with this?

This is my file: Mushroom

Thank you!

Your normals are flipped, you can see it if you enable Face Orientation in the Viewport Overlays options, it messes up the parentage. Go in Edit mode, select all and Mesh > Normals > Recalculate Outside, or ShiftN. Then reparent With Automatic Weight.


No change in Texture Paint Brush Sensitivity on changing Pressure Curves In Blender2.79b/Windows10-64bit,stroke's painted with mouse,using the texDraw brush(Strength = 1,Blend = Mix ) on the default DiffuseColor layer(No Alpha) work fine .

However on switching to a pressure sensitive tablet(on latest drivers),the stroke is suddenly next to invisible.On changing the Pressure Curve  for the brush from the  Original [origin (0,0,)end(1,1)] to a New[origin (0,1),end(1,1)],the tablet stroke still remains next to invisible.

Normally, if the software recognises the MouseStroke it means the machine's hardware is able to compute the stroke realtime but when it does not detect the pressure sensitivity of the tablet ,it does mean that the machine is not able to compute and render the Pressure sensitive stroke realtime.

On disabling pressure sensitivity by changing the PressureCurve to a Flat (0,1)(1,1) this issue is normally solved.
However in this case ,the solution is not working.
Is there any other way to completely turnoff pressure sensitivity ?

In Blender2.79 ,Texture Paint has an "Accumulate" Option[Texture Paint Mode->Tools->texDraw brush-->Accumulate] which allows the TexDraw brush to daub strokes on top of the previous daub.This makes the brush daub thicker and hence visible.

However,this option is "OFF" by default. By toggling it "ON" the Accumulate featured is turned "On" and a visible brush stroke is rendered (also pressure sensitivity is supported) .


Blender Python: Call operator function from another function? It looks like the best way to report a user-error to the user is by using self.report() of Operator types. However, what about when the operator calls a global function that needs to report a specific error? Is there any way to reach back to the calling operator and have it throw an error with a specific message?
The classic method to handle something like this would be to have the global function return some type of error index, then have the operator send a string that relates to the error type. But this creates a lot of relationship links between the operator and the functions it calls. If I later change the function, I have to also modify the operator.
Is there a simple way to pull this off? Either to access the "active" operator or to throw a global user error?

You can pass what you want and even self, this way it is easy determine where the call is coming from. Operator based on Templates > Python > Operator Simple:

import bpy

def main(operator, context):
    print (operator, context)
    operator.report({'INFO'}, 'Call is comming from: {}'.format(operator))
    #return operator

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

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

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

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.simple_operator()


Is it possible to link a shape key animation to only one of my actions? I have several actions(animations) for my character rig and in one of the animations I wanted to use a shape key to animate only part of the mesh.

I did complete the shape key animation but it shows up in all of my actions.

My question:
Is it possible to link a shape key animation to only one of my actions?

This will be exported as a character into Unity.

Whilst trying to solve my problem I realized that there was a better way to do this and by using a driver bone to animate the shape key I could keep the shape key animation linked to only one of my actions.

If anyone else is had this same problem I would recommend looking up key shape drivers. It will save you a headache.


Is there a way to change Ray Visibility settings of linked objects? I created a master object library file from which concrete projects can link in the objects needed for our scenes.  The goal was that if we needed to touch up an object we could then do so in the master object library file and re-render from scenes in project files.  The snag we ran into is that a couple of the master objects are used for two purposes: 1) Cast shadows but not be visible to the camera in one scene, and 2) Be visible to the camera in another scene.

So we were surprised to find that Ray Visibility options are grayed out on linked objects.

If it's not possible to change the options, we'll need to come up with a different approach.

Many properties are defined in the master blend file where all changes should be made. We can't change these properties in a linked file as they are always read from the master.

In most cases the only linked items that we want to modify in a scene file are armatures. To be able to modify an armature we make a proxy of the armature in the linked file (CtrlAltP), this can also be applied to other objects. The drawback of making a proxy of a mesh object is that we loose any modifiers in the proxy.

Apart from loosing modifiers other changes made in the master file will still show up in the linked file, this includes mesh changes, materials, textures, but you can change various properties of a proxy object like Ray Visibility.


Loopcut into many objects at once Hey guys i am building a city and i want to make a loopcut into every single building from the bottom in the exact same point! Lets say i want every building to have a loopcut at 3 m from ground ...do ihave to do it in every building manually or there is a quicker way?

Bmesh script.

Script to bisect each selected mesh globally 3  units above its bounding box lower corner.
Edit height = 3 to adjust.
Test script, select any or all of the objects to bisect, in OBJECT mode and press run script.
import bpy
from bpy import context
from mathutils import Vector
import bmesh

# global coordinates
height = 3
plane_no = (0, 0, 1)

meshes = set()
bm = bmesh.new()
for ob in context.selected_objects:
    if ob.type != 'MESH':
        continue
    me = ob.data
    if me in meshes:
        continue
    meshes.add(me)
    bm.from_mesh(me)
    mw = ob.matrix_world
    bbox = [mw @ Vector(b) for b in ob.bound_box]
    h = (bbox[1] - bbox[0])
    if h.length > height:
        print(f"Cutting {ob.name}")
        print(h, h.normalized(), bbox[0])
        mwi = mw.inverted()
        bbox[0].z += height
        bmesh.ops.bisect_plane(
                bm,
                geom=sum((bm.faces[:], bm.edges[:]), []),
                plane_no=plane_no,
                plane_co=mwi @ bbox[0],
                )
        bm.to_mesh(me)
        me.update()
        bm.clear()
bm.free()


Deleting Particle Settings Data Blocks I wanted to be straight. I just wanted to delete this data-blocks, because leaving it unbaked in my scene is eating a lots of ram. I've set an example:

So many of them were unused and just a duplicate.

I was just searching for an answer to the same question. If the particle system is unused by any object Blender will delete it on quit. However sometimes in complex scenes it can be hard to find the object that has the particle system.
You can remove it in the Outliner workspace by selecting Blender File  to display file data and linked libraries, under Particles you will see all your Particle systems and you can Right click and delete them.


Create a smooth, well rounded aircraft nose (with a low poly constraint) What's the best way/method to get a smooth, well-rounded aircraft nose-cone without a lot of space to create a gradual curve, or by adding tonnes of mesh?

My main problem is that I either end up with a point on the nose (if I scale the end cap wayy down), or, I'm left with a flat surface for the nose tip.  This is for a game, so I can't use subsurface (the nose looks superb when I do that BTW. I wish there was a way to apply subsurface to selections only! -- but that's a rant for another day ;)

I've tried:
a) adding a capsule primitive and using just the rounded cap-end to then bridge to the fuselage loop. But because the nose profile is a bit oblong and rotated downward on the z axis, that makes aligning the cap-mesh addition with the existing fuselage loop vertices impossible for a flowing line and light topology.
b) Adding a bunch of loops to cause the final fall off to be gradual, but while that solved the curve issue a bit, I just then added a lot of mesh, and in the end I still have a flat nose-end-point anyway!

I'm also constrained by the aircraft nose profile -- see the image. I essentially have just the short distance you see in the image between the last 2 loops to create a well rounded shape.

Here is what the nose looks like at this time:

Ideas?
Thanks!!

I don't know whether this is lo-poly enough for you.. there's a similar number of edges around the cone, (quite hi-poly, in my book)

Assuming an even number of vertices in the circumference:

Cut off  the tip to your second line, select the perimeter of the hole
CtrlF Face menu > 'Grid Fill', adjust spans and offset.
with O Proportional Editing on,smooth, bring out the central vertex
In vertex mode, Vertex menu > 'Smooth vertices', on a larger region of the nose

This way, you might have to model the part with the Mirror modifier applied.. it is symmetrical, though, so you can slice it in half and stick it back.


Is there a way to ignore subdivided areas in a particle system? I subdivided a part of my model to sculpt there.
I control the hair density with a texture painted texture.
The texture is just black and white.
Is there a way to make the density of the particle system uniform ?
In my understanding it shouldn`t have more hair in subdivided areas.
It should just put no hair on black and hair on white uniformly.

Try this settings:

Click Advanced to get extra settings
Click Even Distribution
Switch from Jittered to Random

Default settings:

Same geometry, but with this settings:


I want to render a scene but have the sun lamp not be effected by a certian object I have an interior scene that I am making, and I want to light the scene with a sun lamp. The scene looks great, until I add the ceiling. I understand that the ceiling is blocking all of the light from the lamp. So my question is, is there something I can do to the ceiling so that the light can still pass through it, but the ceiling is still in the scene?

If the ceiling is not a separate object, first separate it. You can do this by going into edit mode, selecting all the ceiling related vertices and pressing P. And from the popup menu, select 'selection'.
Once the ceiling is separated, select that ceiling object and go to material tab. If you find any number next to the material, it means the material is being used by more than one object (other than ceiling). Click on it so that a unique material is created for the ceiling.

Now, with ceiling selected, go to material node editor and change the node setup as shown below. In my case, my ceiling material is a diffuse shader. This node setup essentially makes the ceiling invisible for the sun lamp.


How can we move meshes for dental occlusion? Hello Blender community!
After getting help in an earlier post "How can put a mesh into a different position?", I'm stuck again...

I'm trying to find, with the CT facial scan of a patient, the good position for his lower jaw, using his teeth. If I find his dental occlusion (when all teeth are in contact), I find the position.

The problem in blender is that teeth of the lower jaw go through the teeth of the upper jaw If I'm trying to do it manually.... There is always a spot where meshes are overlapping each other.

Before:

After manual repositioning, you can see the top of the front teeth overlapping...

The idea is to find the position where there is the highest number of meshes from the lower and the upper jaw in contact at the top of the teeth,  but which don't join or overlap each other.

So is it possible to use a tool (like grease pencil to mark the meshes?) or an add-on (and precise Align add-on isn't working) to say to blender to find this good position?

Thank you so much for your precious help!

Edit:

I don't believe this can be done with precision having only the open-jaw position. For the future, you may try CT scanning both the open and closed positions - then you can overlay the open jaw mesh onto the rest position.

Also it doesn't help that we only have the left side of the jaw to work with in this scan.

But those issues aside, let's try to work with what we have for the sake of this test.

Techniques that may help:

Use the Mask Modifier to hide all of the mesh except the teeth. Get everything else out of the way. Use Grow Selection to select the verts in hard-to-reach places, then add them to the Vertex Group that is to be masked in.
Set the Origin Point of each object to be on the tooth with the largest surface area, which we know makes contact. That's a good starting point to start making adjustments to location and rotation of the object.
Turn on Backface Culling so that you can see (from behind) when teeth are intersecting.
Familiarize yourself with all of the rotation and location transform operations in Blender, because you will need to use them to get this even close to being correct.
Split your viewport to look at this from at least two different views at once. It will help you assess the position.

How enabling Back-face Culling can help:

Since I advised learning more about rotation, here are some quick rotation/transform tips:

Hitting R twice (RR) will give you a free-orbiting rotation that is often very helpful.
Familiarize yourself with the different Pivot types.
Knowing all of the Snap methods (ShiftS) will help you get your 3D Cursor wherever you want.
Anywhere your 3D Cursor can be, you can set your object's Origin Point to be there using ShiftCtrlAltC) or the button in your Tools Panel.
In addition to the standard Global orientation, at least learn Local and Normal as well if you haven't already.
ShiftCtrl + Num1, Num3, or Num7 will align your view to the Normal of a selected face.

Here's a .blend with some changes I made. I wouldn't call it accurate, just better than before. I'm not liable for how this is used. Please don't go building anyone's dental implants based on it. ;-)


how to keep Smooth mode from making ripples? The smooth shading mode is nice, but often times it seems to leave ugly marks where edges are. it doesn't do that between every face, but it does for some faces.
I tried flipping normals but all that does is make it lighter or darker, but doesn't actually smooth it out. I tried making all the faces merged, but that didn't help.

You need to add an edge split modifier to make the mesh look right.
Method 1 - modifier

Select Mesh

Add Edge Split modifier

Method 2 - specify shading
Another method you can use it a bit more manual and not a one click solution but it will work just as well in this case.

Select the mesh and go into edit mode.

Select the top polygons that make up the flat surface

Set their shading to flat in the tool panel on the left (t)


How to use a video as a reference on a plane? Can I use a video to texture a plane so I can use it as a reference for animating? It is important that I can view the texture without rendering the scene.

Edit: After loading an image as empty, I can't access the controls to Match Movie Length or Auto Refresh
!]1

A different approach involves not using a plane at all but an empty as an image:

Select the image in the properties->Empty->Display tab

Click on match movie length and enable Auto Refresh
You should see the number change in the Frames box on the left.

You'll get your image (or video) in an empty. The advantage of this method is that your image will be visible even in when the 3D viewport shading is set to wireframe or bounding box. Note that empties will not be rendered on the final render...


Is it possible to turn off grid in orthographic view? Is it possible to turn of only the grid in orthographic 3D Views?

Assuming you have 'Grid Floor' turned off as moonboots shows, there's a quick trick .. when in one of the standard Orthographic Views, tap 46 on your Numpad..(rotating your view by + and - 15 degrees). This converts your standard Orthographic View to a User Orthographic View, from exactly the same angle, and the ortho background grid disappears


Using shape keys with vertex hooks I basically set up a plane with a Subdivision Surface modifier and a ShrinkWrap modifier. I added hooks to all 4 vertices of the plane. I added another Empty in the middle that was the parent to the hooks.

I then added two shape keys. I modified the second to move two vertices down when the value was 1. It works well in Edit Mode, but escaping Edit Mode and moving the Shape Key's value slider moves the vertices only slightly:

I tried removing the Shrinkwrap modifier, but it yields the same error. Only once I removed all the Hook modifiers did the shape key work in Object mode. Is there a way to use hooks and shape keys at the same time?

Shape Keys and Modifiers occur in a strict order and this appears to be the cause of your problem.

The Shape Key acts on the base mesh. This means that it will always apply first. When you're in Edit mode certain modifiers are automatically disabled - otherwise you wouldn't be able to see the true state of the mesh. This includes disabling the Hook modifiers. This is why you are able to apply the shape keys and see the result when in Edit mode.

When you're in Object mode the shape key is actually being correctly applied. However, immediately after the shape key has been applied the Hook modifiers take effect - and move the vertices back to the place of the hook - thereby effectively undoing the shape key. The slight motion you're seeing is due to differences in the 'smooth' falloff affecting the surrounding vertices.

When Hook modifiers are first added, they are created with a Strength of 1.0. This Strength is effectively an 'Influence' value. Setting it to 0.0 will result in the hook having no effect on moving the vertex from its 'current' position to the 'hook' location while setting it to 1.0 will move it fully to the 'hook' location - values between 0.0 and 1.0 vary the strength of the hook.

Therefore, the solution to allow the Shape Key to still have an influence (and not be completely overridden by the Hook) is to reduce the strength of the hooks. This will mean that your empties will need to be moved further to have the same effect on the vertices but will mean that the contribution of the shape key is still taken into account. For example, changing your Hook strengths to 0.5 will result in the hook only having half the effect it would previously - the other half of the vertex location will be a result of the base mesh vertex location (including the shape key).


Simple bone pulling a bow (problem) I am making my first object in blender (a bow) its very simple started with a cube, thinned and / extruded / scaled / rotated / extruded / scaled / rotated / etc. to create half the bow about 5 pieces, I then simply mirrored if for the other half added a string then placed a single bone on the string (parent) another bone on the main bow (child) them) parented them, tested the mechanic, pulled the sting bone pulled away from the body bone okay.

Then selected the entire bow, and parented it to the bones with auto weights.  Now here is the problem.  In pose mode when I go to pull the bow string, it does pull back but instead of the string just pulling away from the bow frame, the string pulls back and the bow frame kind of pulls apart at all of its vertices. It just kind of falls apart.

I am following a tutorial that explains little to nothing other than just watching someone do it, so I don't know what he did that kept the bow in tack when he pulled the string, I tried groping the bow pieces all together but this didn't help.

Any help would be greatly appreciated.

To be honest, there are a lot of problems in your file. I'll try to point out some:

Uncleand faces:

Missing the two important loops here:

Obviously, the main problem is caused by the improper vertex group setting:

While the correct settings should be:


Having issue with mesh when in smooth mode My issue is rather strange and not sure on a fix for it but when im in shade smooth mode the legs on my character are shaded a bit differently as i will show with an image if you guys have any ideas please let let me know if possible

The shading is broken along an edge-loop, in those cases i would always check the normals first.

Solution:

Go in edit mode Tab
Select all with A
Follow up with Shift+N Recalculate Outside to correct the normals.

Explanation:
You can always check the normals with a "color indicating overlay" by switching on Face Orientation.

Example:

left looks similar to your shading, right shows the overlay activated

The Entire model should be blue if all normals are ok, if red is visible outside then those areas have bad (facing inwards) normals and you can either manually select the red faces and press Alt+N to open the Normals menu

and Flip the normals of the selected faces, or use the in most cases easier, "select all and recalculate outside" method explained at the beginning. There are cases where the Recalculate Outside function does not manage to fix all, just mentioning. In those cases manual flipping would be needed.

Happy Blending.


How can I stop materials from clipping? I want to model a paper character in 3D. I started by importing the material of the character I want to create using an add-on called "Import images as planes". Then, I arranged the material the way I want it to be, however, when I take a look at the model again it ended up like the image below.

The material on the back seems about fine, however, the material on the front seems to be overlapped by the material on the back. How can I stop this from happening, and if possible, how can I prevent this in the future?

First of all, you should prepare two images A and B such that A flipped horizontally has the same contour (the same alpha channel) as B. Otherwise, you will see that the character changes pose when flipping.
If you do that, then your problem will probably be solved: if you have a a very thin (0.001 m) cube with one big face depicting the front of an astronaut, and the other big face depicting the back of the astronaut, you won't be able to see the wrong side, as the right side will cover the other completely (because the alpha channels match).
Without doing the above, you can enable Backface culling to not display insides of an object:

Also, you don't need a cube and a single plane is enough - just use the Geometry > Backfacing to determine which side you're displaying:

Of course for a single plane, the Backface Culling has to be disabled.


How to tell which object uses which animation/action I have a scene with multiple objects, each potentially using multiple actions.

I want to export the keyframes for each action with my own Python script, but only for the object that uses that action.

I see that each action has a user count, but I can't figure out how it keeps track of which objects use it. I know how to export the keyframes, but I can't find a way to associate actions with only certain objects.

Is this even possible? If not, how do other people deal with this problem?

Actions are globally stored in bpy.data.actions, regardless of scenes.

Every object can reference one and only one action (Object.animation_data.action). Thus, you can't know which actions are made for / compatible with which objects without extra work on the user oder coder side.

User-based solution:Let the user specify which actions are supposed to be exported for which objects, either in a Panel in the export file selector or for every object in the object tab - both are not ideal. The former needs to be re-done every time (unless presets are used), in the latter renaming actions will break it.
Programmatic solution:Check all FCurves' data_paths and see if these properties are available for your object type. This should work reliable to distinguish Armature actions from other more generic ones, as the data paths start with 'pose.bones' for Pose actions.


foreach_set - Doesn't "False" toggle selection off? I have some verticies selected (for example vtx[0] from total 9), but try to select some others using "foreach_set".
So, I create an array (...here with 8 times "False", except vtx[8] is "True") and "throw" it on the mesh:

oa = bpy.context.active_object
bpy.ops.object.mode_set(mode='OBJECT')

sl = np.zeros(9, dtype=np.int32)
sl[8] = 1

### added after @lemon comment ###
setE = np.zeros(len(oa.data.edges), dtype=np.bool)
setF = np.zeros(len(oa.data.polygons), dtype=np.bool)
oa.data.polygons.foreach_set("select", setF.ravel())
oa.data.edges.foreach_set("select", setE.ravel())
##################################

oa.data.vertices.foreach_set("select", sl.ravel())
oa.data.update()

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

I end up with vtx[0] and [8] selected. Shouldn't "False" deselect the first vertex?

This seems to work:

oa = bpy.context.active_object
bpy.ops.object.mode_set(mode='OBJECT')

sl = np.zeros(9, dtype=np.int32)
sl[8] = 1

setV = np.zeros(len(oa.data.vertices), dtype=np.bool)
setE = np.zeros(len(oa.data.edges), dtype=np.bool)
setF = np.zeros(len(oa.data.polygons), dtype=np.bool)

oa.data.polygons.foreach_set("select", setF.ravel())
oa.data.edges.foreach_set("select", setE.ravel())
oa.data.vertices.foreach_set("select", setV.ravel())
oa.data.update()

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

oa.data.vertices.foreach_set("select", sl.ravel())
oa.data.update()

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

Maybe this code could be simplified?


Array modifier fit curve option( curve direction problem(already Ctrl+A applied, but failed to fix) I'm trying to wall model following a path curve,
so used array modifier, and used 'Fit curve' option

problem is

the wall model does not follow the curve path while duplicating the wall object like the first image(below)

I applied scale and rotation (Ctrl +a) and the T panel's number seems not wrong.
and I checked the origin of the object and curve several times.
But I couldn't find the clue at all.

How can I fix this problem?

Thank you for your time and help in advance;

Here is my blend file

It works better when you use the Curve modifier.

1) Go to Edit mode and rotate your mesh 90 degrees so it aligns better with the curve.
2) Set array modifier to Count or Length
3) Add a Curve Modifier and set the target to your curve.

Rotate your mesh in edit mode.

Set Array modifier to Count and add a Curve modifier

Voilà!

And here is the edited file.


Alpha Channel in Eevee? Apologies in advance for the Eevee question... but!...now that the releases are getting more stable, I'm messing around with it and wondering if anyone has gotten an alpha channel/transparency mix shader to work with it.

Usual setup doesn't seem to work. It looks liek there was a transparency socket at some point, but not now, and plugging the alpha into the transmission does nothing.

Okay, if anyone else is wondering about this, I found an answer on Twitter of all places...there's an Options section of the Materials tab that contains a Blend Mode drop down with an Alpha Blend option (among others.)

Weird that this isn't accessible through the Node Editor somehow (but maybe I'm missing it.)


How can i obtain a 247 white in blender 2.8? I want to obtai a 247 white background.In blender 2.79 to obtain this you should set the RGB (R=0.930,G=0.930,B=0.930 and A=1).In blender 2.80 the result is not the same.I obtain a grey color.

Read about color transformations here first, then ...

use an emission material and
set the view transform to Raw.

]2


Can I change the position of the camera during an animation? How can I change the position of the camera during an animation?

If you mean how can I change the position of the camera while animating another object then you can simply select the camera and move it around inset key frame and step some key frames and repeat.
I hope this helps you.


Python: Import X8R8G8B8 DDS texture as A8R8G8B8? I'm in the dead-end of some things done wrong before they were given to me.

Basically, I have many, many DDS textures here stored in the X8R8G8B8 pixel format. However, the X channel is actually holding alpha information and thus the whole texture should've been stored as A8R8G8B8.

When importing such a DDS file into Blender, it correctly ignores the X channel like every sane tool should do, but I want it to load it as the A channel.

Is there any way to customize the image loading step and configure how Blender maps the channels? I cannot tell the people who converted those buggy DDS textures to fix them, sadly.

Right now, I simply use:

texture.image = bpy.data.images.load("bugged.dds")

Can this "load" be configured? Or do I have to write the whole DDS support myself again to make Blender the victim which has to fix these pixel format shenanigans? (I'd probably change the DDS header to give the X channel a meaning then. The alpha bit mask is not set and the flags do not include alpha support.)

So far, I modify the header of the DDS texture file (according to how it is documented officially), as I didn't find another way. It's still a kinda hackish solution for me, but it's also a hackish problem I have.

with BinaryWriter(open(image_file_name, "r+b")) as writer:
    writer.seek(0x68) # DDS_HEADER->DDS_PIXELFORMAT->dwABitMask
    writer.write_uint32(0xFF000000) # Mask of the alpha data.

(BinaryWriter is a custom class. Simply pack an unsigned integer at position 0x68 which masks the alpha bits.)


2.82a wireframe disappears (glitch?) This has happened to me only in 2.82a:

while im in wireframe mode,and i do "Toggle Overlay",part of the wireframe disappears,as you can see in the pictures

Is it a glitch,or am i missing some specific setting ? Never happened with previous builds

No, it is not a glitch. If you disable the overlay you are basically disabling everything under it including bringing down the value of the wireframe under overlays.

if the value of the wireframe is less than 1, then it all disappears

you can still manually disable grid, floor, Axes, etc under overlays


Pause in relationships and constraints I want to talk about relationships between (for example) two bones. There are two bones (A and B), bone B has a Cconstraint, bone A is the target of that Constraint.

Let the Constraint be "Child Of". When we reduce the influence of the Constraint to 0, B folllows no more transforms of A (and that is what I want), BUT when we increase the influence back to 1 B "jumps" to A's transforms. So it collects all the information about A's transforms, and at zero point we just don't see it, but it exists and has no interrupts.
Is there any way to stop any inherriting of A's transforms for B, so that we move A, and B also moves (at 1), then B stops (at 0), and then B again moves (at 1), BUT from point where it has stopped last time? With no jumps to A's actual transforms.

It is about all the constraints, no matter is it Child Of, Copy Transforms etc.

Any solution (scripting, parenting, other consraints) would be great.

P.S. Drivers also have the same principle so I'm stuck at this point.

It doesn't collect all the transforms, it just uses the relative offset, that the target had have at the moment you created the constraint. For the Child of there are two buttons 'Set inverse', and 'Clear inverse'. They change that stored offset. So to get what you ask, you need to change the offset. I have no idea, where and how it is stored in the constraint data, but I'm sure it's accessible from the python API.


BMesh: How to map vertex-based UV-coordinates to loops? I have a game model format which stores the UV coordinates for each vertex. To implement seams in the UV mapping, a vertex just appears twice, each having a different UV coordinate (it solves the lighting issues introduced with that by using custom normals stored for each vertex, but sadly I can't teach Blender custom normals correctly yet as I learned... another story).

Basically, my vertex data looks like this (made-up data):

Index   X       Y       Z       U       V
0       1.4235  0.2434  -0.322  0.0     0.5
1       2.3242  0.231   0.323   0.5     0.0
2       1.2242  0.531   -0.323  0.5     0.5
...

So I started writing an importer for this format, and thought it's easy enough to just set an uv property of a BMVert instance - just to find out that BMVert does not have a property for UV mapping at all.

From looking at the samples, it (logically) looks like I have to set the UV coordinates by iterating through loops rather than the vertices. But I'm a little stumped for an answer on how to find out the index of the vertex having the required UV coordinate when iterating through the loops.

The answer here UV Vertex using Python? was suggested, but it does not show how to retrieve the corresponding index of a vertex.

My current code to import the XYZ vertex positions (and normals) is as follows:

# Get the vertices and indices of the most detailled LoD model.
vertices = get_vertices(...)
indices = get_indices(...)
# Create a mesh and a bmesh to represent the polygon.
mesh = bpy.data.meshes.new(fshp.header.name_offset.name)
bm = bmesh.new()
bm.from_mesh(mesh)
# Go through the vertices and add them to the bmesh.
for vertex in vertices:
    bm_vert = bm.verts.new(vertex.p0)
    #bm_vert.normal = vertex.n0 # TODO: Blender does not really support custom normals yet, and they look weird.
bm.verts.ensure_lookup_table() # Required after adding / removing vertices and before accessing them by index.
# Connect the faces, they are organized as a triangle list.
for i in range(0, len(indices), 3):
    bm.faces.new(bm.verts[j] for j in indices[i:i + 3])
# TODO: Set the UV coordinates??
uv_layer = bm.loops.layers.uv.active
for face in bm.faces:
    for loop in face.loops:
        loop[uv_layer].uv = #..?
# Write the bmesh data back to the mesh.
bm.to_mesh(mesh)
bm.free()
mesh_obj = bpy.data.objects.new(mesh.name, mesh)
bpy.context.scene.objects.link(mesh_obj)

It took me some time to realize I could just ask the vert property of a BMLoop when iterating through them, and then ask the index property of the retrieved BMVert to find my index.

It required to call bm.verts.index_update() before, or all the retrieved indices would've been -1.

This is my working code:

vertices = model.get_vertices()
# Add the vertices to the model.
for vertex in vertices:
    bm_vert = bm.verts.new(vertex.p0)
    #bm_vert.normal = vertex.n0 # TODO: Blender does not really support custom normals yet, and they look weird.
bm.verts.ensure_lookup_table() # Required after adding / removing vertices and before accessing them by index.
bm.verts.index_update()  # Required to actually retrieve the indices later on (or they stay -1).
# Connect the faces, they are organized as a triangle list.
for i in range(0, len(indices), 3):
    bm.faces.new(bm.verts[j] for j in indices[i:i + 3])
# Set the UV coordinates by iterating through the face loops.
uv_layer = bm.loops.layers.uv.new()
for face in bm.faces:
    for loop in face.loops:
        # Get the index of the vertex the loop contains.
        loop[uv_layer].uv = vertices[loop.vert.index].u0


How to add Multires subdivide button to my own script As the title says, how do I add the subdivide button in the multires modifier to my own scripts. I managed to add the button but it does nothing when I press it.

Any help would be appreciated

Edit: This the area of the script I'm having troubles with

import bpy

class CustomPanel(bpy.types.Panel):
    """A Custom Panel in the Viewport Toolbar"""
    bl_label = "MultiModifer"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "Sculpt"
    bl_category = "Tools"

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

        row = layout.row()
        row.operator("object.multires_subdivide", text="Subdivide")
        row = layout.row()
        row.operator("object.multires_higher_levels_delete", text="Delete Higher")
        row = layout.row()
        row.label(text="Multires Levels")

        if(bpy.context.active_object.modifiers.find('Multires') != -1):
            layout.prop(context.object.modifiers["Multires"], "levels", text="Sculpt")

def register():
    bpy.utils.register_module(__name__)
def unregister():
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

Pass parameters to layout.operator

The modifiers property panel is in "button context" and has a member context.modifier which the associated operators use.  In the 3d view toolbox there is no such context member, but we can pass the modifiers name to the operator.

Also rather than row after row, can use column layout.

import bpy

class CustomPanel(bpy.types.Panel):
    """A Custom Panel in the Viewport Toolbar"""
    bl_label = "MultiModifer"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "Sculpt"
    bl_category = "Tools"

    def draw(self, context):
        layout = self.layout
        obj = context.object
        mro = [m for m in obj.modifiers if m.type == 'MULTIRES']
        col = layout.column()
        for m in mro:
            col.label(m.name)
            op = col.operator("object.multires_subdivide", text="Subdivide")
            op.modifier = m.name
            op = col.operator("object.multires_higher_levels_delete", text="Delete Higher")
            op.modifier = m.name
            col.label(text="Multires Levels")
            col.prop(m, "levels", text="Sculpt")

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

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

if __name__ == "__main__":
    register()


How can I test if a mechanism works well before printing? I'm not new in Blender but I'm really new in 3d print. I want to do a mechanism with, lets say, two gears and one handle, and I want to test, rotating the handle, if the mechanism works well before printing.
The only solution that I found is use the rigid body simulator and drop a mesh to one of the gears and see rotate.
But what I need if there any way to rotate a handle and see if the gears works well each other before print the model.

I want to rotate the handler to test the model, is that posible?

Thanks in advance!

UPDATE:

After search a bit more I found a solution :D I use the Rigid body physic to simulate the mechanism.
I add a constrain to the red gear to act like a motor, so the gear rotate by itself. I saw the use of the constrain in this video https://www.youtube.com/watch?v=XcO8ovnr_Z0 (wich I recommend to see)
Thanks for the answers!

This gif probe that I made it (?)

What you may want to try is you can import it into a website called Onshape, it is a free cad software, it requires an account but after that you should be good. You can import meshes into it, there are many tutorials online if you need help.


rigidbodies not working with a lot of objects i have added a lot of objects with rigidbodies but some rigidbody objects are not working. i think its happening because there are a lot of objects : /. i have tried searching on web but i didnt found any answer.
Video: https://drive.google.com/file/d/16or602_RENpfHsaVclrzY5TM0nCAwBl4/view?usp=sharing
FIle link:

This last cube is not part of the same Rigid Body World collection, so remove the second collection, add a new one, and choose RigidBodyWorld instead of RigidBodyWorld.011:

RigidBodyWorld is a kind of ghost collection that is created and selected by default in the Scene panel > Rigid Body World when you create a rigid body object, more explanations give here by Blender Frenzy. You can also put your rigid body objects in a real outliner collection if you want, in this case, select it in the Scene panel:


Extrude Flat Face Along Angle Seems simple enough, but I can't find the solution. How do I simply extrude this along it's current angle (axis)?

Like this example:

You can create a custom orientation.

Select the tilted face
Click the + button to add a custom orientation
Extrude the top face, choose your custom orientation and use the Y axis


Automatically update an UIList I've created an own UIList for an addon. It's just used to display some properties of Action (as that one doesn't have a properties panel in the Action Editor), so it must get populated with actions and not with user input.

It actually must be updated manually, with a button I added below it. Althought this already works, I think it's not nice, so I was wondering if there was any way to update the list automatically.

I tried to override the draw method and override it there, but then the List (and the panel in general) isn't displayed at all.

def draw(self, context):
        # LIST UPDATE
        bpy.types.UIList.draw(self, context)

Here's my UIList implementation:

class MyUIList(bpy.types.UIList):
    def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index):

        custom_icon = 'OBJECT_DATAMODE'

        if self.layout_type in {'DEFAULT', 'COMPACT'}:
            layout.label(bpy.data.actions[item.Index].name, icon = custom_icon)

        elif self.layout_type in {'GRID'}:
            layout.alignment = 'CENTER'
            layout.label("", icon = custom_icon)

Thanks in advance!

Thanks to @batFINGER and @poor comments, I've been able to do this, so I'm gonna post it here for if someone has the same problem.

The trick had to be done in the panel draw method, when drawing the UIList:

row.template_list("MyList", "", bpy.data, "actions", context.scene, "myListIndex")

The third and fourth arguments are the place from were the list items will be get. I was using a custom list here (that just pointed to an action), so that was redundant.
The fifth and sixth arguments are where the selected item index is stored, which in my case is in the Scene properties.

Thanks for your help!


How to make objects follow armature bone shape? (images included) This probably is a very simple thing but I'm not able to figure out as I am very new to blender and animation.
I want to do a paper folding animation and I am stuck at beginning itself :D
I have a plane(actually a cube) and an armature setup as shown below.

After I apply parenting with armature and move the bones in pose mode I could get the plane to move but they are not following the bones

I wanted it like this for accurate positioning(shown in black line). I've kept the length of second bone to be same as the middle portion of the plane. I am thinking maybe a bone constraint would help not able to figure out which one.

Thanks in advance!

Looks like you have weighting wrong: delete the armature modifier you have created, select the paper, then the armature, then Ctrl P and choose "with EMPTY GROUPS option".
This option will create 3 empty vertex group with the same name of the three bones,  that can be manually weighted:
select the paper and enter in edit mode
select the vertex group tab in the properties window, select the first bone, select all the vertices around the first portion of the plane and click assign.
Do the same with the others two bones/portions of plane.

Done.


Brain Crease material I've got a model of a brain, and I want to be able to make it so that in the creases it's a different material, but I'm not sure how to do that. Any pointers?

There are three options.

You could leverage the "Pointiness" value. If you use it as a mix factor, you'll be able to blend between different materials based on the geometry. The benefit of this is you don't have to bake anything.

More in the Manual.

You could also create "Dirty Vertex Colors" in vertex paint mode and use that as the mix factor. It has the benefit of not having to bake anything, but its quality is directly related to how much geometry you have (more geometry will look better). BlenderGuru has a great tutorial about how to add dirt with this tool.

The somewhat more standard answer (and probably more appropriate) is to use an Ambient Occlusion map as the mix factor. You have to bake the AO to a texture of some kind, but it has the benefit of being very accurate and providing somewhat more control than the other options.

More in the Manual.

Technically a fourth option is to combine one or all of those techniques.


Sun lamp shadows too sharp I have a small army of zombies, with a sun lamp behind them. I set the sun from "No shadow" to "Ray shadow" and now the zombies have shadows. But the shadows are much too sharp. I changed the world settings to give indirect lighting, and gave it 3 bounces, but it didn't seem to affect it.
Is there a way to make the shadows from the sun more blurred, less sharp?

Use the Lamp > Shadow > Soft Size setting. By default for a sun lamp, it is set to 0.1, which produces sharp shadows. Increasing that number will make the shadows cast by that lamp softer.

Note: in order for you to see the softer shadows in your render, you need to increase the Lamp > Shadow > Samples value to something higher than 1.

Example: Soft Size = 0.1

Example: Soft Size = 5.0


Armature rotates both sides of mirrored mesh I'm new to blender and have been struggling having the bones only move the part of the mesh they're attached too while in Pose mode, and not having it duplicated on the mirrored side.

 and mesh when in

This is the only other question I found pertaining to the issue and its resolution did not work for me. Applying and mirror modifier, deleting half the mesh and recreating it.

 are the current modifiers I have on the mesh. I have messed around with it to a decent extent, mirrored before armature, unchecking vertex groups, etc, but I wasn't getting any luck.

You need to have the mirror modifier first (on top) in you modifier stack, then the armature modifier.

In the mirror modifier have the Vertex Groups option enabled. This mirrors your vertex groups if they have _R / _L or simmilar endings. The bones on the left in your armature should have the ending _L and the bones on the right _R, so the vertex groups also get these endings.

If you create the armature, while in armature edit mode, you can switch on the X-Axis Mirror option in the tools panel. With this enabled, you can hold down shift while extruding from a middle bone to create two bones: one with the extension _L and mirrored version with the extension _R.


Can I change the speed of an image sequence? I'm using an image sequence in a material, it draws a series of incremental model outputs for a flooding on a landscape. However it's moving too fast for the rest of the flyover animation. It doesn't have to be completely smooth, so I'm hoping I can slow it down by say only using 1 frame of the image sequence for every 2 frames of the animation, or some other ratio. In other parts I would like to speed it up again. Is there a way to do this?

I can think of one way to hack it and that would be to write a python script which duplicates some interval of the image files and then changes the sequence numbers, but I'm hoping there is a more elegant way.

It is possible by using drivers:

Add an Empty object somewhere;
In its Object panel, choose one Transform channel (such as Z Scale), type in #frame, then hit Enter to confirm. It will add a quick driver for the empty, make the Z scale value the same as the current frame number (e.g. If the current frame is 6, then the scale value will be driven to 6 automatically).
In Cycles Material node editor, move the mouse cursor over the Offset in Image Texture node, hit D to add a driver.
Open Graph Editor, switch to Driver mode, keep that node selected and you'll see the driver added. Set a variable based on the Z scale property of that Empty object. Type the expression like this: variable_name * speed_fac.

For example, in the example below, I used the variable name as var by default, and use 3 as speed factor, which means to make it playing 3X speed up.

NOTE:

It's recommended to control node-related drivers by object transform, which is the tricky part, due to the current dependency limit on nodes.
If The warning message occurs (as below), click Reload Trusted.


How do I show what I have selcted? Selected objects no longer light up yellow when selected. I'm assuming that this is a setting that got tuned off somehow and not a glitch. Where is the setting that turns back on the selection highlighting?

2.8

Under the Overlays popover in the 3D View header turn on Outline Selected.


Unwrapping not working and not giving any error message I'm trying to apply texture to the walls of the building I got and in some faces I can unwrap images to apply the textures but in others (for example on the left side, in the bottom left face i can't unwrap the image i want to). I'm using the v2.9 of blender. I really can't understand why the unwrap doesn't work. I'm having the same issue in more figures but just showing one of them. Thanks for the help
This is the link to the blender file: https://drive.google.com/file/d/1MbmFUJm0iwbBOqAb7PMY-2Tjbl47F7JW/view?usp=sharing

All the faces appear to be unwrapped, so I don't understand what you mean by " on the left side, in the bottom left face i can't unwrap the image i want to ".
There are scaling issues and it would have helped some if you had packed your image texture into the .blend file.
You have not marked any UV Seams.
You also have two UV maps for your building so you need to tell Blender which one you want to be used by adding a UV Mapping node, See screenshot below:

The usual way of unwrapping such a building would be the following:
1: Apply the Boolean modifiers.
2: Mark UV seams.

3: UV Unwrap.

4: Edit the UV's to suit the type of texturing. In the example below the UV's have been
edited for use with seamless (tilable) textures. See this earlier post for more detailed explanation on how to do this.
How to unwrap model so its perfectly proportioned?


Mirrored bones and IKs, ends up doing opposite rotations for no reason When I mirror my bones, IKs, etc.. (even when reseting rotation beforehand) they end-up rotating oppositely (cf. gif).

(https://gfycat.com/equalmaleamericancrocodile)

And nowhere can I find anything to fix it, it's driving me crazy! Even more so when I feel like it's simple and I can't seem to find the way.. Please help me if you can, and thank you in advance to anyone able to give me any insight :)

Object>Apply>All transforms to deltas. Check that first. Then check you are mirroring accordingly in EDIT mode of the armature (check the wrench icon property tab to the left of the screen) and/or the tool's settings on the top bar in the viewport. Mark the correct axis.


2.8 I can't select an object I'm not sure what cause this. I checked everything but it didn't work so I had to load default set which solved the problem. (I assure you that I wasn't edit mode) I still wonder what was the problem..

No I think there is something seriously wrong with the outliner window. Prior to 2.8 selecting something in the outliner positively selected it in the 3d viewport. The outliner in 2.8 is erratic. Selecting something in the outliner does not necessarily select it in the 3d.


Splitting geometry of two models which are merged together I have a obj file which contains a basic model with two various versions of it you can see here:

.

This model contains a grey/teal/blue model (Darkwitch) with their textures and a purple/orange one (Kuralak). Unfortunately both versions have different geometry like the horns and shoulder which only belong to the Darkwitch. Looking through the texture files you can see that there are several materials for this model:

Even though I know that it really depends on the model/file itself I would like to know how I can have a look at the different geometries trying to separate them? Or is it somehow possible to make all other textures transparent so only the Kuralak model becomes visible?

When you have one mesh object and you want parts of it to be hidden in object mode depending on some chosen options you can use a mask modifier.

To make use of the mask modifier you first setup some vertex groups, you may be able to do this by selecting based on the material applied, otherwise you need to select different vertices and add them to a group.

Once you have the vertex groups setup you can add a mask modifier for each group, then you can easily turn on/off the different parts.

The mask modifier shows only vertices in the selected group, clicking the arrows next to the vertex group name inverts this so it hides the chosen vertices.


Where is this grey camera shape coming from? I can't seem to delete this camera shape as I don't know where it's coming from. I don't have any cameras in my scene, nothing in the shader and compositor. The shape only appears in the wire and solid mode.
How can I remove this as it's cropping objects outside the shape?

I accidentally selected Alt + B. Selecting Alt + B again did the trick.


How to close a section of a sphere flat while retaining closest shape? I'd like to cap an irregular section of a sphere with a flat surface while not modifying the section shape:

I'd like to get to s.t. like this:

but without the errors (non manifold vertex with 3 points of junctions)
Starting from the section above, I normally would select non manifold (the border) with Alt-Ctrl-Shift-M then create face, fill, or grid fill. But all these create non manifold artifacts.
Or I could use loop tools; but they modify the shape. My question:
How can create s.t like the second image, that is close the surface optimally, without artifacts and respecting starting shape? Just adding to the outside of the shape so as to keep it closest to the original?
Hope I've been clear... is there a way? Scripting is ok, too...

The blend

This can be accomplished pretty easily with the knife tool.

I first positioned the object how I wanted it, and then pressed k, clicked on one point outside the mesh, then moved the mouse to the opposed side, and clicked to create a cut like the one above. Then all you need to do is delete all the vertices of the sphere to the right of the cut, and the knife tool will have created a smooth edge for your sphere segment.

One possible issue is that the knife tool only does the half of the sphere facing you. In that case, delete the half of the sphere you can't see, and use a mirror modifier to duplicate the side with the knife cut so it makes a full sphere again.

Final result:


I can't find the modifiers tab in 2.8 It was previously showing on screen but now I can't find it, even when the object with the subdivision surface modifier is selected. I have managed to apply a modifier via searching the modifier but I'm unable to modify its properties
.

you need to select an object that can have modifiers applyed onto it, and then on the right on the properties panel under the wrench tab.


How to add numbers to a dial? I'm trying to make numbers fit on a television dial like this:

But I'm having difficulty getting the numbers to align perfectly (i.e. not having the number 20 spread out but close together).  I've been trying to follow this demonstration making of a dial in Blender but I just can't get the numbers to align properly with the vertices of the circle.

This is what I am working with:

Does anyone know of a simple way to do this?

Here is the .blend

This is the .blend for LukeD

Fastest way (if a little inacurate) is probably using a single text object, with every single dial text as a word (separated by a space character)
Add a Curve modifier to said text object, and point it to a Bezier Curve Circle matching the desired dial radius.
Adjust the vertical positioning of text as desired, the control its radial positioning through the Word Spacing property.

For more precise positioning you are probably better off making each dial text a separate text object, then manually place it radially by using the 3D cursor positioned at the dial center as rotation pivot.
You may also use an arrayed plane, then have numbers placed inside a single group/collection used as particle system, this also allows non rotated text.