How to duplicate Weights to different Bones WITHOUT painting? Foreword: I picked up Blender like a week ago, tops, specifically for this model.

Summary: I want to take pre-existing weights from one half of a model, and mirror them to their counterparts on the other side of the model. Not painting new weights, which is the only thing I could find info on.

I'm working on fixing a model for XNALara because it's the only one of its kind and its rigging is 20 flavors of messed up on the right half. However, no amount of googling or experimenting with any and every "mirror" or "symmetry" related option I can find has helped me replicate the "mirror painting with .L and .R bones" effect with existing weights.

This was something that was incredibly easy to do in 3ds Max when I had access to that in college, so the fact that I can't find any instruction on doing it in Blender baffles me slightly. What am I missing?

If you have the bones named as Leander suggests (i.e., a left and right side naming convention and all needed bones in place), you can delete one half of your model (the half with the weights you want to copy), and then add a mirror modifier. Move the bones on the mirrored side around to see if it's working correctly, then apply the modifier. The only time this won't work is if you have shape keys on the model, since you can't easily remove modifiers on a model with shape keys.


How to replicate UE4 material in Blender? How can I replicate the following material in Blender?

If you are using the Cycles Renderer, it's practically node-for-node, with slightly different names.  I assumed "Lightness" was a texture:

Note that the grayscale/normal map images should be set to "Non-Color Data" so Blender doesn't gamma-correct them.  You might even want that for the colored image in the lower left.

I also didn't know what the empty Lerp would do exactly.  You might need to change the colors on that to black (0,0,0) and pure white (1,1,1) to duplicate an empty lerp node.

If you are trying to use Blender Render, then I don't know if this is possible.


Is it possible to make blurs that have an angle? I try to make a light source a little blurry. In the compositor I use the blur filter, but that results in vertical or horizontal blurs (changing x and y values). Is it possible to make the blurs that have an angle? This image as an example:

There's a dedicated Glare node designed for creating lensflares:

I don't think it can produce diverging streaks quite like in your example, but perhaps it can come close enough?


Unusual Viewport Issue So, I'm not sure what's going on here. But I just finished an animation in another file and came to this model I'm working on and... well I don't know how to explain it but any time I get close to the object or camera, it begins to disappear. I'd rather not factory reset as I have a lot of custom things set up. Any idea's what causes this? I use Shift+f to move around, scroll to zoom in and out etc... Blender 2.79b (still need to get used to 2.8 I have used blender a lot but still a noob)

The cause is almost definitely your clip distance. You can make the objects you are looking at bigger or change the clip distance by pressing N in the viewport and changing 'Clip Start' to a smaller value.


Remove animation glitch I have an animation with a glitch inside it, a wrong position, which I'd like to remove, but cannot find a way to do it simply and thru. This is supposed to be easy, so probably I'm missing something:

I've marked the wrong pose at frame 26, corresponding to the body to the right which sit still, while he should be backflipping.
How do I remove this pose? The immediately previous and following ones are correct.
Thank you.

EDIT: the blend.
https://drive.google.com/open?id=1A8jLuwVmanUdaWsiUq2yyVkTclzNR3l8

There is no keyframe at frame 26. Because you seem to have imported a 30 fps animation into a 24 fps project, a lot of keys are not on full frames.

The strange movement is the result of interpolation of the root bone, the hip.

The curves of the hip bone show the sudden change.

You can take any of the adjacent keys and move them onto the interpolated frame.


asigne instancing verts I made a chain armor. Now i want to asigne my chain, so that I can delete my base.

So here you can see on the right side my base. On the left side you see my chain armor. My problem is, that I want to see a little bit trough the chain armor (as in reality).

But when I try to asigne the object parent with clear parent and ceep transformation, this happens:

Its not a option to make the base transparent, because this would use more processor performance and I make this mesh for a game.
So how can I do it?
I tryed to asigne all transformation and all modifier and after that, I tryed to clear parents with ceep transfromation, but this also doesn't work.

I finally find it out. For all that have the same question. Here is there answer. You have to asigne all modifiers, and after that with ctrl a all scales, rotation etc. After that, you first select the origin of the chain aromr, than the base. With ctrl you get this picture

Then select make instance real or press M
Finally you got all the chain links seperate. Now select all chain links and with ctrl j convert it to one mesh.

Now you can delete the base.


Smoke option missing in physics properties Im using Blender 2.8.2 and there is no Smoke option on Physics Properties. How to fix it? Here is the screenshot


Unable to explode object I haven't been able to get the fragments of the green object to explode.  I'm not sure why, since I added physics, rigid bodies and made it active.

Here's a screenshot:

Here is the .blend:

Your object that you want to explode is one solid object. In order for it to explode you must first break it up into pieces.

I took the following steps:

Edit mode >Remove doubles
Object mode run cell fracture
Move object on layer one to a secondary/ unused layer and
move fractures to layer one
Add active rigid body physics to all fractures with collision margin
enabled at 1

Bake simulation then play the animation


Fire and Smoke Attributes Where do I find the attributes available for the fire rendering at Cycles (flame, color, density...). Where is the list? or at least, how do I find which ones are available? They are not listed in the custom variables (says it's blender's programming api? are they hidden?).

Everybody talks about them but I'm not able to find them, even on the official guide at blender.org. In fact, the help pages are outdated and contain nothing about the fire and smoke and fire modes for smoke dynamics and the parameters.

This question is, in fact, a general question:
Where do I find the attributes available?.

For reference:
http://www.blender.org/manual/physics/smoke/flow_object.html
There you can see it is always referencing a particle system. But in the volumes you have the smoke and fire AND fire options. Why doesn't it talk about it?

I'm using blender 2.74

You can find that Attributes on the official Page for the Attribute Node:
Attribute Node - Blender Manual

Or on the Stack Exchange Thread: All Possible Attributes - Stack Exchange


How would I twist a torus or circle into an infinity symbol? I can't seem to figure out how to create an animation of a zero twisting into an infinity symbol. I'm brand new to blender, and not really sure how to manipulate a torus to achieve this. Any help would be appreciated!

One way would be to do something similar to this, but with fewer twists.

I found that  100° twist with the simple deform modifier gives a pretty good infinity symbol when seen from the top:

By animating the amount of twisting (you can hover over almost any UI element and press I to insert a keyframe), you can get a result like this:

Example .blend


I can't make a particle system in cycles render! :( Please help! I'm using cycles render, version 1.79. When I try to make a particle system, I can't. I tried using blender render then changing, but then some options are grayed out and I need to change those. For example, I can't use emissions when changing render options.

just scroll up on the tab then you'll find the add particle system option. Click on it and the thing will expand down the page


2.80 - Can't see selection color On this project I'm working on, when I select a vertex (or anything else) in edit mode it doesn't become orange, it looks exactly like if it wasn't selected. If I grab it, however, I can see the vertex move, so I know it has been selected even if it doesn't show.

I've tried this on a new file and the vertex is shown orange when selected like expected, so it seems like I changed some setting without realizing it in the original project. Does anyone know what is going on?

EDIT: forgot to mention that this happens with the grease pencil

The solution was rather simple: somehow the vertex opacity in the overlay menu was set to 0. Changing its value fixed it.


Help with joining parts of a model using boolean modifier I'm trying to merge together two parts (the ones in the images) of a model using a boolean (union) modifier, but I get an error saying "Unable to execute boolean modifier". I browsed around a little but couldn't really find an answer which worked in my case, so I'm wondering how I can get the boolean modifier to work ~

The problem was non-manifold geometry as mentioned in comments. After making mesh manifold Boolean modifier worked properly.


How do i snap a copied part of a mesh to the parent of the mesh, wiht a distance created by edge? Basically I want to Ctrl+D some faces/parts of a mesh, then copy paste it next to the mesh I duplicated, create a small line (edge) between the meshes (of the same mesh?) and finally snap the duplicated mesh vertex to the created empty end of the line edge, so it looks like this:

Corresponding vertex --- Edge --- Corresponding vertex from the duplicated mesh

Basically i want to copy paste(shift+D) a part of a mesh, then move the mesh so bottom verticle snaps(and copied mesh moves, not only the verticle) to one point(unused verticle) a line(edge) i have created.

This is a better picture to explain what i exactly need.

