Object gets tinted by nearby Object's Color I'm trying to texturize an exterior scene but I have a problem and I don't know why.

I have a white building and there is another object with orange color under it. I know that it is normal that the white building get some orange color from the orange object.

My question is: Is there any away to avoid an object getting tinted by nearby objects' colors?

It has been happened before in another building, but it got fixed by its own. I'm working on Blender 2.8 Cycles Render Engine now.

Rendered scene:

White material node setup:

Orange material node setup:

The answer for the question is quite simple - Diffuse setting, but the main problem might be the scene light setting, as part Why do this behavior happen? explained.

Diffuse Ray

You can change the diffuse setting in Properties Panel > Object > Cycles Settings >> Ray visibility : Diffuse

The color you see is mainly from the diffuse ray in that orange color, by default it light up nearby objects like it is an emitting material. It is not a mistake but a natural behavior in real world. The most easily way to FIX this problem is to turn the diffuse behavior down. Making the material won't bounces light in the diffuse light path.

Warning:

Turn off the diffuse ray will cause the rendered scene not accurate, making the render image seems to be wrong in some certain way.

Material Node Setup

You can also change that behavior in material node editor as follow:

With the Input > Light Path node, using diffuse value, you can change that material by using a mix shader with is diffuse factor. If you replace it by a white transparent shader, it will work as turn off the diffuse setting I mentioned above.

Why do this behavior happen?

And another issue is that in this scene, you have your light and environment poor set up. Making it too simple from some certain light path, in this case, the orange diffuse bounces.

The main reason of that is maybe you are using point/sun light, and toward a specified angle, which cause the white wall capture a lot of bounces from orange roof top.

You can change the angle of it, or you might also want to add more light around your scene, and object around it, making the light path more balance. Changing the radius of the point light may help as well.


Transform object to put two faces into same plane (Blender 2.8) I have two objects. I would like to transform the left object so that face A of the left object is in the same plane as face B of the right object. In the object properties panel, each of the objects has 0° of rotation on each axis.

For this example, I have used cubes for simplicity. However, in real life I often have two different objects that I would like to align on a specific face just like this.

If you don't mind, or want to, align the left object's local axes to one of its faces,then you can use a method like this one

However, if you want to retain the left object's local axis orientation with respect to its mesh, you can hand over the job of alignment to an intermediate parent object.

In Edit Mode, select the face you want to align. ShiftS Cursor to selected, ShiftNumpad 7 align the view to the face.
Back in Object Mode, ShiftA with 'Align to View' checked, create a helper cube, centered and correctly oriented:

If you like, at this stage, you could rotate the helper 180 around its Y or X, in Object Mode, so its Z is pointing into the face to be aligned.

CtrlP and 'Keep Transform', make the new helper parent to the left object.
In Edit Mode, select the target face on the right object, and create a Custom Orientation from it. (2.79, Ctrl Alt Space, 2.8, Header, Transform Orientation dropdown, '+').
Make sure it's in use for the next step.

With the helper selected, Header > Object menu > Transform > 'Align to Custom Orientation'. Now the objects' rotations are aligned...

... you can send the cursor to wherever you would like to snap the left object's face to, and snap the helper to the cursor..

..before AltP un-parenting the left object with 'Keep transform', and deleting the helper.


How can I Bevel this sphere correctly? I'm modeling this lamp, and when I try to make that curve, with the edge selected in the image at its center, the bevel doesn't limit itself within the other two edges at both sides, it extends as I show in the last image. Is there other easy way in wich I can do this?

Update to the answer below
I see actually that it has 12 sides, so create 36 segments not 24, and change your edge selections accordingly and the 'Auto Smooth' value

I'm pretty new to Blender and I had a quick go at this using a feature I learned about today "Auto Smooth".
Looking at the lampshade, it looks like it has 6 sides, so I created the UV sphere and before doing anything else at all, set the number of segments to 24. Please ignore the origin point as it's not important.

Then, I chose every 4th vertical edge using Alt+Left-Click for the first and Shift+Alt+Left-Click for each subsequent one.

Then using S and then Shift+Z so that only the x and y axes are scaled, I scaled those edges inwards toward the centre of the sphere.

Then I deselected them and selected each edge that was next to the edges I had just scaled:

And scaled them again using S and Shift+Z

OK. Getting close now. Go back to Object Mode and it still doesn't look quite right.

If I Right-Click on the sphere, and choose 'Shade-Smooth', that's no good because it smooths ALL the edges and you want to keep 6 of them sharp still. Leave the sphere smoothed at this point even though it looks wrong
I found out about Auto-Smooth and this might be what you're looking for.
Click on the Object Data tab - I'm using 2.90a, but if you're using 2.83, I think its in the same place...

Then click on the 'Normals' section and check the box next to 'Auto-Smooth' and I found that setting the angle value to 15.3 seems to produce what I suspect you want.


How can I make a box like product packet? I need to design 3D model something like packet of product with just 2-3 sides. I have images for front face and back face of a packet. I just need to assign images only and no shadow or anything fancy required. Just a basic product model we need which have 3 sides and need to assign textures on 2 side (3rd is bottom side which is never going to be shown to user because it is on surface).

I have created cube type of objects with UV mapping texture on it, but for this object, there are not flat sides, it has curves.

How can I achieve this in blender?

  Here is what kind of object I need:

  Here is Front side texture image

  Here is Back side texture image

Set the Base material. I just used a Diffuse BSDF Orange.

Load up your image for the front of the packet. I used the a Color Grid generated in Blender.

Select required faces and Unwrap. I deliberately left a border so you can see the base material. This will create a default UV Map

Set up material Nodes to start with and Input->UV Map set to the default map connected to an Texture->Image with your image. Make sure it is set to Clip then take that through a Diffuse BSDF Shader and Mix it with the Base.

Now add a new UV Map and select the next faces and Unwrap

Now you can duplicate your existing Nodes and change the UV Map input and use a Mix Shader to combine them. I have used the same image but you can choose a different source image for the back.

Just to show how you can manipulate the unwrapped island. Scaled and rotated.

Commonly and especially for games, people will use a single image and unwrap to a part of it. I find multiple UVMaps gives me more control.


eGPU performance on Linux I'm looking to improve my hardware, and I have decided to invest in a GPU (like the TITAN RTX, GeForce RTX 2070 Super, or something similar).
I'd like to use this as an external GPU. My question is, does using an external GPU vs. an internal one have any performance issues in Blender?
I am using Linux (Manjaro KDE).

I am running an eGPU on Linux and I can confirm the speed is on par with other systems. My setup is a Dell XPS 13 (9370) with a Quad Core i7 (8550U) and a Razer Core X eGPU enclosure with a Radeon RX 580. To give you some numbers, the BMW scene renders in a little over 262 seconds. Here is the result of my render:
https://opendata.blender.org/benchmarks/3b842bbd-ed59-4352-a1f1-f6ef10a25864/
That's below the median time for that scene (266 seconds) on systems with the same configuration (BMW + Linux + OpenCL + RX 580 + Blender 2.90):
https://opendata.blender.org/benchmarks/query/?device_name=Radeon%20RX%20580&device_type=OPENCL&os=Linux&benchmark=bmw27&blender_version=2.90
From the OpenData results we can't distinguish eGPU's from dGPU's, but I think desktop setups are far more common than eGPU setups. On my machine, rendering on the GPU is about 2.5 x faster, which is what I measure most of the time. As a reference, the same scene renders in 663 seconds on the CPU. Here is my result:
https://opendata.blender.org/benchmarks/fffb4aed-f259-40d8-b307-827f1580c919/
I also tested with combined GPU + CPU render but the result is more or less the same as the GPU alone, often even slower. That's because the CPU is more efficient rendering small tiles (64 x 64 px) while the GPU prefers larger tiles. So if you increase the tile size, the CPU will negatively influence the result. While with smaller tile sizes, the GPU will not work at its full capacity.
On the elementary OS StackExchange, I've outlined my setup:
https://elementaryos.stackexchange.com/questions/26197/can-i-use-an-egpu-with-elementary-os-and-if-so-how-do-i-set-it-up/26198
I've never used Manjaro, so I'm not sure how it will translate.


How do I rig this cointainer? I have made this container for a project, and I have to make it so it can be opened.
It has two springs outside and should follow the lid, but the lid's pivot point is a little offset for the spring, as you can see in the image. I added a bone for the container, another for the lid, and I suppose another one for the spring.
Could anyone help? I don't know how to rig it properly.

Ok I figured out by looking another post. I needed another bone that goes to the tail of the spring bone, and a Constrain 'Strech to'.


Make Object emit light & be reconizable i want an object to emit light, but still be recognizable as the object, like in this picture.

i tried using Luts in the colour management and tried to make only a second, weaker emitter be visible to the camera.

The problem is, that as soon as the object is emitting light, doesnt matter how strong, its not recognizable as 3D-object anymore.

I also tried to plug the node into volume and not surface, but then, it gets  transparent.

please halp
much thanks

Here's a variation on Jens Clar's answer.  You can connect the output of the Emission shader node to the Volume input of the Material Output node.  Here's an example using the Translucent BSDF node connected to the Surface input of the Material Output node:

Here's the node setup:


If I buy a rigged object, will the bones import if they weren't made in blender? Whether the rigged object I buy is 3ds or obj or even another format, how could the bones import as blender bones if they were made in another program?

You can't import .3ds files into Blender.

.obj files don't include bones or joints.

It is close to impossible to import complex rigs from different 3D applications.

.fbx files can contain bones/joints and animation.


Replace object with another on collision I'm trying to make a grass cutting animation. A blade rotates and when it collides with grass, I want to replace the grass object with the sliced variant.
I tried the particle system with 'die on hit' ticked, and to the blade I added collision with 'kill particles' ticked, but that didn't work.
But even if it worked, I still don't know how to replace them.
Sample video: https://youtu.be/YpSQlPAyW3g

version – Boolean
Some kind of illusion can be done with boolean operation. You can start with Geometry Nodes to create grass object ...

