How to duplicate an object hierachy and keep the copies in sync? I know I can duplicate an object using Alt+D, so that any edit I do in one of the instances will be reflected in the other instances, but what if I want to duplicate a group/object hierarchy, for example, I create a table with two chairs and set the table to be the parent object for the chairs, then I duplicate this set a couple of times to create a scene.

If I decide that the tables should have three or four chairs after some time, is there any way to just parent them to the table and have all the instances update? I want a method that doesn't involve merging all the hierarchy in the same object.

Using Blender's "Linked Libraries" feature may work for you here. It lets you import and link groups or objects from another .blend file  using File > Link, then selecting a .blend file with your table (and chairs).

This way, you build your table and chairs in another file, then use them however you want in your main scene. Editing the table file and reloading your main file will update with your changes.

Another option (which I think also works with a linked file) is to group your table (and chairs), then choose Add > Group Instance to create an empty that will duplicate the grouped objects. This is called a DupliGroup. Changes you make to the   grouped objects are updated to all dupligroups.

If you need a lot of these objects, you can also take a look at DupliVerts.

Relevant Documentation:
Linked Libraries
DupliGroup


Why are parts of my scene not visible after rendering? This probably has already been asked, but I couldn't find it so

(there's only one camera in the scene)

Just got answered by Lemon, the camera icons were grayed out in the Outliner.


Did Blender 2.9 remove sticky option from floor constraint? I used to rely on "sticky" features in floor constraints to make feet grip floor. Is that now gone?

This option has been removed in 2019 as indicated here by Sergey Sharybin.

Remove Sticky option from the Floor constraint
This option from the very beginning of its existence needed more work
to make it work correct and this was never done.
This option was working fine during continuous playback, when there
are no skipped frames, but it was failing when AV-sync of framedrop
was enabled. It was never working correct when jumping between frames,
including rendering on a farm which usually does frame-range based
rendering.
With copy-on-write things became even more tricky, since the "stuck"
flag was never preserved between re-evaluations.


How to re-encode video without losing quality I finished rendering an animation with audio into the default H.264 lossy settings. I then realized the audio was 1 frame off and I also altered the song that I used in the video. So my two questions are:

Is it possible to re encode the video with lossy compression after shifting the frames back, but have blender automatically use the same keyframes and what not, so that more quality is not lost?
If one is not possible, if I don't shift the frames and leave the video portion the exact same, but change the audio, is it possible to not lose quality by using the same lossy H.264 settings?

Some clarifications:

–I know I could render it with "Lossless" Checked, but I still want compression for the small file size
–Often I render it into an image sequence first since it is a good practice. I still would like to know this information in the case that I delete the raw images like in this case

The first option isn't a possibility. The second one, however, is. You should be able to de-multiplex the audio and video track and then re-package new audio with the video. FFMPEG is the program that I tend to use for this kind of task, but you'll need to be comfortable working from the command line. Depending on the OS you use, there may be easier tools for this.


Visualize Speed Control Effect Strip Is there a way to visualize the effect of a Speed Control (SC) in the VSE? For example if I use a SC with a Multiply Speed value of 1.5 I want to see in the movie strip or maybe with a marker where the "new" end of the strip is. I know I can do this manually with cursor keys to check when the strip is over, but this is not very useful.

You have two options:

Manually place a marker.
Use (the default) Stretch to input strip length with Multiply Speed to 1 and set the Trim Duration (soft) end point of your footage to length / 3 (for 1.5 speed).


How to get perfect baked normal map? I am pretty new to blender and I am trying blender 2.8. Whenever I am trying to bake normal map from a high poly mesh to a low poly mesh using cycles render, the results are not accurate at all. I have tried removing doubles, recalculating the normals, changing the ray distance, using cage and so far nothing is working so far. I have also tried using the 2.79 version and it gives similar result as well. am i missing something here?

Here is this result when i'm using 2.79, the results are a bit better but there are still errors.

Using the 2.79 version this is the best result i can achieve in the low poly model render.I used a bevel modifier in the high poly model and the edge in the baked normal does look right,it looks fine in the high poly model though.

For something like this you should probably be using a cage object. Normal baking gets a little wonky when it comes to sharp edges. To make the cage duplicate the low poly object and then scale it up slightly using Alt + S to scale along the normals. In the Bake settings check the Cage box and select the cage object.


How to apply a png texture over my material? everybody!
I making a Barbie style doll model. I've UV mapped the face part and created her eyes and lips using photoshop and saved the texture as a png.
The face has a node setup for plastic looking skin and I would like to add my texture over it.
I've found similar questions on this website but the ones I found were for older blender versions and I couldn't figure it out how to do it on Blender 2.91.
Below is my current node setup and also the texture I want to apply.

I suspect you are looking a way to use "MIX SHADER".
check this settings:

add a MIX shader node and as inputs 2 principled BSDF (one for the plastic look, one with the texture)
as factor as MIX shader use the Alpha channel of your image
fix the UV map if needed..

Suzanne is now happy:


How to combine compositor render passes from 2 types to get only one? I want to combine or merge diffuse passes with glossy passes to get a set of new color, direct and indirect passes.

What you normally do when you combine passes is to add indirect pass with direct pass and then multiply with the color, then do the same with the other type of passes and add them together, so:

Composite = Xcolor * (Xind + XDir) + Ycolor * (Yind + YDir)

now you want to separate Composite in Zcolor * (Zind + ZDir), then:

Zcolor * (Zind + ZDir) = Xcolor * (Xind + XDir) + Ycolor * (Yind + YDir)

There are 3 unknowns for one equation, therefore you have to assume more relationships for the unknowns, I chose these because they give good results:

Zind = Xind + Yind

ZDir = XDir + YDir

with these relationships Zcolor can be solved to

Zcolor = Composite/(Zind + ZDir)

This is the node setup.


Transform, Move, Rotate, Etc. icons missing This is probably a easy question for a newb. but did I turn off a view toggle somewhere? Because my little arrows on the face, edge, or vertex I've selected is absent. Is there a toggle switch I accidently hit? photo on what I mean below...

What you are looking for are called gizmos. You can turn them on/off in the gizmo menu. In 2.80 these are turned off by default.


How to make a car door hinge upwards? I have arrived in Blender animation hell and I need help.
I'm trying to make a car door open by hinging it upwards - the problem I have is that the edge where the car door and bodywork meet is not perpendicular to the global axis.

When I set the origin / 3d cursor to that edge and try to rotate the door upwards it clips with the bodywork on the right side and disconnects from the body on the left.

Any pointers you guys can give me an fixing the rotation and make the door open nicely?
(e.g. is it possible to create a hinge of som sorts?)
Thanks

Update:
@haaringertroll @Mdkai
Thanks for your comments - it works but I have a new problem with the bottom part of the door. (also folding)
I parented a new second empty to the top door part and parented the bottom part of the door to the second empty.
When animating it seems to disconnect and eventually end up in the correct location.
Any way to fix that disconnecting part?

You can add an "Empty"-object to where your 3D-Cursor now is. This you can rotate so that one of its axes aligns with the desired axis of rotation.
Then, select the door, select the Empty and press "Crtl - P" to parent the door to the empty.
With the transform mode set to "Local", you can then rotate the empty and the door along with it around the desired axis


Why the scale parameters of this object is 2000 times bigger and there is almost no difference between the two? I have those two objects that have dimensions that are pretty much the same.
Normally the bigger rectangle should be much more bigger because the scale is 2000 times bigger.

Here is the .blend file : https://www.mediafire.com/file/rjkkx9eby442xm9/support_disques_dur.blend/file

That's because the original scale of the object (when you added it) was relative to its first size (scale of an object is relative to its own original size, unlike dimensions).
To reset that scale just press Ctrl+A and click on apply scale, then you will see the object scale is [ 1, 1, 1 ] (unit scale). I hope that helps.


Convert simply python script to animation node setup I created a simple python script which takes the selected object and transforms it in some (partially random) way.

I would love to recreate this behavior with animation nodes but am stuck. Any help would be greatly appreciated.

import bpy
import random

random.seed(12)

for i in range(0,100):
    c = bpy.context.object
    bpy.ops.object.duplicate_move_linked(OBJECT_OT_duplicate={"linked":True, "mode":'TRANSLATION'}, TRANSFORM_OT_translate={"value":(c.dimensions[0], 0, c.dimensions[1]),  "constraint_orientation":'LOCAL', "constraint_axis":(True,False,True)})
    bpy.ops.transform.rotate(value=random.random()/2-0.3, axis=(0, 0, 1), constraint_axis=(False, False, True), constraint_orientation='LOCAL')
    bpy.ops.transform.resize(value=(0.98, 0.98, 0.98), constraint_orientation='LOCAL' )

Best regards
blackno666

binweg's answer solves the problem perfectly. The only problem that might occur is with adding Euler angles. Flipping might occur which will lead to improper results as shown in the following picture (where no cube but a pentagon was used as base shape):

The problem can be got rid of by using quaternions math instead of Euler math as shown in the following setup:

Unfortunately for the 'Object Transform Input' to work properly with Quaternions, the Transform for the Rotation of the corresponding object (in this case the Empty) must be set to Quaternion (WXYZ) in the properties panel of the 3D View.


How does one append/change the values of matrix_basis directly in blender using the python API? I have a set of 3 orthonormal vectors(x_vec, y_vec, z_vec: know values) defining a particular position in the global frame, I want to align an Empty's XYZ axes to the above mentioned orthonormal vectors. I tried rotations and all sort of stuff but it doesn't seem to align properly. I figured that changing the matrix_basis of the empty directly to that of the 3 orthonormal vectors' rotation matrix is the most efficient way to do it, but I can't seem to modify the values of the matrix_basis of the Empty.

Any help will be appreciated. Thanks!

I figured it out. It's pretty straight forward.

let the 3 orthonormal vectors be represented as a matrix,
 rotation_matrix = [x_vec, y_vec, z_vec] (3x3 normalized rotation matrix)

Now, use mathutils to convert this to a set of Euler rotations and Voila!

rotation_in_euler =  rotation_matrix.to_euler()

obj.rotation_mode = 'XYZ'

obj.rotation_euler = rotation_in_euler


Can I put a small resolution scene on top of a large scene in one go? I am searching for an in-image effect in the compositor.

I have two identical scenes (only the cameras are different). One for the background, 800x600 pixels. Second scene has the camera with a closeup on a detail, 320x240 pixels in rendersize.

One pixel of image one should cover one pixel of image two.

Can I put the second image on top of the first, partially covering the background, without rendering the detail image separately? I'd like a solution best which does not require or produce any scaling since I use wireframe.

Like that, only with higher resolution.

If I use the scale node, it destroys the wireframe (and for some weird reason distorts the cube as well):

In order to have 2 scenes at different resolutions while rendered together without any saving render results to file you will need to setup 2 scenes (in this case for saving resources it would be useful to create linked copy of the scene; make sure to make camera single-user so it to be scene independent). Use Render Layers nodes with scenes selected and make transparent or crop image of the scene at the lower resolution; after that overlay scenes as usual.

The Crop node will allow to make all the pixels of the image at lower resolution become transparent so that the background image will be visible as expected, without any stretching:

  Crop Image Size
      When enabled, the image size is cropped to the specified region. When disabled, the image remains the same size, and uncropped areas become transparent pixels.

  Crop node in manual

Once scene at lower resolution is made transparent in empty areas, most likely you would like to translate it by X or Y axes with Translate node to see the background image as desired.

This can also work with Crop Image Size enabled with the only difference that image of the scene at lower resolution will be cropped and not made transparent in empty areas.

Note that if one of the scenes was changed, it's possible to rerender only it and see the final overlayed result once compositing nodes process it.


How to move an object with sound? I'm making an intro with music, and I have objects that need to move with the music. It's not on the beat, slightly random, so I can't use regular intervals.
Is there a way to do this? I'm not sure if you can use a similar method to lip syncing. Any help greatly appreciated!

You can bake sounds to fcurves:

Insert a keyframe (I) on the transform channel you want to be controlled by the sound (e.g. Z scale).

In the Graph editor, press Key > Bake sound to fcurves and navigate to a sound file. Optionally change the import settings at the bottom of the tool shelf in the file manager:

Press enter.

Now that channel will change according to the baked fcurve.


How to input location of selected Vertex using keyboard only Anyone with sufficient mouse and chair miles will confirm that learning the keyboard short-cuts for frequently used operations vastly speeds up a workflow.

Today I realized that there are things I use the mouse for that should be doable solely from a keyboard context. One of these things is moving a selected vertex using the Transform toolbar.

My question is: How to enter a new coordinate for an existing selected vertex without using the mouse or the transform toolbar? Preferably absolute Global / absolute Local .

Another reason why absolute entry would be welcome
Another example, but this affects multiple selected vertices, is setting the X component of a bunch of vertices to be locally some absolute value. Especially useful when a mirror modifier needs the center vertices to line up nicely and their median X is not 0. Now the way is to S ,X to restrict the axis, then numeric 0 to unify them (sets them all to the median of their x component), then mouse over to the transform panel and set the median x to 0.

SHIFT + S and U Cursor to Center
SHIFT + S and T Selection to Cursor
G 1.5 Tab - 1 Tab 1.2 Enter

First step can be skipped when the 3D cursor is already at the center.


Sub-models in scenes? I have never used Blender before. Is it possible to create a hierarchical super-model or "scene" that contains the lighting, camera and so forth, and have it reference multiple sub-models stored in separate files? What I mean is, I want to be able to edit the sub-models separately and have the changes automatically be reflected in the hierarchical super-model. How do I set this up?

Let me know if you need me to explain this more clearly.

Yes, this is possible through linking objects.

In the master scene file simply go to file > link or hit Ctrl + Alt + O, choose the file you want to link an object from, go to object and select the object.  Then when you change the files containing the objects they will change in the master file.

Linked objects will be highlighted with light blue.

Something to keep in mind is that you can't edit the linked objects in the master file which makes it cumbersome to make small adjustments.


Access Add-on preferences property in a multi-file add-on I have a multi-file/multi-folder add-on, with preferences properties created in a prefs.py.

import bpy

class AddonPreferences(bpy.types.AddonPreferences):
    bl_idname = __package__

    my_property : bpy.props.BoolProperty(
        name = "my_bool",
    )

I can easily access this bool in my init.py with:

bpy.context.preferences.addons[__package__].preferences.my_property

But I can't manage to access it in panel.py placed in a UI folder. What is the correct way to call that property in a multi-file add-on?

I recently came across the same issue while developing an addon. I got a workaround from looking at this code of BlendLuxcore: use a mixture of basename and dirname from os.path to get to the folder name of your addon.


How to control the Grid colours How can I control the colour of the lines in the grid?

So far I've figured out how to change the colour of the darker lines, but there are a set of lighter lines that appear every ten spaces.

Blender User Preferences - 3D View

As shown in the screenshot there is a way to control the colour of the grid lines, I've experimented with this a little and the colour of the lighter grid lines appears to be linked to the colour that you set for the darker grid lines, but I would like to control this independently, perhaps making it a much brighter shade than the darker grid lines. Is this possible? I would hope that one of the other colours in there would control it, but I don't know which one.

You can't control the smaller grid-spacing values, these use an alpha value which is automatically calculated based on zoom level and the lightness of the grid-color (in orthographic mode).

Blender is calculating the color automatically and isn't giving you control.


Using custom node group with Python script for Compositor I have created some custom node groups that use built-in nodes in Cycles Compositor. Now I would like to have another group that make use of these custom groups. I think in the new node group, I would do something similar to

Mygroupnode = nodes.new('somegroupname')

However, what I got is an error saying there was no type called 'somegroupname'. I understand that the position is expected to receive a node type (not name), but I don't know how to retrieve a type of my group node.

PS: There is a type called 'CompositorNodeGroup', but it can only create an 'empty' node where you should do an extra step to link it to a custom group node. But I do not know how to do it in script.

This is done by adding a node group:

group = C.scene.node_tree.nodes.new('CompositorNodeGroup')

... and then adding the custom group as new group's node tree:

group.node_tree = bpy.data.node_groups['somegroupname']


How to dynamically show/hide panel elements using python? Say I have a property set on a scene, like so:

bpy.types.Scene.is_enabled = bpy.props.BoolProperty(default=False)

Then I've got a panel like the following:

class SomePanel(bpy.types.Panel):
    bl_idname      = "the_panel"
    bl_label       = "Panel with some controls"
    bl_space_type  = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context     = "object"

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

        layout.prop(scene, "is_enabled")

Now what I would like to do is to render an operator or some other control in the panel only if the property of scene is_enabled is set to true?

How can I do that?

The solution was so trivial I didn't expect it to be. It's a matter of simply adding a conditional to the panel draw function:

class SomePanel(bpy.types.Panel):
    bl_idname      = "the_panel"
    bl_label       = "Panel with some controls"
    bl_space_type  = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context     = "object"

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

        layout.prop(scene, "is_enabled")

        if scene.is_enabled:
            layout.operator("object.select_random") # As an example.


How can I make face uv orientation clearer? I'm having trouble telling which direction each face is facing, is there any easy way of changing the default face colors to something else than light grey/slightly darker grey? or are there any other easy ways of telling when a face is pointing the wrong way?

There are two much easier things you can do to visualize the direction that faces are pointing than change the user preferences.

The first is activating the normals.

Now every face will have a blue line pointing in the direction it is pointing.

The other thing you can do is enable Backface Culling.

Here I have added some loop cuts so that there are more faces to see.

If one is inverted, and pointing inward, you will also see through it. this is good for working in the BGE where faces pointing inward will make your mesh look really weird.


How to create a realistic jump in bge I'm  trying to create a FPS game in blender game engine. When I do KeyBoard[Spacebar] sensor and hook it up to a simple motion of z +1 or something like that, the guys pops up really fast as if he didn't have any motion between being on the ground and being in the air. Is there a way to make a more realistic, more slow jump in BGE?

You can do this by using the Linear velocity setting under simple motion. This will make your character's jump motion look much more realistic.

If you are using Character physics, you can simply use this setting.

You can change the settings for the character's jump speed and power in the Physics tab.

If you are using a dynamic object, or a rigid body object, you can use linear velocity along the z axis.


What is the 'Add' node and where is it? I was watching a tutorial on making glass, and it included this node, however I wasn't able to find it anywhere, is it an add-on or am I just missing it?

This is a "Math" node;

It takes on the name of the operation you are applying to the inputs;

My most frequent use of it is to multiply input to increase or decrease the strength of Mix Shader nodes.


Cycles Render - Glass Shader: Some faces are rendered black I have this problem with blender.
I have created a mesh consisting of around 400 vertices. In Cycles Render I added a Glass Shader and connected the "Generated" Output of the "Texture Coordinate" Node to the "Color" Input of the Glass Shader, because of this its pretty colorful.
So the problem is, that if I render it there are those black rendered faces, as seen
I have also put the Blender File on Google Drive, so you can look at it: click here.

Does anyone know how I can fix those faces?

This has a rather simple reason.
Your edges are too sharp, and Blender doesn't like it.

Solution
1) Apply a small bevel to your edges
2) Set shading to smooth
3) Boom. You're done.