Selected mesh bottom verticle to the empty/unused end of the edge(snapping to the edge verticle, whitout distorting the model(so no (alt+M) merge) circled in red in the picture below.

This is what i mean:

So after some mesh joining and scaling, end result would look something like this:

What you need to do is enable Snapping.

After you have duplicated your mesh:

1: At the bottom of the 3D window enable the Snapping tool. Then click on the icon to the right of that and choose the the element to snapt to, in this case choose Vertex. To the right of that is some snap target options, choose Active.

2: With everything deselected, right mouse select the vertex on the duplicated mesh that you want to be able to snap to any other vertex.
This vertex will be the Active vertex. (it is highlighted in red in the gif below). Now select the rest of the duplicated mesh by hovering your mouse over part of it and hit the L key.

3: G key to move the duplicated mesh about and you will find that the Active vertex of the duplicate will snap to the other vertices.

Don't forget to disable the snapping tool whnen you have finished with it .

Something you may not be aware of is that a mesh face only has one side. You can see this if you enable Backface culling from the Properties panel.

You should now be able to see that the duplicated mesh has its faces facing the wrong way. Facing inwards! this will create shading problems later on so you need to Flip the faces so that they will be on the outside when you join the edges of both meshes.

To do this: With only the duplicate mesh selected, open the Tools panel on the right and then open the Shading tab. From the Normals menu choose the Flip Direction option.

To join the edges of the original and duplicated mesh: In Edge select mode select the outer edges of both meshes then hit the W key to open the Specials menu. From there choose the Bridge Edge Loops option. **


2.9 changed the info log position - can I put it back? In 2.9, the Info Log that appears in the status bar when certain actions, such as Merge Doubles, are performed is in a new position in the right-hand side.

In 2.83.8, the info log is placed in the bottom-center. This is a place that's much easier to see while working for me, and I'd greatly prefer the info bar to be here.

Can I revert the change of info bar position in 2.9 to what it's been since 2.8?
It seriously bugs me to have to look all the way over to the bottom right for a display I use very frequently, especially considering it was already in a fine spot before. This one change is the biggest reason why I've stuck to 2.83 instead of using 2.9. It drives me nuts! :C
Any help is appreciated!

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

# <pep8 compliant>
from bpy.types import Header

class STATUSBAR_HT_header(Header):
    bl_space_type = 'STATUSBAR'

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

        # input status
        layout.template_input_status()

        layout.separator_spacer()

        # Nothing in the center.
        layout.separator_spacer()

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

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

        # Messages
        row.template_reports_banner()

        # Progress Bar
        row.template_running_jobs()

classes = (
    STATUSBAR_HT_header,
)

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

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

# <pep8 compliant>
from bpy.types import Header

class STATUSBAR_HT_header(Header):
    bl_space_type = 'STATUSBAR'

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

        # input status
        layout.template_input_status()

        layout.separator_spacer()

        # Messages
        layout.template_reports_banner()

        # Progress Bar
        layout.template_running_jobs()

        layout.separator_spacer()

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

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

classes = (
    STATUSBAR_HT_header,
)

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


What is the purpose and idea behind baking in Blender? I have an interest in the main idea of "baking" and how it plays a role in rendering an image or an animation. Can someone recommend a tutorial on this matter?
Thanks.

In computer graphics, baking generally refers recording calculated information in some kind of cache, to avoid the need to keep recomputing it.

For materials and rendering specifically, it refers to recording various kinds of surface information (e.g. colour, lighting, normals) into image file(s), which are then used as textures of various kinds.

It can be done for a many different reasons, some of the more common uses are:

Transfer surface geometry information (e.g. normals, curvature, ambient occlusion) from one (usually more complex) mesh to another
Transfer textures form one UV layout (possibly generated) to another.
Record procedurally generated textures either for export to another program or for performance reasons.
Save lighting information on static parts of the scene to speed up rendering.


250+ Keyframes? How to add keyframes? How can I increase the amount of keyframes on the dope sheet? I'm animating the rigify add-on and it won't let the green line go past 250(it just restarts). Also the keyframes after 250 are light grey as opposed to the ones before 250 that are darker.

thanks

Press the LMB while hovering the cursor over the End window of a Timeline bar and define the number of frames.

You may also change the start and end frames hovering the cursor over Timeline and pressing S for start and E for the end frame of the animation.


H.265 support in the VSE? Will we be able to edit 4k H.265 footage in the VSE in a near future?

Thanks!

Apologies but actually it seems that one is able to edit 4k H.265 footage in the VSE, am I right? I was able to bring in 4k H.265 footage in the vse without any convertion and do a soft cut at least.


How do I render viewpoint shading in Blender? I am new to Blender and I'm struggling to render texture shading. My object shows up fully texture painted in the Viewpoint Shading window, but in the Render (Cycles), it is only partially colored or completely gray (depending on my setting). Can you help me render with the same texture paint as is seen in viewpoint shading?
I am not sure if this is a node, material, or other issue. Any advice is greatly appreciated!

Update: I have changed the nodes due to helpful input from @Kyriakh, however, I am still missing part of the texture. Can you help me determine why the texture isn't fully showing up?

It looks you're having a problem with your UVs. Check your UV Maps in the 'Object Data Properties' panel. If you have multiple, try enabling the camera option for the other ones.
If you only have 1 UV Map, then you might have to re-align your mesh UVs (You can do this in the UV Editing workspace)


Where are the settings for draw distance? I'm completely new to Blender, I have animated some text with help from a tutorial, but that's it.

My first problem is, that i can't find the "View Properties" menu. I need to find it so I can change my "Draw Distance". (I'm not sure if it is called "Draw Distance")

Okay, so my second problem is this:

It is so annoying. For example, I selected a plane to drag it, and when I tried to drag it, it looked like I dragged the thing from the picture above, and not the plane. Also, when i den drag the object selected, the 3D cursor doesn't follow the object, why?

By draw distance, I'm guessing you mean viewport clipping distance. Settings can be found in 3D view > Properties region (N) > View > Clip:

That circle is called the 3D cursor. It's useful in many ways, once you get used to it ;) It is positioned by pressing LMB. To select and drag an object, use RMB.

See How do I select an object in the 3D viewport? for more details.


How to switch Camera Defocus on 1 object to another? Is there a way to Defocus on 2 objects vice versa without affecting transition? Camera is in motion, showing first as blurred second as focus object. I need to switch to first from second. First must be focus slowly while the other/second object is slowly blurring. Do I have to use 2 cameras for this? If so ho do i retain the same focus of the camera with the second camera? I'm using Cycles Render Blender 2.79...

You can do this by using an empty as the focus target, then animate the empty from one location to another over time.


Wireframe and halo together I have a simple mesh and like to render it as halo and wireframe.

Unfortunately they render only wireframe OR halo. I tried to mix halo and wireframe but i guess it affects only to the color.

What i also tried to assign the halo material to vertices and the wireframe material to the edges.

Any idea?

I'd say the trick here is having to overlapping objects with different materials.

If you make an instance of eachoder they'll virtually be one and the same object, changes to the mesh will propagate to other clones seamlessly and each can have it's own material one with halo, other with wireframe.

Make sure you apply materials By Object instead of By Data otherwise you won't be able to have different materials per object.


Graph bar with elevation/height values How can I get a graph legend that automatically gets my maximum and minimum elevation from an object?
Basically, I have an object that dinamically paints other with waves. I have a node setup that gives me color by relative height. I want to retrieve now the maximum and minimum absolute values of height that the waves are at current frame. I need to know how to build this http://lroc.sese.asu.edu/news/uploads/WAC_color_medium.4.colorbar.png that adapts height values from current time.
this is my current situation:

the following blend file has my current code. Please fill free to change or adapt as you need/want to make it work.

This script will generate a legend plane with text on the 2nd layer.

This script assumes the terrain object's name is "Plane".
To change it, change the object's name in line 7:

obj = bpy.data.objects['Plane'] # Reference terrain object

The color ramp was generated according to the example in the question above (3 swatches with pure green, blue and red in that order). Anyway, the script takes the colors from the original terrain object's color ramp.

It also generates 7 rungs to the legend's ladder according to the provided example. To change this, find the rungs variable i the script and change its value.

import bpy
from math import radians

def update_legend( scene ):
    C = bpy.context

    ## Get global height coordinates of terrain vertices
    obj = bpy.data.objects['Plane'] # Reference terrain object
    m = obj.to_mesh( C.scene, True, 'RENDER' )

    offset  = 0.5 # The value placed in the math.add node
    heights = [ v.co.z + offset for v in m.vertices ]

    minZ = min( heights )
    maxZ = max( heights )

    ## Generate legend color bar

    legendPlane = None
    if 'legend' in bpy.data.objects:
        legendPlane = bpy.data.objects[ 'legend' ]
    else:
        # Add legened plane on layer 2
        bpy.ops.mesh.primitive_plane_add( layers = [ i == 1 for i in range(20) ] )

        legendPlane = bpy.data.objects[ C.object.name ]
        legendPlane.name = 'legend'
        legendPlane.dimensions.y = 20

        bpy.ops.object.transform_apply( scale = True ) # Apply scale (dim change)

        # Setup legend material
        cr = obj.active_material.node_tree.nodes['ColorRamp']

        legendMat = None
        if "legend" not in bpy.data.materials:
            legendMat = bpy.data.materials.new("legend")

            legendMat.use_nodes = True
            t = legendMat.node_tree

            t.nodes.remove( t.nodes['Diffuse BSDF'] )

            emit = t.nodes.new( 'ShaderNodeEmission' )
            mo   = t.nodes['Material Output']

            # Link Emission to Material Output
            t.links.new( emit.outputs['Emission'], mo.inputs['Surface'] )

            # Generate new color ramp and link to Emission node
            colorRamp = t.nodes.new( 'ShaderNodeValToRGB' )
            t.links.new( emit.inputs['Color'], colorRamp.outputs['Color'] )

            # Add another color swatch in the middle of the ramp
            colorRamp.color_ramp.elements.new( 0.5 )

            # Set color ramp colors
            originalRampColors = obj.active_material.node_tree.nodes['ColorRamp'].color_ramp.elements[:]
            for i, c in enumerate( originalRampColors ):
                color = c.color[:]
                colorRamp.color_ramp.elements[i].color = color

            # Add Texture coordiantes and Mapping nodes
            mapp  = t.nodes.new( 'ShaderNodeMapping'  )
            texco = t.nodes.new( 'ShaderNodeTexCoord' )

            # Set up texture coordiantes Y rotation
            mapp.rotation[1] = radians( 45 )

            # Set up links
            t.links.new( mapp.inputs['Vector'],   texco.outputs['Object'] )
            t.links.new( colorRamp.inputs['Fac'], mapp.outputs['Vector'] )

        else:
            legendMat = bpy.data.materials["legend"]

        legendPlane.active_material = legendMat

    ## Generate legend text

    legendTextMat = None
    if 'legendText' in bpy.data.materials:
        legendTextMat = bpy.data.materials["legendText"]
    else:
        # Generate a material for the text
        legendTextMat = bpy.data.materials.new( "legendText" )

        legendTextMat.use_nodes = True
        t = legendTextMat.node_tree
        if 'Diffuse BSDF' in t.nodes:
            t.nodes.remove( t.nodes['Diffuse BSDF'] )

        emit = t.nodes.new( 'ShaderNodeEmission' )
        mo   = t.nodes['Material Output'] if 'Material Output' in t.nodes else t.nodes.new( 'ShaderNodeOutputMaterial' )
        t.links.new( emit.outputs['Emission'], mo.inputs['Surface'] )
        emit.inputs['Color'].default_value = (0,0,0,1) # Set color to black

    # Calculate text positions
    heightRange = maxZ - minZ
    rungs       = 7
    interval    = heightRange / rungs

    ladderText = [ str( round( minZ + i * interval - offset, 2 ) ) for i in range(2, rungs) ]
    ladderText = [ str( round( minZ - offset, 2 ) ) ] + ladderText + [ str( round( maxZ - offset, 2 ) ) ] # Add min and max Z values

    legendGlobCoo = [ legendPlane.matrix_world * v.co for v in legendPlane.data.vertices ]
    legendY = [ co.y for co in legendGlobCoo ]

    minY, maxY = ( min( legendY ), max( legendY ) )
    yInterval  = ( maxY - minY ) / rungs
    yPositions = [ minY + i * yInterval for i in range( rungs ) ]

    # Set X position as legend plane's maximum X + a space of 0.5 blender units
    xPos = max([ co.x for co in legendGlobCoo ]) + 0.5

    for i, yPos, text in zip( range(rungs), yPositions, ladderText ):
        name = "rung%s" % i

        o = None
        if name in bpy.data.objects:
            o = bpy.data.objects[ name ]
        else:
            bpy.ops.object.text_add( location = ( xPos, yPos, 0 ), layers = [ i == 1 for i in range(20) ] )
            o = bpy.data.objects[ bpy.context.object.name ]
            o.name = name
            o.location.y += i * ( o.dimensions.y / 2 )

        o.data.body = text

        o.active_material = legendTextMat

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