... but final "cut" is boolean operation (grass differenced with Circle object displaced by Radial Texture), that results in glitchy anim (doesn't matter if I use boolean operation inside GN or as modifier).

What solved this is Solidify modifier for grass object, but in cost of viewport playback (1 fps).

Falling parts are particles emitted from Blade object ...

version – Particles
Another illusion can be done with two exactly the same overlapping particle systems.
One with tall grass and hidden blade on plane surface level to kill particles ...

... in combination with second one identical Plane. The only difference is Render as Object with shorted grass model.

This gives you an illusion

Falling cute grass can be faked in the same way like in the first version.

Notes:

Particles works here only because I disabled Gravity
I wanted to use Hair system, but it didnt react on collision object Kill Particles.
Another thing that doesn't work is to use blend texture controlled by another object (that is known issue)


How to set vertex weights using Blender's Python API? Looking at the API docs I found VertexGroup.add(index, weight, type), but It cannot be called in Edit Mode. When I try to call it, I always get:

  RuntimeError: VertexGroup.add(): cannot be called while object is in edit mode.

The buttons in the vertex group list use bpy.ops.objects.vertex_group_assign(), but to work with it you have to manipulate selections, this is not nice to do from a script.

Why I try to use VertexGroup.add() in Edit Mode? My script works this way:

Human weight paint a bone, "Arm_1.L", "Arm_1.L" shares vertices with "Arm_2.L" in this case they share half the vertices (4 bone arm rig, trick to have nice deform in certain movements). When script run, all selected vertices that exist in both groups (Arm_1.L and Arm_2.L) will copy the weights of Arm_1.L into Arm_2.L but inverted. This way, I only need to weight paint "Arm_1.L" and "Arm_3.L", the script will fill the weights for "Arm_2.L".

import bpy

# ensure we are in edit mode
bpy.ops.object.mode_set(mode="EDIT")

# configurable parameters
src_group = "Arm_03.L"
dst_group = "Arm_02.L"

obj = bpy.context.edit_object
src_group_index = obj.vertex_groups[src_group].index
dst_group_index = obj.vertex_groups[dst_group].index

mesh = obj.data
sel_verts = [v for v in mesh.vertices if v.select]
#sel_verts = mesh.vertices

# SEGFAULT in this line
bpy.ops.object.mode_set(mode="OBJECT")

print("Working")

for v in sel_verts:
    v1in = False
    v2in = False
    for g in v.groups:
        if g.group == src_group_index:
            v1in = True
        if g.group == dst_group_index:
            v2in = True
    if v1in and v2in:
        print("True")
        obj.vertex_groups[dst_group].add([v.index], 1.0 - obj.vertex_groups[src_group].weight(v.index), 'REPLACE')

print("Finished")

I made two small changes to your script that might help it work as intended.

I switched to using bmesh to save the selected verts data. I find it a bit more reliable and stable than the built in mesh data.
I saved the vertex indices instead of references to the vertices themselves in the list comprehension. This makes sure the list, which is comprised of simple integers, will persist after you go back to object mode (bmesh vertex references would have been destroyed). You don't need anything except the indices for this script anyway. This could have been what crashed your script, not sure but you'll have to test and let us know.

So here's the updated code [EDIT: the previous code failed because it was impossible to access v.groups once we only saved vertex indices and not vertex references. The script needed to decide if it transfers and inverts a weight for a given vertex. The following is based on the previous idea, with changes from Hatrou Hansou, and works OK]:

import bpy

# ensure we are in edit mode
bpy.ops.object.mode_set(mode="EDIT")

# configurable parameters
src_group = "Arm_03.L"
dst_group = "Arm_02.L"

obj = bpy.context.edit_object
src_group_index = obj.vertex_groups[src_group].index
dst_group_index = obj.vertex_groups[dst_group].index

mesh = obj.data

# Saving vertex indices only, instead of vertex objects in this list
# Copy v.groups.group, do not reference v.groups (unstable)
sel_verts_ig = [[v.index, [g.group for g in v.groups]] for v in mesh.vertices if v.select]

# no more SEGFAULT in this line
bpy.ops.object.mode_set(mode="OBJECT")

print("Working")

for ig in sel_verts_ig:
    v1in = False
    v2in = False
    i = ig[0]
    for g in ig[1]:
        if g == src_group_index:
            v1in = True
        if g == dst_group_index:
            v2in = True
    if v1in and v2in:
        obj.vertex_groups[dst_group].add([i], 1.0 - obj.vertex_groups[src_group].weight(i), 'REPLACE')

print("Finished")


How to add an animated time controlled text effect to the VSE I'm trying to edit videos for my dance group. What I'd like to be able to do is have an overlay that I can set the B.P.M (beats per minute) and I can display a simple metronome + counter over the video.

I notice that there is a text effect in the VSE

Is there any way to hook a callback based on the frame count that can change the text as the video progresses? This might be able to get me what I need.

Progress

I've discovered that I can do

import bpy

def my_handler(scene):
    print("Frame Change", scene.frame_current)

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

and the current frame count is output to the console. Now I would need to calculate and inject some text into the VSE

First real attempt

import bpy

def my_handler(scene):
    print("Frame Change", scene.frame_current)
    ob = bpy.data.objects['TimeCode']
    ob['Text']=scene.frame_current

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

where I have a text effect added to the VSE and defined as

but I get console errors as

  File "C:\Users\bradp\OneDrive\Video\NewStyle
  C\choreo1.blend\Counter", line 7, in my_handler KeyError:
  'bpy_prop_collection[key]: key "TimeCode" not found'

You can use Animation Nodes to do this very easily:

You can do all sort of editing like:

The Frame Rate input is hidden by default, show it like this:


Resize different sized faces to 1 uniform size? I would like to be able to select a group of faces that are all different sizes, and be able to make them all the same size.
Please see the attached image for the my example -

I would like to resize all the highlighted faces to be 1 uniform size (ie. the average size) so that I can then extrude them back to create equal sized indents.
The method needs to resize them based on their current orientation as the surface is not completely flat (intentionally).

Thanks in advance.

You could use Smooth and repeat W -> Smooth -> F6 and adjust Smoothing factor and number of Repeats.

Or a small script - at the end of the script all selected faces will have almost identical area. The orientation and shape are preserved.

import bpy
import bmesh
import math
from math import sqrt

obj = bpy.context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)

face_data = []
area_accum = 0.0
for f in bm.faces:
    if f.select:
        area = f.calc_area()
        if area != 0.0:  # avoid divide by zero
            center = f.calc_center_median_weighted()
            face_data.append((f, area, center))
            area_accum += area

            print(area)

area_average = area_accum / len(face_data)
print("average area is:", area_average)

for f, area, center in face_data:
    rescale = sqrt(area_average / area)
    for l in f.loops:
        v = l.vert
        v.co = ((v.co - center) * rescale) + center

bmesh.update_edit_mesh(me, True)

output:

0.009626750834286213
0.01746169477701187
0.020414138212800026
0.009531363844871521
0.012785278260707855
0.016477763652801514
0.010115167126059532
average_area 0.013773165244076933

# if you ran it a second time all areas are as close as they'll get.
0.013773156329989433
0.013773160986602306
0.013773168437182903
0.013773171231150627
0.01377316378057003
0.013773173093795776
0.013773162849247456

(view this image in a new tab to see the difference in area directly displayed on the polygons)

The above script preserves Shape, but uses a rescale factor to homogenize the Area of all selected Faces. If you need to also make all edge lengths the same while preserving Area and Orientation that's possible too.


How to animate a split/crack in object I wish to animate this model so it splits apart/cracks and each piece falls away from each other once it has fallen onto the scene.

I have also tried to use Cell Fracture, the result is below:

What would the best way to to approach this problem? I don't want the crack to form until it has fallen down into the scene.

you will need to learn more about constraints in blender to do this. i would give a solid answer but im not good at constraints. i only know this because ive used constraints before to controll a metaball with an armature. there are probably lots of online tutorials about these. i also would comment this but i dont have enough reputation.


Is there any way to turn off light contribution from the HDR environment maps in Blender Cycles? I want to turn off any light contribution to the scene by HDR maps. Background texture must be visible but there should be no light contribution to the scene.

You can disable the ray visibility of the environment for everything, except for the camera.


Help with a Custom Planet Texture Basically, I'm making this planet using a material in the node editor. And I've made the basic "continents" on the surface, but I was wondering how I could achieve small detail on the land's surface. Is there a way to edit the details ONLY on land? I'm mainly using noise textures and wave textures plugged into each other's Vector slots.

Here is how I would solve this problem.