Bevel outer edges.
This will take care of those sharp edges, and also make Blender happy.
4 segments are enough, set the width as desired.

Set smooth shading.
This will smooth out the normals, so the transition is more gradual.

Looks good!


Can't align transformation to 3d cursor community!

I do have a problem here. I have a project and I want to align an object with a 3d-cursor.
But whenever I choose an object, it's rotating within its own location.

To use 3D cursor as center of rotation, use the Pivot Point menu.
(You changed Transform orientation in your screenshot)


Baking AO and Shadows into one image? I know how to bake simple AO maps inside Blender, but in this case I would like my AO map to include shadows casted by all the trees leaves. I've googled to find an answer about it, but I haven't found anything yet

Is this possible? I'm using Blender 2.66.

Bake out the ambient occlusion and shadow maps, then multiply them together in the compositor or your favourite image editor.


Two Problems with a Nixie Tube: Glass and Glow I want to make a convinceable model of an IN12B Nixie tube.
The model should render with eevee.
I added an example file.

Two problems:
The glass looks somehow "plasticy" and is a lot of settings hacked together awfully in a mess.
The "neon glow" isn't what it should be:
Neither there is a reflexion of the glow on the glass or the plate nor it there this distinctive
faint glow of the neon gas around the wire.
Here is an image, how it should look like:
http://danyk.cz/digitrony_en.html
and search for "Soviet nixie tube IN-12B" (sorry, there are too many example on that page).
How can I acchieve more convinceable materials and effects?
Here is a rendering from the 3DView:

Eevee can handle all this quite well with basic materials.

Glass BSDF (or Principled BSDF) for glass
Emission shader for the light
Check ✓ Bloom to simulate the neon gas volumetrics


Render using all cores except one (or N) Is there a way to configure the Blender Render or Cycles to use all the available cores in the machine except for one (or N) of them? I'd like to set a render off in the background but leave me with a core to catch up on emails, browse, etc.?