EDITED:

Fixed the issue that occurred when running this script with a modified mesh (in this case with dynamic paint), by converting the modified object to a mesh and using its coordinates. Here's an image of the legend generated at frame 110 of your simulation:

EDITED2:

Now updates values according to current frame via an app_handler.

EDITED3:

corrected line 128 > range(1,rungs) to range(2,rungs), so legend of scale bar is correct


How can I make this hexagon be exactly the height of the square I made this hexagon using a tutorial from erindale: https://www.youtube.com/watch?v=mLRqhcPIjg8&t=334s

I'm trying to make a pattern using this hexagon (the carpet pattern in "the shining") mathematically with nodes. But all my different measurements and equations rely on the hexagon being exactly the height of the square or two units. Just messing around with the less than value It got closer and closer as i approached the value .43333... (6.5/15) but if you look very closely you can see that its a little two big,

so when I tried to recreate the pattern it wasn't perfect.
If there's a way to find the height of the gradient and map it to 1 using map range, or maybe a different way to make a hexagon that defaults to this height, that's what I need.

By splitting a hex of height 1 into equilateral triangles, and Pythagoras, we know its side-to-side width is sqrt(3)/2. So, if we just look at the threshold in X, we know that has to be sqrt(3)/4. (And, IMO, that's an easier way to think about it than considering the dot-product branch of your tree)

You would hard-code that value into the Less Than, though, so it doesn't have to be recalculated for every shading-point... (the same goes for your existing sqrt(3). )


Baked data 'not exact since frame -1' When I set simulations(tried smoke, rigid body, hair dynamics, and cloth so far) to start at negative frames, I always get this message above the bake buttons:

There's also a gap in the bar on the timeline at frame 0, which I assume is the cause of it:

Would it be better to start simulations on frame 1 and offset the rest of the keyframes instead? Or is there a way to get blender to bake frame 0? Or should I just ignore that message?

You could answer the question if you should "just ignore that message" by yourself: Does the simulation / render looks as expected or at least is the result good enough for what you're looking for? Then ignore the message.
Apart from that, the Blender Reference Manual says the following about baking in frame ranges and offsets (this is in the Fluid section, not general), which suggests baking from frame 1 on and use the offset afterwards:


Different settings in blendfile I watched a tutorial on PBR (Physically Based Rendering (I guess)) - http://www.cgmasters.net/free-tutorials/realtime-pbr-in-blender/ and when I downloaded the file some setting were kinda different.
 I couldn't put reflection maps on the objects because the tab "Mapping" is missing. Also, there's Real-time HDR Image which blew me away since nobody did it (youtube videos). I replicated the world setup from Cycles since some nodes from Cycles seem to work in Real-time - GLSL (which is awesome), but it didn't work (the texture wasn't 360 like in the blendfile from cgmasters).
In the nodes for the sphere whatever texture I click the specular map doesn't change in the Material Preview.

Is the code manipulated specifically for PBR or am I missing something obvious?

Also, I really need real-time HDRI so please help!

Update:
I realized it's a test build version (2.78), it doesn't work with 2.77a, but the sphere texture still puzzles me (It doesn't update when I change it from the nodes), but it's a complicated setup so I should probably make a good study of it.

I almost forgot - I still can't aply an HDR image in the viewport (make it 360) and if it works from the cgmasters file, then it's possible. Please help!

The issue

Blend File is here:

Those mapping settings will only appear if you are NOT using nodes to define your material in Blender Internal. Uncheck the button marked in red on the material tab to get the settings back as they are in the first screenshot:

It makes sense, as you would - when using nodes - drop in a mapping node to the node graph to do the same thing. That's why the panels (and many other options) disappear.
Edit
Regarding the HDRI, the ability to show an HDRI directly in the Viewport has been added to Blender in 2.77, you can get the latest release (currently 2.77a) on the Blender website: http://www.blender.org. If you want the HDRI to also reflect on the objects, you'll need a development build from https://builder.blender.org/download/
Here is a screenshot taken from Blender 2.77a:

and this is the same scene in the current development build:


How to turn a bezier into having squiggly lines Hi! So I’m still new to blender but the thing is, I don’t know how to turn my path/bezier into having those squiggly lines so that I can edit them correctly. I’ve been watching videos but they’ve never mentioned anything on how to do it. I want to turn my normal circle to having the squiggly lines like what I’ve shown in the pictures, I’d really appreciate it if someone can help me.

If you're talking about the normals, go into the Viewport Display panel to display them:


Objects not showing in final render When I switch to render mode, they show up, and they show when pressing F12, but when clicking the 'Animation' button, nothing shows. If anyone knows how to help, please do.

Edit: I have enabled rendering using the cameras, still nothing.

Edit #2: What the, some how transferring all of the objects from layer 1-2 does the trick. I guess my camera was set up for the second layer even though it was physically in the 1st. Anyone like to explain?

For anyone who's really curious, Here's the file:

Also, it may seem like having the animation length of 1 frame seem bad, but I've done that for other files and they work fine.

There are two possible reasons for this happening.

Reason I - Object Render Disable

You can disable specific objects from being rendered in the Outliner. It is possible you did this without knowing it.

The Camera Button to the right of the Cube Object is disabled, meaning the Cube will not be rendered. Click the camera button to turn on/off rendering.

Reason II - Render Layer Settings

It could be that you have disabled the Render Layer(s) of your object in the render layers.

In the example photo, Scene: layer 1 is active and will preview render in viewport, but since Render: layer 1 is not active, then The objects in Layer 1 will not actually render.

More Render Layer Explanation -
The square buttons below 'Scene:' are the layers that are active and currently shown in 3D viewport. You have these correctly selected if you can see them in the 3D viewport and see them in the render preview.

The buttons below 'Layer:' are the layers that will be rendered. Select every layer that you have objects on to render.

The buttons below 'Mask:' will cause what ever objects on this layer to cut a transparent area through your render.


Is there a way to model schrödinger's wave equations in blender? I have the task to model the orbitals of an atom in blender for an animation. I know the orbitals of electron around an atom can be gotten from Schrödinger's wave equations. How would I be able to model that in blender?
I can try to explain a bit more about what is going on. (I am as lost as you are) The Schrödinger wave equation is a linear partial differential equation. The Schrödinger equation for the hydrogen atom (or a hydrogen-like atom) is
${\displaystyle E\psi =-{\frac {\hbar ^{2}}{2\mu }}\nabla ^{2}\psi -{\frac {q^{2}}{4\pi \varepsilon _{0}r}}\psi }$
The Schrödinger for a hydrogen atom can be solved by separation of variables. Spherical polar coordinates are most convenient according to Wikipedia.
${\displaystyle \psi (r,\theta ,\varphi )=R(r)Y_{\ell }^{m}(\theta ,\varphi )=R(r)\Theta (\theta )\Phi (\varphi )}$
please read more at https://en.wikipedia.org/wiki/Schr%C3%B6dinger_equation#Three-dimensional_examples under hydrogen atom. Also to add when modeled in blender they should look a lot like https://ecampusontario.pressbooks.pub/app/uploads/sites/25/2016/05/CNX_Chem_06_03_Oshapes.jpg

I was able to find a tool that did everything for you. The tool is here: https://github.com/Niuskir/Electron-Orbitals-Blender-3D


Reducing vertices breaks model when exported elsewhere I'm currently trying to take a 3D model and reduce the amount of faces/verts/tris it has, since it has quite a lot currently (over 100k tris). It seems that any method I choose causes the model to break when exported to FBX and imported into Unity.

As the model is by default, before reducing vertices, I can export it to FBX and then the model works fine in Unity.
If I use "Merge by Distance" or "Limited Dissolve" or any other "Clean Up" modes, when exported the model simply disappears and Unity spams these two errors:

Assertion failed: Invalid AABB *this UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Assertion failed: Invalid AABB a

I really have no idea what would cause this, I'm a beginner in Blender. Is there any way to check if the model has issues in Blender before exporting? Or maybe it's an issue with exporting?

Alternatively, it would be fine to keep the high amount of vertices in the blend file as long as I can reduce it on export. Is there any kind of surface modifier I can apply to reduce vertices?

I figured out what was wrong in my particular case. Reducing the amount of vertices completely breaks the model if the model has shape keys. It's really annoying that Blender doesn't give you a warning about this, but basically, the solution is that you have to delete any existing shape keys before decimating or performing similar operations.


My texture don't show up My object with texture + render.

What I must to do? I wanna my object with texture.

Blender files: here + here.

to be honest your files are quite a mess :) it seems you didn't exactly understand UV texturing in Blender Render: it happens at first. Also keep in mind that this (older) engine works completely different from Cycles (newest) and their materials are not the same, should you wish to switch to that engine later.

Here I try to explain what I found in your files: you have 2 different materials (with solid grey/brown colors) that you probably wish to use for texturing different part of your object. Indeed you assigned each of those materials to different faces of your object.

The brown material has no texture, but it's been assigned to the table legs geometry:

The grey material has a texture, and it's been assigned to the table top geometry:

As it is, here it how it looks when viewed through different viewport modes:

Texture

Material

Rendered

In the above results, the pink color means that in those parts a texture was expected, but couldn't be found. Of course you didn't upload (or pack) your image with the example files, and if I replace it with an example I created, here's what happens:

Now it seems that Texturing mode can see the right (red) color of my exampel texture, but look at what its UV map sees in the upper left corner:

Nothing!

Here is how you can correct it: I added my texture to the "legs" material, and set it to UV mapping, and you can see that the mapping works.

Then I moved to the "top" material, and corrected its mapping to UV (it was "object"):

And also looks good in render mode:

Ok but what about the Texturing mode, which still can't see the texture for the "legs" part? Here is what I tried: I went to wireframe mode, deselected all, and then selected only "legs" geometry (I used the help from the brown material, pressing the "select" button just below it)

And you can see it selects the right UV vertices, but the image assigned to that UV map is wrong => TBLTXT, so I replaced it selecting my image:

and now it looks correct even in the Textured mode:

That's the end, and I hope it's a bit more clear to you, now. You could also use a single material, assign the UV to it (image + map) and map different part of the image to different part of the geometry, but that's maybe another test you can do!


Appending hotkeys to default keymap I noticed that when Blender writes out a custom keymap it completely overrides all keys that were assigned previously.  I don't want to miss out on any changes in the default key mappings in future versions of blender, so I am trying to make a script that would append the keys I want to use to the defaults.

Here is the script:

import bpy
import os

wm = bpy.context.window_manager
kc = wm.keyconfigs.user

km = kc.keymaps['View2D']
kmi = km.keymap_items.new('view2d.zoom', 'BUTTON4MOUSE', 'PRESS')
kmi = km.keymap_items.new('view2d.zoom', 'BUTTON4MOUSE', 'PRESS', shift=True)
kmi = km.keymap_items.new('view2d.pan', 'BUTTON5MOUSE', 'PRESS')

km = kc.keymaps['View2D Buttons List']
kmi = km.keymap_items.new('view2d.scroller_activate', 'BUTTON4MOUSE', 'PRESS')
kmi = km.keymap_items.new('view2d.pan', 'BUTTON5MOUSE', 'PRESS')
kmi = km.keymap_items.new('view2d.zoom', 'BUTTON4MOUSE', 'PRESS', shift=True)

