Bryce "Zoom to Selection" Function in Blender? As a newcomer to Blender, I'm trying to reproduce a few workflow scenarios I once used in Bryce, but now in Blender I can't figure out how to do one simple task that was the backbone of much of my output:

In Bryce I could render a scene, then using a bounding box to select an area, render the selection and see a newly rendered scene that would then fill the 3d view (called "Zoom to Selection" in Bryce). I could then select another  area in that "new" scene, render that selection, and so on, and so on (re-iteratively) quite a ways. Essentially you are slowly zooming in. Each new render was detailed enough to see what I wanted to zoom into further.

The closest I've found in Blender is the "Render Border" function.  Unfortunately, the rendered selection is too undetailed to see well enough to effectively zoom a second time, much less allow for successive iterations. Also, "rendered border" only fills the selected area within the "camera" view. If the selected area is near a border of the main view, then zooming the view to see greater detail in the selection results in part of the image scrolling outside any possible view.

At any rate, if anyone here has worked with the "Zoom to Selection" feature in Bryce, and has a suggestion as to how to recreate it in Blender, I would be overjoyed!

If the idea is to move your camera towards the rectangle selection,
you can lock the camera to view (in "N" panel) and use Shift+B
if you want to really "Zoom" perfectly in your rectangle, you can use this addon I made : https://caetano-veyssieres.com/blender/, using the "Crop" button and multiplying the resolution to your needs. You can't re-iterate the process at the moment but I hope to make it possible.


Inhibit suspend (prevent computer sleep) while rendering Blender, at least on Ubuntu, doesn't prevent the computer from entering sleep while rendering, thus borking the render and combined with a (driver) bug that disables CUDA after suspend, it makes a user's life miserable.

I'm opening this question in order to gather python scripts for various platforms that prevent computer sleep while rendering.

I was tired of having to disable/enable suspend every time so I wrote this addon, which works on Gnome3.

    # © Michael Demetriou 2017

    #    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 3 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, see <http://www.gnu.org/licenses/>.

    bl_info = {
        "name": "Inhibit suspend while rendering - for gnome",
        "author": "Michael Demetriou",
        "version": (1, 0),
        "blender": (2, 78, 0),
        "description": "Inhibits system suspend while rendering",
        "warning": "",
        "wiki_url": "",
        "tracker_url": "https://gist.github.com/qwazix/290a25576f8c1f80cbc929f5a5d3f27e",
        "category": "System"}
    ###########################################################################

    import bpy
    import dbus
    from bpy.app.handlers import persistent

    cookie = 0
    _session_bus = dbus.SessionBus()
    _dbus_screensaver = _session_bus.get_object('org.gnome.SessionManager','/org/gnome/SessionManager')
    inhibit = _dbus_screensaver.get_dbus_method('Inhibit','org.gnome.SessionManager')
    uninhibit = _dbus_screensaver.get_dbus_method('Uninhibit','org.gnome.SessionManager')

    @persistent
    def render_pre_handler(dummy):
        global cookie
        cookie = inhibit("BlenderRendering",dbus.UInt32(0),"inhibiting",dbus.UInt32(4));

    @persistent
    def render_post_handler(dummy):
        global cookie
        uninhibit(dbus.UInt32(cookie));

    def register():
        bpy.app.handlers.render_pre.append(render_pre_handler)
        bpy.app.handlers.render_post.append(render_post_handler)

    def unregister():
        bpy.app.handlers.render_pre.remove(render_pre_handler)
        bpy.app.handlers.render_post.remove(render_post_handler)

    if __name__ == "__main__":
        register()

You can post similar scripts for your platform with the goal of combining them in a multiplatform addon that could ship with blender.


Why is 'bpy.context.active_object.pose' of type 'NoneType'? It might be my inexperience of reading too much technical documentation or little experience in python, but, I'm having a bit of trouble reading the documentation. The command that triggered this confusion is:

bpy.context.active_object.pose

What is the Type of the options in the bpy docs, like in here:

Up until now I assumed that it was the type of the associated variable accessed from the module or the type inherited from, but, for this particular case, I'm a bit confused, from the interactive console:

>>> type(bpy.context.active_object.pose)
<class 'NoneType'>

but, the documentation gives it's type as Pose, which in itself is a class. Please explain what is this?

This is because, the object you have active in the current context, which is typically the 3D viewport , is not an armature. If it were an armature, then the type would be as stated in the documentation.


Denoising missing from Cycles scene panel I can't find the denoising options on Blender 2.79, even though I'm using Cycles Render. Does anyone have any idea of why this occurs, and how to bring it back?

On the screen blender 2.78 without denoiser.

You should download 2.79b to have denoising function


I can't look inside of my models I am a very beginner with blender and I had always the opportunity to zoom inside of my models when im in the edit mode. Now I can zoom as much as I want but never get inside of the model. Can someone maybe help me? this would be really great!
Thank you!
-Chapi

You may need to change from Ortographic to Perspective using Numpad 5 and try zooming in again.

Look in the top left of the Viewport: if it says Ortho you won't be able to see the "inside" of objects, if it saysPersp you probably will.


molding an object in the shape of another object im trying to create a daz custom face morph. i have a custom face from another model i want to apply it on the genesis 8 fem model in blender. but i cant cut and past it straight away because i need to preserve original model vertices count otherwise it wont import into daz as morph. so im thinking perhaps there is a tool that molds an object in the shape of other object without changing the vertices or polygons count. i already extracted the custom face mesh. now all thats left is to mold the original genesis model face in its shape. something similar to how clay molds work in real life.

If I understand your question correctly,you are looking for the Shrinkwrap-Modifier. Add the modifier to the model you want to change and choose your "desired face" as the target. For further reading consult the manual.

However there is no way to get more detail than your polycount allows. That means the Shrinkwrap-Modifier might produce artifacts if the polygon-density of your model is far less than that of your target.


instance objects according to list of discrete times (via csv, json, etc) in animation nodes (or just with python) I've got some text I want to output to the screen according to a list of times, x & y coordinates.  Preferably within Animation Nodes (with or without python scripting), but without Animation Nodes would also do it.  And it has to be done with an imported list of data because keyframing by hand isn't workable, due to the inflexibility of this approach & my need to tweak the timings precisely until I'm happy with them.  It's for a kinetic typography type animation.
Each word (whether in an array or whatever) will come with the timing & x/y coordinate data as below...
"once", 1 (second), x=30, y=50
"upon", 2.2 (seconds), x=30, y=70
"a", 3.5 (seconds), x=30, y=70
etc
In other words I want to control when & where each word appears on the screen.
Positioning text on the screen (x & y) is easy enough.  It's just getting each word to appear at the specified time I'm having trouble with.
Any help appreciated

If you can feed data something like this:

We can convert this data into a Generic List using eval() in Expression node. After that we can iterate through this list using loop and do whatever stuff you want there. Here is an example:


bpy.ops.render.render() freezes Blender when used in an addon I'm trying to build an addon that makes it possible to batch render using Cycles directly from the UI. I've started from a script find a while ago here but I cannot find anymore to link for reference. Anyways, the script worked correctly but without UI so I've decided to port it into an addon that permits to make the same actions but when Blender is open.

Here the problem: my addon works. It correctly creates the panel, buttons etc, but when I click the render button Blender freezes and the only way to "recover" is by force-closing it. I've debugged the code line by line and find that the problem is when Blender calls the render.render operator (bpy.ops.render.render()), and that the same problem appears when you call the operator from Blender build-in Python terminal.

I know that the render.render operator is a C implementation and not a Python one, so maybe the problem resides in that, but the normal render button is implemented in the same way (it seems to me) and it works, and if in my addons I change the call to my operator render.batch with the call to render.render the behavior is normal (it renders the chosen camera), so I don't know what I'm doing wrong.

Below my new operator implementation, maybe someone knows how to help me.

class BatchRender(bpy.types.Operator):
"""Batch Render"""
bl_idname = "render.batch"
bl_label = "Subsequently render all selected cameras"
bl_options = {'REGISTER', 'UNDO'}

def execute(self, context):

    sceneKey = bpy.data.scenes.keys()[0]
    r = 0

    for item in cameras:
        if item.custom.isSelected:
            bpy.data.scenes[sceneKey].camera = item
            bpy.data.scenes[sceneKey].render.filepath = "//" + item.name + str(r)
            bpy.ops.render.render(write_still=True)
            r += 1
        else:
            self.report({'INFO'}, "No camera selected for batch rendering")

    return {'FINISHED'}

Some more little clarifications:

cameras is a list of the cameras present into the scene
custom.isSelected is a camera properties implemented by me before into the addons, is a boolean property and work correctly (I've tested line by line the code as I've said before)

That is because Blender operators are modal: They block code execution until finished. The execute function is called in the same thread in which the GUI is drawn - So your Blender GUI freezes until the render is finished. A similar question with a solution can be found here:
Is it possible to make a sequence of renders and give the user the option to cancel the process through the UI at any given time?


How to make cutlass blade Can anyone tell me how to make the blade of a cutlass correctly?

I tried the whole afternoon but it's either too thin or too thick and I'm failing the dimensions...

--Edit--
The sword's name is actually cutlass, not dadao.

Here's the new blade but still inperfect

Its often a good idea to load up a reference image of the item that your are trying to model into the Background of the 3D Editor window. Then in Wireframe view trace over the image with vertices.

Its worth spending a little time getting the image setup correctly: Size, Position, Rotation, and Scale.

One thing to remember when using Background images, they only show up in Orthographique view and in the Axis that you have selected in the Background Image panel.

Oooops, 15 should read Eddge Split modifier and not Edge Spit !


How to color object based on roughness? I'm very new to blender so apologies if this question doesn't make that much sense. Anyways I'm working with tumors and I'm trying to find a way to color them like a topographical map (the end result would look similar), with the blue being the smoother/flatter areas, and red being areas farther from the main surface. Does anyone have any ideas?

One approach to this might be to use Dynamic Paint and Vertex Colors to create a proximity map between your surface, and a smoothed version of it. I imagine this will be for visualization and illustrative purposes, there's nothing calibrated about it. The method assumes quite high vertex density.