I've tried using a fixed number of cores for rendering but this means if I swap the blend file between machines from, say a 6 core machine to a 12 core machine, then I have to manually reconfigure how many cores to use.

Thanks

You will have to have a script file in each of your blends containing this:

import bpy
from multiprocessing import cpu_count

cores_idle = 1    # <- SET THIS

# cpu_count() returns logical cores not physical
cores_available = cpu_count()
cores_enabled = max(1, cores_available - cores_idle)

for scene in bpy.data.scenes:
    scene.render.threads_mode = 'FIXED'
    scene.render.threads = cores_enabled

Give it a .py extension and check register so it is run by blender when you open the file (this should be also enabled in Preferences). You can also save this script into your Start Up file CtrlU.

Or for rendering you can execute it from the command line with --python, without having to modify your startup or .blend files.


how to import a blender model and manipulate the imported model? I have a few vehicle blender model files and a ground blender model files separately. the project needs to use python to automatically create vehicle instances onto the ground blender model. To do that, i will need to find blender API to load the vehicle model to ground model through the code.

On the blender api, I need find the

bpy.ops.import_scene.obj(filepath=path, axis_forward='-Z', axis_up='Y', filter_glob="*.obj;*.mtl")

but the API seems to only load the obj model instead of blender model. I want to use blender model is because it also has texture, loading obj model doesn't seem to have the texture loaded. (maybe this is wrong)

Look into bpy.ops.wm.link() and bpy.ops.wm.append(). This is how the GUI transfers objects across .blend files. (To find that out, I used the Python tooltips and hovered over the Link and Append buttons.)


Why are the deformation bones offsets from the Meta-rig after generating? Why are the deformation bones offsets from the Meta-rig after generating ?After I generated the rigify I found thet the deformation bones and controls are not in the same place where i placed the Mete-rig bones, for example; the arm bone chain is lower in level from the original arm.

Seeing a similar sounding issue, I noticed that the meta-rig set up before generating had a translation that suspiciously matched the offset of the deformation bones seen afterwards (seen from the Transform->Location: in the properties panel)

If I first made sure to apply any transforms to the meta-rig before generating (Ctrl-A) that removed the offset. Maybe some un-applied meta-rig transform is the cause of the offset for you too.


How to get the usual render window behavior when using the render operator for multiple frames? I have been trying to get a custom render button to work. The purpose is to render all markers in a timeline. There are examples that use handlers but I could not make it work properly:

import bpy
import os
import time
from bpy.types import Operator, Panel

class Marker_OT_Render(bpy.types.Operator):
    bl_idname = "render.markers"
    bl_label = "Render markers"

    def execute(self, context):
        # Variable to continue or stop rendering
        complete = False
        rendering = True

        #output path
        output_path = bpy.context.scene.render.filepath

        #for filenaming
        itemmarkers = bpy.context.scene.timeline_markers.items()
        rendername = []
        rendername.clear
        for m in itemmarkers:
            rendername.append(m[0])

        #render limit verification
        maxframe = bpy.context.scene.frame_end + 1

        #position frame for the modal script
        bpy.context.scene.frame_set(bpy.context.scene.frame_start - 1)

        return {"RUNNING_MODAL"}

    def modal(self, context, event):
        if complete == False:
            if rendering == False:
                sc = bpy.context.scene
                sc.frame_set(sc.frame_current + 1)
                if sc.frame_current != maxframe:
                    sc.render.filepath = os.path.join(output_path, rendername[sc.frame_current] + ".png")
                    bpy.ops.render.render("INVOKE_DEFAULT", write_still=True)
                else:
                     complete = True
                return {"PASS_THROUGH"}
            else:
                time.sleep(5)
                return {"PASS_THROUGH"}
        else:
            return {"FINISHED"}

class Render_PT_Buttontest(Panel):

    bl_label = "Render Button Test"
    bl_idname = "SCENE_PT_RENDERBUTTON"
    bl_category = "Tool"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

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

        col = layout.column(align=True)
        row = layout.row()
        row.operator('render.markers', text="Render Button")
        layout.separator()

def register():
    bpy.utils.register_class(Marker_OT_Render)
    bpy.utils.register_class(Render_PT_Buttontest)

def unregister():
    bpy.utils.unregister_class(Marker_OT_Render)
    bpy.utils.unregister_class(Render_PT_Buttontest)

if __name__ == "__main__":
    register()

Q: Is there any way to get the render window when rendering these frames in the timeline?

The whole picture

Currently there is no way executing the render process in the background using  bpy.ops.render.render() and even worse, the operator doesn't provide any arguments to pass a frame or the output path. It is like it is, and hopefully someone is going to implement that in the near future.

The limitations aside, we need to know whether the user started the rendering, if the user interrupted the process and if the rendering is finished to get the usual behavior of the render window, in any case.

In order to catch these 'states' we can wrap the render operator into a modal operator and use some of the available render handlers to get the information we need. The modal also keeps the UI responsive (non-blocking) and we can trigger a function in a very short (unnoticeable) interval by adding a timer to get the user interaction and handle all other events.

Read: 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?

Render camera markers in the timeline

To get the usual behavior and window for rendering the markers in the timeline, I would suggest the following changes to the operator of the linked answer:

Modal operator which allows to render all camera markers (base color of the shader is keyframed)

Assign the marker references to the shot variable in the execute method. That's simple enough and you still have access to all marker properties in the modal method:

def execute(self, context):
    # Define the variables during execution. This allows
    # to define when called from a button
    self.stop = False
    self.rendering = False

    # Get all markers in a list and assign them to shot variable
    self.shots = [m for m in context.scene.timeline_markers if m.camera is not None]
    ...

Read the first element of the shot-list to get TimeLineMarker.frame and TimeLineMarker.camera attribute in order to set the frame and assemble the output file path based on that:

    elif self.rendering is False: # Nothing is currently rendering.
                                  # Proceed to render.
        if self.shots:
            # Get the first marker in the list
            marker = self.shots[0]
            frame_number = marker.frame
            camera_name = marker.camera.name

            # Assemble the file path
            # -> output path + camera name + frame
            scn.render.filepath = os.path.join(
                        self.path,
                        "{}_{}.jpg".format(camera_name, frame_number))

            # Set the frame
            scn.frame_set(frame_number)

            # Call the render operator
            bpy.ops.render.render("INVOKE_DEFAULT", write_still=True)

return {"PASS_THROUGH"}

Finally reset the output path in case the user interrupts the rendering:

if event.type == 'TIMER':
    scn = context.scene

    # No frames in the list or user hits ESC
    if True in (not self.shots, self.stop is True):

        ...

        # Reset the output path
        scn.render.filepath = self.path
        return {"FINISHED"}

Note: As of 2.81+ you'll have to add new depsgraph arguments to all handler methods:

# Set up the handler methods
def pre(self, scene, depsgraph):
    self.rendering = True

def post(self, scene, depsgraph):
    self.shots.pop(0)
    self.rendering = False

def cancelled(self, scene, depsgraph):
    self.stop = True

Otherwise the setup will cause an infinite loop for whatever reason.


Issue with Cycles rendering regarding my GPU Using Cycles render with either my CPU (intel i5-4690k) and my GPU (GTX 750ti) yeilds the same result. When I go into user preferences and select my GPU under CUDA, it displays it as: "GeForce GTX 750 Ti (Display)"
Does the (Display) mean that only my CPU is rendering, and it lets my GPU then process the other UI in Blender?

The "(Display)" in system preferences means that GPU will work to process all elements in viewport, not on rendering. You just make it available. If you really wanna have GPU rendering acceleration, you have to select in Render section


how can i make a half cylinder? here is a picture of the shape i would like to make in blender i have no clue how to even begin making it. what i want to know is how to make this shape in blender so i can use it for a project im doing. i tried adding a cylinder but then i could not figure out how to get the cylinder to be cut in half.

A perhaps simpler way is to use the cylinder primitive.

Add that to your scene,

then in wireframe (Z key), and from the front view,

delete half vertices:

then rebuild top/bottom faces selecting the edge loop and pressing F key

on both sides

then you get

Another way could be to use a boolean modifier, too.


Texturing various questions questions - Cycles I was wondering various things while I was following several tutorials on the topic, which in the tutorial (timelapse unfortunately) I can not understand or even from my render.

1. In the picture I textured the wooden planks but they are two different parts (I have highlighted them below), but there is that ugly effect because the textures do not match. Does this defect have a name? I think so but I do not remember ... more to have to fix it not only there but for the whole structure it takes a lot of time, can I do that or I'm doing something wrong? I was thinking of removing the various vertical edges that divide the wooden boards, but some polygons would remain with 5 vertices ...

2. to make the brick wall I did various tests, in the photo is just a flat wall with the texture above, but I had tried with various combos (subsS + decimate + same texture in black and white) and gave a nice effect but I was going to fill the structure with too many faces / polygons. do you usually do that or can you use some trick?

3. Finally, I noticed that after having texturized an object if it is already texturized, with knots and applied materials, it is advisable to save time creating the different assets (in my case it is a mediaeval house full of wooden beams) ) and repeat them to save time?

thank you and sorry if I have dwelt, if I have not explained well please tell me.

1) The term you are thinking of is "texture seam". Generally, if you have one flat side of an object, you would try to unwrap and texture it to avoid seams. it might be that the texture you are using isn't suited to what you have.

2) I quite favor using micro-displacement for close-up images that require a lot of detail. However, if you are not going to be quite close to your object, it is possibly better for you to use normal/bump mapping. It is far less computer intensive than displacement/subdivision.

3) Yes, you can reuse assets and textures. Taking your wooden beam example, you might find that creating only three different beams, and using these in your scene gives enough variation. There is a trade-off between saving time/effort and avoiding repetitive items and textures.


Why does the zoom sometimes stop at a point? I often find that I can zoom in to a point, but then cannot zoom any more, even when there is a lot of room to zoom to the meshes on the scene.

This is particularly annoying in the following scenario:

I often land up left clicking on the scene and the 3D cursor shifts there. I use Shift+C to shift the 3D cursor back to the origin. However, this also centers the view on the cursor and shifts the view to show all objects, and sometimes this zooms things way out – at this point, if I try to zoom in, I can zoom in to a point (using the pinch/zoom on trackpad), but then it stops zooming in.

How do I zoom in after that? Is there anything else I am doing wrong in this case?

Explanation (Brief)

Blender's 3D navigation uses a central point to orbit around.

In practice this is good for modeling an object which you rotate about a lot to see from all sides(think of a potter using a wheel).
However this makes it awkward to explore a scene or model an object from the 'inside', for example.

There are some ways to use Blender without this being an annoyance. ... read on!

Explanation (Detailed)

Blenders view is constructed by 3 elements.