km = kc.keymaps['3D View']
kmi = km.keymap_items.new('view3d.rotate', 'BUTTON4MOUSE', 'PRESS')
kmi = km.keymap_items.new('view3d.move', 'BUTTON5MOUSE', 'PRESS')
kmi = km.keymap_items.new('view3d.zoom', 'BUTTON4MOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('view3d.dolly', 'BUTTON4MOUSE', 'PRESS', shift=True)

km = kc.keymaps['View3D Fly Modal']
kmi = km.keymap_items.new_modal('PAN_ENABLE', 'BUTTON5MOUSE', 'PRESS', any=True)
kmi = km.keymap_items.new_modal('PAN_DISABLE', 'BUTTON5MOUSE', 'RELEASE', any=True)

km = kc.keymaps['View3D Rotate Modal']
kmi = km.keymap_items.new_modal('CONFIRM', 'BUTTON4MOUSE', 'RELEASE', any=True)

km = kc.keymaps['View3D Move Modal']
kmi = km.keymap_items.new_modal('CONFIRM', 'BUTTON5MOUSE', 'RELEASE', any=True)

km = kc.keymaps['View3D Zoom Modal']
kmi = km.keymap_items.new_modal('CONFIRM', 'BUTTON4MOUSE', 'RELEASE', any=True)

km = kc.keymaps['View3D Dolly Modal']
kmi = km.keymap_items.new_modal('CONFIRM', 'BUTTON4MOUSE', 'RELEASE', any=True)

km = kc.keymaps['Image']
kmi = km.keymap_items.new('image.view_pan', 'BUTTON4MOUSE', 'PRESS')
kmi = km.keymap_items.new('image.view_pan', 'BUTTON5MOUSE', 'PRESS')
kmi = km.keymap_items.new('image.view_zoom', 'BUTTON4MOUSE', 'PRESS', shift=True)

km = kc.keymaps['Node Editor']
kmi = km.keymap_items.new('node.backimage_move', 'BUTTON5MOUSE', 'PRESS', alt=True)

km = kc.keymaps['Clip Editor']
kmi = km.keymap_items.new('clip.view_pan', 'BUTTON4MOUSE', 'PRESS')
kmi = km.keymap_items.new('clip.view_pan', 'BUTTON5MOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('clip.view_zoom', 'BUTTON4MOUSE', 'PRESS', shift=True)

It works when I manually execute after blender has started, but I tried putting the script in my scripts/startup user folder and it said View2D was not found.  So it's executing before View2D keymap context is defined, but I don't know how to make the script execute after everything else has been mapped.  Any ideas how to make this work?

Perhaps you could apply the keymap after startup as an addon, rather than in the startup folder?
Here is an extract of an example script from an addon I wrote to Toggle Emulate MMB & Numpad. I have included some keymap reference documentation in the repository, and commented code that might make it easier for you to set up your own script. I have removed here the superfluous elements for your purposes.
bl_info = {
    "name": "My Custom Keymaps",
    "author": "me",
    "version": (1, 0),
    "blender": (2, 90, 1),
    "location": "...",
    "description": "Loading Custom Keymaps",
    "warning": "",
    "wiki_url": "",
    "category": "Preferences"}

import bpy
import rna_keymap_ui
from bpy.utils import register_class, unregister_class

# Keymap Code

# First, set up a dictionary of key mappings.

# "TEMPLATE": [{"label": "Human readable name of keymap in Blender Keymap UI",
#               "region_type": "WINDOW", //Default is WINDOW (optional)
#               "space_type", "EMPTY", //Default is EMPTY
#               "map_type": "KEYBOARD", //Device to be used (optional)
#               "keymap": "Window", //Name to be chosen from declared list of keymap names
#               "idname": ..., //Specific reference to operator from blender API
#               "type": "", //Key type identifier - choose a specific keyboard button or mouse button, etc...
#               "ctrl": False, //Combination keys for compound hotkeys (optional)
#               ...
#               "value": "PRESS"}, //Whether key will be held, pressed, etc...
#              {...}]

keys = {"MENU": [{"label": "Toggle Emulate 3 Button Mouse",
                  "region_type": "WINDOW",
                  "space_type": "EMPTY",
                  "map_type": "KEYBOARD",
                  "keymap": "Window",
                  "idname": "preferences.toggle_emulate_3_button_mouse",
                  "type": "QUOTE",
                  "ctrl": False,
                  "alt": False,
                  "shift": False,
                  "oskey": False,
                  "value": "PRESS"
                  },
                {"label": "Toggle Emulate Numpad",
                  "region_type": "WINDOW",
                  "space_type": "EMPTY",
                  "map_type": "KEYBOARD",
                  "keymap": "Window",
                  "idname": "preferences.toggle_numpad",
                  "type": "SEMI_COLON",
                  "ctrl": False,
                  "alt": False,
                  "shift": False,
                  "oskey": False,
                  "value": "PRESS"
                  }]}

# Define a function to get a list of key mappings, 'keylists'
def get_keys():
    keylists = []
    keylists.append(keys["MENU"])
    return keylists

# Define a function to register the key mappings templated in the dict as keymaps, using the constructor kc.keymaps.new()
def register_keymaps(keylists):
    wm = bpy.context.window_manager
    kc = wm.keyconfigs.addon

    keymaps = []

    for keylist in keylists:
        for item in keylist:
            keymap = item.get("keymap")
            space_type = item.get("space_type", "EMPTY")
            region_type = item.get("region_type", "WINDOW")

            if keymap:
                km = kc.keymaps.new(name=keymap, space_type=space_type, region_type=region_type)
                # km = kc.keymaps.new(name=keymap, space_type=space_type)

                if km:
                    idname = item.get("idname")
                    type = item.get("type")
                    value = item.get("value")

                    shift = item.get("shift", False)
                    ctrl = item.get("ctrl", False)
                    alt = item.get("alt", False)
                    oskey = item.get("oskey", False)

                    kmi = km.keymap_items.new(idname, type, value, shift=shift, ctrl=ctrl, alt=alt, oskey=oskey)

                    if kmi:
                        properties = item.get("properties")

                        if properties:
                            for name, value in properties:
                                setattr(kmi.properties, name, value)

                        keymaps.append((km, kmi))
    return keymaps

# Define a function to unregister the keymaps
def unregister_keymaps(keymaps):
    for km, kmi in keymaps:
        km.keymap_items.remove(kmi)

def register():
    global keymaps
    keys = get_keys()
    keymaps = register_keymaps(keys)

def unregister():
    global keymaps
    for km, kmi in keymaps:
        km.keymap_items.remove(kmi)


basic bevel on cube not working I am going through the tutorial and I'm on bevel (I'm a super newb)
I have the basic cube chose in the modeling editor
I click on the bevel tool and I click the left mouse button and drag to adjust the bevel.
An odd yellow post appears in the cube and all that happens is a rectangle selection box appears when I click the left button and drag the mouse.
thanks in advance,
Will
here's a pict of my screen.

The yellow handler is to make the bevel and you can select the edges that you wanna use


Remove from CollectionProperty I am using the the CollectionProperty class to store a list of properties, so something like this:

class MyPropertyGroup(bpy.types.PropertyGroup):
    name = bpy.props.StringProperty(name="Property Name", default="Something")
    value = bpy.props.IntProperty(name="Property Name", default=22)

bpy.utils.register_class(MyPropertyGroup)
bpy.types.World.my_collection_prop = bpy.props.CollectionProperty(type=MyPropertyGroup)

Then in an Operator I am calling the add() method to create additional properties:

class MyOperator(bpy.types.Operator):
    # some irrelevant code here...

    def execute(self, context):
        my_prop = context.world.my_collection_prop.add()
        my_prop.name = "test"
        my_prop.value = 123

Now my problem is doing the opposite of add().

How do I go about removing an instance from a CollectionProperty?

As I was about to click the button to post this question, I realized maybe the CollectionProperty class extends/has the same methods as a dictionary or list. Anyway, with a little trial and error I found that it does (sort of).

To remove a single element:

context.world.my_collection_prop.remove(2)

To clear the whole collection:

context.world.my_collection_prop.clear()

I really don't understand how details like this get left out of the Blender API documentation.


How to attach horns to a character? Ok so I know, I probably should have extruded to make these horns now, but I made the mistake of making them both separately, It's my first time making a character in blender, so I'm quite new to all of this, anyway my question is, What should I do to combine the horns to my character?

Select Character + Horns and Hit Ctrl + J


Blender 2.8 bake node displacement as UV How is it possible to bake?
Or is it possible to change the object?

The correct way of using Displacement in Material Output node is through Displacement node (Vector->Displacement) and connecting image to the Height input. But even that way I believe Displacement in node editor doesn't work in Eevee, only in Cycles in rendered view. In Eevee it only shows up as bump. The only way to get Displacement in Eevee is by using Displace modifier.

Clarifications for baking color:

Then you click New on Image Texture to create new texture. Switch Render Engine to Cycles, set options for baking color:

Click Bake, wait to complete, then get to image editor where you select your image from dropdown at the top and save it as (Shift+S).


Function Update on Boolean Property Is there a way to use the update function when group properties are used? Am I not registering it correctly? I need to keep unique properties attached to each newly added object however. It seems that if I use the standard update on the pointer for the group functions, it doesn't maintain unique settings for each object.

import bpy
from bpy.props import *

# ---
# Group Properties that include Float, Integer, and String
# ---

class MyPropertyGroup(bpy.types.PropertyGroup):
    custom_String = bpy.props.StringProperty(name ="My String")
# Update Function for Boolean
    custom_Boolean = bpy.props.BoolProperty(update = UpdatedFunction)

# ---
# Layout
# ---

class LayoutPanel(bpy.types.Panel):
    bl_label = "Test Text"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"
    bl_context = "mesh_edit"

    def draw(self, context):
        scn = bpy.context.object
        layout = self.layout

        row = layout.row(align=True)
        col = row.column()
        col.prop(scn.my_prop_grp, 'custom_String', text="")
        col.prop(scn.my_prop_grp, 'custom_Boolean', text="")

def UpdatedFunction(self, context):
    pass
    return

# ---
# Registers
# ---

def register():
    bpy.utils.register_class(MyPropertyGroup)
    bpy.utils.register_class(LayoutPanel)
    bpy.types.Object.my_prop_grp = bpy.props.PointerProperty(type=MyPropertyGroup)

def unregister():

    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

Your update function is not defined before you try to use it. You need to put it before the property group class.

Here is a simple add-on that is very similar to your original:

bl_info = {
    "name": "Addon",
    "author": "Your Name Here",
    "version": (1, 0),
    "blender": (2, 75, 0),
    "location": "View3D > Tools > Test Text",
    "description": "Description",
    "warning": "",
    "wiki_url": "",
    "category": "Temp",
    }

import bpy
from bpy.props import StringProperty, BoolProperty
from bpy.types import PropertyGroup, Panel, Scene
from bpy.utils import register_class, unregister_class

def UpdatedFunction(self, context):
    print("In update func...")
    return

class MyPropertyGroup(PropertyGroup):
    custom_String = StringProperty(name ="My String")
    custom_Boolean = BoolProperty(update = UpdatedFunction)

class LayoutPanel(Panel):
    bl_label = "Test Text"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"
    bl_category = "Tools"  # puts it in the tools tab of 3D view tools
    #bl_context = "mesh_edit"

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

        row = layout.row(align=True)
        col = row.column()
        col.prop(scene.my_prop_grp, 'custom_String', text="")
        col.prop(scene.my_prop_grp, 'custom_Boolean', text="")

classes = (MyPropertyGroup, LayoutPanel)

def register():
    for i in classes:
        register_class(i)

    # storing property in scene for this example
    Scene.my_prop_grp = bpy.props.PointerProperty(type=MyPropertyGroup)

def unregister():
    for i in classes:
        unregister_class(i)

if __name__ == "__main__":
    register()

I think you should be able to find your way from there, but let me know if you need further clarification.

Edit:

bl_info = {
    "name": "Addon",
    "author": "Your Name Here",
    "version": (1, 0),
    "blender": (2, 75, 0),
    "location": "View3D > Tools > Test Text",
    "description": "Description",
    "warning": "",
    "wiki_url": "",
    "category": "Temp",
    }

import bpy
from bpy.props import StringProperty, BoolProperty, PointerProperty
from bpy.types import PropertyGroup, Panel, Scene
from bpy.utils import register_class, unregister_class

def UpdatedFunction(self, context):
    print("In update func...")
    print(self.custom_String)

class MyPropertyGroup(PropertyGroup):
    custom_String = StringProperty(name ="String Property")
    custom_Boolean = BoolProperty(name="Bool Property", update=UpdatedFunction)

class LayoutPanel(Panel):
    bl_label = "Test Text"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"
    bl_category = "Tools"  # puts it in the tools tab of 3D view tools
    #bl_context = "mesh_edit"

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

        row = layout.row(align=True)
        col = row.column()
        col.prop(scene.my_prop, 'custom_String', text="")
        col.prop(scene.my_prop, 'custom_Boolean', text="")

        col.prop(scene.my_other_prop, 'custom_String', text="")
        col.prop(scene.my_other_prop, 'custom_Boolean', text="")

classes = (MyPropertyGroup, LayoutPanel)

def register():
    for i in classes:
        register_class(i)

    # storing property in scene for this example
    Scene.my_prop = PointerProperty(type=MyPropertyGroup)
    Scene.my_other_prop = PointerProperty(type=MyPropertyGroup)

def unregister():
    for i in classes:
        unregister_class(i)

if __name__ == "__main__":
    register()


How do I make this concave shape? So i have a disk to make for my dad. He wants to buy a 3d printer and i need to make this shape. I have looked every where over the internet and couldn't find a tutorial to make a shape like this one. Can anyone help me?

Welcome on the forums, to get you started...
I used a modifier to spiral a curve line
next added a modifier to make it solid
next added 4 cylinders by mirroring one.
next i did a boolean operation to subtract the 4 cylinders.
for visibility i altered the 4 cylinders so you see them as wire frame.

Note you can change this file, the modifiers, or in edit mode change the curve or the cylinders.


Particles don't behave like rigid bodies How can I make particles act like little rigid bodies? I've done it before, just forgotten how. Right now, they fall right through my floor object, and into the abyss. Note, they are effected by forces, which is good!

Set anything you want the particles to interact with as a collision object.


Warp image to fit UV unwrap, without using projection unwrapping I am trying to make my volcano. I want to apply a normal texture to the volcano, which is very warped as I am currently using Project from View (Bounds) as my UV map unwrapping. This is currently the texture for my volcano model:

It currently works well for just the image texture:

However, applying a normal does not work so well, and looks more like this:

This bad normal mapping is due to the steep gradient. This is why I need to somehow warp my original UV map to fit the simple Unwrap, which currently looks like this:

How can I manipulate my original image texture to fit the new UV map from the old UV map? Is there a tool for this in Blender?

Sorry for all the images. I am trying to make this question as clear as possible. If you have questions, please ask me!

In the end, I resulted to keep the same texture as it is and not warp it. Then I experimented around a bit until I found my solution.

First of all, I increased the resolution from 900px to 2048px - this will allow more pixels on steep gradients, reducing the stretch.
Next, when creating my normal map, I set the blur to -10 to make the normal have a gradual change, to create more of a rounded impression than a square-shaped dent.

Following these steps will get you the desired result.


"Symmetrize armature" flips bones vertically When I try to copy my dragon's bones to the right side using Symmetrize, they are flipped vertically instead.
Before:

After:

I have done my homework. The model is oriented correctly, and the naming convention is followed rigorously. I have tried a lot of solutions (1, 2 (for some reason I cannot set the origin of the armature), 3, 4, 5, 6, 7). No salvation.
Blender version is 2.92.0.
Please let me know what I can do to symmetrise my dragon's skeleton :D
Here's the file: https://drive.google.com/file/d/1B3t23a3seoDxLt-gBZjEaaveng0zwQk3/view?usp=sharing

It turned out that I had an unapplied rotation to the mesh. For reference for anyone with a similar problem: go to object mode, select everything, ctrl+A, apply everything. Then make sure any of your mirror effects still work because now the axis may have changed. Symmetrize works now.


Is there a way to subdivide a cube while a shape of a sphere is maintained? Is there a way to subdivide a cube while a shape of a sphere is maintained? When making changes on a cube (with subdivision surface, bevel etc.), instead of pressing AltShiftS, the shape of a sphere to be maintained. Is something like that possible to do?

You can do this non destructively by adding a subdivision surface modifier set to simple, and a cast modifier with the Cast type set the sphere and the factor set to 1.

Another method is W>Subdivide smooth will come close to achieving the effect you want, as far as I know, it doesn't divide correctly, and will create a mesh that isn't quite spherical.

Screen shot of modifier settings:


Blender Collada IO Script location I want to change some presets for the DAE Import/Export, but for the hell of it I'm not able to find the locations of wm.collada_import and wm.collada_export.

If anyone could be of quick help I'd appreciate it.

You can find the Collada presets in

[your install dir]\2.80\scripts\presets\operator\wm.collada_export

There are two files sl_plus_open_sim_rigged.py and sl_plus_open_sim_static.py


BGE how to move the inventory up and down with logic bricks This is for a point and click first person adventure puzzle game.
The inventory is at the bottom of the screen as you can see below.

In this kind of game, when you click with your mouse on the box named
Inventory, the actual Inventory comes up and its content become visible:

I have managed to make the inventory go up (with an animation) with the following logic bricks:

What I need to know is:

How do I trigger the second animation (Inventory goes down)?

It's like an ON and OFF switch that I need to learn how to use so please
don't give me any python script (I'm learning that separately).

I need to learn how to activate a series of commands just by MOUSE OVER
object and MOUSE LEFT CLICK because this entire game is based on this logic.
I want to understand how logic bricks work and unfortunately the manual was of no help for me.

Thank You !

I suggest to use messages to request showing/hiding the inventory. This way you can request both operations from any object you like just by sending an according message.

You need to message subjects:

show inventory
hide inventory

This can easily be implemented with a point and click logic:

Additional you can set up an equal logic listening to keyboard input. This way the player has the choice to use keyboard or mouse.

View Status

The inventory by itself should have a status that is either shown or hidden. As there are just two status you could use true/false, but I think it is better to allow more status that might come later (shown, hidden, short ...).