I would convert the texture into black and white using a color ramp in the node editor, where the water is black, and the land mass is grey or white (This is because white is the value pops out, black doesn't). You might need to make slight adjustments to the color ramp. (The noise texture in the demonstration should be your final planet texture)

Next, add a mix RGB node into the node editor. Also add a noise texture into the node editor. Plug the noise texture into the bottom of the mix RGB node, and set the top color of the mix RGB node to black. it is recommended to increase the detail and scale in the noise texture.

Last but not least, add a displacement node into the node editor and plug it into the displacement of the material output. Next, plug the mix RGB color into the height of the displacement node. You might need to change the scale of the displacement node. (The strength or "height" of the displacement)

I hope this works if you try it out. There are probably other ways to do this, but this is how I'd personally do it.


Blender running out of memory in renders, but having no problem in previews I am dealing with problem of... Out of memory in cuMemAlloc(&device_pointer, size)
Even though settings are the same in render mode and preview mode I have never encountered this issue in the second one and have it all the time in the first one.
Note I am rendering on gtx 980ti, memory Peak is usually slightly above 4000M.
If there are no fixes and you have no idea where the problem is. I at least would like to save what I see in preview mode.

preview is not the same as rendering..
you can run out of memory buy a heavier GPU card if your out of memory.
or use a renderfarm or split up the work in layer scenes


How do I get the material's base color alpha work as transparency in the shader? How do I get the Principled BSDF shader to display the base color alpha as transparency or without using nodes?

Most of the questions seek to interpret the alpha channel of an image texture as transparent, but my context is simpler: the Base Color of the Material has 0.3 alpha.

Yet, the object is not transparent in either the editor, the render (cycles or evee), but it is actually exported in collada.

Without success, I have tried:

Setting the base color alpha -> does carry out to a collada export, but is not transparent in the editor
Changing the Blend Mode -> does not carry out to a collada export
Changing the viewport display -> only displays as transparent in solid mode

Using nodes I've tried

Setting the transmission value -> doesn't do anything
Changing to Glossy or Glass -> doesn't carry out to collada

I think that's all I tried. I did get it to work in the render, but I do need it to carry out to a collada export.

The transparency of the base color is ignored in the rendering and the editor. Is there a way to display it in the render or the editor like Blender displays the viewport display alpha?

Base color value can be used as a driver of transparency. It is depending on shader if it can read and interpret that information. Principled shader is one which can. Diffuse shader won't be able to do it without mixing it with Transparent shader and driving Mix shader factor.

If you open color picker of Principled BSDF and set its alpha to 0 and color to white                  you will get only white material because shader renders it as basic diffuse surface by default.

If you set Transmission value of the shader to 1 allowing it to happen shader will use alpha channel and will make your material as allowing light to come through it.

However at this point it will refract light because by default shader's IOR value is set to 1.45 (common case of usage for interface between air and glass). Set that to 1.00 so no refraction happens and light comes straight.

Roughness value can be also taken down to 0 so it doesn't try to create rough surface. Object will still cast shadow of course; you will need to add more complex node setup or to disable shadow in material setitngs.


Creating a plane in Edit Mode Does someone know how to do this?

I read a comment saying “Create a plane in Edit Mode ALT + M Center. Activate magnet + vertex +closest. Extrude dot .” but I'm confused because I'm a newbie

The easiest way is to activate the selection of edges, select 2 or more edges where you want to fill with a face and press

CTRL + E
select bridge edge loop

You can also do this by selecting edges and filling by pressing F


Mesh is deforming in Pose mode without moving the bones For some reason when I switch from Rest Mode to Pose Mose the mesh of the head "squishes" without the bones moving.

Does anyone know why this is happening? I've tried ALT+R,S,G and Clear All Transforms and got no change.
The file can be located here: https://drive.google.com/file/d/1o12SfNnrZHMg9C7y0xWyL0AtiMrA0x1C/view?usp=sharing
Thank you!

The bone called DEF-spine.003 is supposed to stretch towards the bone called tweak_spine.004, but as you can see it doesn't completely:

It's because the Stretch Original Length value has been changed... To come back to the default one, click on the X button:


How can I apply IK rigging with a different kind of rig I've gone through a lot of IK rigging tutorials on YT, however, all those video are only compatible when the bones are close to each other,
However I imported a model from SFM into Blender, and that model uses a different rigging style, I could not apply IK to this model because of this different style

The original model rig looks like this :

But I could only add IK after I changed the rig to look like this

If there is a way to add IK to the original rig, I'd be much obliged if someone would tell me how.

The idea is to consider your actual rig as the "deforming bones rig" and build another rig (which can have IK, constraints, drivers) and use it as "machinary rig": The MACH rig will have the joints in the exact same place of the DEF rig, but different bones orientation. Then you will put a rotation constraint (with local space-local space settings) in every joint of the DEF rig, pointing to the corrispondent bone of the MECH rig.

Set all MECH bones as "non deforming" and put them in a different layer of the armature.

You will use the MECH rig to program the animation and the DEF rig will follow exactly.

Then you can select the DEF bones layer, select all bones and - in pose mode - go to "pose - animation - bake action", checking "only selected" and "visual keys".

In this way you can export your animation that will act on you original rig, without any IK or constraint (expecially useful if you want to export to another software).

In this example I'm building a simple IK control for a leg;

This is the original rig:

Then I add 3 MACH bones with an IK chain of 2 bones, pointing to IK control bone as target:

The Upper Leg bone will copy the rot of the IK Upper, the lower Leg copies Rot of IK Lower.

In this example I've left the original foot bone without constraints and unchecking its "inherit rotation" option.

Consider that - using this tecnique - it's easy to control your original rig with a Rigify rig, with all its great features of IK-FK switching and tip toe foot controllers, just use the snap tools to build the metarig in the exact locations of your original DEF rig.

It's more complicated to explain than to build, once you get the idea everything works fine!


How do you select the inside vertices of an object faster? I've been seeing some tutorials and they all make two mouse clicks and somehow manage to get a clean selection of the inside vertices with no use of Alt or the B key which is what I usually have to do...asking for a friend.

You could select the element in the center(face or vertex) and hit Ctrl++ multiple times to grow selection:

You can also Alt+click to select some loop and then use "Select Loop Inner-Region" function that you can find in the search menu(Space/F3(2.8)) or in the Select menu in the 3D View header:


Modeling Offset Issues I was running through a tutorial I found and for this tutorial, the bone that is supposed to rotate the entire foot is wrong. The instructor cleared the parent for the bone that protrudes through the heel and reconnects them using the keep offset option.

Is there a way to reverse this?
Thank you!

The difference between a parented bone with and without offset is that when using keep offset the two bones don't join together, they just follow the same rules as object parenting.

In the bone properties this is represented by the connected property.

Enabling or disabling the Connected property is the difference between choosing connected or keep offset when setting a parent.

Simply enabling connected will rejoin the two bones as if you had chosen connected to start with.

Unfortunately when enabling connected, the base of the child bone snaps to the parent bone and there is no record of the location used before enabling connected. So if you enable connected, unless you undo at the time you will need to manually place the end of the bone back at the position you want it.


How to link/append with a Python script? I want to append an element from another Blend file by a script. I found the Blender operator bpy.ops.wm.append which should do what I want. However, the API documentation is a bit unclear:

filepath  – File Path, Path to file
directory – Directory, Directory of the file
filename  – File Name, Name of the file

So what exactly is expected here?

After trying out the interface for a while, i finally found the values that seem to satisfy the API. Here is a code snippet:

blendfile = "D:/path/to/the/repository.blend"
section   = "\\Action\\"
object    = "myaction"

filepath  = blendfile + section + object
directory = blendfile + section
filename  = object

bpy.ops.wm.append(
    filepath=filepath,
    filename=filename,
    directory=directory)

Hint: The directroy string must be terminated with a trailing "\\". If you do not do that, then you always get an error "not a library". I also found that you only need to supply filename and directory, which makes some sense:

bpy.ops.wm.append(filename=filename, directory=directory) # works

However this does not work, no idea why:

bpy.ops.wm.append(filepath=filepath) # does not work (why that?)


Objects don't show up in the screen layout I have several screen layouts that I have defined:  default, animation, UV, etc.

In some of them, after working in the layout for some time, some of my objects disappear from the scene, and won't show even if I unhide them.  They still show up in other screen layouts and in my outliner.  I assume I'm hitting a button or something, and it's not random, but I haven't been able to figure out what I'm pressing.  I have been able to get around this by deleting my screen layouts and remaking them, but I'm getting tired of doing this.  The objects are all on the same layer, and they won't show up even when I render.

Does anyone know what's happening?

you might of hit H and they are hidden. check this by going to the outliner and seeing if there is a eye beside the object if not click where the eye should be or press alt h in 3d view. also check that the two other icons are visible in the outliner.


How to set up a camera in a pit? I am setting up a first-person-shooting scene, where I want to place a camera inside a pit on the ground.

Ideally, at a proper height from the pit bottom, the camera is expected to capture the pit wall in half of its view and outside world in the other half such that the camera peeks at the world from inside the pit.

However, I'm having a hard time achieving this, although I've physically placed the camera inside the pit.

By tuning focal length and near clipping (values of which are unconstrained and free to vary in my case), I get something like this

The pit appears in front of the camera.

How can I actually make the camera view be half pit wall and half the world, just as what our eyes see if we are squatting inside the pit?

My minimal working example Blender file:

All you need to do is set your near clipping distance to 0

You should also consider changing the Unit Scale so that your objects are of reasonable relative size.  I increased it from 0.001 to 5:


Saving Materials to be a texture I'm still a bit new to blender and I've just finished my very first Spaceship model. Once I finished my model, I started SELECTING CERTAIN FACES and assigning them to a CERTAIN MATERIALS that I created in blender. Now since I like the final look of my Materials added to certain faces of the model, how do I save them? I want to be able to save them as a texture (if possible), so when I send this model to someone or sell it, it'll have the diffuse, and AO textures with it. Also when I save these materials to be a texture, will they go to those assigned faces that I selected before?

Thanks

In the first place you have to make a proper UV map of your object, this is a very basic and well known practice which will guarantee to you that whenever you open your model again (in every almost format) the textures will cover the correct faces of it.

The second thing that you have to take a look is Baking Textures (both in cycles and blender internal the procedure is similar but not the same).

After creating your UV maps and setting your material you will bake the render passes you need (you may not need baking shadows for instance) in separate files or merge them (one beauty pass) all of them in one single file.

These two steps are what are you mainly looking for, you will find a bunch of tutorials on youtube, on how to create UV maps (one or multiple - depending your needs after you understand the concept) and then baking the different render passes in textures.

The "Bake" panel is a place to start from


How To Create a Matte Car Paint Material? This is something that has been irking me for a while, as I've been working on a car project. I'm trying to create a paint (in cycles) similar to the the material in this image:

The problem is, whenever I try to make it, it always comes out looking to diffused or too sharp.

Here's my node setup:

And here's the render:

I'm not completely sure what you are going after, but for an image like the top one lighting will be very important.

I don't have car model to demonstrate, but hopefully this gives you some ideas:

Material nodes:

If you want that paint fleck look that a lot of car paints have, try using a voronoi texture to modify the normals of a glossy shader underneath the main surface:


Is there a way to limit the particle system? so that the grass particles don't go through the wall of my building, I used a boolean modifier to get rid of most of it inside the building, but there is still a little left.

Use weight paint to limit grass particles near the wall of your building.

Weight Paint mode.  Hair is yellow. Red to Blue gradient. Red areas specify the most hair. Blue areas specify no hair. Gradient between Red and Blue specify values between the two extremes. The Yellow arrow in the Vertex Groups Panel of the Particle Tab shows the vertex groups selected for Density and Length.

Meshes with hair/emission particles can use  weights produced by  [weight paint] mode. Then  hair will be produced in certain areas.  This produces vertex groups. The particle system [density under vertex groups] can respect the vertex group. Some areas can have hair or grass.  Other areas can be excluded from grass.

Your model must have enough vertex density for fine detail.  Please click on image above to see higher resolution closeup of the image. The vertex vertex denisty will be more readable.

For example.  Eyelash areas on a face can be weight painted.

So you could weight paint your mesh and exclude areas too near the building wall.  If you have only a still photo image and not a moving image you can be less precise.

Perhaps related

How do I make a section of hair a different color?

This is not a tutorial on weight painting .. yet other questions here at BSE and the video web site that  has a name that rhymes with newnube cab be searched.


Can't use Automatic weights I want to rig and use automatic weights to a robot.

The problem is that when I try to choose Armature Deform with automatic weights, I get error:

Bone Heat weighting: failed to find solution for one or more bones

I tried searching for a solution to this problem and was informed that I should make sure my mesh doesn't have doubles and also make sure to join together all the objects. I have done that but still get this problem.

I would appreciate if anyone could help me with this problem.

Automatic weight, which can fail for a lot of reasons in every non-manifold mesh, is not suitable for robot-like movements, because it leads to stretch the body parts with an "organic" feel, that is not robotic at all. When parenting (Ctrl P) use the option "with empty groups" instead. Then select all vertices of a rigid body part (i.e. the forearm), select the appropriate vertex group and click "assign". Repeat for every bone of the rig.


player.applyForce Not Working with Character Physics [BGE Python] EDIT (question is still valid though)
I discovered that the issue was not the code, it was the object. I had Character physics on my cube, and it needed to be Dynamic.

Still, I would like to know how to fix the issue, since I prefer Character physics.

So I'm going through a basic tutorial in which I need to apply forward momentum to a cube. Here's my Python script.

import bge

def main():

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

# KEY EVENTS
key = bge.logic.keyboard
activekey = bge.logic.KX_INPUT_ACTIVE
releasedkey = bge.logic.KX_INPUT_JUST_RELEASED
_w = key.events[bge.events.WKEY]
_a = key.events[bge.events.AKEY]
_s = key.events[bge.events.SKEY]
_d = key.events[bge.events.DKEY]
_shft = key.events[bge.events.LEFTSHIFTKEY]
w = activekey == _w
a = activekey == _a
s = activekey == _s
d = activekey == _d
shft = activekey == _shft
wrel = releasedkey == _w
arel = releasedkey == _a
srel = releasedkey == _s
drel = releasedkey == _d
spd = .1
mmt = 100

if shft:
    spd = spd*2
if w:
    player.applyMovement((0, spd, 0), True)
if wrel:
        player.applyForce((10000,0,0), True)
if s:
    player.applyMovement((0, -spd, 0), True)
if a:
    player.applyMovement((-spd, 0, 0), True)
if d:
    player.applyMovement((spd, 0, 0), True)

main()

I'm focusing on this line:

if wrel:
    player.applyForce((10000, 0, 0), True)

Whenever I play this, my cube moves, but then stops instantly. I tested the wrel variable to make sure it worked by:

A. using a print function and checking the command line (successful)
B. using an applyMovement function (successful)

But when I change applyMovement to applyForce, it yields nothing.

What am I doing wrong?

I tested your script and found that character physics don`t have mass attribute as rigid body and dynamic does, and to apply force the object need mass attribute to work. So you will need to work with rigid body or dynamic.


Create 3D world map from .svg file So I'm trying to create a flat 3D world map from a .svg file which I grabbed from this site: https://www.vecteezy.com/vector-art/169563-vector-3d-global-world-map

I've imported it to Blender and did some research on how to create a 3D object from this by filling with shape. However, it does not fill all the countries only a bit on the top and I am wondering what's wrong?

This is how it looks (when the "curve" layer is not seen, note there are two layers "curve" and "curve.001" if you try this yourself):

I'm also wondering if it would be possible to create each country into it's own 3D object?

It's because a huge amount of self-intersections:

and lots of vertex(100 thousand). So you need to simplify this map, or maybe, find a map that less complex?

So, to manage this task, I use Inkscape, as a svg editor.

In Inkscape go through groups by doble-clicking on map while status bar will say, that you selected the curve.
Next - simplify curve Ctrl + L or in menu Curve
Next, beat a self-intersections. Break apart curve by Shift +  Ctrl +K (menu Object) and Boolean union  Ctrl + +  (menu Object)
Finally, export in blender. After operations in Inkscape, object still buggy:

but in my case, there is only 3 places with intersections, that I need to fix:

Just move one vertex a little bit:

Or delete:

And how to find those dots:

Search for very top point where model starts to go wrong.


Dynamically change the bl_label for an operator I have an operator, attached to a button. The button creates a tower of cubes depending on 3 input dimensions. What I would like to do is dynamically change the text on the button so that it tells me how many cubes you're about to create, before you create them.

When I run the script, it initialises the button to the correct number, but the number doesn't change when I change the input conditions. The only way to do that at the moment is to re-run the script. I would appreciate any help finding a better solution, here's a code snippet so you can understand what I mean a bit better:

# operator for pressing the button
class Button(Operator):

button_text = bpy.context.scene.my_tool.cube_number

bl_idname = "object.simple_operator"
bl_label = str(button_text)

please check this code:

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

bl_info = {
 "name": "test properties",
 "author": "Diego Quevedo ( http://doshape.com/ )",
 "version": (1, 0),
 "blender": (2, 7 , 3),
 "location": "View3D > EditMode > ToolShelf",
 "description": "test properties ",
 "warning": "",
 "wiki_url": "",
 "tracker_url": "",
 "category": "Mesh"}

import bpy, sys, math
from bpy.props import (StringProperty,
                       BoolProperty,
                       IntProperty,
                       FloatProperty,
                       FloatVectorProperty,
                       EnumProperty,
                       PointerProperty,
                       )
from bpy.types import (Panel,
                       Operator,
                       AddonPreferences,
                       PropertyGroup,
                       )

class testOperador(bpy.types.Operator):

    bl_idname = 'ops.test'
    bl_label = 'test'
    bl_description  = ""
    bl_options = {'REGISTER', 'UNDO'}

    test1 = bpy.props.BoolProperty(
        name="test_properties after execution",
        default= False
    )

    def main(self, context):

        print("hello")

    @classmethod
    def poll(self, context):
        obj = context.active_object
        return all([obj is not None])

    def execute(self, context):

        self.main(context)
        return {'FINISHED'}

class MySettings(PropertyGroup):

    x_size = FloatProperty(
        name = "x size",
        description = "A float property",
        default = 23.7,
        min = 0.01,
        max = sys.float_info.max
        )

    test = bpy.props.BoolProperty(
        name="test",
        default= False
    )

    vertices = bpy.props.BoolProperty(
        name="vertices",
        default= True
    )

class UV_OT_my_panel(Panel):

    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"
    bl_label = "test"

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

        split = layout.split()
        col = split.column()

        a= bpy.context.scene.my_tool.x_size

        layout.prop(mytool, "x_size", text="x-size")
        col.operator(testOperador.bl_idname, text=str(a), icon="COPYDOWN")

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

        split = layout.split()
        col = split.column()

        b = bpy.context.scene.my_tool.test

        row = col.row(align=True)
        row.prop(mytool, "test")

        if b:
            col.operator(testOperador.bl_idname, text="test1", icon="COPYDOWN")
        else:
            col.operator(testOperador.bl_idname, text="test2", icon="COPYDOWN")

def register():
    bpy.utils.register_module(__name__)
    bpy.types.Scene.my_tool = PointerProperty(type=MySettings)

def unregister():
    bpy.utils.unregister_module(__name__)
    del bpy.types.Scene.my_tool

if __name__ == "__main__":
    register()


How to access data related to individual particles? I would like to create simple drivers to manipulate individual data points for things like Particles and Array Modifiers.

Just as an example, when I create a particle system, if I create a driver for the Size parameter, it changes the size of all the particles simultaneously (as it should).  But I would instead like to access the size for each individual particle.

For something like an array modifier, I would like to access the data paths for each instance.  For example, add a randomized driver to create different iterations of the original mesh.

Are either of these examples possible?

As Sambler said, Animation Nodes is your best option. Here are some examples:

Controlling the size of individual particles based on time (They get bigger as time passes):

Controlling the rotation of individual particles based on a random vector.

Wiggling the size of instances cube:


Texture goes strange when baked I'm having a very strange problem in blender (I'm aware that its probably me that is the problem, not blender as I am a newbie but anyway) I have a simple character and when I UV unwrap it, there are some weird lines that occur (I think they are the eyes):

When I bake the texture it looks like this:

When I have all the different textures applied, the body looks fine, but as soon as I get rid of those textures and apply the baked one, there is a strange patch on the lower back, which I am assuming is to do with the strange unwrap.

Does anyone have any tips on how to fix this? thanks :)

Ok so I solved it in the end. It would seem that it was because of some internal faces which were located near the eyes. I deleted those and rebaked and now it works :D


Parenting Mesh with Bone So I was watching this tutorial on how to make a lightsaber (https://www.youtube.com/watch?v=xxMI4aT4FQQ), and at time 16:12, he asks to parent the bone and the mesh, like he says, I hold shift and then I select the mesh, then the bone, and then press ctrl+p to parent, I then press parent with envelope weights, like he said... I do that, then i play it,and then only the bottom is moving and pivoting and following with the motion tracking... Could someone help please?

Select "bone" instead of parenting it with "envelope weights"


Script calculated multiple times on frame I have a simple script like this:
import bpy
frame = 0

def tester(scene):
    global frame
    frame = scene.frame_current
    print(frame)

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

It should print out the current frame. If I just play the animation, works as expected, but when I start rendering it gives back multiple numbers on each frame.
(I'm only using this script to demonstrate, the problem is occurring in a more complex script. But the anomaly is the same.)
I'm getting results during rendering like this:
1
0
1
1
Saved: 'C:\......'
2
1
2
2
Saved: 'C:\......'
3
2
3
3
Saved: 'C:\......'

and so on...
Any guess why and how can I prevent this from happening? (I'm trying to insert an if statement that is prevening the recalculation of an already calculated frame, but this solution is way more hacky than it should be...)

Clean the handlers.
with no handlers appended at all, running question script will print the frame once.
There is only one function assigned
>>> for f in bpy.app.handlers.frame_change_pre:
...     f.__name__, f.__module__
...
('tester', '__main__')

running question script three more times
>>> for f in bpy.app.handlers.frame_change_pre:
...     f.__name__, f.__module__
...
('tester', '__main__')
('tester', '__main__')
('tester', '__main__')
('tester', '__main__')

will see frame printed 4 times. (One assumes you made an edit to get the -1)
Clear the handler.
Can clear all the functions assigned to a hander via
bpy.app.handlers.frame_change_pre.clear()

to remove all the methods from each time you run script above.
Or iterate over appended funcions and remove those where f.__name__ == "tester" or by module if testing in text editor (__name__ == "__main__")
When a handler is assigned a method via an addon, it can be appended in the register and removed in the unregister.  The namespace of the addon ensures its the same method both times  my_addon.foo_function  whereas when run from main thread "__main__.foo_function" is not seen as the same.
Example in console of removing any frame change pre handler function added via main thread.
>>> fs2remove = [f for f in bpy.app.handlers.frame_change_pre
...     if f.__module__ == "__main__"]

>>> fs2remove
[<function tester at 0x7ffac5165ca0>, <function tester at 0x7ffac51659d0>, <function tester at 0x7ffac5165d30>, <function tester at 0x7ffac5165550>, <function tester at 0x7ffac5165700>]
>>> while fs2remove:
...     bpy.app.handlers.frame_change_pre.remove(fs2remove.pop())
...
>>> bpy.app.handlers.frame_change_pre[:]
[]


Masking for sculpting through edit mode When I am sculpting in dynamic topology I can hide part of my mesh, and it not only works as a 100% mask, but it also hides this part of mesh in dynatopo as well. I find it extremely useful when I sculpt.

Is it possible to achieve something similar with multirez? I would like to be able to achieve masking either through vertex weights or selection. In many cases it would give more precise mask than drawing it in sculpting mode.

The short answer is no.

While in edit mode you can hide individual vertices, which also remain hidden in sculpt mode. Dynamic topology respects these hidden vertices as it is working directly with the mesh you have partly hidden.

The multires modifier works differently as it creates new vertices that are stored within the modifier, it isn't changing the existing mesh, therefore the multires doesn't hide vertices generated around the original vertices you have hidden.

When sculpting you have several options to adjust visibility of your mesh.

AltB to make only a section of your model visible
H to hide sections of you mesh
ShiftH to unhide sections of your mesh
Use a Mask brush M to paint out parts that you don't want to sculpt on
Hide parts that have been masked out with mask brush Hide/Mask->Hide Masked

Using dynamic topology or multires modifier has no effect on these methods, they are always available.


Ceiling brick texture is distorted I'm triyng to scale a brick texture for a ceiling.
It seems that the texture is stretched so I tried to fix it with the mapping Node, but that doesn't fix the problem. I also tried to change the UV and the mesh, but I can't make the bricks come up.

The roof texture is stretched, but the floor texture is fine.
Here is what Im triyng to achieve:

Here is the .blend file

Thanks

You UV map is distorted.
Simply unwrap your roof again and it will work.

Apply scale and rotation of your roof (Object > Apply > Rotation & Scale)
Go UV > Smart UV Project > Conformal
Use Mapping node to scale and rotate the texture


What causes rotating objects to 'slip'? This sounds like it should be simple but I've googled and looked through SE questions but can't find a good solution to the following problem. I have a shaft with a keyseat machined into it, a key and a geometrically correct involute gear. I want this as true to life as I can, I want the shaft to rotate the key which then transmits its power to the gear using physics. After about four rotations, it looks as though the gear has rotated a little more than the shaft. If anything I would have expected the opposite. This is what I have:

1) a cylindrical shaft with a square keyseat (using a rectangular prism/boolen subtraction)

2) a key in the keyseat (just a rectangular prism parented to the shaft)

3) a complex geometrically correct involute gear (constructed using an XYZ surface to calculate the gear faces consisting of about 3000 vertices - the least number I could make it).

4) the gear and the shaft have rigid body collision settings set to shape:mesh, source:base, friction:1.000, margin: 0.040. It has rigid body dynamics set to damping translation: 1.000, damping rotation:0.000

5) the shaft has the same settings except for surface response(friction):1.000

I have tried changing the rotation and damping and found that if I turn on collision margin it makes things a lot worse. Could anyone help point me in the right direction please?

The Rigid Body World default values are OK for crude approximations of physics without much computational overhead but can be tweaked to produce more accuracy. In particular, try adjusting the following settings :

Increasing Steps Per Second should give a better simulation as each simulated step will be smaller and so more accurate. Similarly, increasing the number of Iterations gives it more chance to settle on a stable solution. Enabling Split Impulse should stop objects bouncing apart at unexpected velocities if/when the simulation results in them overlapping.
Try significantly increasing the number of Steps and Iterations and see if that improves your simulation and also try with Split Impulse enabled and disabled. Once you've got acceptable results you can try gradually reducing them to get a good balance between realism and efficiency.


FlipFluids & Ocean modifier as displacement. Baked frames in 3D view show all movements but rendered animation not. Manual keyframe ok. Any solution? I have created a FlipFluids simulation in Blender 2.81 ( 2019-11-25 21:45) and added an Ocean modifier in displacement mode to the fluid_surface.
Then I have baked the complete sim from within FlipFluids.

When I move from keyframe to keyframe in the default timeline everything is moving as desired in the default 3D window:

Ocean modifier waves, FlipFluids waves & wake, flags, radars...

When I render the complete animation everything EXCEPT the ocean modifier waves are moving.
The ocean modifier waves remain static but the FLIPFLUIDS waves move on that surface.

I like to add that ALL modifiers and elements ARE enabled for renderings.
D-NOISE: AI Denoiser is on (switching denoiser off did not help). I run a Win 10 Pro, HP Z800 with dual Xeons, 72 GB of vRAM and a GTX 1060

If I render & save the frames manually individually by hand the ocean surface moves! But thats not something I really like to have to do on several hundred frames

As its working when rendering&saving each frame manually as image (Png) and its not giving the same result when saving out the same images (Png) when I hit render animation, I do suppose this might be a bug in 2.81.

Does anyone have an idea how to fix this, preferably without rebaking?

Turned out to be a bug in Blender 2.81.
The team of Blender will be fixing it:

https://developer.blender.org/T71908


How to fade an object evenly into transparency to give it distance look in blender 2.82 I'm trying to achieve this depth/distance look effect, where part of the object that is closest to the camera will be solid but farther the object is from the camera I need it to fade evenly into the distance. I'm going for like a UFO look. I can easily do this effect in 2.79 with the mist setting and render it in transparent but it's different in blender 2.82. What is the best option to achieve this effect in blender 2.82?

UPDATE, I figured out the look I'm going for, here is the image and my nodes setup but my new question is, is there any way of not using the Depth pass because the Depth pass is causing sharp and low resolution edge to my object.

If it's a still image you could  make the material fade to transparent from the front to the back of the object using the material itself (I realize this would not work if the objects are animated and distance to camera is controlling transparency). Not sure what your use case is.


Block with rounded edges in python I can easily make a primitive box with python code. But I would like to make the edges parallel to the z-axis rounded with a given radius. Sort of like the picture below but without all the subdivision. (that was just me being bad at Blender). Does anyone know a way to script such an object with specified height, width depth and corner radius?

EDIT: I found this link, but it is not easily translated to python.
https://www.loekvandenouweland.com/content/round-corners-only-on-x-y-plane-in-blender.html

BMesh script.

"Spam tin" created with script below, in edit mode. Note has ngon top and bottom.
The bmesh equivalent of example linked in question using bpy.ops.mesh.bevel(...)

which is pretty much the bmesh.ops.bevel equivalent.
Select the four vertical edges How to select with python code only vertical edges from cube? and pass into operator.
Test script, run in OBJECT mode.
import bpy
import bmesh
from mathutils import Vector
context = bpy.context

corner_radius = 0.2 # 0.5 > cylinder
corner_segments = 5
width, depth, height = (1.5, 1, 2)

bpy.ops.mesh.primitive_cube_add()
ob = context.object
me = ob.data
bm = bmesh.new()
bm.from_mesh(me)

bm.edges.ensure_lookup_table()
# scale first to keep corners round
bmesh.ops.scale(
        bm,
        verts=bm.verts,
        vec=(width, depth, height),
        )
bmesh.ops.bevel(
        bm,
        geom=[bm.edges[i] for i in (1, 3, 6, 9)],
        loop_slide=True,
        affect='EDGES',
        profile=0.5, # round
        offset=corner_radius * 2,
        segments=corner_segments,
        )

bm.to_mesh(me)


Working on a slice & mirror modifier combo script (a la 3ds max). Unable to stack modifiers. [Beginner] I've made a crude script to combine Boolean and Mirror modifiers and have the whole thing controlled by an Empty. The goal was to basically have a 3dsMax-like modifier that has a slice plane that can be rotated. This is useful for architectural corner pieces etc. The script works in general, but I'm unable to stack the modifiers. I'd like to be able to use it three or four times in a row on top of each other. I'm suspecting the way I am naming the objects starts to conflict when I try to use the script twice in a row. Could anyone have a look and recommend how to build this script so it would be stackable? Any other notes welcome too. If you wanna add a shortcut just install the add-on and use halfbool.mirror2 as the identifier. Thanks.

bl_info = {
    "name": "Half Bool Mirror 2",
    "category": "Object",
}

import bpy

class HalfBoolMirror2(bpy.types.Operator):
    """Half Bool Mirror WIP"""      # blender will use this as a tooltip for menu items and buttons.
    bl_idname = "halfbool.mirror2"        # unique identifier for buttons and menu items to reference.
    bl_label = "Half Bool Mirror 2"         # display name in the interface.
    bl_options = {'REGISTER', 'UNDO'}  # enable undo for the operator.

    def execute(self, context):        # execute() is called by blender when running the operator.

        # The original script

        mirobj = bpy.context.active_object
        bpy.ops.mesh.primitive_plane_add(radius=1000, view_align=False, enter_editmode=False, rotation=(1.5708, 0, 0))
        bpy.ops.object.transform_apply(location=False, rotation=True, scale=False)
        bpy.context.object.draw_type = 'BOUNDS'
        boolbox = bpy.context.active_object
        bpy.ops.object.empty_add(type='CIRCLE', radius=1, view_align=False)
        bpy.context.object.show_x_ray = True
        bpy.context.object.empty_draw_size = 4
        handleobj = bpy.context.active_object
        bpy.ops.object.select_all(action='DESELECT')
        boolbox.select = True
        handleobj.select = True
        bpy.context.scene.objects.active = handleobj
        bpy.ops.object.parent_set(type='OBJECT', keep_transform=False)
        mirobj.select = True
        bpy.context.scene.objects.active = mirobj

        bpy.ops.object.modifier_add(type='BOOLEAN')
        bpy.context.object.modifiers["Boolean"].operation = 'DIFFERENCE'
        bpy.context.object.modifiers["Boolean"].solver = 'CARVE'
        bpy.context.object.modifiers["Boolean"].object = boolbox

        bpy.ops.object.modifier_add(type='MIRROR')
        bpy.context.object.modifiers["Mirror"].use_x = False
        bpy.context.object.modifiers["Mirror"].use_y = True
        bpy.context.object.modifiers["Mirror"].use_z = False
        bpy.context.object.modifiers["Mirror"].mirror_object = handleobj
        bpy.ops.object.select_all(action='DESELECT')
        handleobj.select = True
        bpy.context.scene.objects.active = handleobj

        return {'FINISHED'}            # this lets blender know the operator finished successfully.

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

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

# This allows you to run the script directly from blenders text editor
# to test the addon without having to install it.

if __name__ == "__main__":
    register()

When you add the second boolean modifier, it is automatically named as Boolean.001, but then you change the properties of the first one you added, named "Boolean", by using bpy.context.object.modifiers["Boolean"].

Instead, add the modifiers like this:

    boolean_modifier = mirobj.modifiers.new('Boolean', 'BOOLEAN')

The first parameters is the name of the new modifier, the second is the type: bpy.types.ObjectModifiers

And then change the properties like this:

    boolean_modifier.operation = 'DIFFERENCE'
    boolean_modifier.solver = 'CARVE'
    etc...

This way, even if it's automatically renamed to Boolean.001, you will be editing the properties of the modifier you just added.
Same for the mirror modifier.


how i add a world background with color and with a HDRI sky? i want to have a world bg with a grey or black color for example, but with a hdri sky lighting only, which means i only want to preview the bg color but not the image texture from the hdri, but i want to keep the lighting of that hdri... i dont want to use lamps instead which could be more easier but its not want i want...there is an option called transparent that appears in the film option in render tab, but it gets transparent obviously and it keeps the lighting, but i want to add color to it instead of transparency.

Ok here's a node setup in the world material that may solve your problem.


Translucent vinyl plastic material I am trying to make a material similar to this unanswered post: Creating a colored translucent material for Plastic/PVC roll

I tried the suggested methods and was unsatisfied with the results. I am most interested in recreating the effect that occurs at the edges of the material.

Below are two screenshots of my current setup that is giving the 'best' results, but is unreal as I use two materials for the one object.

Top left in the image editor is my reference image of the desired material look.
Bottom left is my super basic node set ups for the face material. the other image shows my edge material.
Right is the plastic strip rotated 45º to show the edges backlit by a spot light 50W.
I placed a Suzanne behind to test the material transparency.
I am using a HDRi environment texture and a power 1 sun lamp to also light the scene.

Does anyone have any ideas how to make the material look more like the reference image? Ideally, using one material? I can use either eevee or cycles for this project.

This is the setup I use for glasses, producing results such as the one above. It works by rendering the material as regular glass, except for lightrays that bounce too much (that is, more than three times), in which case it gets rendered as a simple green, transparent material. The Volume Absorption node is there to make sure the effect still happens when the sheet of glass is viewed from the side.

You can adjust it to your own needs by substituting the Glass BSDF node for the one(s) you've so far been using and tweaking the colours to your liking.

You can check this and many other tricks for rendering glass-like materials in Vilem Duha's Blender conference, Everything you wanted to know about rendering Glass not only with Cycles.


My mesh stretches and warps whenever I pose it? This image pretty much sums it up. When ever I try to pose the head, legs, arms, etc. the model warps like this. Oddly, the mesh only warps in this direction, front to back. I hit G or R to pose it and it does this on both.
I'm pretty new to blender.

You've probably scaled your armature on the Z axis in Object mode, so apply its scale in Object mode (or you may have stretched your bones in Pose mode but probably not).
You probably wanted to scale your character on the Z axis but it's not the way to do it, you need to select your mesh and scale it in Edit mode to do so, then change the bones size in Edit mode as well.


Can mesh analysis colours be applied to face material colour The mesh analysis overhang tool gives me a coloured heatmap in edit mode. Is there any way to use these colours and apply them to the face material colours, so they are visible in object mode? perhaps using a python script.

I am using the 3d print toolbox at the moment to colour my faces, yet the mesh analysis tools gives a clearer indication.

Here is a comparison. 3d print toolbox coloured in object mode and mesh analysis in edit mode.

It is currently not easy to get the data out of the mesh analysis tool via Python. The data is not available in Python. But there are possibilities.

Solution: implement overhang in python

Implement the mesh overhang functionality yourself. The C-code is located in source/blender/blenkernel/intern#statvis_calc_overhang and is quite easy to implement.

Calculate the face normals.
Determine angle between the face normal and the chosen axis (normalized dot product).
Use a color ramp between the angle to get a nice coloring.

Solution: change the API

Ask the developers or patch blender yourself to change the API so that the data can be read. The data is currently stored in the edit_bmesh so it might become part of the bmesh api. Personally I would suggest a more cleaner approach outside bmesh

Solution: Use as_pointer and interp the internal structures of Blender

Use as_pointer to get a reference to the internal DNA structure of the mesh and use ctypes to read the data from the internal structures. But note that changes in ctypes might make your code invalid.


Shrinkwrap to project in the direction of view I require some help with the shrinkwrap modifier to project in the direction of "VIEW". Currently I have a few choices. positive, negative, X,Y,Z.

Is there a script for this.. kindly appreciate any help. In the photo you can see that it projects in the z direction.

This I use to block out undercuts.

The Project directions are in local coordinates rather than global (world) axes. Therefore, to change the direction of the projection you can simply rotate the object such that it faces in the direction you want the projection to be in.

In order for it to always point towards the camera you can simply add a Constraint to Track To the camera.


Blender Displace Modifier not importing into Unity I created an animation using the Displace Modifier. There is a keyframe for the strength.

This animation does not show up when I import it into Unity (as a .fbx and as a .blend). Does Unity not support this kind of animation?

Thanks!

Yup, you won't be able to export that. There's no support for vertex animation/morph targets in Unity. You can only import bone-based animated objects.


Deform the mesh by armature located aside the mesh Can i deform the mesh by armature located aside the mesh?
I spent several experiments with origin but i noticed that it does not affect the way that I expected. Mesh follow up the bone but relative to the center of selected bone. If push the mesh to armature it's seems right. But i need make they apart

Not exactly what you asked, but this could achieve a similar effect: set two identical armatures, one inside the object performing the deform, one "external"  (aside) driving the deform, each internal bone connected to its external peer through copy rotation constraints...

example file:


I have to double every command? (V 2.76) Recently, my PC crashed after I upgraded from Windows 7 to 10. I was able to restore my PC back to Windows 7, but since then I have had an issue with having to repeat everything within Blender. A perfect example would be with the text tool. If I add a text object that should say "Blender", when I'm done typing as such, I have an end result of "Blende". The same goes for loopcuts. I have to stop one short, or I have one too many. However, and this is the weird part, if I use the screencast keys addon, problem solved. No need to repeat anything, everything is as it should be. I have refreshed defaults, and gone so far as uninstalling and reinstalling Blender. Any ideas?

The loop cut example sounds like normal behavior, so I don't know what you're experiencing. If you could upload a video demonstrating the problem, maybe that could help us diagnose.

Until then, try refreshing blender with factory defaults. You can do this by removing your user prefs. By default, these are stored in:

Windows

  C:\Users\%USER%\AppData\Roaming\Blender Foundation\Blender\%VERSION%\config\

Linux

  ~/.config/blender/%VERSION%/config/

Remove or rename config folder and blender should start up with factory defaults.

A simpler way is to start blender from the terminal (CMD) with the --factory-startup flag to bypass any and all config files (there are multiple locations blender searches for user prefs).

Windows blender --factory-startup

Linux ./blender --factory-startup


How to bake animation in blender 2.8? I'm only starting on blender with the 2.8 version

I want to do several animations by moving the different donuts up and down so I started animating with actions. But I got one action per object and I would like to merge/bake them all, so I can start anew and do a completly different animation with the same objects.

Plus I intend to import everything on unity and for now I can only play one action each at the time :(

I watched a few tutorial on youtube were you could bake NLA actions in the older blenders versions.

thank you for your time,

You can bake animation in Blender 2.8!

You'll need access to the Object pill menu. The easiest way to get to this is by clicking on the Animation workspace tab. Then, inside the right layout panel it opens click Object -> Animation -> Bake Action

There you will have access to all the required settings for baking.

Note: If you are animating poses, you can also get to the menu from the equivalent Pose pill menu. Pose -> Animation -> Bake Action

On the menu it pulls up, you can also choose whether you'd like to bake poses, or object data.


Texturing a uv map for complex mesh this is my mesh so far and its uv map, on the top is the stairs and the bottom is the walls

This is how big the texture is when i add it to the file and what i though would look nice is if i shrink it so that texture looks the same on every step but i dont want it to be repeated over and over

what im trying to do is just copy and paste it so its on every step the same but the problem is the texture is too blurry and cant really see the details when its rendered, I looked everywhere and i can only find how to use the checkers texture or how to uv map, Any advice?

You might be able to pull this off using texture coordinate node combined with mapping node, and using project instead of UV. Or you might define your texture as a brush and texture paint it by hand.


What's causing this mesh error? I've tried a few different things like weight painting but it doesn't seem to do anything helpful unless I'm weight painting it incorrectly.

I was doing a quick rig of this model port when I came across this issue.
There are 3 body meshes that go together and I tried to merge together to see if that would work but it does not.

It's only when you bend the model this issue occurs.

Here's the .blend file and textures in case you want to take a look.
https://www.dropbox.com/sh/fgubdg3k7hz50pq/AACfqDFhF5ojuRpLGqNtu0M7a?dl=0

Your body mesh seems to have a lot of duplicate faces.  You can see this even by moving around the model in the viewport...those weird marks are the geometry fighting:

Another way to see is if you select a face on the torso and choose "Select->Select Similar->Material" and you'll get most, but not all, of the faces.

I would suggest selecting ALL of the vertices of the body model, then choosing Mesh->Vertices->Remove Doubles.  That will remove the extra geometry.

Unfortunately then you will have patches of the torso that are a different material (so they'll be purple) but you can select one of those, again do "Select->Select Similar->Material" and set them to the same material as the rest of the Torso.  Or vice versa, depending on what you want.

You might have to re-rig after removing the doubled geometry, but it will solve your rogue pieces sticking out.


Setup Constraints for modular conveyor I'm trying to create a modular conveyor which I can animate. I've got a mesh for each section of the modular belt and a Bezier curve I would like them to follow. How can I setup the constraints so that as I drag the front section it rotates around the curve and the rest of the sections follow.

Some of the conveyor sections will use a different mesh in the final setup. As such I'm not sure I can use an array modifier combined with the follow path constraint.

You could use a method similar to the one shown here, mounting the plates on a moving array of supports on the curve, to avoid deformation.

But since you would want some variety in the plates, you could use a Particle System  emitted by the support-array, with settings as illustrated, rather than face-instancing:

EDIT: Thanks, @MrQuery, for pointing out a possible source of error with the rig as described. It turns out, to make it more robust, you should specify the rotation of the particles, as well as the settings above:

The phase, rotation, may vary with your plate model: orientation of its mesh with respect to its axes, (which can also be adjusted in Edit Mode).

The emission is all at frame 1 of long-lived particles, one per face, with no physics or randomness. 'Count' is used to give an ordered, cyclic, selection from the source Collection of particle variants.


External libraries within a shader Can I call functions from external libraries (.dll or .a) within a shader script?
I want to be able to communicate to an external process and/or write a "log" for each point in the surface of an object.
I know that will slow a lot the rendering but the main point is to "log" the render.
I need simulate a detector (like a CCD) within blender.

I don't believe you can call external libraries but you can certainly log messages to the console using 'printf(...)', 'warning(...)' or 'error(...)' function calls. For example :

printf("Point %f,%f,%f\n", P[0], P[1], P[2]);

This can produce the following output :

Point 0.352600 -0.724535 0.683879
Point 0.377360 -0.151356 0.841542
Point -0.081450 -0.115284 0.909532
Point -0.075156 -0.181691 0.885011
Point -0.018898 -0.221594 0.864882
....

The 'warning(...)' and 'error(...)' calls work a similar way but include additional formatting around the output string :

WARNING: Shader warning [my_shader]: Point -0.320504 -0.812141 0.157532
WARNING: Shader warning [my_shader]: Point 0.304608 -0.822310 0.270545
WARNING: Shader warning [my_shader]: Point 0.626177 0.138751 -0.099909

Looking at the OSL spec, there is also an 'fprintf(...)' function that accepts an additional argument for the output filename and will append the output to that file (rather than having to capture the console output and extract the details from there). However, my particular version of Blender (2.76b) does not seem to support that - it's presumably implemented at a later version.


how to make a vertex group (part of a mesh) follow rig up to certain point? like the title in the description said, how can i make a mesh follow a rig / bones up to certain point where a part of my mesh would stop and the other part will still follow
this is an example of the rig:
1.

this is where the problem arises where i want the second cube to slow down / stop and the third cube will still follow the rig with the stick

i would really appreciate it if there's anyone who can point out where and how i can fix this problem XD

Thank you.

(keep in mind this is only an example)

Bone constraints work fine for this. What you need to do is add a bone for each segment, add copy rotation constraints, and define conditions on when to stop following the other bone. Blend file here:

Start with adding the bones, each one at the same location as the other, so the rotations can be copied off 1:1. Then, add copy rotations constraints to each sub-bone (they should not be childs of the main stick bone in edit mode!).

now add the limit rotation constraint to each of the two sub-bones:

use local space for all of them for more flexibility of the rig. Finally, set the limits. I chose a -5 to +5 range for the first, and a -10 to +10 range for the second one. The values are arbitrary for me, in essence the bone stops following the master when those angles are reached:

Be careful with the order of constraints, it matters (as with mesh modifiers): The constraint on top is executed first, then the one below it, etc etc.

Edit requested by user: Using Armature Weights

The parenting in the original file was done using the 'Parent to Bone' option:

This only works if your objects are separate however. If you are in a situation using one mesh which is deformed by an armature, check this blend file:

On layer 1 the original rig is still present, on layer 2 there's a version using an armature modifier and weights. I simply assigned the weights in the mesh data tab, as they would be 1.0 for the respective vertices anyways, no need to paint them.

The rig itself is exactly the same, I could have even reused the armature instead of duplicating it.


I can't get HDRI to work right with EEVEE I've been following some tutorials where they use HDRI to light a scene in EEVEE.  For some reason it is not working when I do it.  I don't get it.  What am I doing wrong with HDRI in EEVEE ?  In Cycles, no problem, but in EEVEE its as if the HDRI is not lighting my scene.  I'm not new to Blender, I know how nodes work etc... but this has me going around in circles getting nowhere.  I've attached 2 screen grabs to illustrate.  The scene is very simple, all I do is switch between Cycles and EEVEE.  As you can see, in EEVEE the plane and the object are just blue.

You are not doing anything wrong. Eevee is not a ray tracer like cycles, so it will not produce the same results with an hdri. The best workaround to this is to try and fake the cycles render by switching between it and eevee using lamps to try and match it.


Export fluid simulation for usage in three.js Is there any possibility to export a fluid simulation as an animation and import it in three.js?

As I read in some threads it seems to be impossible to export a fluid simulation to a gltf, so I started to copy my simulation multiple times and apply the fluid modifier for all objects in different frames to get an independent new mesh for each frame. After that I used the outlier to hide the individual mesh in the corresponding frame and keyframe that using (i) after clicking to the eye button.

Thats works well if I play the animation using the blender timeline play button. But there is no animation exported to the gltf .. is something wrong with my idea, or do anyone know an other possibility run my fluid blender simulation in three.js? I am grateful for all ideas!

Try using LightWave Objects plug in, you can export physics simulation to keyframes, if you export and import it as .mdd (Lightwave Point Cache), I think this will covert the simulation to keyframes, from there you can export to gltf


Object texture not showing up when selecting "texture" viewport shading I have a simple plane which I have unwrapped to match a picture, so it's just a picture as a plane object. When I selected "textured" in the viewport shading, I could clearly see the picture projected on the plane. But suddenly, the texture/picture didn't show up, and when I select "textured" I only see a gray plane...

As you can see, the plane is wrapped to fit the picture, and the 3D view is set to "textured", yet the picture doesn't show up like it used to. Help!

EDIT: The picture doesn't show up on render view, either, making it a more serious problem I guess.

Found the answer:

When using Blender Render, you only need to UV unwrap an object and add a picture to make it show up in texture viewport.
  When using Cycles, you need to do as in BR and then add a material, go to node editor and add an image texture. Select the picture you UV unwrapped the object to, and without connecting the node anywhere, the texture shows up in viewport texture mode.


Share Object data between two scenes, but no materials My scene is planned for a realtime application.

I want to setup my lighting and materials on cycles, then bake some elements to lowpoly objects. Here an example scene : http://www.pasteall.org/blend/42859

I bake Selected to Active (HP_Cube to LP_Plane) to the texture LP_PLane.

All i want in my 3d engine is LP_Plane with his texture applied to a standard material.

Problem : cycles material are not compatible and can't be exported to the engine.

So i want a new scene where i could keep the LP_Plane object, but switch to blender internal and assign a new standard material to my object.
Here i have made a new scene set to full copy http://www.pasteall.org/blend/42861 but of course if i modify LP_Plane in the first scene the mesh data is not echoed to LP_Plane.001

Is their a way to have duplicate linked objects between two scenes, each object having the same name but one with cycles material, the other with standard ?

(and sorry if my english is shitty)

Yes this can be done. First, you need to create the two scenes where the Object Data is linked, but the objects are not. After that, you can setup the materials in a way so they are different in both scenes.

Start off by creating the second scene using 'Link Object data'. This will copy the object, but link the mesh data. That means, when you edit a mesh in one scene, its shape updates in the other as well.

Blender allows you to choose if the materials are linked to your Object or the Object Data. By default it links to Data, that means that somewhere in the datablock where the mesh is stored, the information which face receives which material is stored as well. Since both scenes share the same mesh data, the materials would always be the same in both of them.

In your case, you will need to set the Link to Object instead, like in the screenshot here:

Now the information which face has which material is stored in the Object. Again, for the two scenes, the objects are different, only the data is shared.

Note that when you switch your material link from Data to Object, the material slot will be emptied. Click on this Icon to browse through a list of materials to link it back:

In your 'Blender Render' scene you can now assign completely different materials to the same mesh. However, keep in mind that if you delete a material slot, it will disappear in both scenes!


Spreading verticies out function? I am quite new to blender and I was trying to recreate an object of a youtube video. At a certaint point in the video, the guy was using a function to spread the vertices out te the closest border. Does anyone recognise this function and know what the key combination is?

Assuming you are using Blender 2.8, just follow the tutorial until the desired vertices are selected, then do the following:

Press Ctrl+B (to activate the Bevel Tool)
Press V (to make the tool act on vertices)
Drag your mouse outwards until you get the same shape as the one in the tutorial.

Note that, whenever you've selected a tool (such as the bevel tool), some options related to its use get listed on the status bar just below the 3D Viewport.


How to go to cycles? I have these characters but I want to go to cycles but when I do the characters goes grey and purple. (Essentially The textures get removed from the character(s). Is there a way to switch to cycles without losing the textures?

I will leave one of the characters as a example. So can I go to cycles and keep textures?
https://www.dropbox.com/sh/mb2by9y7d91q2t2/AACvhUDp_MZ7ZKHchibT9tlYa?dl=0

-Thanks!

there is one node in cycles that will solve most of your problems: the principled shader. it is the nearest your will come to the material system of blender render.

theck this:

https://www.youtube.com/watch?v=4H5W6C_Mbck


Can I use Blender to create a virtual museum/gallery to exibit my students paintings and sculptures? I am just getting started with Blender. My goal is create a virtual museum/gallery in which I will be able to exibit the artistic creations of my middle and highschool students. These will be paintings, sculptures and pottery.

I would like to begin with a very simple room. I would like to have the ability to adjust the lighting (floods, spot lights).  The walls are plain for display of paintings/drawings. I want to create movable pedestals for for the display of sculptures and pottery.

Is blender the appropriate tool for this task?

Thank you very much for any and all assistance!

Craig

Yes you can do that in blender. The simplest way to import the images is to enable the "import images as planes" addon. Then just create the geometry of the rooms and add lights as needed.


ImportError: dynamic module does not define init function (initbpy) I want to access BPY in standard python console on windows 64bit operating system.
I searched, and found this link "http://wiki.blender.org/index.php/User%3aIdeasman42/BlenderAsPyModule".
I did all the steps. but unable to import BPY in my python IDLE, also version of both are same. It shows error which is :"

>>> import bpy

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>

import bpy

ImportError: dynamic module does not define init function (initbpy)

please help me.
thanks

I also ran into this problem. I think Python3.x is needed or see bullet points below for more information.

Failed: python -c "import bpy; print('hello');"

Worked: python3 -c "import bpy; print('hello');"

"get Python3.x-framework from Python.org and install it."
"The Python version requirements are the same with building a regular blender binary (if Blender us using Python3.5 then there is NO WAY to use another version - 2.7/3.2/3.4 will all fail)."

Source: https://wiki.blender.org/index.php/User%3aIdeasman42/BlenderAsPyModule


Where is the FK/IK switch? Can't find the IK/FK switch on this rig, (it says it has).

http://www.blendswap.com/blends/view/73740

You have to right click the base; the IK/FK panel will be on the right side.

0 = IK on

1 = FK on


The most non-reflective surface I am developing a moonbase and I am looking for dramatic contrast in the light. Inside the base, I want rooms that are normally lit with a door frame and the next room absolute dark.
What surface would be the best for the dark rooms? I am looking for surfaces with a dark matte aspect.
Thanks

If you want to have absolutely no light interacts with the surface, just unplug everything from the material output node.

For a Lambertian surface rather than a completely flat one, you could use a Diffuse shader set to completely black.

If you wanted it have a combination, you could mix the Diffuse with just... nothing... and then adjust mix factor to control the blending.


Floor operation in transformation I want to rotate an object a bit every second for example. I thought of the mathematical floor operation. This operation seems to be implemented somewhat, as I can enter something like floor(10.1234) but I want something like this floor(#frame) which creates this error:
('unexpected EOF while parsing', ('<string>', 1, 13, 'floor(#frame)'))

The ‘#’ is not part of the variable ‘frame’ but simply indicates to Blender that what you have entered should be interpreted as a Driver. In the case of '#frame' the driver simply returns the value 'frame' - the current frame of animation.
To use the floor function you should prefix the entire expression with '#' - ie, #floor(frame). In order to have the value step up by 1 on each 25th frame you could enter the expression #floor(float(frame)/25). This converts the 'frame' into a floating point value (technically not required - but still good practice), divides by 25 and rounds down to an integer. ie, on frames 0-24 it will produce 0, on frames 25-49 it will produce 1, 50-74 -> 2, 75-99 -> 3, etc.


In video editing, how to fade scenes out, with next starting immediately after? So this is my first using the video editor so I'm not really sure how to do this. With my animation, I want to add an effect where 1 scene would start to fade out and the one after it would start immediately after the first starts fading. I thought the cross effect would work but it justs makes the first one start fading and the second just stays frozen until its time to start. I would move the stripes around to test it but I have this synced with music so there's not much there I can do.

How-to

To acheive this effect, use the Gamma Cross Effect Strip.

To begin overlap your videos, so it looks like this(it does not matter which channel the videos are on).
Next, select which video you want to fade out with the RMB(usually the first video). Then, using SHIFT RMB select the next video.
Finally press SHIFT A and navigate to Effect Strips... and click on Gamma Cross. The cross duration should be the length of the overlapping videos. You cannot change the length of the gamma cross directly, you must increase or decrease how much the videos overlap.

Reasoning

If the videos are directly next to each other, but not overlapping, you can't have the second video start right away because how can the second video start if the first video is still going and they are not overlapping?

Reference : https://www.blender.org/manual/editors/sequencer/strips/types/effects/cross.html

Reference Video: https://www.youtube.com/watch?v=T_PRXTZoHtI&list=PLjyuVPBuorqIhlqZtoIvnAVQ3x18sNev4&index=14

Audio Reference Video: https://www.youtube.com/watch?v=beWj_mw0M-I

AudioAs for the audio do as RobinsSea suggested in his answer, insert keyframes along the timeline concerning the audio level of the videos. To do this select the audio track and navigate to the properties panel "N". Make sure your timeline is where you want the audio to begin fading out! Over in the properties panel go to the volume area and hover your mouse over the volume. Then press "i" to insert keyframe. Do the same to complete the fade out, just set the volume to 0 and the timeline where you wish to end.

Happy Blendering!


"." on numPad no longer centers view on selected Numpad . no longer centers the view on the Selected Object, but on the Cursor. I must have changed something in the settings unwittingly. Does anybody know how to reset it?

Make sure numlock is activated on your numeric keypad.

Numeric keypad have different flavors as well.
I have two numeric keypads attached.


Blender copies objects when I double click whenever I double click blender displays a message saying "Copied 1 selected object(s)" at the bottom bar.. I want to get rid of that as it is getting annoying.
Help is appreciated, I am using 2.83 on windows 10

Apparently I had an application called "Qtranslate" activated so it caused this problem. once I closed it the problem dissappeared


Help With Adding Bones To An Already Deformed Armature I need to add another bone to an already deformed armature model, but it won't let me. Is there something I'm missing or is there any way to form back the armature and then deform it again, but this time with the extra bone included? I really don't want to have to rig the entire thing again.

Go into 'Edit Mode', Shift+a to add an armature bone. Parent the new bone to the existing armature. Place the bone within the mesh at the proper location. Even if the mesh model is already parented to the armature, parent the mesh again to the full new armature.

In 'Edit Mode' the PoseBone deformations will not show. In 'Pose Mode' you can deform the armature and the mesh model will follow.

If the automatic weight painting is not satisfying, you can manually edit the weight painting for each bone in the armature. You do this by clicking on the mesh, and then selecting 'Weight Paint'. Then select the armature that you want to fix the weight distribution.

Good Luck!


How to render object in front of everything else? I want the robot arm to always be fully visible in front when rendered (and preferably while working in the viewport, too).
So the tree should never overlap the robot in the final image, even if the robot is technically inside the tree.
How can I achieve this (in the easiest way possible)?

Create two scenes, one with the tree only and the other with the robot only.

The robot scene should have a transparent background (Select Film Transparent in the Rendering Properties menu).

In the Compositor mix the two scenes using the alpha of the robot scene as mix factor.


Books on a shelf AN question So I'm trying construct procedural node-graph in Animation Nodes to distribute books on a shelf (or any other surface). Getting them randomly from collection to certain location with random distance between them was not hard (the screenshot is attached). Where I encountered problems is when I wanted to have a random rotation, but to keep books from intersecting each other. I'm having hard time understanding which direction to go: 1. calculate certain rotation angle based on the distance between books or 2. calculate the distance based on the rotation of a book. Any way I go I cant construct a node graph that would accomplish this. I couldn't find anything on the web in this respect. Could anyone point me intro right direction in terms of tools to use and algorithm. Thank you in advance for your time and assistance.
Cheers, David

This is not an answer but just an idea.
I'm a newbie in blender, but in cinema 4d i put a collider into the instanced object, so the instanced object it's pushed away from the object near it.


Subsurf modifier not working. Is it because I booleaned or because of my tris? I have this reference picture that I put into the side view of my project.
I used a cylinder and then booleaned the bottom part to make the cutout. Now my subsurf modifier doesn't work. What is going on here?

I tried insetting and extruding the bottom to see if that would fix anything but it didn't. Did the boolean mess up the subsurf or is it because I have some tris left over?

Here is the subsurf mod view:

the solution is really easy. Look at your modifier panel. There is a camera symbol an next to it is a eye symbol. click on the eye and now you shoud be able to see the changes. the eye symbol means that you can see your modifiers in the viewport.