location: the point of interest that orbit when rotating the view-port (the center of the screen).
distance: the zoom level (distance from the location).
rotation: value for yaw-pitch-roll (around the location).

linked to API reference.

Typically users don't need to worry about this detail, however zooming will only change the distance which is an offset from location (where 0.0 is zoomed in as far as possible == no offset).

Solutions

Early on using Blender I was quite annoyed by this limitation, of course there are ways to set a new view-center, common way is to select an object and press numpad ., but what if there are no objects where you want to look at? .. or the object is very large? (a terrain mesh for eg). Sometimes I found myself rotating the view 90d, panning, then rotating back - which seemed an unnecessary workaround.

Here are some ways to navigate in large scenes or scenes with no obvious center...

View Dolly: CtrlShift + middle-mouse or Shift++/-works similar to zoom but translates the view center (like panning forward).I think this is the most direct answer to your question, but listing other methods too.
Walk/Fly Mode: ShiftFAs with dolly this can move the view back and fourth (using the mouse wheel), but you can also look around using the mouse and WASD keys, its a mode all on its own and has pros and cons which are better explained elsewhere.
Auto Depth (Interface Preferences): useful in combination with Zoom To Mouse Position, Using these will make sure the distance is always the value under the mouse cursor, this means you have to consider where you click when moving the view but can also be very handy since it gives you a lot more control.If you work with large scenes - like a game level for example, and want to move around a lot, I'd recommend to try these options. See this video for a demo.
Border Zoom: ShiftB: Also sets the center-point when zooming.
Center the view around the mouse cursor:AltFThis will take the position under the cursor and make it your viewpoint center.
Center the view around the 3D cursor AltHome
NDOF (N-Degrees of Freedom), also known as a 3D mouse, hardware you can use to navigate a scene with Blender, See devices made by 3dconnexion. Blender's 3D View supports this, allowing you to explore a scene. Walk/Fly modes also support NDOF devices.(Note, this is not a promotion of 3dconnexion, in fact there are very few companies who make such hardware, So currently Blender only supports 3dconnexion)


Can I render the render border with full quality Let's say the image is my project.
I got my composition and camera done and got it rendered.
Now I want a close up of my shot without changing the camera perspective and such.
Can I render the render border only, but make it full quality?

Hi rendering in Blender depends by camera view. Pablo Vazquez did Amaranth patch for what you're looking for:
https://pablovazquez.art/amaranth/


Extruding to particular thickness on an angle I keep stumbling over this one issue when extruding/aligning studs in architectural framing models. Essentially, when I have an angled edge that I would like to extrude to make a beam of a particular thickness, I cannot figure out how to achieve that thickness while keeping the ends of the beam perfectly angled to meet the vertical walls on either side.

The gif below is one method of approach, extruding vertically to obey the vertical side walls. Note that if I input a value (say, four inches), that value will not result in a four-inch-thick beam, since the vertical extrusion is off-axis from perpendicular with the face:

So, logically, I hit Z twice, to extrude perfectly perpendicular to the face. In this scenario, however, the ends of my beam are not vertical, and most attempts at rotating or grabbing them into verticality result in altering the beam thickness (see below):

What is the best practice to do this simply? I find myself coming across this problem way too frequently to not have an elegant method. Thanks for your time!

You can get very close by:

Setting your transform orientation to 'Normal'
Setting your snap to 'Edge', Active'
In Edit/Vertex mode, (the pair of vertices selected) Extrude in Z Z by a numerically entered depth.
Translate the new edge in Y Y until the active vertex at one end 'snaps' to the wall.

But, it's not a true snap. The move is constrained, but the snap projection isn't. You can get very close by zooming in, and eyeballing the 'bullseye' of the snap range circle. Blender's snapping system is lacking, here.

You can install and use the built-in add-on  - 'Mesh:Tiny CAD' to make a true, accurate projection of the new, extruded edge to its intersection with the wall, but only if they're part of the same object, or you construct a new edge from the wall as a guide, which is part of the same object.


Why Does the paint not show up in layout mode but only texture paint When i try to paint a dog in texture paint, it works, but when i switch to layout the paint dissaperes

The Layout tab has different View settings than Texture Paint tab - if you want them to be the same, then change them to match. The default views are just examples for us of what is possible, but you can customize them how you want them and then save your default file.


Is there a simple way to straighten this line of vertices? I'm somewhat new to Blender.
I have a simple mesh that I used proportional editing on.
Now I want to straighten out the outer four corner edges.
(ie the selected vertices when the .blend file opens)
I've seen some answers but can't get them to work.
Thanks for any ideas to try.

Here's the copied link to the .blend file:

Thanks for any ideas.

edit: okay, thanks, here's a picture...wondering how to straighten out that line of vertices, thanks again for any ideas

edit:
@Brian, Okay, so now my question is how to make it so, in this second image, these two selected vertices are on an axis? Then I can then select and scale the rest of the line of vertices and scale them to that axis. I don't know how to align these two vertices to any axis. Thanks.

(Well, forget that second image, not enough reputation to post two links, so the vertices I'm talking about are on the left side of the first image, the topmost
vertice, and the fourth up from the bottom.)

@Jesse Can you get the line of vertices I refer to to line up in a straight line between the two vertices I'm referring to with this technique? I couldn't do it.

I think the simplest way would be to scale them along the y axis with your pivot set to "median point".

Select the vertices like you've shown in the picture then press S and then Y. Scale the vertices in and they will perfectly align. You may need to repeat these steps once or twice. Make sure proportional editing is turned off during this process.

Good luck.


Hair is always sideways My hair particle system always spawns sideways like in the picture.

What to do?

This is normal.  Some people create their source object/group lying down so that it's upright when Blender uses it, so you could simply rotate your source object.

However, you can fix it in the Particle System settings.
Select the particle system tab and find the Rotation section.
There is a setting "Initial Orientation", which is probably set to "None" or "Velocity/Hair".
Try changing this to "Global Z".  (depending on the orientation of your original object, you might need to use a different one).


model flickers when I rotate the view In my default startup .blend file, whenever I rotate the view, the cube flickers and duplicates like there are two of them. Watch this video to see what I'm talking about.

I've been told that some Mac users have been having this problem... maybe because of graphics card...
Try downloading the latest version of Blender and also disabling the Continuous Grab option @ User Preferences > Input tab.


Set Driver Target Object from the Console Setting a Target Object for a constraint is fairly straight forward:

path = bpy.data.objects["Nurbspath"]
bpy.data.objects["Armature"].pose.bones["Bone"].constraints["Follow Path"].target = path

I'm still very new to this and I can't figure out how to do the same thing for a driver. Specifically I would like to be able to set a the Target Object for a specific variable of a specific Driver from the console. I think it would go something like this:

path = bpy.data.objects["NurbsPath"]
bpy.data.objects["Armature"].animation_data.drivers.driver.driver.variables.var["var"].targets.driver_target.ID = path

But as far as I can tell drivers don't have names so how does one specify them?

The python tooltip isn't particularly helpful either...

bpy.data.objects["Armature"] ... id

Thanks for your assistance.

Working with drivers in Python isn't necessarily fun, unless you also create them directly from your script. If you do that, you can catch the driver objects as return values from the creation function, and use that object to create variables, set targets, and whatnot. Here is a quick example for how to do this:

import bpy

# get the objects from the scene
path = bpy.data.objects.get("NurbsCurve")
arm = bpy.data.objects.get("Armature")

# if both exist, create the driver
if path and arm:
    print('Objects exist, continuing by adding driver')

    # create a driver for all location channels
    drv_x, drv_y, drv_z = arm.pose.bones['Bone'].driver_add('location')

    # set the driver type to MAXIMUM_VALUE
    drv_x.driver.type='MAX'

    # create a variable to control something
    var = drv_x.driver.variables.new()

    # set the target object to the NURBS path
    # note that targets is a list, depending on the driver type more than one value
    # could be required
    var.targets[0].id = path

    # set the target property to the x location of that path object
    var.targets[0].data_path='location.x'

Note that I'm also unpacking the list to drv_x, drv_y and drv_z. This is just a way of naming the three driver objects directly at creation time. If you catch the result in one object called drv, you can access the driver for the X location by using an index: drv[0].

Regarding the Python Tooltip, the line above the one you quoted is actually more helpful: It says DriverTarget.id. This tells you that the object needs to be of type DriverTarget, then you'll find an id property on it. var.targets[0] is of such a type.


Materials not showing in object mode or render view For some reason, my materials only show up in edit mode, but not in render view. It WAS working before, but I have no idea what I did to mess it up. I can't seem to find a solution that works after over an hour of searching.

Your eye is made of two spheres, one with the iris and pupil textures and a second that surrounds the first which I expect you plan to put a transparent texture that also adds the part in front of the iris.

This second sphere has no texture yet, which is why it hides the inner sphere when rendering. Also you have hidden the vertices for this outer sphere in edit mode which allows you to see the inner sphere in edit mode.

Press ⎇ AltH while in edit mode to unhide the vertices, you can then select the outer sphere and assign a transparent texture to finish your eye.


Wireframe only when rendered When I render my model I get this:

But I want it to look like a rendered version of this:

It looks like you may have selected Wire as the material type:

Try selecting Surface instead.


How do I make both sides of a plane/mesh visible? I've made a map for my game which the player can run about and also enter a cave, however the issue is that when I have the faces facing out, the cave becomes invisible and when I flip the faces the other way (using the ctrl+shift+n method in editing in blender) it makes the top/surface of the map invisible, showing the bottom of the map.

I would like to know how to make both sides of the mesh visible in Unity or blender to avoid this issue and due to copyright I cannot upload the file as it's for an upcoming game.

I'm asking this because everything I've looked at and tried hasn't worked for me :(

This is a screenshot to show what happens when I try backface culling:

In Blender you can turn on Backface Culling in the shading tab of the Properties sidebar of the 3D View.

In Unity you need a special shader that can do Backface Culling. This feature is not transferable. Or you simply double the geometry, and flip the normals for one of the meshes then.


If you accumulate 100 identical spheres into a sphere shape, how many will be on the surface or touching a sphere on the surface? I have asked this question in physics, math and chemistry (see my other sites). I have gotten some good advice but no definitive way to determine this. I am surprised there’s not already a program to determine questions like this. I thought I would reach out to you guys and see what you thought. Anyway if I knew anything about programming or the capabilities of engines like Blender I would imagine Each sphere having a repulsion to each other at close range but overall a strong attraction to each other so that overall an accumulated symmetrical and spherical shape forms. Then once the accumulation forms could there be a way to count the surface spheres and the interior spheres?

Rigid Body
According to your image you can use Rigid Body physics.