State Machine

I recommend to use the build in state machine.

States

You can define the states as follow:

State 1: shown

Hint: the name of the first controller is the name of the state

State 2: hidden

As the names suggest the menu should be fully shown in state "shown" and minimized/hidden in state "hidden".

The initial state can be set at the lower button bar. The upper button bar is to show the logic of the different states.

Transition

As we know what the states are good for (semantics) we can now think about when to switch to what state (transition).

state 1: shown
if receiving message "hide inventory" -> switch to state 2 "hidden"

state 2: hidden
if receiving message "show inventory" -> switch to state 1 "shown"

The implementation is straight forward:

Actions

The above logic switches from one state to another. While the logic of the state machine itself is complete with that, the audience will not see any effect. So we add some operations -> actions (not to be confused with animation actions).

There are four types of actions:

entry actions (executed when entering a state)
exit actions (executed when leaving a state)
transition actions (executed when performing a specific transition)
state actions (executed while in state)

What we wan is to play an action that moves the inventory into the camera's view, when entering show state.

Symmetric animation

When the hide animation is the reverse of the show animation we can use the flipper mode of the action actuator.

I assume frame 1 is the "hidden" pose and frame 10 is the "shown" pose:

Do not forget to enable the [Level]. It makes the sensor trigger the controller on level change.

This logic performs both the entry action (play forward) and the exit action (play reverse).

Asymmetric animation

When you have two different animations when showing and when hiding, you might want to use one entry action on state "shown" and another entry action on state "hidden". The animations can have different speeds or different curves. They should end at the same pose the other animation begins to avoid visible animation gaps.

(Hint: you can use the same always sensor by temporarily disabling "State" on the sensor column)

Toggling

Quick and dirty

You have two buttons right now. You might want to have one button for both show and hide = toggle.

As the messages are exclusive (only one will be considered while the other is ignored) you can send both of them at the same time, to get a toggle button:

Clean toggle

When you can't assume the messages are exclusive (e.g. when you have three states) you might want to introduce a "toggle inventory" message.

You add or exchange the show/hide logic:


Computer is laggy when editing with Multiresolution After sculpting my mesh with Multiresolution modifier it became incredibly laggy. I can't even start render because of this although my PC isn't so bad. How do you make it work?

The issue for the slowdown is due to how dense your model is. Generally it's a trade-off between quality and performance. in this instance you are using a multi-resolution modifier as well as a subdivision modifier. Both modifiers accomplish pretty similar tasks however in this case your subdivision modifier is subdividing an already subdivided surface adding significantly more vertices than what is needed in your model. This is why your are experiencing such a large amount of slowdown due to the amount of subdivisions that are in place.

I recommend picking either the the multi-resolution modifier or the subdivision modifier and sticking with that.


Remove wireframe lines from UV Map So my model without any mapping is smooth and plain.

But when I go through the UV Mapping process, I end up with my model looking like this:

The problem is that it exports like that so when I programmatically load it up, i see all those lines that are not supposed to be there.  Is there a way to export it without those lines?  Or do I have to remove them from the PNG in an editing program after?

You will remove the lines while editing with picture editing apps. For instance if you are using photoshop, you can make the layer invisible when you are done with editing


How to edit multiple meshes once without joining? Hi I am looking to edit multiple meshes without joining them.

I have selected all meshes and set origin to geometry because I want to do curved extrude. It is easy to do it in one mesh but I can't figure out how to do it to all of them. If I join them together and do curved extrude them the curve is towards the centre point which ruins the shape of most meshes except the one that is selected to be origin geometry.

Please see Picture 1: I would like to edit all the 2D round meshes and extrude them like the one on the right until I eventually close them (like the one in the middle). The problem is that I would like to do this with more than 1000 random spheres. I can't manipulate more than one image in the edit mode, where I would extrude the meshes to create the closed object like the one in the middle.

I have tried to join them all together and edit them but there is a problem because there is only one centre point and them when I extrude them and scale to 0.5x it usually closes the circle if the centre point is to the mesh but now they all move towards one centre point. Please see Picture 2.

I have even used the MultiEdit tool but it still joins all the meshes together, which is not what I want.

Please help and many thanks in advance.

I think i know what you want to achieve.

If you're trying to add a rounded edge to an extruded svg text/shape, then you can simply extrude the entire mesh and use Bevel tool (Ctrl+B in Edit mode with adjacent edges selected). If using it in Edit mode, the tool is interactive, i.e. change parameters while it's active.

Alternatively, before extruding change the Pivot Point to Individual Origins in the 3D Viewport Header bar (by default, in the bottom of the 3D viewport).


Why is there a white circle when I try to move vertices? So I wanted to scale the UV island so that the skin looks right but then  it moved the other island. my question is what is that white circle and how do I get rid of it or stop it from messing with my other island?

The white circle is due to "Proportional Editing" being turned on. It allows artist to move one element - a vertex - and a falloff is applied to the adjacent elements - neighbouring vertices. You will only need to turn "Proportional editing" off to stop the other neighbouring vertices from getting transformations you don't need.

It can be toggle on or off by pressing O. Alternatively, the button is here:

The button appears in the UV editor menu as well. They're linked, turning on the button on in the 3D view will also turn it on inside the UV editor.


Weird Texture stretching I have this weird texture stretching on the top of the barrel, how can I fix it. I tried box projection, didn't change anything. I have subdivision modifier active. Thanks

overlapping edges made that error.

Try selecting it and scale it down.
you can use the uv sync selection as your help in selection.

also try to change your seam to a better suited position.


Can't remove keyboard shortcut for vertex paint I accidentally set a shortcut to vertex paint on left mouse button but not through user preferences and (after looking at countless answers here) never found a solution that works. I've been through user settings for what seems like hundreds of times now, and still can't get the problem fixed. Would it be worth reinstalling blender? I'm new, so I haven't made much progress yet.

I'm running Blender v2.79

Under "File" choose "Load Factory Settings".


Is there a way to have the unwrapping function not rearrange islands? I have a character I want to unwrap. I marked my seams and when I hit "unwrap" all islands are  auto-rearranged.

This is a great function but I need to overlap mirrored unwraps and the different scale and rotation of each island makes this difficult. Overlapping results not perfect as I would like. Is there a way to avoid this auto arrangement?

Yes - to some extent, you can pin UV's to control the placement of each island.
To control the scale and placement you only have to pin 2 uvs on the island, to control the overall shape better you may want to pin 4 or more.

See docs on live-unwrap and pinning, older wiki docs but still valid


Vertex snapping with axis constraint (like in 3ds Max) In 3ds Max there is an option for snapping with axis constraint so I can snap like in the image on the right side. Can I do this in Blender? In this case custom orientation isn't working, only way I can solve this case is cutting with Knife Tool and angle constraint enabled.
Also is there an option for snapping to the edge, constrained to one axis (with snapping enabled it's always sliding along edge so I can't get precise results)?

Snapping system in Blender leaves a lot to be desired in terms of precision modelling at the moment, unfortunately.

One possible solution is to use the Tiny CAD addon (bundled with Blender by default) that has some CAD like intersection tools to create vertex at desired edge intersections.

Here is a workaround for your specific illustrated case without resorting to addons.

Move the vertex vertically until it lines up with the desired snap target, regardless of edge direction, then move it to the side so it forms a convex shape in relation to the two end vertex from said edge.

Select both ends and press J to create a straight edge running between them.

You can now either delete the extraneous vertex, or use the merge tool at Alt + M > At Last to merge the undesired vertex into place.


After "with automatic weights", nose became weird After "with automatic weights", nose became weird.

Why is this happening?

Here's a video that shows the problem: https://youtu.be/1izcoGULxDo

Here's the .blend file: https://www.dropbox.com/s/3u3wcv485pujeaz/2b_09_af%20generate%20rig.blend?dl=0

To me, it looks like a mesh deformation. (Its hard to see in the video :-D )

I don't do much rigging, but under amateur in properties, go to display and check axis.
Check that the axis is Z-up on the nasal bones.
If it is not, rotate it and re-parent it with automatic weights.
Check that in edit mode the normals are correct along. They shouldn't be though due to your correct texturing.
Check all scales have been applied to the objects. (Object --> Apply --> Scale) It can sometimes deform meshes, particularly when sculpting and rigging.

Other than that, I have no clue.

All the best of luck and hope I helped,

BFB

EDIT: I took a look at your model and I seem to be right. I turned on axes in the amateur pannel. The bones going around the outside of your nostrils are at a -90˚ roll. Set it to 0.


Resize 3D Objects in python without operator function I want to move objects with the resize function, while enabling Transform affects only to location. In 3D-Editor it is easy to give them the direction, so that the objects move away from center.

Now I want to implement this in python and resize it via script. I could only find the operator function "bpy.ops.resize()" which I don't want to use.
If you have other suggestions creating this movement would be good as well.

Simple vector maths.

The global location of any object is gl = ob.matrix_world.translation

The global location of the cursor is cl = scene.cursor.location

The vector that describes the distance and direction from object to cursor is the difference d = gl - cl

To move to a scaled location

ob.matrix_world.translation = cl + scale_factor * d

or similarly

import bpy

context = bpy.context
scene = context.scene
cursor_loc = scene.cursor.location

scale_factor = 1.1

for o in scene.objects:
    d = o.matrix_world.translation - cursor_loc
    o.matrix_world.translation += (scale_factor - 1) * d


Object physics not working when moved with armature? I'm a complete novice when it comes to doing anything other then making basic models in blender so if there's a simple solution to this i'm sorry I didn't figure it out already.

I've been working on a gachapon-style enemy for a little while now and found out how to add physics to the transparent tank and balls inside it so that the balls would move around when the tank was moved, this all worked perfectly fine until I rigged the model and found out that the balls only move when the tank is moved as an object as when it's moved with the bones the balls just sit in place as if the tank were still in the same position.

for example:

here's the tank the balls are held in, they move and bounce around inside just fine when I move it in object / edit mode (while the timeline is playing, of course)

but whenever the tank is moved with the armature, be it in regular object, edit or pose mode, the balls don't react the same way