Derive a base surface, from which, heights will influence color

In this example, I used AltS to scale the original mesh down along its surface normals, and a Smooth Modifier. (The smoothed object you can see in the illustration is a copy; the one actually used is inside the original mesh. If you make your copy an instance using Alt D, the you'll be able to adjust it conveniently, while viewing its effect.)

Under the physics tab of the properties panel > Dynamic Paint, make the original mesh a Canvas, with settings as shown:

(.. you have to click the '+' next to the 'Paintmap Layer', to create a Vertex Color layer in the object)

Under the physics tab of the properties panel > Dynamic Paint, make the smoothed mesh a Brush, with settings as shown:

(You will have to tweak the 'Paint Distance' parameter, in particular, to get a good range of tones.)

Give the original mesh a material whose color is influenced by the tones in the Vertex Color layer, here left with its default name of 'dp_paintmap' (As you can see I haven't set the range of tones up perfectly, here)

and this is the sort of result:

Other options include combining this map with Sharpness as suggested by Duarte, or inverted normal Ambient Occlusion, to emphasise higher frequency (sharper) surface details, or thinner protrusions.


Mapped texture not showing in viewport The texture does not show in UV editing mode, default mode or render. I have mapped the UVs and the viewport shading is set to textured mode as shown.

I tried adding a material (it was green) and the the render shows up as green.

In a different file the texture was showing and I didn't even add a material.
How can I get the texture to show?

This is the UV editing screen

And the Default screen (I removed the material from all objects)

For cycles, once you have your object unwrapped and textured like you have in your first screenshot, you then navigate to the material tab, and click "Use Nodes"

Now under "Surface" you should have a drop down which says "Diffuse BSDF", followed by 3 options; "Color", "Rough", and "Norm". Click the little dot to the right of the "Color" widget, and choose "Image Texture":

In the image texture panel, click the drop down to the left of the "Open" button, and select the image that you had open in the UV editor:

Now if you go into the textured view (Alt+Z), you should see your texture applied to your object.


Why does swapping the X and Y mapping coordinates break 'box' mapping? Can anyone explain why swapping X and Y coordinates breaks box mapping?

Logically, I was expecting it to just mirror the image. It works top down but not on the sides?

The Box mapping uses the direction of the face to determine the mapping. This means that the faces parallel to, say, the Y-axis are mapped as X,Z to the image's coordinates, while those parallel to the X-axis are mapped as Y,Z to the image's coordinates.

By swapping the input coordinates in that way you are upsetting the mapping so that, say, for the faces parallel to the Y-axis are mapped as Y,Z to the image's coordinates - but since the face is parallel to the Y axis, Y is constant - so the image becomes distorted on that face (as only one axis of the image coordinates varies; the other is constant).


What is the "OS" key In a video on Precision Drawing Tools there is a reference to a OS+S operation. What is the OS key?

I assume that would be the "Windows" or "Apple" or "Super" key. Its name varies depending on your OS (Windows, Mac or Linux). It's the one between Ctrl and Alt on most keyboards.
I've never heard it be called "OS" key though, so I might be wrong. If so, I'm curious to know what it is.


Why curve modifier goes in different direction I have a mesh and a curve modifier. I want that mesh to be coil on the curve. Sorry to say i never understood how the curve modifier works. When ever added it goes in different direction or away from the target. Can anybody explain me why my mesh going different direction other then the target curve.

Mesh getting narrow on top and getting mix with each other

The curve and the object have to have their origins in the same place, otherwise you will see an offset and get unexpected results.

Snap ( Shift S the cursor to the curve, and then snap the object to the cursor.

Then the deformation can take place corectly.

Note that the origin of the deformed object will be placed at the first control point of the curve.


Can I delete these past version folders in my user App data I'm running out of space fast on my ssd and am looking for files I can safely delete. Are these folders in the image safe to get rid of for the past versions of blender?

Each of those folders is only required for that specific version of Blender.

You only need to keep the folders for any versions of Blender that you still use. So, for example, if you no longer use version 2.65, you can safely delete that folder, etc.


when i insert a keyframe with a single bone selected to a ik chain does not animate properly when i insert at least 2 keyframes with a single bone selected with auto ik activated to control a 5 ik chain does not animate properly, i press g to move this one single bone (head bone there) and its shows me how it deforms but when i insert the keyframe with LocRotScale, and this single bone selected, and then i play the timeline this bone just moves itself but not how it was showing with auto ik... some video here for better understanding...
https://youtu.be/ty0dATaQOw8

well the solution was to select all bones of the armature when going to insert instead a single one, and then ik chain works again, but still this is not normal tho...


mirror modifier duplicated my body I need to mirror the changes i am doing in the weights of my character from the left side to right side, but when i clic to add mirror modifier , it duplicates the whole body

With the Fast Carve Addon it is simple to use.

Download the addon here

Just weight paint one side. In the object mode -> Tool shelf -> Fast carve -> symmetrize. Click on the axis need. (If you have painted on X axis click on the X axis. It will symmetrize on the negative X axis).


Get points of Bezier Curve in coordinate space of the scene Sorry if the title is confusing, I wasn't sure how to best describe what I am trying to do.

Basically, I'm trying to create Bezier Curves that "grow" off of each other. For example, I would make one curve, deform it in whatever way, and then create a second curve that starts at a random point along the first curve, like this:

Obviously, I'm trying to do all of this programmatically in python.

I was able to pull the points of the first curve using the code suggested in this comment: Getting the list of points that describe a Curve without converting to mesh along with some of my own code.

However, the output of this seems to always be between -1 and 1 (though it goes a little over on both ends) no matter where in the scene I place it. This suggests to me that the exported points are in some relative space and not in the coordinate space used by the scene.

Does anyone know how to output the points of a curve in X, Y, Z coordinates of the scene? Or at least how to transform those points into the coordinates of the scene?

Thank you!

Perhaps the following code gives you an explicit example of how to interpolate points on a Bezier curve.  (I almost forgot the matrix_world that batFINGER has already explained is very important)

import bpy
from math import *

def interpBez3(bp0, t, bp3):
    # bp1, HR, HL, bp2

    return interpBez3_(bp0.co, bp0.handle_right, bp3.handle_left, bp3.co, t)
#    return interpBez3_(bp0.co, bp0.handle_left, bp3.handle_right, bp3.co, t)

def interpBez3_(p0, p1, p2, p3, t):
    r = 1-t
    return (r*r*r*p0 +
            3*r*r*t*p1 +
            3*r*t*t*p2 +
            t*t*t*p3)

def interpBlenderSpline(spline, i1, t2):

    bp1 = spline.bezier_points[i1]
    bp2 = spline.bezier_points[i1+1]
    return interpBez3(bp1, t2, bp2)

def mission1(obj, t):
    """ mathematically correct spline interpolation """

    i1 = floor(t)

    curve = obj.data

    bpy.context.scene.cursor_location = obj.matrix_world * interpBlenderSpline(curve.splines[0], i1, t-i1)

def mission2(obj, t):
    """ spline interpolation that matches the resolution_u setting inside blender """
    i1 = floor(t)
    t2 = t - i1
    spline = obj.data.splines[0]

    res = obj.data.render_resolution_u or obj.data.resolution_u
    t3 = t2*res
    t3i = floor(t3) / res
    t3f = t3 - floor(t3)

    p8 = interpBlenderSpline(spline, i1, t3i)
    p9 = interpBlenderSpline(spline, i1, t3i + 1/res)

    p = (1-t3f)*p8 + t3f*p9

    bpy.context.scene.cursor_location = obj.matrix_world * p

mission1(bpy.context.active_object, 0.7)

The mission2 function is if you want the point to match how blender chops up the spline into line segments instead of being on the mathematically precise bezier segment.


How can I manually calculate bpy.types.PoseBone.matrix using Blender's Python API? I have this .blend file which has a simple scene, and a python script. There's a readme section in the script, but to give a general idea:

There are two identical meshes in the scene, one skinned, and the other unskinned. The skinned mesh has a 20 frame animation. If you move to any frame of the animation, and then run the script, the script will modify the position of the unskinned mesh's vertices, to match the vertex positions of the skinned mesh, for the current frame of animation.

The formula I use to calculate the new vertex positions is:

nv = nv + ((boneWeight / TW) * ( bms[boneName] * (ibps[boneName] * v.co) ))

Where:

boneWeight: weight of the current bone that influences this vertex
TW: total weight of all bones that affect this vertex
bms[boneName]: bind pose of the current bone (bpy.data.objects[ARMATURE_NAME].pose.bones[BONE_NAME].matrix)
ibps[boneName]: inverted bind pose of the current bone (bpy.data.objects[ARMATURE_NAME].data.bones[BONE_NAME].matrix_local.inverted())
v.co: the original vertex coordinates

It's worth noting that, in my Python script, I do not traverse the hierarchy of bones to calculate the correct transform matrices; simply accessing the pose matrix and inverted bind pose matrix for the current bone is enough.

So with this figured out, I now want to export the bind pose and inverted bind pose of every bone, for every keyframe in this animation. In order to keep my exported file size to a minimum, I only want to export the keyframes of an animation, and have my game engine generate the bind pose and inverted bind pose of all bones for all non-keyframes in the animation.

I have found the interpolation functions for Matrices in Blender's source code, and I have re-implemented them in Java. For the root bone of an armature, the matrices that my engine generates for the bind pose and inverted bind pose are correct for all frames in my animation.

However, for non-root bones, the bind pose and inverted bind pose are incorrect, i.e. they do not match the pose_bone.matrix and data_bone.matrix_local.inverted() readouts that Blender gives in the python console.

So, it seems to me that, it isn't enough to export the bind pose and inverted bind pose matrices, and interpolate between them for given keyframes.

Instead, I either need to:

Export and interpolate between the matrices/vectors from which the bind pose and inverted bind pose are derived from, and then multiply them all together to give the bind pose and inverted bind pose of the bone on the engine side

OR

I continue to export the bind pose and inverted bind pose from blender, but after I have generated the matrices on the engine side, for non-root bones, I multiply the generated matrix with a matrix/inverted matrix belonging to that bone's parent (but what parent bone matrix should I multiply against?)

Essentially, I need to know how, using the Python API in Blender, I can generate a matrix equivalent to:

bpy.data.objects['Armature'].data.pose.bones['Bone.001'].matrix

Without directly accessing bpy.data.objects['Armature'].data.pose.bones['Bone.001'].matrix, if that makes sense?

So, I need to know, step-by-step, what child/parent bone matrices (available via the Python API) to multiply together, to give a matrix equal to the bind pose (bpy.data.objects['Armature'].data.pose.bones['Bone.001'].matrix) of a given bone.

I've been linked to this diagram before:

But I wasn't able to follow along with it using only the Python API, as I was only able to find the equivalent functions for each step in the C code, not the Python API.

armature.data.bones["Bone"].matrix_local

Is the bone's world un-posed matrix (the pose_bone.matrix in rest state).

 armature.pose.bones["Bone"].matrix_basis

Is the bone's local pose matrix.

From there we can calculate any bone's world matrix by recursively traversing it's parents. Note: This will not include any constraints or IK (but it will include drivers or actions):

def matrix_world(armature_ob, bone_name):
    local = armature_ob.data.bones[bone_name].matrix_local
    basis = armature_ob.pose.bones[bone_name].matrix_basis

    parent = armature_ob.pose.bones[bone_name].parent
    if parent == None:
        return  local * basis
    else:
        parent_local = armature_ob.data.bones[parent.name].matrix_local
        return matrix_world(armature_ob, parent.name) * (parent_local.inverted() * local) * basis

You can test it on an empty and some armature with some active pose_bone. Also the armature_object's transformation is accounted here:

import bpy

empty_ob = bpy.data.objects["Empty"]
armature_ob = bpy.data.objects["Armature"]

bone_name = bpy.context.active_pose_bone.name
empty_ob.matrix_world = armature_ob.matrix_world * matrix_world(armature_ob, bone_name )


Select a Specific Tracking Marker Is it possible to select a particular tracker by name?

For example, If I want to select Track.009, how can I do this without having to select each tracker individually and check if it's Track.009?

Deselect all markers first (hit A)
Click on the track name in the Dopesheet View (i.e. Track.009), twice if it's initially selected (first click deselect, second click selects track as well as the track marker). The Dopesheet View of your Movie Clip is on the upper right in the default Motion Tracking screen.


I can't switch between animations I have 2 animations inside the same blend file, they appear as different animations in the action editor and the timelines change when I choose between the two in the drop down menu, but the actual animation does not change; I'm stuck on my run animation and I would like to be able to switch to my idle animation

My blend file:

https://www58.zippyshare.com/v/jkvFtxvV/file.html

You need to select the armature and then change the action in the action editor. You created the animation for the armature, then applied it to the mesh object in the action editor by mistake. This doesn't do anything because the animation expects the transform hierarchy of the armature. You can check in the outliner where your animations are. They should only exist under the armature, not under the mesh objects.

Select Cube and remove the action in the action editor.
Select Cube.001 and remove the
action in the action editor.
Select Armature and choose the action you want to play and it
should work.


Lofting along a path TL; DR;

Using Sverchok, how might one construct a loft between edges that follows a defined path, as per figure 3 below?

Discussion

zeffii recently provided a nice demonstration of using Sverchok for Lofting between edges.

This was by way of augmenting an answer to a previous question (Sweep along a path through multiple cross-sections). However, I think that there was an aspect to that previous question that was glossed over in the answer, so I'd like to present it again here.

When constructing a loft object , it's sometimes useful to define a specific path that the loft is supposed to follow, and more convenient than defining edges all along that path - especially when the intermediate edges can be inferred from the start and end edge.

Once again, here's an example to illustrate the point...

Here, in each case, a circle morphs into a square. Figure 1. shows a simple transition from one shape to the other, and figure 2. shows a transformation that can be achieved using the solution zeffii provided in the link above.

The next challenge is figure 3. Constructing a loft between edges that follows a defined path.

Note that non-node-based solutions have been provided (e.g. Lofting between two different shapes along a path) but I'm all about those nodes.

I'm all about the nodes too, but i'm also all about leveraging the power of Blender from inside Sverchok. (When it makes sense, and when it can offer perfomance boosts.) This also offloads the pesky "twist" Matrix calculations to Blender, and lets you use the Twist parameter on the Trajectory curves.

For now i started a discussion about this on our Issue tracker, because I think this technique can be wrapped into a single node and automated/parametrized.

What I did here was generate two Profiles using generator nodes (Ngon, and Circle) and output them using the PolyLine Viewer, i also made sure the profiles had the same vertex count and the vertex positions aligned to allow nice linear interpolation between the two shapes. Then I added a trajectory and copied it, and added the two bevel shapes to them individually

then the Objects In node imports both Curve Objects as Meshes, we separate the two meshes, and divide each mesh by the number of vertices of the Profile vertex count. This division results in a number which corresponds to the number of nodes/vertices in the original trajectory Curves. It also is the number of times we need to repeat each element of our interpolation range. so we go from

[0.0, 0.07, ....1.0]

to

[  0.0,  0.0,  0.0,  0.0,  ...
   0.07, 0.07, 0.07, 0.07, ...
   ...   ...   ...   ...   ...
   ...   1.0,  1.0,  1.0,  1.0  ]

We do that with the List Repeat node, and List "Delete Levels" (which is essentially a "Flatten List" node)

here's the blend


Duplicated object not showing when rendered So basically, duplicated items don't show in render. I've tried ticking all in filter, one by one, all, none and still doesn't work, I've also checked if if the visibility boxes are ticked, but still doesn't work. I am desperate, please help!

Could you post some screenshots of the screen about the problems?

However, it may be enough to move the project to a new project file and see if the problem recurs, alternatively you can also make a copy of the object and delete the previous one, first I would tell you to try these simple procedures.
Alternatively, do the objects have applied textures? Does the project have lights? Are they correctly positioned?
Is the camera positioned correctly, does the field of view cover both positioned objects?

Add screenshots of your work screen to make a certain problem more understandable.

In the new project have you tried to import only what you see in the render? to import I mean through the '' append '' section from the blender library.
So to import only what you are interested in a project.
  However, you should also check the maximum view of both the camera and the viewport, or rather being in perspective the image maybe the camera does not get to physically see the most distant object. look at my screenshot


How do I have two different 'template_icon_view's in a panel? I want make two template_icon_view previews in  text editor > templates > python > ui_previews_dynamic_enum.py in blender 2.8 or 2.79, but I do not understand how make two different regions of previews.

The original template script is simple, I made my library, but I want two or more library previews inside 1 panel with 2 different directories.

For example:

directory = wm.my_previews_dir

I want another:

directory_two =.....

I just made everything double:

import os
import bpy

def enum_previews_from_directory_items(self, context):
    """EnumProperty callback"""
    enum_items = []

    if context is None:
        return enum_items

    wm = context.window_manager
    directory = wm.my_previews_dir

    # Get the preview collection (defined in register func).
    pcoll = preview_collections["main"]

    if directory == pcoll.my_previews_dir:
        return pcoll.my_previews

    print("Scanning directory: %s" % directory)
    def_dir = os.path.dirname(bpy.data.filepath) + directory[1:]
    if directory and os.path.exists(def_dir):
        # Scan the directory for png files
        image_paths = []
        for fn in os.listdir(def_dir):
            if fn.lower().endswith(".png"):
                image_paths.append(fn)
        for i, name in enumerate(image_paths):
            # generates a thumbnail preview for a file.
            filepath = os.path.join(def_dir, name)
            thumb = pcoll.load(filepath, filepath, 'IMAGE')
            enum_items.append((name, name, "", thumb.icon_id, i))

    pcoll.my_previews = enum_items
    pcoll.my_previews_dir = directory
    return pcoll.my_previews

def enum_previews_from_directory_items2(self, context):
    """EnumProperty callback"""
    enum_items = []

    if context is None:
        return enum_items

    wm = context.window_manager
    directory = wm.my_previews_dir2

    # Get the preview collection (defined in register func).
    pcoll = preview_collections["main2"]

    if directory == pcoll.my_previews_dir2:
        return pcoll.my_previews2

    print("Scanning directory: %s" % directory)
    def_dir = os.path.dirname(bpy.data.filepath) + directory[1:]
    if directory and os.path.exists(def_dir):
        # Scan the directory for png files
        image_paths = []
        for fn in os.listdir(def_dir):
            if fn.lower().endswith(".png"):
                image_paths.append(fn)
        for i, name in enumerate(image_paths):
            # generates a thumbnail preview for a file.
            filepath = os.path.join(def_dir, name)
            thumb = pcoll.load(filepath, filepath, 'IMAGE')
            enum_items.append((name, name, "", thumb.icon_id, i))

    pcoll.my_previews2 = enum_items
    pcoll.my_previews_dir2 = directory
    return pcoll.my_previews2

class PreviewsExamplePanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Previews Example Panel"
    bl_idname = "OBJECT_PT_previews"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

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

        row = layout.row()
        row.prop(wm, "my_previews_dir")

        row = layout.row()
        row.template_icon_view(wm, "my_previews")

        row = layout.row()
        row.prop(wm, "my_previews")

        row = layout.row()
        row.prop(wm, "my_previews_dir2")

        row = layout.row()
        row.template_icon_view(wm, "my_previews2")

        row = layout.row()
        row.prop(wm, "my_previews2")

# We can store multiple preview collections here,
# however in this example we only store "main"
preview_collections = {}

def register():
    from bpy.types import WindowManager
    from bpy.props import (
            StringProperty,
            EnumProperty,
            )

    WindowManager.my_previews_dir = StringProperty(
            name="Folder Path",
            subtype='DIR_PATH',
            default=""
            )

    WindowManager.my_previews = EnumProperty(
            items=enum_previews_from_directory_items,
            )
    WindowManager.my_previews_dir2 = StringProperty(
            name="Folder Path",
            subtype='DIR_PATH',
            default=""
            )

    WindowManager.my_previews2 = EnumProperty(
            items=enum_previews_from_directory_items2,
            )

    # Note that preview collections returned by bpy.utils.previews
    # are regular Python objects - you can use them to store custom data.
    #
    # This is especially useful here, since:
    # - It avoids us regenerating the whole enum over and over.
    # - It can store enum_items' strings
    #   (remember you have to keep those strings somewhere in py,
    #   else they get freed and Blender references invalid memory!).
    import bpy.utils.previews
    pcoll = bpy.utils.previews.new()
    pcoll.my_previews_dir = ""
    pcoll.my_previews = ()
    pcoll2 = bpy.utils.previews.new()
    pcoll2.my_previews_dir2 = ""
    pcoll2.my_previews2 = ()

    preview_collections["main"] = pcoll
    preview_collections["main2"] = pcoll2

    bpy.utils.register_class(PreviewsExamplePanel)

def unregister():
    from bpy.types import WindowManager

    del WindowManager.my_previews

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

    bpy.utils.unregister_class(PreviewsExamplePanel)

if __name__ == "__main__":
    register()

I am sure It can be done more professionally, but it's good starting point.
If You want more than two You should reed about collections


How to add more light to the 3D view Is there some way to add more light to the 3D scene during modeling?

Not to the final render, but just make the object more visible.

I followed few tutorials and I do exact steps but somehow their model during modeling phase is with more light even if no light in the scene is present.

To better explain myself - I'd like to make modeled object (without material and other stuff) to be more lighten up

Here is how I see object during modeling:

Here is the same object but I moved my position in viewport:

During tutorial (space corridor from blender guru)
is his object far more visible during modeling from different angles.
For me is my object far more darker - as it is visible on picture 1.

I'm afraid there is no way to fully fix this issue, but you can help slightly.

In file > User Preferences > System under "Solid OpenGL lights" (1) you can see three sets of colours (2).

Editing all of these to a full white, (Clicking on each then adjusting the colour to the brightest white.) will help your issue.

EDIT: After viewing your edited post, i can say this is what my answer does. But like i said only to a extent. But, i have noticed, if normal's are pointing inside of a object, it is darker, the dark side of your object is unusual.

Try selecting the darker side in edit view with faces selected, then hold down 'CTRL' and press 'N'  this recalculates the normals. Also another thing to try is checking them manually. To do this, press 'N' then while in edit mode scroll down until you see a section called normals. (1)

Then click on one of the three boxes, i prefer faces (2) for normal things, but sometimes it doesn't matter what you prefer.


How do I change the track object of an Edit Object actuator? I wrote a script to change an Edit Object actuator track object based on which object it is near.

Here is the script, pretty much straight off the template:

import bge

def main():

    cont = bge.logic.getCurrentController()
    own = cont.owner

    sens = cont.sensors['NearBad']
    actu = cont.actuators['Attack']

    if sens.positive:
        actu.track_object = sens.hitObject
        cont.activate(actu)

    else:
        cont.deactivate(actu)

main()

The actu.track_object = sens.hitObject is the line in question.
I wrote that based on what I think it should be, but what is the right syntax? How do I really do that?

Disclaimer: Although I work with BGE all the time, I have no coding experience at all.

Edit Object Actuator
The way you change an Edit Object actuator's object to track is with object.
Here is what the if statement section of your code looks like.
if sens.positive:
    actu.object = sens.hitObject
    cont.activate(actu)

Steering Actuator
The way you change the Steering Actuator's object to track is with target.
Here is what the if statement section of your code looks like.
if sens.positive:
    actu.target = sens.hitObject
    cont.activate(actu)

I initially thought you were using a different actuator (Steering) that is why both methods are listed.


Boxy Shading Glitching I am making a game on the BGE with smooth shading pretty much everywhere. Everything looked great until I added a title screen scene. Then, whenever I switched between them while running the game, the shading meaninglessly switched between boxy and smooth, while also omitting some graphical toon effects. Is there a beter way to do this?

Here is the file:

This is with boxy/flat shading and absent graphical toon effects:

This is good, but still missing some toon styling:

This is with all the real effects, loaded directly from the adventure scene:

This is because any new scene created is automatically in Multi-texture shading mode and the other scenes you go to will adopt that setting. you need to change the menu scene's shading to GLSL even if the play scene already is. You can't play a game in two different shading modes.

Here's the .blend I made up for you, there are instructions in the text area to the right.


Why do I need my camera settings for Motion Tracking VFX I am fairly new to VFX with blender but I have two questions. First of all why do I need to enter my camera's settings into blender? Also what does the solve camera motion button do?

If you are just using 2D elements like planar tracking you don't need to deal with the camera settings.

If you are planing to reconstruct a scene by creating a virtual camera that mimics the camera used to record a video then you need to know the dimensions  camera sensor and have lens information so that blender can reconstruct the scene properly.

The combination of lens size and sensor size determines the angle of coverage of the camera and the perspective. Blender can use such information to then determine the placement of the tracked elements in a 3 dimensional space. If you don't know such information blender can guess it so some degree, but you might get better camera solutions if you start by supplying such info.

Camera solving is the process described above. From the movement of trackers on a a series of flat images, blender estimates the placement of the tracked points in  3D space based the distance to the camera and also makes the virtual camera move like the original camera used to make the shot.

I recommend that you watch a few videos of how it is done to familiarize with the process.

Please read the following post for tips on how to get better camera solutions:

How can I get better results when doing camera motion tracking?


Model Deforms once exported to Collada I have my model like this in blender in design,

But once i convert it into Collada the model and reimport it deforms,

This might probably because of the additional mesh generated after rigging, anybody have an idea of what's going on and how to fix it?

Additionally the model file is here: https://drive.google.com/file/d/1ONfiyX4dwIe8VdKwqoaNWAy7uMv0M2oi/view?usp=sharing

And I use following options in exporting the collada file,

Do you have any modifiers active during export? Try applying any active modifiers and then exporting. It might be an issue with the multires modifier if you have that on.


Generating, Selecting, and Unwrapping an Item Added to an Existing Mesh (Python Script) I've got a script that draws a bunch of individual items onto the same object, and I need to generate a UV map for each item right after it's drawn before moving on to the next one.
My current code seems to me like it should work, because the individual instructions work great when I run them via the console, but when I run them as a script, three of the instructions (bpy.ops.mesh.select_all(action='DESELECT'), bpy.ops.mesh.select_linked(), and bpy.ops.uv.unwrap()) don't seem to do anything.
Can anyone help point out what I am overlooking? Thanks in advance!
Here is a simplified script that can be run on the default cube that basically illustrates what I'm trying to do (it draws a separate plane and tries to unwrap it):
import bpy
import bmesh

obj = bpy.context.object
bm = bmesh.new()
bm.from_mesh(obj.data)

mesh_verts  = bm.verts
mesh_faces  = bm.faces

v1    = mesh_verts.new((2,1,1))
v2    = mesh_verts.new((3,1,1))
v4    = mesh_verts.new((2,2,2))
v3    = mesh_verts.new((3,2,2))

face = mesh_faces.new((v1, v2, v3, v4))

v1    = v4
v2    = v3
v4    = mesh_verts.new((2,3,3))
v3    = mesh_verts.new((3,3,3))

face = mesh_faces.new((v1, v2, v3, v4))

v1    = v4
v2    = v3
v4    = mesh_verts.new((2,4,4))
v3    = mesh_verts.new((3,4,4))

face = mesh_faces.new((v1, v2, v3, v4))

bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_mode(type='VERT')
bpy.ops.mesh.select_all(action='DESELECT')
v4.select_set(True)
bm.select_history.add(v4)
bpy.ops.mesh.select_linked()
bpy.ops.uv.unwrap()
bpy.ops.object.mode_set(mode='OBJECT')

bm.to_mesh(obj.data)

Added geometry to a bmesh is not known by bpy.ops until the call to bm.to_mesh(obj.data).
import bpy
import bmesh

obj = bpy.context.object
# Deselect all first
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_all(action='DESELECT')
bpy.ops.object.mode_set(mode='OBJECT')

# Your code...
bm = bmesh.new()
bm.from_mesh(obj.data)

mesh_verts  = bm.verts
mesh_faces  = bm.faces

v1    = mesh_verts.new((2,1,1))
v2    = mesh_verts.new((3,1,1))
v4    = mesh_verts.new((2,2,2))
v3    = mesh_verts.new((3,2,2))

face = mesh_faces.new((v1, v2, v3, v4))

v1    = v4
v2    = v3
v4    = mesh_verts.new((2,3,3))
v3    = mesh_verts.new((3,3,3))

face = mesh_faces.new((v1, v2, v3, v4))

v1    = v4
v2    = v3
v4    = mesh_verts.new((2,4,4))
v3    = mesh_verts.new((3,4,4))

face = mesh_faces.new((v1, v2, v3, v4))
# ... your code

# Select v4
v4.select_set(True)
# Set back bmesh to the mesh
bm.to_mesh(obj.data)

# Unwrap
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_mode(type='VERT')
bpy.ops.mesh.select_linked()
bpy.ops.uv.unwrap()
bpy.ops.object.mode_set(mode='OBJECT')


Motion tracking image missing in other computer I made something in Blender and added motion tracking but, when I move my blender file to other computer, the image that I used in motion tracking disappear in my blender file.

Actually I saved like this: Pack into blender file and Save.

Other external files like texture and so on.. are appear but, the image that I used for background in motion tacking is gone,....

How can I solve this problem?

Image sequences or video used for motion tracking can't be packed into the .blend file.

You need to copy the image sequence or video to the new computer. On the new computer you need to reload the footage.


Viewport only showing objects in camera shot I was just experimenting with the new smoke simulation stuff and something's happened. It seems that blender is only rendering things that are in the camera's view when in Solid Mode. What's even weirder is that it's seems to be from a location that the camera isn't in.

Here's an example of my scene which has a plane and an adaptive smoke domain in the middle. You can see that it's showing slices based on the origin point towards the lower right.

It's also displaying very strange in Material Mode as well (The plane just has a basic grey material but half of it ghosts as I move the camera around)

Have I pressed something without realising it or is this actually a bug? It's hard to tell since blender has crashed so many times while trying to make an explosion.

AltB (or the corresponding menu 'View/View Regions') can be used to define (or remove) a 3D clipping region.


Weird artifacts in shadow when rendering transparent objects I'm rendering a transparent cup with water + transparent plate.
However, the right bottom part of the shadow seem quite off. It has artifacts in the shadow.

https://imgur.com/a/djoP72f

This is the problematic part

Before using the Denoising Data option in View Layer Properties, however it looks kinda ok. It looks like  this.

https://imgur.com/a/rX34dZl

So maybe it's a problem of denoising? However, this is part of the tutorial of Blender Guru's Donut Tutorial and he's using the denoising option and it looks just fine.

Here is the blender file just to be sure.

My sampling rate in the renderer is 128 and I'm using Blender 2.8. All the transparent materials are made by Principled BSDF, Transmission 1.0, and Roughness 0.0.

Denoisers use an algorithm to predict and remove noise (the fireflies). However, when your image gets too noisy, the algorithm will be unable to predict what is supposed to be where (remember it's looking at the pixels and running some sort of math to try and guess what you don't want in the scene, and how to use the surrounding pixels to fix it).

In this case, you're going to need to increase your sample count.


How to create a material which lets light pass through unaffected? Ok, so im looking to make a material which;

allows 100% of light to pass through unaffected. As if the surface was never there.
allows normal textures to be applied as usual whilst looking as it should ( diffuse,normals,roughness, etc)

Blender 2.80, using cycles.

I made a mini demonstration which kinda shows what im trying to do. Say for example i want to have the light travel through the square hole like the cube on the right whilst also having the green square at there at the same time.

I hope this makes it easier to understand what im trying to do.

Im not even sure if such a thing can be done at all which is why im asking to see if its possible. I seen in one of blender guru's videos he managed to make glass which was able to do this but im not very knowledgeable with the node editor so i wasn't able to modify node setup to meet my requirements.

Thank You

If you want to set this up per material, you can use the Light Path node to make a material transparent to shadow rays: (Note the Geometry node is not relevant to this first example)

with this result...

...but as you can see from the shadow on the floor plane, this is transparent in both directions. If you want to fix that, you can wire in the Geometry node, so the the surface is transparent only to shadow rays to which it is backfacing .. (not forgetting the rays are fired from the shadowed surface towards the light)...

.. the multiply is being used to 'AND' the two booleans.. with this result.

You can go further, to make the material transparent only to specified lights.. see here.. or here.. but as you can see, that gets more involved.


Animation Nodes - Multiple Particle Hair systems distribution, and mimic child particles I followed a tutorial on how to distribute object with particle hair system:
https://www.youtube.com/watch?v=GahQXc8QQuc

I also add a few nodes from another tutorial to get the whole collection distributed.
Everything so far good. But know I'm stuck. I don't know, because I anyway don't know AN Nodes, on how to do a few other things, and hope someone can help Me.

How to distribute objects for a given particle system? So I can have few and add new ones. So basically the as with normal multiple particle systems.
How to distribute object on child particles (I already know, that this isn't implemented yet), or how to mimic it.

For now that's all. Attaching blend with the scene, and grass objects etc.

File: https://drive.google.com/open?id=1ask8lAGClZG0miUaC9aVIGIRaOOJQnQO

Animation result of grass on another test file:
https://drive.google.com/open?id=1wIarldHeq8w6AiKnmlH-1B3k85MJzQ5R

Node setup for actual result:

You can access multiple particle system of an object from Particle systems socket of Particle system from object node. Which will give you a list of particle system available on particular object. You can simply access those using Get List Element node by providing index value. You are currently using Active particle system only.

Here is an example:


How to make a mesh look like it was 3D printed How can I make a mesh "look 3D printed", i.e. you can see the layers. e.g.:

You see all those layers? How can one do this? Maybe a bump map? or is there an option to separate a mesh into pieces, i.e. explode it?

Bump map setting for BI (example)

I'd recommend the Wood procedural texture for this:

Bump map setting for Cycles (example)

You can use a Wave Texture node set to Bands as bump map:


How can I control the length of hair particles I made this object with hair particles in the Z direction, but I only need the hair that's above the gray plane I can't seem to figure out a way to do it.

I need everything under that plane to be cut off.

Create a plane
Add particles and select Hair (as you've already done)
Style you hair see the following GIF

Now from Modifiers hit Convert

This will convert hair into a mesh

Now keep whatever you want, and delete whatever you don't need.

EDITED: To make it a little more controlled..

In these steps I gave thickness to "only-edges-mesh", because Hair by default are paths. converted into mesh by applying the modifier.

in this images.. I changed into "editable mode"
then selected "Edge" type (not vertex or face).
move to very close to the edge.
pressed "A" to select all edges (hair)
pressed "E" for extrude and pressed "x" to extruded the edge into "X" direction
pressed "A" again to select all edges
Pressed "E" to extrude and pressed "Y" to lock extrude only into "Y" direction.
.. see these are no cubic hair.
Added a box to boolean hair with it.

in this image..I am modifying with "Boolean"

scaled up the newly added box
positioned the box
selected hair.. and applied "Boolean" Modifier.
changed the boolean type..
changed the view to wireframe so I could see .. what is going on.
scaled up the box to the desired form..
Apply this modifier and that's what you needed.. right?


Real Translucency (NOT Transparency or SSS) in Principled Material Setup I'm trying to create an effect where a creature has a part of its body that's really thin and translucent, and the blurry silhouettes of the bones can be seen inside it when light is behind it.
In technical terms, this means I need to have an object where light rays can pass through it, but only if it's thin enough and there are no obstructions inside the object.  Translucency, really.  (NOT transparency or SSS.)
This is actually exactly what the Translucent shader does (I tested it, and it does exactly what I need), but that shader literally only has parameters for color and a normal map, making it practically useless unless I can find a way to intelligently mix it with the Principled BSDF node.  I don't know why the Principled BSDF shader has no parameter for translucency.  I mean, sure, SSS is basically the same effect as translucency in theory, so maybe the developers thought it would be redundant, but with SSS (or maybe it's just Blender's SSS), external obstructions between the SSS object and the light source just aren't as clearly visible as with the Translucency shader, and obstructions inside the the SSS object are completely invisible for some reason.
I could try to fake it with rough transmission, but I need a way to use the thickness of the mesh (or, in more technical terms, how far a light ray must travel to get from its entry point to its exit point in the mesh) to control the transmission, and I haven't figured out where to get that data.  Using a hand-painted texture map to manually control the transmission looks like crap, because it just lacks the detail.
Does anyone have any ideas of how I could go about this?

I'm not sure why there is no Translucency option on the Principled shader. Perhaps there is a way to get translucent behavior from the Principled shader, but not that I know of. Here's a possible way to combine the two shaders, which should take thickness into account.
There's an answer here that goes over a way to find the approximate thickness of an object and use it in a shader by using the Ambient Occlusion node with Inside enabled.
While I'm not sure of your exact situation, I think it could be a reasonable way to mix the main shader with the translucency. I'd start by seeing what the Ambient Occlusion node outputs. It might be good enough as is. You'll probably need to adjust the distance though. I'd set it a bit higher than the thickest point on your mesh that you want to be translucent.
In some quick tests I did, I found the output might not be perfect on it's own. However, it's a pretty good start. You may want to mix in the Pointiness output of the Geometry node to isolate any raised sections (bumps, veins, etc.) that shouldn't be translucent. Mixing the two outputs using a Math node set to Maximum seemed to work well.
A quick hand painted texture could be used to "mask" the general areas that you want translucent. Add a Math node set to Multiply to add in the texture. This would just ensure that nothing is translucent that shouldn't be.
Here's a really quick test I did as a proof of concept. Far from perfect, but I think the idea is there. The dark spot is a Suzanne that I placed just underneath as a test. The mesh is just a subdivided cube with a thin section in the center and a couple sculpted "veins".

And the node setup:

As you can see there is a few spots on the outer edge that ended up translucent. With some tweaking of the ColorRamps it might get a bit better, but manually masking might be the way to go.


Why same scene has diferent size when i export it to three.js and babylon.js When i try export scene from blender to three.js , json file has large size, but the same scene export to babylon.js has size less. Why so?

There are many reasons this could happen:

three.js and babylon.js formats are just different, and may encode things in different ways
the three.js exporter may be including extra data that isn't in the babylonjs file like normals or tangents (whether that's data you want or not, who knows)

tl;dr this is fine and normal. Whichever engine you decide to use, both support many formats (FBX, glTF, OBJ) and some may be more efficient than either JSON format. glTF and Draco are may give smaller sizes, in particular.


How to apply existing facial blend shapes to beard Does anyone know how I could attach a beard to a face/head so it's affected by morph targets (face expressions) of the character? I've tried to combine vertices of the beard with the face thinking like that i could get the beard to move too.. But as soon as I combined a few, all went haywire.. I've thought of locking the vertices too of the beard with the face too but it didn't seem to work.. So question is how to get the existing blend shapes to work with the beard?? Any help is really appreciated, thanks.

Difficult to be specific without knowing the detail, but I'd try creating shape keys for the beard to match the shape-keyed movements of the face then, when you're finally setting up controls, link them so you run face and beard drivers simultaneously. Obviously this won't help a lot if you're after a big bushy beard that has a lot of follow-through (that'll mean a bit of extra tweaking).


Z depth values in OpenEXR do not match the objects in the scene I am trying to use the depth values from a render.  I created the appropriate graph that directly connects the render layers depth pin to an OpenEXR file output.  The problem is that the depth values do not match the objects in the scene.

As a simple example, I have used the default scene with a cube at 0,0,0   and a camera placed at 0,-6,0 looking directly at the cube.    The distance between the camera and the cube's closest plane is exactly 5.

When I load the EXR file as a matrix of floats, the value at the center is 5.45 instead of 5, both in the default render engine, and in cycles.

I don't know if any of the following information is relevant, but just in case:
Image size  1280x720,   focal length 35mm,  sensor size: 32mm

I would appreciate any ideas of where this discrepancy comes from.

Blender's depth map should work fine. I have tested it and I do get the right distance.
How do you load the OpenEXR files? Not all OpenEXR readers are reliable. I have noticed that OpenCV can give inaccurate results (see https://github.com/opencv/opencv/issues/10114).


How do I rotate an object with a custom button and panel using python scripting? Im making a Boeing 787 model and I just finished rigging it however I thought that maybe I would go deeper and try make a custom panel to control the rig. I've got the panel itself done using one of the default templates but I'm a complete noob at scripting new text.
Basically what I want to do is use a code to create a button in the panel, and when pressed, it will rotate one of the bones used for rigging, say for example the rudder. I really need help with this. By the way, Ive never seen it done but what would be even better would be a slider. This would mean I have more control over the rotation.

One way might be a modal operator which tracks mouse movements and applies it to pose bone rotation. The operator modal template (Goto Scripting View -> Templates -> Python -> Operator modal) should be a good starting point.

Here is a small example:

import bpy
from bpy.props import IntProperty, FloatProperty

class ModalOperator(bpy.types.Operator):
    """Rotate a bone with the mouse, example"""
    bl_idname = "object.modal_operator"
    bl_label = "Simple Modal Operator"

    first_mouse_x = IntProperty()
    first_value = FloatProperty()

    def modal(self, context, event):
        if event.type == 'MOUSEMOVE':
            delta = self.first_mouse_x - event.mouse_x
            self.pbone.rotation_euler.x = self.first_value + delta * 0.1

        elif event.type == 'LEFTMOUSE':
            return {'FINISHED'}

        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        self.first_mouse_x = event.mouse_x
        self.pbone = context.selected_pose_bones[0] # <- put your bone here instead
        self.first_value = self.pbone.rotation_euler.x

        context.window_manager.modal_handler_add(self)
        return {'RUNNING_MODAL'}

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.modal_operator('INVOKE_DEFAULT')

You can then add your operator to your panel


How can I use the Displace Modifier in a way that allows me to raise an artwork at one spot and recess it on another? I am really in a tough spot here.

In the image below I want to add 5 addons that a company offers; all on the same panel:

Area1: I need it to be raised, embossed and a bit shiny according to the artwork, I need bump.

Area2: I need this in gold foil and area 3 on silver foil.

Area4: I need it debossed and shiny, I need recession according to the artwork at that place.

Area5: I need SPOT UV over there which is the same thing as embossing an artwork but its just not raised as much as embossing, slightly less.

I am able to recreate all these techniques individually and I have so far done it very well. But when I do that on the same panel I get too much geometry because I have to subdivide the mesh many times.

When I apply a displace modifier which does the job perfectly. I have it on the whole plane and I dont have control over embossing or debossing two different areas; I can only deboss the plane as a whole or emboss it.

The artworks are complicated and have a lot of curves and places where its either recessed or raised according to the maps I've created. I have been looking for a solution for quite some time and I found two time consuming ones:

1) Modeling everything and then just placing it on the plane. The part I think I can't model is where embossing or debossing is. Which doesn't actually solve the problem.

2) Subdividing a plane several times until the viewport lags. Selecting the part where I want something debossed or embossed. Separately selecting it as an object and applying a displace mod, keeping it at the same location; once its debossed; ctrl+j after applying mod. Readjusting everything. Which is the only solution I have found.

I want to know if there is another solution especially if its through the displace mod. If the solution I have found is the only one then I will have to shift to another software.

Please help.

If you really wish to go with displace, and you're working with displacing from an image texture, it should really just be a matter of calibrating the colors of the image texture.

50% gray = no displacement

white = full emboss, displace upwards

black = full deboss, displace downwards

Intermediate shades emboss/deboss a correspondingly intermediate amount

Using GIMP or the like, you should be able to composite your individual displacement maps into a single image so that everything is being displaced in the direction you wish. You may need to invert colors of various parts of the image, or modify the brightness/contrast (e.g., or levels, or curves, whatever) to control the relative amount of displacement.


How to make one clear object invisible inside of another clear object? So for my animation, I have water draining out of a clear sphere. Unfortunately, through the sphere, the flow of water is visible when I don't want it to be. I only want the flow to be visible when it exits the bottom of the sphere.

I still want the sphere to be translucent to the point where the viewer can see over to the other side, I just don't want to hide the part of the inflow inside the clear sphere.

Does anyone know a way of using a translucent object to hide a section of another object while keeping the former object see-through???

I'm trying to avoid masking it out in post.

A link to my project can be found down below.

There is a trick that worked very well for me:

You can make the object "invisible" inside of the clear sphere by adding another sphere just slightly smaller inside of it, adding a Boolean modifier to both the water inside the sphere, and itself. Then set the Boolean sphere to fully transparent so you do not see it. Now the water inside of the sphere should have disappeared. Make sure you do not apply the modifier at all, as that would apply it to the vertices, and change the simulation.


Cannot use the sculptdraw tool I was sculpting a model with the sculptdraw tool and I accidentally pressed the "2" under the icon (circled in green in image). I figured this out by pressing it several more times so I have 4 scupltdraw tools (Circled in red in picture). Now when I try and use the tool nothing happens. All other tools are working fine. I am guessing all I need to do is delete the duplicates but I don't know how to do that and which tool is the original.

Thanks in advance

I'm not sure why you can't use the tool since duplicating brushes shouldn't affect their properties however, you basically made duplicates of the main brush and then made them permanent by ticking the F. To fix, hold Shift and click the X which will unlink the brush and set the number of users to 0. Select the red paintbrush icon and select the other duplicate(s) and repeat, also untick the F as well.

This is how your brush menu should look after. Notice the 0 beside the duplicate brushes and the F beside your original.

Now that you have unlinked the dupes, save your file and open it again (can use CtrlShiftO and select it at the top). Select the icon again and select your original brush(set).

Since datablocks are so key in Blender, I'd recommend reading on how to identify and know what is happening in the future as this applies to other areas such as materials, nodes etc. What does "users" means in term of datablocks?


Game Engine object getting darker as it scales Working in game engine, objects are fine in 3d view, but once I start the game engine, object size has an inverse relationship to its material brightness. It's almost like there's a set amount of light each object reflects regardless of area, so larger objects are darker.

There's what I mean: The Below are three identical planes, with the same material. I actually took the first and duplicated it, changing nothing but the scaling.

Here it is in edit mode, with the mid-sized one selected so you can see where they meet:

Object mode: as you can see, indistinguishable:

But once I start game engine, the smaller one is blindingly lit, the middle one more or less what I expected, and the largest is extremely dark:

It's not that the largest one is furthest from the lights, because the position the lights are directly on top of the middle one and it's still dark; also, there is no gradient, it just goes from one color to the next. (There's a little green to the inner plane.) Changing the Diffuse intensity does nothing; lowering Specular intensity gets rid of the white and makes the whole inner plane the light green of the upper right corner. Making it Shadeless (under Shading) results in uniformity, but of course no shade.

This seems too consistent to be a bug rather than a feature, so I figure I must be doing it wrong. But I checked the documentation, this site, Google in general, and I can't find it. Maybe I'm just not understanding the words.

What shading mode are you using? (Multitexture or GLSL)

Multitexture

In this mode the the colors of the vertices are calculated from distance to the lamps. The pixels of the face are interpolated from colors of the vertices. As your vertices are more far away from the lamps they are rendered darker. The interpolation will be between dark colors and other dark colors. This method is fast but assumes that face pixels have no significant different distance to the lamps than vertices.

In other words: It is assumed, objects closer to lamps have a denser mesh (smaller faces). This way the interpolation is not that much noticeable.

Test: You will see a significant different effect when you subdivide the plane just once as the middle vertex is close to the lamps.

GLSL

In this mode you should not see this effect as all pixels of the plane get the color dependent on the distance to the lamp (rather than interpolation).


How to get Enumerations correctly right aligned I try to create a box with 3 EnumProperty elements. When i just create the items in a box like here:

box = layout.box()
box.label("Add new Avastar")
col = box.column()
col.operator("add_avatar", text="Create")

col = box.column(align=True)
col.prop(self, "mesh_type",   text='Character Mesh')
col.prop(self, "rig_type",    text='Rig Type')
col.prop(self, "weight_type", text='Weight Variant')

Then i get this result:

So i see how the selection menus are a bit too wide and because of this the text label to the left side gets truncated. However there is a lot of free space to the right side of the button labels. So i first checked if maybe one of the option texts is too wide, but that is not the case.

Here are the text labels for all options involved in this example:

character type: [ Rig only | with Tris | with Quads ]
mesh_type:      [ Classic  | Extended ]
rig_type :      [ Classic  | Extended ]

Next i thought maybe i can get an improvement when i use the alignment property as follows:

box = layout.box()
box.label("Add new Avastar")
col = box.column()
col.operator("add_avatar", text="Create")

col = box.column(align=True)

col.alignment='RIGHT'         # <== See Here!

col.prop(self, "mesh_type",   text='Character Mesh')
col.prop(self, "rig_type",    text='Rig Type')
col.prop(self, "weight_type", text='Weight Variant')

But this gives me following result:

Next i tested what happens when i replace 'RIGHT' with 'LEFT' in the alignment. But that does not change anything, the alignment looks the same for 'LEFT' and 'RIGHT'.

So what is the trick to get the selectors all aligned to the right edge of the button?

Here is what i hope to achieve (mocked up with my 2D image editor):

How can i create this (or at least something similar)?

Here is a Blend file with an example script:

http://pasteall.org/blend/40501

You can use layout.split() to split a row into two columns based on percentage. The first item on the row uses the percentage of the width specified in the split, then the following items use the remaining width.

Then by adding the label as a separate item to the menu you get each in their own column.

class testPanel(bpy.types.Panel):
    bl_label = "Test Panel"
    bl_idname = "OBJECT_PT_tester"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'

    def draw(self, context):
        layout = self.layout
        obj = context.object
        box = layout.box()

        col = box.column()
        title_size = 0.6

        row = col.split(percentage=title_size, align=True)
        row.label(text='Character Mesh')
        row.prop(obj, "mesh_type",   text='')

        row = col.split(percentage=title_size, align=True)
        row.label(text='Rig Type')
        row.prop(obj, "rig_type",    text='')

        row = col.split(percentage=title_size, align=True)
        row.label(text='Weight Variant')
        row.prop(obj, "weight_type", text='')


How do I scale an object proportionally using numbers on the scale panel? Everytime I change the X axis to 2' it literally only does the x axis and I was wondering if there was a way I could do this proportionally

By left-clicking and dragging down on the sliders you can select and edit the values for multiple axes simultaneously:

Alternatively, if you want to do things with keyboard shortcuts you can press S and drag, that will scale your object (or selected vertices, depending on what mode you are on) in all axes.

To constrain transformations on a single axis you can do SX to scale on the X axis only, or SShiftZ to scale on X and Y only (but not on Z)


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

import bge
from bge import logic

cont = logic.getCurrentController()
owner = cont.owner

for i in ranger(0, 100)
    owner.applyRotation([0,.02, 0], 1)

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

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

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

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

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

Keep in mind:

Your code describes the behavior within a single frame.

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

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

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


How to copy position, size from one armature to another? I have a armature A and made Copy armature B and C;

I went to editmode on B and moved arms bones a little down and made head bone bigger;

How to I apply same changes on C without manually moving the bones or without creating a new armature (ctrl+d from B)?

I was hoping for some button to copy armature from one to another (the bones structure is exacly the same even same names)

this is a quite challenging question, I don't expect an exact answer but directions to help me do what I want

thanks

While we can easily copy a pose from one armature to another I don't think there is a way to copy edit bone changes from armature to armature. This would mean creating a python script is the way.

As editing bone data in bpy.data.armatures[x].bones doesn't seem to work, we can go into edit mode to collect the bone data from the source armature, then apply that data to each destination armature in edit mode.

So getting close to an exact answer would be the following script, you should only have to change the rig names at the top.

import bpy

source_rig = 'metarig'
dest_rigs = ['metarig.001','metarig.002']

############

bone_data = {}

def edit_rig(rigname):
    bpy.ops.object.mode_set(mode='OBJECT')
    bpy.ops.object.select_all(action='DESELECT')

    bpy.data.objects[rigname].select = True
    bpy.context.scene.objects.active = bpy.data.objects[rigname]
    bpy.ops.object.mode_set(mode='EDIT')

edit_rig(source_rig)
for b in bpy.data.objects[source_rig].data.edit_bones:
    bone_data[b.name] = (b.head.copy(), b.tail.copy(), b.roll)

for arm_name in dest_rigs:
    edit_rig(arm_name)
    for b in bpy.data.objects[arm_name].data.edit_bones:
        b.head, b.tail, b.roll = bone_data[b.name]

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


Distance from the surface as an input node for use with volumetric materials I would like to create a material that has a volumetric component whose local Density depends on the depth of each volume point below the surface.

Can the information "how deep below the surface is a given point" (i.e. the intensity of red color in the figure below) be obtained directly from the material nodes, without adding extra geometry or modifiers?

I've tried using the Z component of the UV Texture Coordinate (after having assigned an UV map), and other kinds of node setups, but I couldn't find a way to obtain that quantity.

Another way of looking at it: consider that SSS can be seen as a Volume Scatter with a Density decreasing smoothly from the surface to one skin-thickness below, while an abrupt fall-off (density goes suddenly from one to zero) corresponds to a Volume Scatter applied on a mesh with a Solidify modifier.

I would like to be able to create any generic falloff profile, including these two.

You can use an OSL shader that measures the proximity of the mesh from within a volume. It works by projecting out rays from each point in the volume to probe the surrounding mesh. Be warned that this will be extremely CPU intensive as it has to trace multiple rays from each point within the volume which is significantly extra CPU work.

Here's the shader in action, varying the emission color based on depth :

Here's the code :

shader volume_meshproximity(
    vector Point = P,
    int Iterations = 1,
    output float Min_Distance = 0.0,
    output float Max_Distance = 0.0,
    output float Avg_Distance = 0.0
    ) {

    float x;
    float y;
    float z;
    vector rand;
    float scale = 5000.0;
    float sum_dist = 0.0;
    float max_dist = 0.0;
    float min_dist = 0.0;
    float Distance = 0.0;

    for (int loop = 0; loop < Iterations; loop++)
    {

        rand = noise(Point*scale,loop*scale);
        x = rand[0] - 0.5;
        y = rand[1] - 0.5;
        z = rand[2] - 0.5;

        if(trace(Point,normalize(vector(x,y,z))))
            getmessage("trace", "hitdist", Distance);
            //getmessage("trace", "N", Normal);
            //getmessage("trace", "hit", Hit);

        if (loop == 0)
        {
            sum_dist = Distance;
            max_dist = Distance;
            min_dist = Distance;
        }
        else
        {
            sum_dist = sum_dist + Distance;

            if (Distance > max_dist)
            {
                max_dist = Distance;
            }

            if (Distance < min_dist)
            {
                min_dist = Distance;
            }
        }
    }

    Max_Distance = max_dist;
    Min_Distance = min_dist;
    Avg_Distance = sum_dist / Iterations;
}

To use it, make sure you're using a version of Blender compiled to include OSL support and enable the Open Shader Language checkbox in the Render properties.

Create a new Text block and paste the above code. Name it something like 'surfaceproximity.osl'.

In your Node Editor, add a Script block and select the 'surfaceproximity.osl' text as its source. This should give you a node like this :

The 'Iterations' control how many 'probe rays' are projected out from each volumetric point - more rays will provide slower renders but sharper results (since it will sample more internal geometry of the mesh). Point is the location in World space for the origin of the probe rays (pass the Object texture coordinate through a Vector Transform node to transform the point from Object to World coordinates). The resultant 'Min', 'Max', 'Avg' are the minimum detected distance (ie, the closest point) the maximum detected distance (the furthest away point) and the average distance of all probe rays (gives an indication of how 'enclosed' that part of the volume is (a thin section of mesh will tend to have a smaller average, a wide open section will have a larger average - when compared to the min and/or max).

The 'Min_Distance' can be used to indicate the depth from the surface of the mesh. For example, it can be used to control the density of volumetric Scatter/Absorption to give Suzanne an internal skeleton as follows :

Here the OSL shader is set to project 16 probe rays (Iterations) from each point within the volume. This controls the density of the Volumetric Scatter such that closer than 0.1 blender units (the Greater Than node) it is transparent (density 0) whereas further in than 0.1 blender units it is opaque (density 30). An Emission shader makes the 'skin' of Suzanne surrounding the 'skull' visible to show the effect. Adjusting the 0.1 in the Greater Than node will vary the thickness of the 'skin' (ie, the depth at which the 'skull' begins).

This produces the following results :

Blend file attached.

Similarly, you could use a Less Than node to create a 'Solidify' effect (the inverse of the above example) or drive the Volume density directly from the output of the OSL node to vary the properties smoothly - as mentioned in the original question.


Will this mesh work to rig and animate the lips? I created a chibi character and made it's mouth, I made it without lips like this...

Will it still rig okay like this?

Depends on what you mean by "rig."  If you provide proper weights and proper bones, yes, it will deform, basically how you tell it to.

If you're referring to autoweights, then it might be useful to think of weights as a fluid that can "spill" out of holes in the mesh.  Holes like this can cause undesirable weights from automatic weights.  But it's easy to fix: just face the hole (ngon is fine) before you autoweight, then delete the face afterwards.

Note that your eyes are just as much a source of this issue as your mouth.

Finally, you might mean, will this deform well?  To answer that, I'd really need to see a wireframe, but from what I can see, no it will not.  It appears that your face is a big grid without any attention paid to edge flow.  You should start looking for references on face topology.


Painting shapes and patterns on the mesh How to paint various shapes on the object with precision and ability for fast adjustment.

Create object(s) close to the surface of the painted object (UV unwrapped object with a texture).
Add various materials on different parts of the shape object.

Add Subdivision Surface modifier with 2 or more subdivisions.
Make creases where it is necessary to preserve sharp edges of the shapes.
Add Shrinkwrap modifier with Target set to painted object and set mode to Projection.

Select shape object(s) and the painted object as last one, then open Render tab and in Bake settings select Textures as bake mode, enable Selected to Active and adjust Distance to prevent baking to the opposite side of the mesh. Then hit Bake button.

Final result:


Some funky stretching going on in character animation Well, first of all, I saw many posts about stretching, but mostly they are about unproperly vertex painting and in those other posts you can see the stretching directly in the viewport, but my case is a little different, I double-checked all the vertex weights and my stretching just appears in a couple of frames from the final render(so the stretching appears in one frame and disappears in the next one), not visible in the viewport

Thanks in advance.

Problem fixed... False alarm!!!, I double even triple checked my mesh weights, (but only in my main mesh, since the stretching looks gray), and I have the eyes and shoes as a separate mesh, all these three parented to my armature, finally I double-checked the eyes and they were parented to the armature with an orangy tone, not totally red, after I weight painted them in full red the problem is fixed... Anyway, the weird thing is that I was not able to see the stretching in the viewports, maybe that would have given me a clue of where the problem was.


Screwed up Render Settings I was working with this wonderful tutorial, making a donut.
Render-mode and rendering was working fine until my objects suddenly turned invisible in Rendere-mode.
And when I render the image now, I get something that looks like an explosion of dough.
I don't want to start all over because what ever that was could happen again.
Please help :(

Hard to tell from far away.
Try the funnel in the top right corner and enable "Disable in renders".

That way you can check your collections, whether they are enabled for rendering or not.
I've set my collection "DONT-RENDER" to "disable in renders". So, the red cube is shown in the viewport but "missing" in final render.


Render Vertex Colours in Blender Internal I don't like using cycles and prefer using blender internal render. So how can I render my vertex colours in Internal render. like as a material.

You enable the option in the shader panel for Vertex Color Paint.


Sylistic foliage shading in Cycles? Like The Witness I'm looking to create some pseudo-"flat shaded" foliage, for lack of a better term. Basically I want all the planes that make up the foliage to have the same lighting so they blend together more.

Here's what I've got so far (excuse the ugly):

The lighting of each plane is pretty different and therefore you can easily spot each plane, especially where they meet.

If you look at the bushes, in particular, on the bottom of this screencap from The Witness, you can hardly make out the individual planes.

Here's another pic from The Witness, I think this was from their dev blog, the foliage looks very cohesive and the shading is very even across the whole thing.

http://static.gosunoob.com/img/1/2016/01/the-witness-pink-tree-puzzle-5-1024x640.jpg

I have read in a few places that one thing to help get more even shading on foliage is to edit the vertex normals so they are more rounded out. I tried using the "Normal Edit" modifier with no success.  A lot of the foliage gets much darker and some places look much worse.

I found 2 addons that are supposed to help perform this process, I couldn't notice any difference when trying to use either of them. They both seemed to be years old and I'm not sure if they work with Cycles or work with the latest versions of Blender at all.

Transfer Vertex Normals Addon

Recalc Vertex Normals Addon

I think what your aiming for is a fairly shadeless look which in cycles can be achieved with the Emission shader.

The color variation can be created by varying between two base colors via a Fresnel node, then adding some additional variation with a noise texture.

Here's an example of how this could look:

And a closer look at the node setup for easier reading:


Distorted Image texture as background This is the background image that i want to use

But when i open it into the world panel, the preview and the rendered background are different. I've tried several options to scale it: adding mapping, image texture and texture coordinate nodes, scaling in the mapping node or in the texture panel, also tried to resize the image... and nothing works. I don't know how to put the whole image as background.

I've tried window texture coordinates, but now the background is pixeled. Any idea?

How it's seen through the camera

For normal images like these, you can use the Windows Texture Coordinates:


Very harsh shading part of the model I am getting strange hard shading on a part of my model with point light on current specific position in material mode (Blender internal). I've tried recalculating normals, also they are all pointing in right direction. Can anyone notice a problem in my topology which could cause such harsh shading from one point forward? I would be really grateful for any clues.

Model file

There is nothing wrong. Also consider switching to EEVEE or Cycles with a denoiser like Intel Open Image Denoiser, Optix Denoiser or internal one.

This you can get by tweaking some values:

Materiel view

Render


Knee deforming when applying armature to character I'm fairly new to Blender and rigging, and I'm having an issue.

After I'm done doing an armature for a character, making sure everything is aligned properly, I applied the armature via automatic weights - but when I go to pose mode after doing so, the right knee isn't set properly.

Like so:

https://webmshare.com/play/b8qXo

The only difference between them is the knife strap on the boot. What am I doing wrong?

I am not an expert myself, but I guess aligning both x normals to the outside should do the trick.

Hope this works out.


Really weird white highlights on mesh? Okay I don't know what I did but my mesh with just a diffuse texture looks terrible now. I could use some advice on how to fix this.

Specifically these weird white highlights.

Hard to tell from the image alone, Looks like you turned on smooth shading in your mesh.

Try adding an Edge Split modifier to the object(s)


Straighten edges not on axis I have some edges that are not on the x, y or z axis. What is a simple way to straighten them? For example, I can scale and then use Shift+Z to straighten on the x and y axis.

Any shortcuts other than temporarily rotating the entire object to put the edges on an axis?

This is one way to align verities (or straighten edges ) according to two of them (without moving these two ) :

select these two points (in this case the ends )
create an edge between them
set the manipulator to Normal
set the pivot to Active Element
set selection to Edge
select all where the created edge is the active one
hit S then Shift+Y and again Shift+Y, after that type 0 and hit
Enter
delete the edge you created


How to apply the bending effect to objects that are already beveled I'm going to make a shape that looks like speed bumps. Make sure that the edges of the object are rounded as shown in the following picture:

However, in order to bend an object using Simple deform, the object must be subdivided, which does not apply to the internal side, as shown in the following picture:

Is there a good way to bend these objects without loss of volume and corner vertex roundness?

blender 2.80, Used Solidify Modifier.

Edit: Ok so I screwed my answer because I've imported your object as an .obj into 2.79, so it has applied the modifier, but my answer will help to fix the problem with the face.

You've made a mistake with your object. Actually you have a series of parallel edges made of a series of vertices and that are not filled with faces, and on the bottom you have a big face.

As I suppose it's not what you want, select this face and delete it (X (Delete) > Only Faces). You now have your edges.

Make sure you have your LoopTools addon activated, select all and RMB (in 2.8) or W (in 2.7) > LoopTools > Loft, it will fill the whole thing with faces.

Now you have a shape that is already bent, so I'm not sure what you're trying to do. Also I think you might get rid of some edge loops but again, it depends on your final purpose...


Python: Checking whether a certain shapekey exists at active mesh I want to check whether a certain shapekey exists at the active mesh. How can I do that?
(Background: I have written a script, which dumps all shapekeys of a mesh with the associated values into a a textfile. Another scripts reads this files and assigns the values back to another mesh of a newer version. If the set of defined shapekeys changes, the latter scripts fails with
"shapekey not found". I want to check for this case beforehand)

You can test whether a collection has an item named 'foo' with 'foo' in collection. So
def active_object_has_keyblock(name):
    ob = bpy.context.active_object
    if not ob or ob.type != 'MESH':
        return False

    mesh = ob.data
    if not mesh.shape_keys:
        return False

    return name in mesh.shape_keys.key_blocks


Dynamic Paint Image Sequence How can the Blender User produce more usable bandwidth when creating images sequences from Dynamic Paint?

As an example I may want to use a different color where wave data is active.

Histogram. Image above.

Accentuated/Mapped Data which is consistent with some scheme of thinking.  Not Random. Image above.

For example the surface type of Waves did not use much bandwidth.  Though I may have a separate question to set expectations.

Current Situation which is a Problem

File Formats

PNG - uses @1% of the potential color value

GIMP or Blender histogram

OpenEXR (EXR) - uses @3% of the potential color value.

GIMP will not open EXR.
XnViewMP histogram

The color value is a measurement of the brightness of a color.

Desired

I would like to use near 100% of the color value range.

Related Success

Images produced by Dynamic Paint with Wave and Paint information.
Histograms are needed to detect the color information.
Color differences are too subtle to detect with this Blender Users eye.
Color is remapped with the color ramp.

Blender Internal Render

You can use OpenEXR instead PNG, it has 32-bit float per channel. Unused channels will be compressed


Strange Parent motion.missing dope sheet Teddy Bear 5Walk3.blend

Teddy Bear 5Walk3.blend1

I'm trying to get this teddy bear to look around, get up and walk away. I see two problems: the EYE & NOSE rotate around the face as it's moving and I can't find any keyframes in the dope sheet. Any Ideas? Thanks.

Your eyes and nose are not controlled by any bone. What you should do is:

Select your armature, in Pose mode select all and bring back your bones to their rest pose with AltR, AltS, AltG. By the way it would be better if, by default, in rest pose, you armature stood up, and the character's mesh as well, you could correct this in Edit mode for both the objects but it's another topic.

Select your eyes and nose, Shift select your body and join. Go in Edit mode, move your eyes and nose where they are supposed to be (and delete the double eyes and nose you've created).

Your eyes and nose are still not controlled by any bone, select them in Edit mode. As it's the HeadBone that is supposed to control them, go in the Properties panel > Object Data > Vertex Groups, select the HeadBone group and click on the Assign button. Now eyes and nose should follow.


Hair children don't seem to respond to changes? I'm trying to style hair for a character, mainly following this tutorial, but encountered a weird issue.
Not only children hair looks all scattered instead of being in a clean line, but it also looks like they don't seem to respond to any change I make in the hair particle settings tab.
I tried changing any number, value or slider, but nothing changes in the viewport... Any help?
Here's a screenshot of the mess:

Particle systems still seem to be a little buggy sometimes. I recently had a similar problem. The way to "fix" this is to press G to move the object and then hit ESC or rightclick to cancel the transform. That way it snaps back to its position before and the particles update. While this might be a possible workaround, there might be a better solution because obiously an instant update would be a lot more convenient.


How is the .blend file thumbnail generated? In my file explorer I can see a small rendering of my scene as the icon for the .blend file. I wonder if I could retrieve this internally via libload..? This is just what I need: A small rendering of the first scene.

My question is: How can I get a render of the first scene of a separate .blend file?

As has been pointed out blender has a python script to perform that task. While the *nix variations install this along with blender, the OSX and Windows distributions do not include it.

As with the rest of blender this script is available under the GPL license so you can copy part or all of the script and include it in the script you are making. A call to blend_extract_thumb(path) with the path to the file you want a thumbnail of will return an image buffer and resolution for you to use however you want.


How to wrap and boolean around a cylinder? I am relatively new to Blender. I have faced the challenge during modeling a microphone. There is a specific pattern of grid that looks like a honeycomb. Actually, it was quite easy to create that pattern by using a circle. Then I applied a solidify modifier in order to create a volume. And I reached the point of wraping this grid around the main cylinder and putting holes in it. I tried couple of ways to make it happen by using Shrinkwrap modifier, Lattice, Surface deform, but the result was unsatisfactory. Does someone know another way to make the holes around the microphone? Thank you

You can use a Curve modifier to make your pattern turn around. Don't forget to put the honeycomb object at the exact same position as the bezier circle origin (use ShiftS for a Cursor to Selected then Selected to Cursor).

You could also use the Simple Deform modifier with Bend option. These methods will slightly deform each cylinder of the honeycomb object though, if you don't want that use another method like for example array around an empty (i.e. Array modifier with the Object Offset option)


Model a simple 3D spiral shape? I need to model a simple spiral shape. I imagine the best way to do this is with curves, but I am unsure how to create a perfect spiral shape with curves. What's the best/easiest way to make a spiral tube?

Another procedual way is to simply enable the Add Curve: Extra Objects addon. It is used to generate many kinds of curves with various parameters, including spirals.

To enable it, CtrlAltU to open User Preferences window, then find and enable it under the Addons tab.

Then you can tweak feature like Bevel or Extrude in the curve's Object Data tab to bring depth for it.


How to pose a rigged model in Blender 2.72 Hi I'm new to Blender and I am having problems with a rig I downloaded online. When I import the Blender file I get a static pose and when I attempt to move it nothing happens. I have Rigify and Auto Run Python Scripts running. Do I need to update to the latest Blender version, or should I manually rig the model myself? Any help would be appreciated.

Edited-------

maybe this will help:

Also try to enable all the layers (shortcut "~"), then press Alt+H to see everything in the scene.