Add sphere as Particle in Physics properties add Rigid Body > type Active > Collision Shape Sphere
Add sphere as Emitter, enable Particles System > source Volume > Render as Object
Go to modifier properties and press Convert
Add sphere as Collider object, go to physics properties and enable Rigid Body > Passive > shape Mesh

When you finish with a spheres shaped into a ball (state in blend file) you can select spheres on a surface with Dynamic Paint.
In general - go to last frame of animation. Select all "particle" spheres and Join ⎈ Ctrl+J them into a single object. Disable Rigid Body and enable Dynamic Paint > Canvas > from Paint to aWeight. At the bottom you can see a red field of vertex group, click plus icon so group is created. Go to Data properties and unsure this data block is unique for this object and is not used for other object. If next the data name is some number (like 2 or higher) click on that. Then select "collider" sphere, scale it down so half of particle spheres on surface is out of collider sphere. Again disable Rigid Body and enable Dynamic Paint but now as a Brush type. Play once animation. Like that collider "paints" on all vertecies of particles inside collider. Now with particle object selected go to modifiers and Apply Dynamic Paint here. Now when you switch to edit mode and from data properties click on Select under Vertex Group all vertices inside a collider sphere are selected now. Invert selection Crtl+I and select Linked cmd+L. Now all vertices of spheres on surface are selected. Separate by Selection P. Now you have spheres on surface as separate object. To count them, simply Separate by Loose Parts P. Now you can see (in 2.91 text next to Tool shelf, left top corner of 3D view editor) how many spheres takes to cover surface.

For 180 spheres - 121 out / 59 in
For 100 spheres - 74 out / 26 in

Icosphere
Since any work with forces is a bit random (also thanks to more ways how to store spheres in the same shape as seen in lemon's link) you can try to use Icosphere as a base mesh for quite even distribution of vertices on a surface.

Spheres are distributed via Instancing - parent small Sphere to Icosphere ⎇ Alt+P and enable in Properties Editor > Object > Instancing > Verts


how to resize an image so it shows in its entirety within an object? lets take a 3d rectangle add a image to only one side of it, after unwrapping it. Using nodes, adding an image that will show bigger then that objects face. the image appears on the selected face of the object, but it is way too big to show the entire image on the selected face. How do I go about resizing the image so it shows one image within the selected face of the object?

updated file

UV Unwrapping

The best thing to do would be to start with a blank cube, then select only the face that you want to have the car. Key Numpad 5 to enter Orthographic View, and then key either Numpad 1, Numpad 3, Numpad 7, Ctrl + Numpad 1, Ctrl + Numpad 3, or Ctrl + Numpad 7 (whichever makes you face the selected face). Key U and select Project from View (Bounds).

Node-based Mapping

The .blend file for the second result:


Blender crashes on baking (ambient occlusion) when the Blender Engine reaches 100% on 'Bake' for Ambient Occlusion , Blender getting crashed every time, Is there any other way to do this ? Pl help.

Options are -

No Duplication

Well, Although I've only Baked once, I notice you have the width and height of your texture map set at 4096, I would suggest maybe lowering that to 2048. According to Darrin lile's videos on Texturing, he encountered glitches when using a number that high.

Now if this is the same as your other textures you should probably scale them down too, just for the sake of them matching up. I could be totally wrong, but I'm just telling you what I think may work. I hope I'm helping here!


Where is the rendered viewport shading mode in Blender 2.78 I'm trying to find the Rendered viewport shading mode.

I saw in a tutorial that it was accessed with the Z key. In the tutorial it displayed many options, but for me it doesn't.

Any ideas?

This is what I am looking for:

Here it is in my 2.78: note this is using official PIE menu addon.


How to make curve have evenly distributed segments? I ask as the curve simplify addon doesn't work well. The result should be Like maya REBULID a curve. I want to do it in Blender but can't.
how to rebuild a curve have same distance segment?

Subdivide your cylinder like 7 or more times and apply the Curve modifier. The more subdivisions, the more rounded the shape.


What 2.8 BETA version still had all the tool LABELS on screen, and where can I get it? My 2.8 final release for Win7 64-bit ( with EEVEE compatible Quadro graphics )
only shows Tool labels when mouse-hovering over each tiny icon at a time.  I want to learn on a version that still has the WORD labels ( like all the previous versions ).  I still use 2.79 with a bunch of purchased addons.

You can expand the toolbar, as mentioned in the manual: "Expand the Toolbar to show icons on two columns instead of one or even more to show icons with titles."


Animation loop issue with Bezier and snapping issue with linear So I have an idle animation of my skeleton 160 frames each rot/pos is 40 frames apart, and I am trying to get it to smoothly go between each set of frames and also loop smoothly. I have my first and last frames set to the same values, my start at 1 and my end at 159. Bezier is causing my animation to flow smoothly between my first and last frame, but causes it to pauses when it loops back from frame 159 to frame 1, while Linear causes it to loop perfectly from frame 159 to frame 1, but causes my frames in between the beginning and last frame to snap very quickly which makes it look jerky.

Any help is greatly appreciated!

Looping animation back to 1st frame - Smooth transition :

The gif animation is doing what you're seeking, using Bezier throughout, but straightening the curves in the graph editor at the first and last frames. (where it crosses the red line at the left)

How it's done -

Select the cube (moving object) and go to the Graph Editor.

In there select the first keyframe for the axis required (red is X, green is Y) and use the keyframe handles to straighten out the starting curve so the object kicks off in linear fashion, i.e. without accelleration.

Go to that same axis' last keyframe and do the same.

Ensure that the exit curve (at last keyframe) is at much the same angle as the first's.   That will ensure the object doesn't twitch, when the timeline cursor loops back to frame 1.

(in the example animation at top, that's where the thin cube crosses the red line at the left)

Do the same with the other axis'.  In this example the Z axis wasn't used.


Glass Slab material with green side This is what I'm referring to. Just like Fresnel, at an angle, the green on the side gets darker.
As seen in the glass slab in this image.

The edges like the rest of the glass have reflections that will have Fresnel effects visible on them. The edges are usually a lot rougher so the effects will be less visible, however the color and darkness of the glass does not depend on those Fresnel reflections directly. We see darker and more saturated color there because internal reflections and the roughness of the edge makes it possible to see the light that passes through a lot more glass and a lot more of the light is absorbed that way than what we see looking through the thinner side of the glass.

You can replicate that with simple glass shader and volume absorption:

I am using two identical materials in the example, except the one on the edges has a lot more roughness. Glass edges are usually sanded and are a lot rougher. You could achieve this with a roughness image texture as well.

Be aware that all the light that goes trough this glass is caustics, so it takes a really long time to render if you wish a realistic result. You could also fake this with transparent shader mixed with glossy by Fresnel for reflections and another color shader for the edges if it is not a very well visible object in your scene to avoid extremely long render times.


How to create explicit (parametric) functions in animation node? I'm trying to understand the math of animation nodes (Omar's helping) to create surfaces, and I was very curious how I could use AN to create parametric functions.I used the _surface_z addon for to create some surfaces. So how do I get parameterized functions in AN? It's possible?

Here's a great example of the "gabriel's horn"http://mathworld.wolfram.com/GabrielsHorn.html and Funnel”http://mathworld.wolfram.com/Funnel.html.

Parametric surfaces are very easy to create. A parametric surface is defined by two parameters—usually denoted by $u$ and $v$—that have a certain range and a parametric equation that maps those parameters to a 3D vector. To discretize the surface, we let $u$ and $v$ range in their defined range with a certain uniform step size and apply the parametric equations to get the locations. An implementation of your second example is as follows:

To construct a surface from that, just use the polygons of a grid, because the structure of the output points is inherently similar to that of the grid:

The first example is a subset of what we just created, where it is simply defined to have the X equation to be $u$ and the Y equation to be $v$. Or more simply, it can be treated as a multi-variable function of the x and y locations of a grid points. In fact, the second example can also be described as a multi-variable function of the x and y locations of a circle mesh of a high inner loop count. You can implement this yourself as a practice.


Blender fluid sim only shows particles and cannot show the fluid as a solid or a mesh I am new-ish to blender and have just started using the fluid options. I can get to the point where I have all my settings for the inflow and I have everything ready to go, but when I bake it, the preview (even render preview) just shows small blue particles instead of a liquid mesh. I was able to get the mesh yesterday, so maybe i hit something wrong? Thanks for any help

Make sure to scroll down in fluid domain settings and check the mesh option. If you have the fluid baked, there should be an option "Bake Mesh". This will bake the mesh around the fluid particles and then you should be able to shade it from there. Let me know if you have any questions!


How can I insert ř in text? I am creating short educative animation in Czech language. And I ran in the big trouble with title scene. In the scene I need insert text with character "ř" and blender refuses insert "ř" without error message I doesn't find help in the manual of blender. (I am using blender 2.92)

You need a font that includes those special characters like  ě š č ř ž ň.
The default Blender font doesn't.
High-quality commercial fonts (Helvetica Neue, Futura, Bodoni) usually include these  characters.
You can also use Google Fonts library to find free fonts with extended character support.


Need to modernize my scripting, this bpy based script from 2.77 doesn't run in 2.92 so I can't post my main question yet I need to make a custom mesh, don't know how and want to post a question about it.
However before I do I want to run an example of something simple. I've been away for several years, this runs on 2.77.
Question: What are the changes to Blender that prevent this old script from running in the modern world, and how to change it so that it runs in 2.92 which I will start using now?
Once I can do this I can create an example on which to base my more challenging question.

runs in 2.77, fails in 2.92 with error message:
Traceback (most recent call last):
  File "/Users/your-name-here/Documents/NTHU/Blender/meshitest.blend/Text", line 25, in <module>
AttributeError: 'bpy_prop_collection' object has no attribute 'link'
Error: Python script failed, check the message in the system console

import numpy as np
import bpy

x = 0.5 *np.arange(-8, 9)
X, Y = np.meshgrid(x, x[2:-2])
Z = np.ones_like(X) -0.1
ny, nx = X.shape
X, Y, Z = [thing.flatten() for thing in (X, Y, Z)]
Z[::2] += 0.2
verts = list(zip(X, Y, Z))

faces = []
for i in range(ny-1):
    for j in range(nx-1):
        v1 = i*(nx) + j
        v2 = v1 + 1
        v3 = v2 + nx
        v4 = v3 - 1
        faces.append((v1, v2, v3, v4))

name = 'sqr'
me = bpy.data.meshes.new(name)
ob = bpy.data.objects.new(name, me)

bpy.context.scene.objects.link(ob)
me.from_pydata(verts, [], faces)

bpy.data.objects[name].select = False
bpy.data.objects[name].select = True

bpy.ops.object.shade_smooth()

The answer to your question may be found in this Q&A. Since 2.8, it seems that objects should be linked to collections instead of scenes.
old:
bpy.context.scene.objects.link(ob)

new:
bpy.context.scene.collection.objects.link(ob)


Split Faces in UV Mapping For some reason faces in UV Editing are glued to each other. How do I split them from eachother?

Mark the seams yourself in Edit Mode.

Press ctrl+e and mark seams (seams are like the cutting edges for UVs). Then unwrap the UV again.


Video encoding (renderer): VP9, webM Is it possible to encode video with VP9 and make webM videos? If so, how? The help doesn't include either in the list of formats/codecs.

It's not possible.

You should use Blender as a Frame Server and then use another Encoding software to do the job for you. ;-)