Using an armature to animate a (passive) rigid body using Armature Deform distorts the mesh, rather than actually moving the rigid body - this will affect the final visual state of the mesh but not its underlying location or rotation. The Armature Deform takes place after the simulation and so does not affect the simulation.

In your case you need to parent the 'container' to a specific bone - so that the bone is the Parent of the entire container (rather than using Armature Deform). The container should be a Passive rigid body since its location and rotation will be controlled by the bone, rather than simulated.

By default, the rigid body simulation does not take account of the animated locatation or rotation of the mesh - so the actual influence of the mesh is as if it is still in its original location - this is what you are seeing in your current simulation. However, if you enable the Animated property of the rigid body this tells the simulation engine to take account of any translation and rotation of the mesh before it is used to affect the simulation. This should now result in the contents being affected by the motion of the container, similar to the following :


NLA Action of material Mix Shader node FAC value I'm creating an animation where regions of the brain light up and turn off, cued to  video and sound. Many many keyframes of essentially "fade on / fade off" switches for each of the 6 highlighted regions.

I started keyframing the Mix Shader node FAC values using a transparent shader to "turn off" the highlight, but there are too many keyframes to do and it's getting out of hand.

This feels similar to NLA actions - drop "cerebellum on" action strips where I want to turn "on" the cerebellum; and more easily adjust timing and add transitions to suit video...

...but I'm not able to create an action strip of a material! Is this possible? Is there a trick to do it?

I then thought of using an empty's x location to drive the FAC value of the mix node in the material and create action strips of the empty, but don't know how... does this require a Python script?

Is this something the fabled animation nodes could help resolve?

Found the answer:
Fade in action applicable to all objects (in cycles)

Keyframe the object's pass index from 0 to 100, use the object info node:object index output, connect to math(multiply) node with value of .01, connect to FAC value input on mix node.The object's pass index gets recorded in the NLA editor, so I have my action strip!


Can Blender be used on an Android device? Can the software be downloaded on an Android device?  If yes, then what is the process?

Sorry, there is no Android support at this time, and probably not ever. It would involve a massive coding effort for support and because blender is very cpu/gpu intensive, the devices that run it would make for a poor experience indeed.


Invalid target channel.driver error Well I'm quite a newbie in Blender and I'm currently using the Cg cookie baker animation. All of the rigs work, except the facial shape keys won't work with the bones. In the graph editor the drivers show "invalid target channel" although everything is already set up and it still shows even when I click "update dependencies"

It looks like you are using an old copy of the rig, probably the version that was included with the animation course which was made in v2.56. The new version of baker has changed a little.

Go to the CGCookie resource page and download the current version of the baker rig.


How do I close the User Preferences window when it is not opened by the window manager? I am running FreeBSD 10.2 64 bit with fvwm-crystal. In all other cases, just starting a program from an xterm opens a window with buttons. Blender does not open in a window with buttons, which in itself is not a problem. However, when I try to set user preferences, the new window does not have buttons, and I can not close the User Preferences window. I tried "dbus-launch blender" but no difference. I do not see any configuration options for recompiling blender that might make any difference. Any advice would be appreciated. Thanks.

You can open the preferences inside the existing blender window by setting the editor type in the header of any existing area:

As for why blender isn't getting a titlebar from the wm, I have no idea. It works fine for me here on openbox.


Can I perform an action when a file is saved or loaded? If I create a Blender file with a single plane that has 10 000 particles of hair, the resulting file size is 9.9 MB.

If, before saving, I reduce the "Number" (RNA ParticleSettings.count) to 1, the resulting file size is only 435 KB.

Because the hair is randomly generated with a specified seed (ParticleSystem.seed), I can open the 435 KB-file and set the number back to 10 000 and get the exact same hair system generated.

In scenes where I have a lot of hair (especially grass, which can require millions of particles), I've seen differences as high as 50 MB. Taking into account the two backup files, that's 150 MB of disk (and, for me, cloud) space saved, which is a clear advantage. The downsides of this method, however, include:

It's cumbersome. I don't want to have to remember to disable something before saving and re-enable it when I load.
It's error-prone. I find myself adding README.txt files to my directories indicating the desired number of particles for each object, because otherwise I forget and my renders are inconsistent (all of a sudden the grass doubles).
It's forgettable. I've lost days of render time due to rendering a scene with a single grass particle because I've forgotten to reset the number. Obviously this is a human error problem, but it's not helped by Blender.

Is there a way I can attach a "save hook" and "open hook" to a file to do this automatically for me? I could easily write a Python script with custom settings for each particle system:

import bpy

def hair_reduce():
    for ps in bpy.data.particles:
        if ps.type == 'HAIR' and not 'actual_hair_count' in ps:
            ps['actual_hair_count'] = ps.count
            ps.count = 1

def hair_apply():
    for ps in bpy.data.particles:
        if ps.type == 'HAIR' and 'actual_hair_count' in ps:
            ps.count = int(ps['actual_hair_count'])
            del ps['actual_hair_count']

The trick, however, is to have these functions called when the file is saved or loaded.

Can I attach a save/load hook to Blender, or otherwise perform an action when the file is saved or loaded?

We can register handlers that will be executed before, or after, specific operations. The handler lists are all in bpy.app.handlers, and looking at your requirement, the handler list to use is save_pre (executed before saving) and load_post (executed after loading).

The function needs to be persistent, so they won't disappear every time a new file is loaded. Here's an example of how to register it, edited from my own addon needing such feature:

import bpy
from bpy.app.handlers import persistent

@persistent
def hair_reduce(dummy):
    print('hair_reduce')

@persistent
def hair_apply(dummy):
    print('hair_apply')

def register():
    if not hair_apply in bpy.app.handlers.load_post:
        bpy.app.handlers.load_post.append(hair_apply)
    if not hair_reduce in bpy.app.handlers.save_pre:
        bpy.app.handlers.save_pre.append(hair_reduce)

def unregister():
    if hair_apply in bpy.app.handlers.load_post:
        bpy.app.handlers.load_post.remove(hair_apply)
    if hair_reduce in bpy.app.handlers.save_pre:
        bpy.app.handlers.save_pre.remove(hair_reduce)


Rigging A Character With Boolean Modifier And SubSurf? How do I apply the boolean modifiers without interfering with the sub-surf? Is it possible to rig the character without applies the modifiers?

I do not have a very powerful computer that can handle high-poly meshes, but I need to rig this character. Here's the .blend file.

Part 1: You Can

You can leave the modifiers on without applying them, sure. You would need each of those pieces of the object named "Cube" to be separated into individual objects. Then you would parent each of those objects to your armature bones.

I would disable the Boolean Modifier for the viewport only, because it's killing your viewport performance.

Then you should be able to navigate and rig smoothly.

Part 2: But in this case you shouldn't

I realize it is tempting to try to carve out pieces of a mesh using Booleans because if you were sculting in the real world with clay or something you would carve away at your shape. But mesh modeling doesn't work that way and Booleans don't create pretty topology. They are very useful and appropriate for certain cases, but this is not such a case.

The best thing to do would be to model your character's topology to have cuts in those places, using quads instead of tris to the best of your ability. The subject of topology is broad, but worth studying if you want to animate characters.

If the places where the Boolean cuts into the mesh are only for a specific scene - like if this character is going to be cut into a bunch of pieces - then after you've modeled your finished character, duplicate a copy of the character and cut that one apart.

Without knowing exactly what your plans are for animating this character, that is the best advice I can give.

On a final note, it looks like you are using an Edge Split Modifier to fix a shading issue, however this is only adding to the heaviness of your scene by creating more geometry. It would be better to fix the ugly shading at Boolean intersections using Auto Smooth, like so:


Merge vertices at individual centers I would like to clean up some geometry, I need to get rid of dozens of small triangles. I am able to select many of them by using "Select similar: Area", but I can not clean them up all at once. Instead, I have to go and select them one by one, and then press Alt+M and select "Merge: At Center" for each one of them.

Is there a way to merge them all at once, at their individual centers? I tried switching pivot point to "individual origins" but it doesn't change anything.

Edge collapse

As stated by the Blender reference manual's page:

  This takes a selection of edges and for each edge, merges its two vertices together

Despite the description look quite simple, the algorithm is capable of iterating the process upon several selection clusters.

The operator can be triggered by the option in the "deleting menu" that pop up after pressing X key as in the image sequence below


Disable mipmaps for BGE? Is there a way to reliably disable mipmapping in the file itself, so that blenderplayer will respect the setting and not interpolate textures?

And no, I'm not making a Minecraft clone.

Mipmaps is a system setting, it would be set by the users startup blend file. Not sure that anyone would recommend overriding a users choice.

To change it you would use python to set bpy.context.user_preferences.system.use_mipmaps


getSceneList does not work I'm trying to get a list of scenes in my .blend file.

bpy.ops.logic.getSceneList()

works once, but the second call throws an error that I don't understand.

    scenes = {sc.name: sc for sc in bpy.ops.logic.getSceneList()}

  File "/Applications/Blender/blender.app/Contents/Resources/2.79/scripts/modules/bpy/ops.py", line 189, in __call__
    ret = op_call(self.idname_py(), None, kw)
AttributeError: Calling operator "bpy.ops.logic.getSceneList" error, could not be found

Can anyone jump in and help me out? Thanks in advance!

I misunderstood how blender python works. Should have used BGE (Blender game engine)


Map Brick Procedure Texture onto Correctly Scaled Models I have modeled a floor plane. My setting uses metric, so all
units are in meters. In blender, 1 unit is equal to 1 metre.
I need to now create a tile texture for it which is
300 X 300 millimeters, using the brick procedure texture node
on the Node editor.

How can I make sure that the brick procedure texture will match
the 300 millimeter tile on my scaled model?

In Order to get the right dimension for your tile material onto the UVW map.

1 . Use UV Project From View, while in top view.
2 . If your object is a wall then you will need to use the front, left or right view.
3.  Select "Orthographic" option in the tool panel ...
4.  This will match your object you have modelled to scale.
5.  These are the brick procedure texture settings

      a. Offset 0.00
      b. Frequency 1.0
      c. Squash 1.0
      d. Frequency 1.0
      e. Scale 1.0
      f. Mortar Size 0.002
      g. Bias 1.0
      h. Brick Width 0.300 (In metres)
      i. Brick Height 0.300 (In metres)