My Rigges are moving other parts of the model I created this model. I have rigged the entire model and I have individually parented the model to the individual rigges.

For some reason if I rotate one of the rigges, it moves a different leg. Why is that?

Before moving the rig

After moving the rig

Does anyone know how to fix this?

You only need one rig. You only need one bone per leg segment unless there is extra geometry in there and you want each segment to be bendy. Parent your combined mesh to the armature and choose Armature deform -> With automatic weights. Should be good to go.


strange bone alignment If I click the bone and press g, and press ctrl, it creates an orange line and aligns in a strange direction. Why is that? It was originally arranged at right angles by pressing the ctrl key.

What CTRL does is determined in the very center of the top of your screen. It's a snapping tool and what it snaps to can be selected next to the magnet icon. ATM you're snapping to the closest face. You may want to set that to Edge Perpendicular.


How do I move an object in my scene using python? I'm trying to move a shape.  The shape is in the scene at the end of the script. But it does not move, as the bmesh.ops.translate() seems to be doing  nothing.

(Blender 2.76)

# A new mesh
bm = bmesh.new()

# Make a circle
bmesh.ops.create_circle(
    bm,
    cap_ends = True,    # Fill with faces
    cap_tris = True,    # Triangles
    diameter = 2,
    segments = 6 )

# This should move the shape but its not
# I'm missing something?
bmesh.ops.translate(
    bm,
    vec = (5 ,5 , 0) )

# "write the bmesh into a new mesh"
mesh = bpy.data.meshes.new('Mesh')
bm.to_mesh( mesh )

# Add the mesh to the scene
scene = bpy.context.scene
hexagon = bpy.data.objects.new("Hex", mesh)
scene.objects.link( hexagon )

The object appears at the center of the scene.

How can I get this thing to move somewhere else?

You need to give bmesh.ops.translate a list of verts to translate.

Here I've used all verts,

bmesh.ops.translate(
    bm,
    verts=bm.verts,
    vec = (5 ,5 , 0) )

This will translate the mesh verts, the object will still be at (0, 0, 0).  To move the object, don't use the bmesh.translate op and  simply set its location

hexagon.location = (5, 5, 0)

We can then make a copy and move it somewhere else

anotherhex = hexagon.copy()
anotherhex.location = (10, 10, 5)

both objects share the same mesh "Mesh".   Translating the vertices of the mesh will be evident for all objects using that mesh.

The coordinate system for blender is described here
https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Coordinate_Spaces_in_Blender#Global_and_local_coordinates

Vertex coordinates are local, relative to the origin of the object.  Look at the default cube, the coords are the eight combinations of 1 and -1 for x, y, z from the origin at (0, 0, 0).  Moving the object via its location, (scaling, rotating for that matter)   leaves the local coordinates the same.

Translating the vertices moves them locally from the origin of the object, and leaving origin in the same position.  Akin to selecting all verts in edit mode and translating.

For most cases making a primitive with origin at (0,0,0) and then moving the object is the way to go, especially for multiple objects that share a mesh.


Rendering Knob GUI in perspective im doing an audio plugin. We want to do the GUI in perspective. Here is a sloppy example for getting the point across:

In this view, the knobs have perspective. This is how we would like it to appear in the plugin. My question is, is it possible to somehow render the knob filmstrips and have them keep the perspective in this view?
When i go to render the knob frames, the camera is centered on the knob, in perspective. Shown below:

This is obviously not the desired result. I zoomed out further, and increased focal length to get a little more detail:

Zoomed out, higher focal length again:

Is it possible to render a closeup of the knob like this and get the result in the first example or does it simply go against physics/science/whatever?
Or would i have to be in the 1st example perspective, and render each knob from that view and solo out every other knob to get the individual filmstrip?
Thanks!

That's absolutely possible.
Keep all the cameras in one place and only change the X Shift.


Edit mode viewport looks exactly the same as object mode For some reason, when I switch from Edit mode to Object mode the images look exactly the same(see images below) how can I get back to the normal Edit Mode where I can see vertices/faces/etc.?
Edit Mode:

You have viewoprt overlays turned off. Click on the icon so that it's blue and white and they will reappear!