0.3 metres is exactly 300 millimetres.

EXTRA NOTES

  It is important to note that if you have accidentally/intentionally scale up
  or down your object in Object Mode, you will be required to apply scale before
  attempting the UV Unwrap of the model as incorrect scale will interfer with the
  unwrap.


When I look through the camera a silver wall appears When I try to look at the camera this silver wall appears...someone can help me??

There's nothing wrong here. That "silver wall" is just the properly lit part of the scene that the camera sees. If you go to Camera view, like you have, you get to see more of the scene than is in the camera's field of vision, and thus more than will be rendered, and the area inside the rectangle is what will be rendered from that camera in that position.


Wireframe become x-ray alike in edit mode I don't know what i've clickin, but somehow this happening. when i enter edit mode, the wireframe in the backside keeps showing on, and i can't choose the proper faces which i want, pls help me :D


Clear restrict selection I have several objects disabled for selection in the outliner (the little selection arrow is grayed out). How can I make everything in my scene available for selection without toggling each outliner item on one by one?

In addition to cegaton's useful advice:

If you hold LMB on the top arrow and just drag down, it will turn on all the ones you cross on your way down.

It basically copies the first adjustment you made to all others. Photoshop had that in 2001. I suggested it in 2008, Ton probably forgot and someone else put it in unrelated to my suggestion ( :


Duplicate and slide edge (rip from boundary) I have a simple plane.

I select one edge and I would like that edge to be duplicated and slid.

I cannot rip the edge alt + v because it is on a boundary.

I could extrude out from the shape to leave the edge inside the shape then rip. This is a long way around, is there a better solution?

thank you

Starting object with edge selected.

In C4D there is a clone edge tool and if used would give

I cannot replicate in Blender

Select the edge on the border and add a loop cut there. Since usual Loop Cut And Slide tool (Ctrl+R) won't do in this case due to 5-pole, use Offset Edge Slide instead.

This way will create triangle after cutting and sliding along edges which compose 5-pole, small  cleanup is required there to merge one vertex to another.

See Offset Edge Slide in manual.

As mentioned in comments by @Leander, Offset Edge Slide indeed has options you can enable while executing it. Like Loop Cut and Slide, it provides:

Even mode which matches the shape of the created edge loop to existing edge loop from one side;
Flipped option which controls which edge loop will be taken into account by Even mode;
Clamp which allows to toggle limiting to existing edge loops.


Trying to combine all my materials into one with my UV maps being seperate So Im trying to export my materials into one texture which I could then use in Unreal engine for that object. The problem is that I only have 1 object and I have unwrapped it multiple times at different parts. I have only one UV Map in the Data Tab next to the modifiers one. Already hating UV mapping and texturing this problem has made me hate it with passion. Thanks for all the help.

I had the same issue, when exporting my model to unity. Here is how I handled it:

create a new UV-Map for every object. It's easier later if they all have the same name.
select all your objects in object mode and unwrap them. With the new created UV-Map selected for every object, all objects UV-Maps now should all be in the gray square of the UV-Editor.
Bake your textures from all the objects to a new image with the new UV-Map.

Hope this works for you :)


Screw Modifier Darker Shading on Half of Object I'm trying to create a spherical object using a screw modifier on a mesh created using a mirror modifier.

The first screenshot shows my mesh created by applying a mirror modifier over the x axis.

The second screenshot shows the screw modifier applied.

The problem is the split in how the upper and lower halves are shaded (darker on top). Is there a way to fix this?

I think the issue may be that your normals are flipped: In 3d each face has a 'normal' that represents which way the lighting should be interpreted. To fix this, in edit mode press CTRL + N. This will try to flip the normals so they point outwards. If this does not fix it, open your toolshelf and look to the Operators menu at the base of it (Looks like this). Check the box saying 'Make normals consistent inside'.


How do I batch render the render layers that I have set up? The way that I "thought" Blender worked is that if you had multiple render layers checked, Blender would automatically render all those render layers and then you could switch between those render layers in the UV/Image Editor and save the ones that you want or save all of them.

Now unless I am experiencing some kind of bug, this is not the way Blender works. What I would like to know is how I can set up Render Layer 1 to have Film>Transparent enabled so I get the alpha channel where it is masked and then to have Film>Transparent disabled for Render Layer 2 so I get the background showing and then to press Render and have both render layers produced for me in one shot as opposed to having to setup and render Render Layer 1 and then afterwards, uncheck Render Layer 1 and setup Render Layer 2 and then render again.

Is there a way of doing this natively in Blender or is there an add-on that does this? Is it just me or is it confusing that Blender lets you have multiple Render Layers enabled but it only renders the first enabled render layer?

Thanks to anyone who can clear up my confusion. BTW..I am rendering a single image and not an animation.

You were right the first time; all renderlayers are rendered when you press F12. You can view them independently in the image viewer:

Typically the compositor is used to combine renderlayers into a final image.

To make the background transparent on one renderlayer and include the sky on another, you must use passes.

Only settings located in the renderlayer panel can actually be set independently per-renderlayer, so enabling Film > Transparent will make the background transparent in all renderlayers. To get the background, there are two approaches, both using the Environment pass:

Create a separate renderlayer that doesn't render any objects, but with the Environment pass enabled. Then alpha over the desired renderlayers using the compositor:

This is the simpler of the two, but it requires the slight overhead of rendering the sky separately (you can set the samples to 1 on just the sky renderlayer to mitigate this)
Mix the environment passes of all the other renderlayers to get a all the background/sky you need to cover the areas not obscured by objects in both other renderlayers:

Potentially slightly faster, but you're not guaranteed to get the entire sky.

Note that there are a lot of different "layer" settings surrounding renderlayers, which can be rather confusing. See my answer here for more detail.

I've written this answer from the perspective of cycles. For BI it's a little different.


when I add IK, my bone moves out of place in Blender 2.8 please see the picture, after adding IK the bone is moving out of my character, please help.

Thanks "Serge L" here I did it.
I want to show the solution with picture so that if anyone else have this problem it help them as well.
When I created my IK bone, I deformed it and also cleared parent but mistakenly moved it away from armature, that was the problem. so as you can see from the picture below, you should extrude a new bone, deform it and clear parent then add ik, but be aware to not move it from its place.


realtime uv unwrapping from view with moving or rotating of unwrapped mesh How do I make the object vertices move or animate in the uv editor when they are moving or animating in the 3d view from a specified view in real time, such as camera view or from the top of the object in z-coordinates for example?
How can I apply this to only the faces and vertices facing the specified view?
I don't mind using Python if there are no other solutions

The Texture Coordinate could interest you:

If you use its Camera output socket, it will project your image on the object surface, but the image will always face the view:

If you use the Object output socket, you can choose an Object on the bottom of the node, here an empty, and the image location will depend on the location of your empty, not the location of your object, if you move your object, the image won't follow, if you move your empty, the image will follow:


AttributeError: ,_io.TextIOWrapper' object has no attribute 'next' This code works perfectly fine outside of Blender, but the next() function does not appear to exist in Blender..

while line:
    if(line == "POSITION:\n"):
        POS1 = '[' + file.next().replace(' ',', ').replace('\n','') + ']'
        POS2 = '[' + file.next().replace(' ',', ').replace('\n','') + ']'
        POS3 = '[' + file.next().replace(' ',', ').replace('\n','') + ']'
        POS4 = '[' + file.next().replace(' ',', ').replace('\n','') + ']'

    try:
        line = file.next()
    except StopIteration:
        break
file.close()
return

(Not all of my code, just the part that reads my file)

Blender 2.6x comes with its own Python in Version 3.3.x, and in Py3k it's __next__().

You can do simpler, however:

for line in file:
    print(line)


How to reset add-on preferences? I'm surprised that I can not find an answer to this one. Is there any way to restore a specific add-on's preference states to the defaults?

I would prefer not to uninstall the add-on if possible.

You can create an Operator and make it part of the Preferences layout for your custom add-on:

class MyAddonPreferences(bpy.types.AddonPreferences):

    bl_idname = __name__

    display_flag: bpy.props.BoolProperty(
            name="Display Flag",
            default = True)

    def draw(self, context):
          ...
          layout.row().operator("my_addon.reset_preferences")

Best practice is using property_unset(property):

class MYADDON_OT_resetPreferences(bpy.types.Operator):
    """ Reset Add-on Preferences """
    bl_idname = "my_addon.reset_preferences"
    bl_label = "Reset Properties and Settings"
    bl_options = {"INTERNAL"}

    def execute(self, context):
        prefs = context.preferences.addons[__name__].preferences
        prefs.property_unset("display_flag")
        ...
        return {'FINISHED'}

In order to reset the properties of a certain add-on it's basically the same, you just need to find a way getting the name of each property.

Example on how to reset the settings of Loop Tools by reading its annotations using the Console:

>>> prefs = C.preferences.addons['mesh_looptools'].preferences
>>> props = prefs.__annotations__.keys()
>>> for p in props:
...     prefs.property_unset(p)


Change all image textures folder location together I just downloaded a Kitbash mini-kit blender file and all the references to images are looking in the wrong folder.

Is there a way to change all of the images to look in a specific folder? At the moment I'm doing them one by one and it's pretty painful.

Try to Find Missing Files:

select image folder and check Find All, to search not just missing files:


Selecting vertices by weight Is there an add-on or way to limit the selection vertices in a vertex group by a given weight range? Example: with a vertex group A selected, select only verts weighted between 0 and .05 to that group? Thanks!

Thanks. Here is the python script I wrote to select vertices of a specific vertex group, but only within a specific range:

import bpy

minWeight = .6
maxWeight = .7
vertexGroupIndex = 1

bpy.ops.object.mode_set(mode = 'EDIT')
bpy.ops.mesh.select_mode(type="VERT")
bpy.ops.mesh.select_all(action = 'DESELECT')
bpy.ops.object.mode_set(mode = 'OBJECT') # Switch to Object to get selection
obj = bpy.context.active_object
verts = [v for v in obj.data.vertices]
for v in verts:
  weight = v.groups[vertexGroupIndex].weight
  if weight <= maxWeight and weight >= minWeight:
    v.select = True
bpy.ops.object.mode_set(mode = 'EDIT')