List blendfile.py fields for RenderData I want to read various info from a blend file without opening it and know that blendfile.py is the way to go (to be found here on pypi and here on developer.blender.org.

I managed to succeed in a certain way:

path = "../tests/resources/100_frames_step10.blend"

import blendfile

try:
    with blendfile.open_blend(path) as blend:
        scenes = blend.find_blocks_from_code(b'SC')

        # For each scene find some info and print it
        for scene in scenes:
            scene_name = scene[b'id', b'name'].decode()
            frame_start = scene[b"r", b"sfra"]
            frame_end = scene[b"r", b"efra"]
            frame_step = scene[b"r", b"frame_step"]
            x_resolution = scene[b"r", b"xsch"]
            y_resolution = scene[b"r", b"ysch"]
            # This would fail:
            # fps = scene[b"r", b"frames_per_second"]
            print(scene_name)
            print(x_resolution, y_resolution)
            print(x_parts, y_parts)
except blendfile.BlendFileError:
    print("Not a blend file")

This code reads start and end frames, frame step, scene name, resolution etc.

But I don't know how to figure out how to find (or list) the other possible fields for scene[b"r", b"foo"]. I am especially interested in the render scale settings, in the frames per seconds and so on. Does anybody have an Idea where this is documented or how I can list this?

The data structure seems to be python dictionaries pointing to addresses in memory.
Given your above code you can see the dictionaries by using

DNA_struct_of_scene = scene.file.structs[scene.sdna_index]
rel_dict = DNA_struct_of_scene.field_from_name[b'r'].dna_type.field_from_name

From the dict posted below, you can use

scene[b"r",b'size']

to get the render scale and

scene[b'r',b'frs_sec']

to get the frames per second

rel dict =
 {b'im_format': <__main__.DNAField at 0x7f4e476aa990>,
 b'avicodecdata': <__main__.DNAField at 0x7f4e476aa9d8>,
 b'qtcodecdata': <__main__.DNAField at 0x7f4e476aaa20>,
 b'qtcodecsettings': <__main__.DNAField at 0x7f4e476aaa68>,
 b'ffcodecdata': <__main__.DNAField at 0x7f4e476aaab0>,
 b'cfra': <__main__.DNAField at 0x7f4e476aaaf8>,
 b'sfra': <__main__.DNAField at 0x7f4e476aab40>,
 b'efra': <__main__.DNAField at 0x7f4e476aab88>,
 b'subframe': <__main__.DNAField at 0x7f4e476aabd0>,
 b'psfra': <__main__.DNAField at 0x7f4e476aac18>,
 b'pefra': <__main__.DNAField at 0x7f4e476aac60>,
 b'images': <__main__.DNAField at 0x7f4e476aaca8>,
 b'framapto': <__main__.DNAField at 0x7f4e476aacf0>,
 b'flag': <__main__.DNAField at 0x7f4e476aad38>,
 b'threads': <__main__.DNAField at 0x7f4e476aad80>,
 b'framelen': <__main__.DNAField at 0x7f4e476aadc8>,
 b'blurfac': <__main__.DNAField at 0x7f4e476aae10>,
 b'edgeR': <__main__.DNAField at 0x7f4e476aae58>,
 b'edgeG': <__main__.DNAField at 0x7f4e476aaea0>,
 b'edgeB': <__main__.DNAField at 0x7f4e476aaee8>,
 b'fullscreen': <__main__.DNAField at 0x7f4e476aaf30>,
 b'xplay': <__main__.DNAField at 0x7f4e476aaf78>,
 b'yplay': <__main__.DNAField at 0x7f4e476aafc0>,
 b'freqplay': <__main__.DNAField at 0x7f4e476ab048>,
 b'depth': <__main__.DNAField at 0x7f4e476ab090>,
 b'attrib': <__main__.DNAField at 0x7f4e476ab0d8>,
 b'frame_step': <__main__.DNAField at 0x7f4e476ab120>,
 b'stereomode': <__main__.DNAField at 0x7f4e476ab168>,
 b'dimensionspreset': <__main__.DNAField at 0x7f4e476ab1b0>,
 b'filtertype': <__main__.DNAField at 0x7f4e476ab1f8>,
 b'size': <__main__.DNAField at 0x7f4e476ab240>,
 b'maximsize': <__main__.DNAField at 0x7f4e476ab288>,
 b'pad6': <__main__.DNAField at 0x7f4e476ab2d0>,
 b'xsch': <__main__.DNAField at 0x7f4e476ab318>,
 b'ysch': <__main__.DNAField at 0x7f4e476ab360>,
 b'xparts': <__main__.DNAField at 0x7f4e476ab3a8>,
 b'yparts': <__main__.DNAField at 0x7f4e476ab3f0>,
 b'tilex': <__main__.DNAField at 0x7f4e476ab438>,
 b'tiley': <__main__.DNAField at 0x7f4e476ab480>,
 b'planes': <__main__.DNAField at 0x7f4e476ab4c8>,
 b'imtype': <__main__.DNAField at 0x7f4e476ab510>,
 b'subimtype': <__main__.DNAField at 0x7f4e476ab558>,
 b'quality': <__main__.DNAField at 0x7f4e476ab5a0>,
 b'displaymode': <__main__.DNAField at 0x7f4e476ab5e8>,
 b'use_lock_interface': <__main__.DNAField at 0x7f4e476ab630>,
 b'pad7': <__main__.DNAField at 0x7f4e476ab678>,
 b'scemode': <__main__.DNAField at 0x7f4e476ab6c0>,
 b'mode': <__main__.DNAField at 0x7f4e476ab708>,
 b'raytrace_options': <__main__.DNAField at 0x7f4e476ab750>,
 b'raytrace_structure': <__main__.DNAField at 0x7f4e476ab798>,
 b'pad1': <__main__.DNAField at 0x7f4e476ab7e0>,
 b'ocres': <__main__.DNAField at 0x7f4e476ab828>,
 b'pad4': <__main__.DNAField at 0x7f4e476ab870>,
 b'alphamode': <__main__.DNAField at 0x7f4e476ab8b8>,
 b'osa': <__main__.DNAField at 0x7f4e476ab900>,
 b'frs_sec': <__main__.DNAField at 0x7f4e476ab948>,
 b'edgeint': <__main__.DNAField at 0x7f4e476ab990>,
 b'safety': <__main__.DNAField at 0x7f4e476ab9d8>,
 b'border': <__main__.DNAField at 0x7f4e476aba20>,
 b'disprect': <__main__.DNAField at 0x7f4e476aba68>,
 b'layers': <__main__.DNAField at 0x7f4e476abab0>,
 b'actlay': <__main__.DNAField at 0x7f4e476abaf8>,
 b'mblur_samples': <__main__.DNAField at 0x7f4e476abb40>,
 b'xasp': <__main__.DNAField at 0x7f4e476abb88>,
 b'yasp': <__main__.DNAField at 0x7f4e476abbd0>,
 b'frs_sec_base': <__main__.DNAField at 0x7f4e476abc18>,
 b'gauss': <__main__.DNAField at 0x7f4e476abc60>,
 b'color_mgt_flag': <__main__.DNAField at 0x7f4e476abca8>,
 b'postgamma': <__main__.DNAField at 0x7f4e476abcf0>,
 b'posthue': <__main__.DNAField at 0x7f4e476abd38>,
 b'postsat': <__main__.DNAField at 0x7f4e476abd80>,
 b'dither_intensity': <__main__.DNAField at 0x7f4e476abdc8>,
 b'bake_osa': <__main__.DNAField at 0x7f4e476abe10>,
 b'bake_filter': <__main__.DNAField at 0x7f4e476abe58>,
 b'bake_mode': <__main__.DNAField at 0x7f4e476abea0>,
 b'bake_flag': <__main__.DNAField at 0x7f4e476abee8>,
 b'bake_normal_space': <__main__.DNAField at 0x7f4e476abf30>,
 b'bake_quad_split': <__main__.DNAField at 0x7f4e476abf78>,
 b'bake_maxdist': <__main__.DNAField at 0x7f4e476abfc0>,
 b'bake_biasdist': <__main__.DNAField at 0x7f4e476ad048>,
 b'bake_samples': <__main__.DNAField at 0x7f4e476ad090>,
 b'bake_pad': <__main__.DNAField at 0x7f4e476ad0d8>,
 b'bake_user_scale': <__main__.DNAField at 0x7f4e476ad120>,
 b'bake_pad1': <__main__.DNAField at 0x7f4e476ad168>,
 b'pic': <__main__.DNAField at 0x7f4e476ad1b0>,
 b'stamp': <__main__.DNAField at 0x7f4e476ad1f8>,
 b'stamp_font_id': <__main__.DNAField at 0x7f4e476ad240>,
 b'pad3': <__main__.DNAField at 0x7f4e476ad288>,
 b'stamp_udata': <__main__.DNAField at 0x7f4e476ad2d0>,
 b'fg_stamp': <__main__.DNAField at 0x7f4e476ad318>,
 b'bg_stamp': <__main__.DNAField at 0x7f4e476ad360>,
 b'seq_prev_type': <__main__.DNAField at 0x7f4e476ad3a8>,
 b'seq_rend_type': <__main__.DNAField at 0x7f4e476ad3f0>,
 b'seq_flag': <__main__.DNAField at 0x7f4e476ad438>,
 b'pad5': <__main__.DNAField at 0x7f4e476ad480>,
 b'simplify_flag': <__main__.DNAField at 0x7f4e476ad4c8>,
 b'simplify_subsurf': <__main__.DNAField at 0x7f4e476ad510>,
 b'simplify_subsurf_render': <__main__.DNAField at 0x7f4e476ad558>,
 b'simplify_shadowsamples': <__main__.DNAField at 0x7f4e476ad5a0>,
 b'pad9': <__main__.DNAField at 0x7f4e476ad5e8>,
 b'simplify_particles': <__main__.DNAField at 0x7f4e476ad630>,
 b'simplify_particles_render': <__main__.DNAField at 0x7f4e476ad678>,
 b'simplify_aosss': <__main__.DNAField at 0x7f4e476ad6c0>,
 b'cineonwhite': <__main__.DNAField at 0x7f4e476ad708>,
 b'cineonblack': <__main__.DNAField at 0x7f4e476ad750>,
 b'cineongamma': <__main__.DNAField at 0x7f4e476ad798>,
 b'jp2_preset': <__main__.DNAField at 0x7f4e476ad7e0>,
 b'jp2_depth': <__main__.DNAField at 0x7f4e476ad828>,
 b'rpad3': <__main__.DNAField at 0x7f4e476ad870>,
 b'domeres': <__main__.DNAField at 0x7f4e476ad8b8>,
 b'domemode': <__main__.DNAField at 0x7f4e476ad900>,
 b'domeangle': <__main__.DNAField at 0x7f4e476ad948>,
 b'dometilt': <__main__.DNAField at 0x7f4e476ad990>,
 b'domeresbuf': <__main__.DNAField at 0x7f4e476ad9d8>,
 b'pad2': <__main__.DNAField at 0x7f4e476ada20>,
 b'dometext': <__main__.DNAField at 0x7f4e476ada68>,
 b'line_thickness_mode': <__main__.DNAField at 0x7f4e476adab0>,
 b'unit_line_thickness': <__main__.DNAField at 0x7f4e476adaf8>,
 b'engine': <__main__.DNAField at 0x7f4e476adb40>,
 b'bake': <__main__.DNAField at 0x7f4e476adb88>,
 b'preview_start_resolution': <__main__.DNAField at 0x7f4e476adbd0>,
 b'debug_pass_type': <__main__.DNAField at 0x7f4e476adc18>,
 b'pad': <__main__.DNAField at 0x7f4e476adc60>,
 b'views': <__main__.DNAField at 0x7f4e476adca8>,
 b'actview': <__main__.DNAField at 0x7f4e476adcf0>,
 b'views_format': <__main__.DNAField at 0x7f4e476add38>,
 b'pad8': <__main__.DNAField at 0x7f4e476add80>,
 b'mblur_shutter_curve': <__main__.DNAField at 0x7f4e476addc8>}


Help to improve my video I have produced a short video but I'm not really enjoyed of it. Images are quite blurry and it is not nice to watch. When the camera move, we can kind of sparkles.

Would you have advise to improve it ? Would you have reasons for this poor quality ?

This is the video  : https://youtu.be/NQD0zOMuNmY

This the parameter of the animation :

I think most of your blurring is coming from the denoising post-process.

firstly, make sure motion blur is not turned on.

To avoid blurriness from the denoising, you have to increase your sampling.

256 or 512 should do it,. but will take a lot longer to render.

Alternatively, try using Blender 2.8 and use the EEVEE renderer. It is so much faster - and your scene doesnt require any complex light paths, so it should work really well.

Good luck!


How to warp flat svg image I need create simple cartoon like animation. I need import a svg image, and bend it. No movement only bending. For example a Christmas tree that bends in the wind.

After importing a .SVG like this you see that it consists of many curves.

You can convert it with Alt-C Mesh from Curve...

After scaling and rotating all elements and relocating some parts you should have something like that:

Then it is up to you to:

Animate the tree segments with glitter balls parented by simply keyframe their rotation.
Join all to one mesh and add a shape keys to animate them (use proportional editing)
Creating a rig is also possible but would be kinda overkill


Bones don't appear in vertex groups I have this model with bone what are already weighted. but now I need to add the tail model so I  went to edit mode and extruded more from the but bone to the end of the tail. for some reason the bones do not appear in the vertex groups… I'm sure i'm doing something wrong but I don't know what.... is it possible to add these bone without ruining my model?

You're on the right track.

For the bones to deform an object, correspondingly named vertex groups must exist on the mesh. However, not all bones have to deform the mesh. There are often more bones which are just for the mechanics of the rig.

But that's no problem, you can just add another vertex group with the + symbol. You have to name it exactly like the bone. If the mesh and the armature are connected via an armature modifier, renaming the bone will rename the vertex group from now on.

Another option is to simply select the mesh and go into edit mode, with the armature in pose mode. Clicking on a bone, which doesn't have a corresponding vertex group yet, will color the mesh in purple. When starting to weight paint on the mesh, a vertex group for the bone will be created automatically.
For this to work in 2.8, first select the Armature and then ⇧ Shift Select the Mesh and go into weightpaint mode. If the armature isn't selected you can't select the bones in weightpaint mode.


Cause of black artifacts in render? I was following this tutorial on creating a watch and noticed that when I rendered the watch, some pieces were messed up.

I'm new to 3D modeling and I've just learned Blender,
I can't explain it well, so here's a picture:

Other examples:

I don't know if it's a problem with my World texture, the object, or the object's texture/material, so I can't even guess how to fix it. What causes this? Is it possible to fix it?

It looks like Z-fighting, which is caused by overlapping faces in your model.

From Wikipedia:

  Z-fighting is a phenomenon in 3D rendering that occurs when two or more primitives have similar values in the z-buffer. It is particularly prevalent with coplanar polygons, where two faces occupy essentially the same space, with neither in front. Affected pixels are rendered with fragments from one polygon or the other arbitrarily, in a manner determined by the precision of the z-buffer. It can also vary as the scene or camera is changed, causing one polygon to "win" the z test, then another, and so on. The overall effect is a flickering, noisy rasterization of two polygons which "fight" to color the screen pixels.

From looking at the tutorial you linked, the most likely place for this to have happened is in the Mirror modifier on the overlapping pieces. Ensure that the object origin is in the right place relative to the geometry, so the the geometry does not extend past the origin along the mirror axis:

Since this question is getting asked a lot and overlapping faces aren't always caused by a mirror modifier, here are some common cases where there is no readily apparent overlapping face:

Overlapping objects, one of which is hidden in the viewport. Press ` (often the key below the Esc key) to toggle all layers visible, and then press AltH to unhide all hidden objects. This should make all objects visible in the viewport, but it's also possible you might have some modifier causing this. Try different combinations of disabling and enabling them in the viewport and final render).
Hidden faces in edit mode. Press AltH in edit mode to make sure all geometry is visible in the viewport while in edit mode.

Once unhidden, try selecting the problem faces/objects and see if moving them (G) reveals multiple faces/objects in the same location.

If there are multiple faces in the same place, one way you can try to get rid of them is with the Remove Doubles operator. Select all the vertices in the mesh with A, then press W> Remove Doubles. This will try and merge duplicate vertices if they are on top of each other.

In the case of baking, overlapping UVs can have the same effect. Try using a quick auto-unwrap guaranteed to avoid overlapping UVs such as Smart UV Unwrap or Lightmap Pack to see if this is the problem.


Array modifier makes wrong offset - rotation (it has parent) i made apply transforms on the object and parent has 0 0 0 position

Reposition the 3d cursor (center) using the 3d cursor tool. Also press SHIFT+S, and select "Cursor to world origin".


Can I save rendering process for another time? I want to render half of the frames and leave the other half for another time. Is this possible?

If you go to YouTube and put in seach terms of "blender 2.8" "image sequence", (use those quotes that way as two search terms), there are a bunch of vids that show how to create your movie from an image sequence, which is the best way to accomplish what you are trying.

I found that I still get a working video file from Blender, if I interupt a movie render, though, of course, it's incomplete. By restarting a new video render at the frame you left off, you could splice the two videos together using most video editing programs.

However, study the "image sequence" method. It's better. Less work, too. Just a whole lot of files. You can delete all those individual frame image files after you have your video created from the Video Editing step.


Is it possible to save the Euler rotations as Quaternions without loss of data? Long story short is that, that I made an animation using Euler rotation but during cleaning the graph I realized that the graph and the axis got mixed up, eg. x and y axis both gave more or less the same sort of rotation in the graph but in the 3D space on rotating along local axis I get a completely different type of rotation.
I usually do my animations with Quaternions, but this time, due to some issues I switched to Eulers without understanding how they work. Now I have a ton of animation data and a big mess cleaning up the graphs.

So my question is:

Is it possible to save the Euler rotations as Quaternions without loss of data (visual data at least)?

If that's not possible, then I should ask for the work around the graph editor so that the axis move according to the actual axis movements.

EDIT: I am presently using ZYX Euler rotation if that helps

In 2.79 there's an addon that works very well, called Quat/Euler rotation mode converter.


Automatic weight paint error when trying to rig a bow I get the "bone heat weighting failed: could not find solution for one or more bones" whenever I try to parent the armature to my bow mesh with automatic weights. I already tried different things including:

Removing Doubles
Recalculating Normals
Removing all Vertex Groups
Adding the Decimate modifier

I can't find out what's causing the error.

Here is the .blend file.

What causes this and how to I fix it?

This warning usually appears when there is a bone that doesn't have anything near it.

The bone that is supposed to pull the string is the likely culprit.

I suggest applying with envelope weights, (which I was able to do after ridding myself of the pesky draw bone) and getting on your thinking shoes for some intensive weight painting time. Sometimes you just need to weight paint because the computer's automatic isn't 'human' enough. This can take forever, so don't do it before a mid-day appointment.

Also, your string is just kinda stuck into the bow; you might want to separate it from the bows shaft and then join them using a boolean modifier set to union.


Cube doesnt show all the faces when orbiting, depends on a viewer angle The columns of the building show its faces only if orbiting in Textured mode. The same is in BGEngine, the 1st view player  should run around the column to see appearing and disappearing faces.

I have already unticked Backface Culling in Shading, but it stays the same.
Multitextured shading

Just "diffuse" Material colour

selected the object, edit mode, select all, hit T, to the shading/uv's tab, scrolled it a bit down hit either recalculate (should fix it instantly) or hit flip direction (this is best if you only select the faces that needs to be flipped).


How do I add an .obj file from a relative file location? I need help adding an .obj file via scripting. I've tried using this line of code, but I'm having issues importing the obj file:

bpy.ops.import_scene.obj(filepath="./example.obj")

I think the problem is how I define the file path, but I don't know how to fix it.

import bpy
file_loc = 'C:\Models\Model.obj'
imported_object = bpy.ops.import_scene.obj(filepath=file_loc)
obj_object = bpy.context.selected_objects[0]
print('Imported name: ', obj_object.name)

Result


2.8 Cursor Orientation Since the interface to 2.8 is now frozen, I think this is a fair question?

In previous demonstrations and answers concerning the behavior of the cursor in Blender 2.8 I have seen the option (by dragging with the 'Cursor' tool selected,) to set the location and orientation of the 3D Cursor to the face beneath it in  the 3D view, independently of the snapping system.

I've also seen the creation of new objects aligned to the orientation of the 3D cursor, rather than the world, or the view. Try as I might, I can't find a way to reproduce this behavior in my fairly recent build of 2.8.

Am I missing something obvious?

The most straight forward and "useful" thing that I managed to find online is as follows:

Select the 3D Cursor tool
Open the properties tab (N), check "surface select" and select "Geometry"

Click on a face: the cursor will stick to that face and orient itself so it's normal to the face

Go to edit mode and select the "Add Box" tool

Click and drag
Poof you've now created a box that is normal to the face you selected

Warning: 3DCursor Tool in Edit mode and object mode are independant so if you click again on the cube in edit mode it will reposition itself based on the configuration of the edit mode's 3D Cursor tool

That's something I found in a Youtube video from "Blender Developers" from a year ago so maybe you can do more things with it now or maybe in the future I don't know.


How to use the textblock operator in Python I am trying to write informations of what my script is doing in the textblock. I have the Python script to call it but I don't know how to put text in it:

bpy.ops.ui.reports_to_textblock()

What is the code to write "Hello world!" inside?

An example using simple operator template, the 'REGISTER' option in bl_options set which among other things makes sure "bpy.ops.object.simple_operator" makes its way into the report created by bpy.ops.ui.reports_to_textblock().

A call to self.report(type, message) writes to the report area, when run from UI.  For an Operator report
 The type can be set of one of ('DEBUG', 'INFO', 'OPERATOR', 'PROPERTY', 'WARNING', 'ERROR', 'ERROR_INVALID_INPUT', 'ERROR_INVALID_CONTEXT', 'ERROR_OUT_OF_MEMORY')

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"
    bl_options = {'REGISTER'}

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

    def execute(self, context):
        self.report({'INFO'}, "Hello World")
        main(context)
        return {'FINISHED'}

After running the simple operator, then ui.reports_to_textblock(),  the "Recent Reports" textblock will contain,

Operator: bpy.ops.object.simple_operator()
Info: Hello World

In case you want to to open a textblock to write reports to, use API methods, textblock below is of type Text

import bpy

textblock = bpy.data.texts.get("RM_Report")

if not textblock:
    textblock = bpy.data.texts.new("RM_Report")

textblock.write("Hello World\n")


How can i add an object when the mouse is released? I have a player who i want to be able to throw spells and such, when you hold down the left mouse button, the spell charges, when you let go, the spell launches. I was able to do the animations with a work around, but that will not work with actually adding an object. How (with python) can i simply activate an actuator once when the mouse is released.

I don't need anything else (not mouse over, not if prop true) just plain-o'l plain-ol'. Thanks

here is how to detect a mouse button release and activate an actuator, using a Boolean property:

    mouse_Lclick = cont.sensors["Mouse_leftclick"]

    if mouse_Lclick.positive :
        if not own['hold'] :
             # just pressed
             own['hold'] = True
        else :
             # button is held
    else :
        if own['hold'] :
            # button released
            own['hold'] = False
            cont.activate(actuator)  #activate the actuator


Motion tracking. The edges of undistorted footage are cropped, and so are the elements of the 3D scene I'm working to implement CGI elements to a short film using an Anamorphic Lens.  The distortion off these lenses are quite beautiful but I am running into issues with cut-offs after implementing with Blender.

After distorting the footage from found K1, K2, K3 values,  I am noticing that you lose alot of information on the sides of the footage when undistorting. Is there another approach to implementing CGI if you wanted to the elements to be at the edges of the frame without the shown cutoff?

Do you have any suggestions for this fix?

Initial Footage Before Undistortion

Footage and Undistortion

Adding CG Elements to Frame

End Result with Movie Distortion on CGI Layer

UPDATE:  I did the lens distortion values manually using a grid for alignment. This shouldn't effect the need for these edges being cut off.  The only way I can think of saving these edges is by putting a black border around the video, re calibrating the K1, K2, K3 and then undistorting, giving more room on the sides for edges. There must be a simpler way though.

The problem:

Undistorted footage the pixels no longer correspond with the original frame size.

The image is being stretched past the limits of the original frame, so the undistorted result will be cropped.

A possible solution would be to render a proxy undistorted plate that has the complete undistorted information, to do this you need is much larger canvas than the original footage. Change Dimensions>Render Resolution until you can see all of the image gloriously undistorted:

Use that undistroted proxy to do the motion tracking, camera solution and 3d elements for the scene.

EDIT:

Then render the undistorted 3D elements as as separate plate before compositing.

Import the new element into the compositor and use the Movie Distortion node in Distor mode using the information from the original clip, and composite with alpha over on the undistorted original.

At this point you can go back to the original frame size in the resolution.


Making grooves in objects I'm trying to cut grooves into this handle shown in the image below. I need them cut along the red line.

I want them to be look like the grooves marked by red in this image below:

How would I got about cutting even grooves into the the mesh along the red line in the first image? I'll provide the mesh in a file.

I would start over completely and create the topology in 2D first, in all quads, tracing the reference image.

(Sorry for the two-billion pixel screen shots. You can thank retina display.)

Anyway, if you make topology like this you can get the curves you're hoping to achieve without cutting.

Consider this a starting point, and also just an example of one possible way you could do it.

Note the tightly-spaced holding loops around the curves that add sharpness. These also serve as a buffer between those curves and the 5-poles in some spots:

Above: A 5-pole (marked in red) buffered by a holding loop (green).

As you've probably noticed, more closely-spaced holding loops create sharper edges.

Above: A more widely-spaced loop (green) will create softer edges, while a more tightly-spaced loop (orange) will create sharper edges.

Topology is a broad topic, but it's just about collecting different techniques, and adjusting how you think about shapes. It's half art form and half math. Stick with it.


Is radial symmetry possible in texture paint mode? I saw a technique on YouTube that demonstrated radial symmetry in sculpt mode but can't find such settings in texture paint mode.

Is there a workaround for this in Blender? Why are both modes treated differently in that regard?

Radial symmetry is a pretty new thing for Sculpt mode, and probably there hasn't been anyone that thought it was needed yet in Texture Paint mode. The operator would need to be reworked to use in Texture Paint, but as for a work around I don't know of one yet.


Why rendered image is not like in the material preview frame? I try to make stainless steel effect, but I don't understand why rendered image in the top panel is not like in the material preview frame in the right panel ?

It is not the same because you haven't applied smooth shade to your material. However there could be more reasons(like: weird settings setup in the render tab or word tab)