Add keyframe to a scene property Using Python to add a keyframe to an object seems easy (see here or here), but how can I add a keyframe to a scene property?

As a concrete example, take bpy.context.scene.gravity.

Even though the examples linked are to keyframe an object, there is in fact no difference and the same methods apply to both.

Simple:

scene = bpy.context.scene
scene.keyframe_insert(data_path="gravity", frame=10.0)

Advanced:

scene = bpy.context.scene
if not scene.animation_data:
    scene.animation_data_create()
if not scene.animation_data.action:
    scene.animation_data.action = bpy.data.actions.new("GravityAction")

fcurve = None
for fcurve in scene.animation_data.action.fcurves:
    if fcurve.data_path == "gravity":
        break
if not fcurve or fcurve.data_path != "gravity":
    fcurve = scene.animation_data.action.fcurves.new("gravity")
keyframe = fcurve.keyframe_points.insert(frame=10.0, value=20.0)
keyframe.interpolation = "LINEAR"
#keyframe.handle_left
#keyframe.handle_right


Share parts of mesh data across meshes Greetings to the Blender community,
I'm using an Array Modifier on object A, with object B and C as caps. My problem is, that if I edit object A, the edge doesn't align with the caps anymore. Is there a way to share the shape of a specific part of the mesh, in my case the edge loop, between object A, B and C?

If it's not possible then at least I know I can stop searching. :)
Best greetings,
Daisy

To take a somewhat @Gorgious-flavoured approach ;)..
You could use the same mesh for the head and tail caps, and the arrayed mid-section, but with different areas removed using a Mask modifier.
Assigning groups in face mode ensures the shared vertices are selected in each group:

Then 'Head', 'Mid', and 'Tail' objects can be AltD instanced, and each given a Mask  modifier, aimed at their respective groups. 'Mid' is the arrayed element...

The offset of the caps is unlikely to marry the midsection. As shown above, that can be fixed by giving them  a Displace modifier, along the array-axis.
Then you can edit the original, unmasked, instance, ('All', below,) and the array elements and caps will follow.


Cylinder Texturing problem I made a barrel out of a cylinder and want to texture it. Can I somehow UV unwrap one column to texture that one and "clone" the other (31) columns to have the exact same texture?

If I UV unwrap the entire barrel I get 10 different (distorted) strings of small faces and the texture quality sucks.

I hope I described the barrel correctly. I put 6 loop cuts horizontal through the cylinder, set some parts in and rounded it off (which I think caused the distorted UV unwrap.

Thanks in advance!

In your case, what I would do is delete all but one "tile" of the barrel, then make it a circular array.

Below you can see the Empty inside being used by the Array Modifier. It is rotated 11.25° (360° / 32 tiles).
Enabling "Merge" on the modifier means the tiles will be connected when the modifier is applied.

UV unwrap before applying your modifier.


Why is one face on my model gray instead of orange in edit mode? I'm relatively new to Blender and mainly use it for viewing 3D geometry in various formats (such as OBJ). Currently I'm writing my own mesh voxelizer, and my program has support for outputting the resulting voxel array to an OBJ file containing a cube for each voxel. It's not incredibly effective, but I found it to be useful for quickly checking whether or not my voxelizer produces adequate results.

I have a three-dimensional voxel grid; every voxel that is a 1 (instead of 0) is represented as a simple cube, and all these cubes are stored in an OBJ file. The OBJ file contains only the vertex positions and face definitions, there's no MTL mentioned in the OBJ file (and no MTL file is generated, accordingly). Here's an excerpt from a typical OBJ generated by my program:

v -1,20000004768372 -1,20000004768372 -1,19999957084656
v -1,20000004768372 -1,20000004768372 -0,899999618530273
v -1,20000004768372 -0,900000095367432 -1,19999957084656
v -1,20000004768372 -0,900000095367432 -0,899999618530273
...
f 1 2 3
f 2 4 3
...

When I open it in Blender, I see that all geometry is correct, but one triangular face (always the first one in the list of faces!) is highlighted differently by Blender. Here's a screenshot (imported the OBJ, selected the whole mesh, didn't touch anything else):

(It's not a representation of any meaningful geometry yet, just a randomized voxel grid, for those wondering)

I'm not sure what Blender is trying to tell me here. How is this face any different from all the other ones (except for being the first face in the file)? What is wrong with the OBJ file my program generates? There's no color assigned to vertices or faces, there's no material specified, all vertices and faces should be the same.

Here's the file in question, if you want to examine it:

https://www.sendspace.com/file/wlrva9 (171 kB)

It's actually a re-created file so the random cubes might be different here and there, but the problematic face in question is still there: look for the corner vertex at (-1.2, -1.2, -1.2).

That is simply the active element.  The active element changes all the time when you change the selection.  It is usually the last element you selected.

It is used for various types of things.  For example, the most common use is if you have the transform pivot point set to active element, it will use the active element as the center of the transformation.  You can change it to another element by selecting that piece of geometry last.

In object mode, the active element will be an object, it will have a slightly lighter orange boundary around it.  It is more significant in object mode, since when you change most settings in the properties panel (or go into edit mode) it will only affect the active object.


How to get the class type of a Blender Collection Property? I am looking for class types of blender property objects.

I am looping over some properties in a scene and want to operate on them when they are bpy.types.CollectionProperty.

My custom property is for example stored in bpy.data.scene[0].my_custom_collection_prop

Here is some pseudo code:

for key,value in bpy.data.scene[0].items():
    prop = getattr(bpy.data.scene[0],key)
    if type(prop) == bpy.types.CollectionProperty:
        do something

type(prop) gives me <class 'bpy_prop_collection_idprop'> which is not bpy.types.CollectionProperty. So I don't know how to compare both.

Here is an example showing whats intended, it runs but doesn't find the type:

import bpy
from bpy.props import StringProperty, CollectionProperty

class MyCollectionProperty(bpy.types.PropertyGroup):
    name = StringProperty(default="")

bpy.utils.register_class(MyCollectionProperty)
bpy.types.Scene.my_collection_prop = CollectionProperty(
        type=MyCollectionProperty)

scene = bpy.data.scenes[0]
for attr in dir(scene):
    prop = getattr(scene, attr, None)
    if prop is not None:
        if type(prop) == bpy.types.CollectionProperty:
            print(prop)

ID.items() is going to give you custom-properties, which is lower level and bypasses properties created by bpy.props, I suspect you want to iterate over attributes, instead of custom-properties.

You can do this instead:

scene = bpy.data.scenes[0]
for attr in dir(scene):
    value = getattr(scene, attr)
    if type(value) == bpy.types.CollectionProperty:
        print("something", attr, value)

The example above uses Python's dir and getattr functions, you can also use a Blender specific method of introspecting properties.

scene = bpy.data.scene[0]
for attr in scene.bl_rna.properties.keys():
    value = getattr(scene, attr)
    if type(value) == bpy.types.CollectionProperty:
        print("something", attr, value)

This limits the properties to Blender's data-api, and wont include functions for example.

Here is a working example based on the example in your question:

import bpy
from bpy.props import StringProperty, CollectionProperty

class MyCollectionProperty(bpy.types.PropertyGroup):
    name = StringProperty(default="")

bpy.utils.register_class(MyCollectionProperty)
bpy.types.Scene.my_collection_prop = CollectionProperty(
        type=MyCollectionProperty)

scene = bpy.data.scenes[0]
for attr in dir(scene):
    prop = getattr(scene, attr, None)
    if isinstance(prop, bpy.types.bpy_prop_collection):
        if bpy.types.Scene.bl_rna.properties[attr].fixed_type == MyCollectionProperty.bl_rna:
            print(prop, "found")

This used Blender specific data-api introspection (bl_rna).

Note: You may want to use isinstance.


How to programmatically register an addon In my Blender installation I have an addon registered, but when I ship my entire Blender folder to another developer (installed into a different path) it appears that the addon is not registered.

Perhaps addon registry records my full path and this is why my friend doesn't have it registered?

Is there a way to programatically register an addon in Python?  Alternatively, can the --addon command line switch register?

To answer the specific question, I think you're looking for this: https://www.blender.org/api/blender_python_api_2_57_release/bpy.ops.wm.html#bpy.ops.wm.addon_enable

For example:

import bpy
bpy.ops.wm.addon_install(filepath='/home/my-addons/awesome.py')
bpy.ops.wm.addon_enable(module='awesome')

Regarding the part of your posting where you say "when I ship my entire Blender folder to another developer" .. I suggest you make your solution turn-key and provide an install script that points blender to your .py file and registers needed addons. Maybe something along the lines of:

#!/usr/bin/env bash
blender --background --python /path/to/addon-installer.py
echo "Done"


Shift-A only gives option to add Mesh? Pressing Shift+A immediately takes me to the add mesh options. I'm trying to add an armature, but I cannot seem to be able to find a way. Even the "create" tab only has an Add Meshes option. I remember that the first time I used Shift+A, I had to hover over meshes first, then select my object type...but I've never had to take that first step since and I do not know how to undo it. Help?

Make sure that you are in Object Mode if you'd like to add a new primitive or new object to the scene.

From the manual:

  Creation of a mesh primitive typically starts by adding a mesh object
  in Object Mode. Limited types of editing such as size, location, and
  orientation can be accomplished in Object Mode. Object Mode also
  provides the means to Join and Group multiple mesh primitives.


Explanation of noise texture node settings in 2.8 Can someone please explain all the node settings of 1d, 2d, 3d, 4d of the new noise texture node in 2.8 cycles.

You can better understand texture space using a color grid image (2D), with "generated" coordinates, which is the default for noise textures.

You have to imagine the 2D texture laying on the floor of the bounding box of your object (the tiniest box that can contain all your object), with lower left pixel as starting and pivot point, which will stay in the lower left and front corner of the box.

In this case all points on the surface which share the same X and Y coordinates will get the same colour, as you can see on the front face of Suzanne, unlike its top, where the texture is projected nearly undistorted because every point has different X and Y coordinates.

The same happens with noise texture when set to 2D.

If set to 3D, points on surface with different Z coordinates will have a different random color even if they share X and Y; it works as "voxels" instead of pixels (and is the "classic" use).

1D means that a random color is outputted, based on the W parameter value only.

4D is like 3D, but you can vary the W parameter to have a different random combination (similar to what happens when you animate one coordinate parameter).

The more dimensions used, the more calculating power is needed, so use the minimum dimension you need.


How do I match the UV map with the image used as texture How can I make the UV map coincide with the image used as texture
(see image below) and apply it to the material of the model?
I seem to have a confusing UV map.

]2

you can manually reposition the vertices of the UV map so that it matches with the mesh.

Select a vertex, press L to select all of the linked vertices and use the regular tools to edit, grab, size, rotate, etc.

As an alternative you can export the UV map as image and use it as reference to position the image so that it matches the UVs in an image editing app, then re-import the image and it should match the geometry.


Why bones IK change positions by itself? I am done with the rigging on my mesh with bones parented with empty groups. But, when I start creating the keyframes in the animation. the bones position change very oddly by themselves.

This is the keyframes I have created

And this is how appears automatically in the animation

After this I have to apply Alt+G+R "TWICE" to reset them.

Does anybody knows why and how to solve this?

Thanks in advance

When an IK chain change position in weird ways, it's because of one of this problems:

the ik traget location is modified by the movements of one bone of the chain itself: so there is an endless circularity. Check if it has constraints related to any bone of the chain, or if it is child of a bone related to the chain.
some bends have a flipped position that can resolve the IK request, so you need to establish a pole target to have full control of the behaviour of the chain


Rigid body object animation won't preview or play? I have a simple rigid body animation that won't preview.
The diamond object docent react to the floor as it should when previewing.
The Other 2 objects in my scene do react correctly. My blender file can
be downloaded here

https://www.dropbox.com/s/jv0fseluf3gsnam/Diamond%20test.blend?dl=0

Can someone help with advice on this please?

Run the simulation Alt-A until all frames have been displayed, this causes a real time bake. After that it should work fine.


Why is my material in cycles rendering as as multiple images instead of covering the surface properly? So, I modeled a character and went through the process of unwrapping the mesh to paint his markings and details, and baked it and all that fun stuff when after applying my finished material with the image file attached it worked terrifically, but then I decided to re-topologize the mesh. After trying to apply the material to the new mesh, I get a repetition of the image all over the mesh instead of it wrapping around the character like it should. I've been using blender for about a month, so I don't even know where to begin to fix this problem, I've already been all over Google trying to solve it. Can someone please help? If I need to give files or something can someone tell me how to do so?

I'll show two images, the first is the problem and the second one is the character before the re-topology, when everything was normal.

"I decided to re-topologize the mesh" there is your trouble, look at the UV map for the re-topologized mesh. You will probably find that the new UV map looks nothing like the old UV map.
Because I do not know the process you used to UV unwrap your mesh, I can not advise you on how to do in on your new mesh.


how do i connect a sun lamp to a sky texture with a sun in eevee 2.92? Basically I want to find a way to link the rotation of a sun lamp to the rotation/position of my sky texture or at least link the sky texture to an empty and then link a sun lamp to that. Also, this sky texture is procedurally generated.

Yea sorry I figured out by using this link as a guide, tho I did have to make some edits as I had an actual sun texture, course now I have to figure out how to make a moon texture.
how to parent my sun to environment hdri?


making texture atlas for only some part of objects i want to make buildings in blender and export it to unity , i want the draw calls and texture space to be as low as possible so  so what i do is i will put tiled textures on side of buildings (because they can be high rise buildings) but  i want to make a texture atlas for buildings roofs and other smaller parts , so my question is how can i make one big texture for my smaller parts of building like roofs and use  tile texture for the building sides should i make 1 uv map for roofs and 1 for each building tiling texture

here is a picture to clarify

i want to use differrent shaders too

If you mean like the following...

To start with, select all the faces in Edit mode and press u.  This opens the UV Mapping dialogue.  Select the very bottom entry which is 'Reset'.  This will pack all the quads tightly and they will be overlapped.

The reason I said to select everything to start with is because the tools will act on all faces when a new uv layer is first being created.  They tend to ignore selections on the first pass so you can just unwrap everything as a group and then work on them individually afterwards.

So now, make sure everything is selected and move this block of faces out of the 0-1 UV space so you can work on the faces that will be non-repeating.

Now select one of the roof top pieces and use Select Similar-> Normals Shift+g.  This should select every face that is facing upwards since they have similar normals.

Now access UV Mapping again u and this time try "Unwrap", it should produce evenly spaced UV faces that match the proportions of the faces that are selected.

Now use box select, circle select or whatever your favorite selection tools happens to be and use that to move all the side pieces back into the 0-1 UV space.  Resize them to fit in there somewhere and you should be ready to go once you have the texture ready.

UPDATE: If you have uv's that are scaled beyond the 0-1 range then you can add extra UV layers.

For the next image, you can see three UV layers.  One is for the roof, one for the walls, and a third for the bakeTo coordinates that will be used to combine everything into one final material/texture so the models can be exported to an external game engine as one asset.

Now you can add two materials, one for the roof and one for the walls.  Set both materials to 'Shadeless'.   The check-box is on the same tab with the other material settings.

Now add each of the textures to the respective material and be sure to select the proper UV coordinates or Blender will pick one for you and you may not like the choice it makes. :)

Now verify using the Object Data tab(the one left of the Materials tab with 3 dots forming a triangle) that you have the bakeTo UV coordinates highlighted, also make sure the camera icon is selected.  Now find the Bake section under the Render tab and change this to full Render.  I always set the margin to 64 pixels.  Also, make sure that 'Selected To Active' is off.  So long as you have already assigned a texture to the BakeTo UV coordinates in the UV Image Editor all the materials and their textures should transfer over to the bake texture and will all be in the 0-1 space and all together in one image.  Here's the final result that uses the UV coordinates that I showed how to make in the first part.


Blender edit mode will only let it move stuff at intervals I am new to blender and using Blender in 2D. I was just in edit mode moving things around, and then it would only let me move things at certain intervals. To clarify, I could move things, but it would only let me move it by a certain amount, no more, no less

From here
To here

Please check, that snapping is turned off.


Can Cycles nodes use "object coordinates" like blender internal? (or: how can hair-mesh-objects inherit their emitter's texture)? Basically, I have created a hair systerm, using a mesh object (feathers) instead of strands.

However, my bird (emitter object) is a multicolored image, which I want my feathers to inherit.

In blender internal, this could easily be done by setting the image texture to use "object" coordinates, and I could select my bird-emitter as the object.

However, in cycles, both using nodes (input>texture coordinates>object) and the synonymous procedure in the texture panel, the object coordinate system seems to be dead.

What I mean is, the word "object" is there as an option for a coordinate system, but nowhere can i find a way to select which object's coordinate system I would like!!

First and foremost, I would like to know if there is even a way to use object coordinated in cycles!

Barring that, how might I make my hair particle mesh objects inherit their diffuse color from the surface of their emitter? With strands, the process is automatic. However, with mesh objects, I cannot figure out how to do it!

Thanks for any help!!

I have managed to answer my own specific question, but not the more general question. I will explain, but I hope that someone may be able to answer the general form.

To specifically answer my question, deriving the color of a particle hair MESH from its underlying emitter object (in this case, a feather mesh being colored by the bird's texture) in CYCLES (not Blender Internal), I found resolution in Blender Cookie/Kent Trammel's "Piero" tutorial series (video: body feathers #3), with clarification from a previous Blender developer bug-fix request (found here: https://developer.blender.org/T40712).

To derive a particle mesh's diffuse texture from an underlying emitter in Cycles, in the hair's material nodes, add a Texture Coordinate (add > input ) menu, and then an Image texture, as per normal.

However, the key difference is on the Texture Coordinate tab, you have to click "From Dupli", and as the texture image itself, you must select the texture from the underlying emitter. This info is from Kent Trammel's tutorial.

BUT! There is one more issue that can drive someone crazy. Due to some ambiguity in the underlying code in the past few incarnations of Blender (I am using 2.7), the results of "From Dupli" will NOT show up in a preview render. To see the results, a "real" F12 render must be performed!

So, this is the specific answer to the above question.

However, the general question of "object coordinates" remains open, and that is an issue that goes far beyond particles and emitters, toward texturing objects with other objects, or, for instances, controlling texture placement with an Empty.


Why is this surface red? Is it because of the lighting? The bedsheet is supposed to have the sunlight hitting it from the windows. The room has peach coloured walls. Are they somehow contributing in the redness of the surface?
The Bedsheet surface has a Diffuse BSDF as the material. Roughness 0.2. I am using HDR for lighting.

It looks like you have sub-surface scattering turned on for the walls (or maybe another object)in your room. Look through all your materials and check that it's turned to 0 (if that's what you want).


How can I layer two images, to be used as height information in a Bump node, while retaining control of the Strength Value of each? I am trying to understand how to cleanly and efficiently layer two images, which will both be connected to a Bump node's Height input, while retaining the ability to control the Strength value of each contributing image. One of the images will also be used as the Factor value in a Mix Shader node. Here is my node work with an empty area where my question is.

Keep in mind, the contrast of the textures you use is important. If one texture is extremely contrast and one has only grey values ranging from 0.3 to 0.5, the contrast one will almost always be the more visible one.

Using the Bump node is basically a game of values (brightness/darkness of the pixel). You should convert coloured images to black and white using Converter->RGB to BW node (they are converted anyway)

Also keep in mind that both textures should have brighter colors on the "hills" and darker colors in the "crevices" of the surface. Alternatively you can check Invert on the Bump node to have it the other way, but both textures should correspond with each other in this area.

Bump node calculates the normal map based on the difference of the values of the pixels given to it. So basically you should be careful when mixing two or more textures - their actual values and the way they are mixed using MixRGB is important. You can also use Math node by the way. Since values of bitmaps are actually math anyway but both ways have their pros and cons.

It mostly depends on what you are actually trying to accomplish. Usual case I've seen is mixing the main UV mapped bump map of the model with a second one which is for detail - little perforations/scratches/bumps/glued dirt. This detail bump map is usually mapped using Texture Coordinate->Object and the texture having Box mapping instead of Flat mapping. Detail bump maps don't really need elaborate UV mapping since it's only important that the detail mapping is uniform.

Initially I should give some information about MixRGB node, since it's important here. It has 2 inputs. The top one is the "main" input. It is the one that the chosen function will alter based on the input values of the lower input and then this altered version of it can be grabbed on the output. This is true for all function except Mix, which basically mixes the inputs according to the factor (fac) you choose.

Whenever you want to mix a detail bump map onto an actual bump map, remember that there are basically 2 ways to choose from depending on the given case.

Crevices

  If it's a general bump map of bricks and then a detail bump map of the
  little perforations in the brick (meaning you want to add crevices and
  not hills), it should be mixed so the crevices are darker than the
  upper input. The way you mix it is dependent on the actual texture's
  contrast and values.

Hills

  On the other hand, when the detail bump map is meant to depict small
  bumps (hills - like dried color drops) on the surface, it should be
  mixed so the bumps are lighter than the upper input. The way you mix
  it is dependent on the actual texture's contrast and values.

As to the other question of controlling which texture is stronger. You must give me an actual material and textures for which to solve this, since it would take way too much time to talk about all types of possibilities.

All wrapped up, there is really no true way to mix bump maps in an organized way unless you get your actual bitmap texture values organized. Ie what is lighter/darker than the other. Most of the time, a simple MixRGB->Mix might work. But I'd recommend using a Converter->Math->Multiply before putting the values in the inputs of the MixRGB. You can then change the values in the multiply nodes to strengthen/weaken the bump textures.

First tip - You can always check the values you are working with using the Emission shader. Remember though, that in Properties->Scene->Color Management you often need to change the exposure or gamma to see certain changes in values, since your monitor can't dislay all of them most of the time.
Second tip -Try using Converter->Color Ramp or Color->RGB Curves to alter the textures without using 2D editor.


How to use mesh as a mask? I'm trying to do an animation where a desertic road scrolls like a treadmill.
I have a long road designed like this :

as the road scrolls (moves) from right to left, I'd like to show only the center square of this long road.
What I mean really is to show only what's inside this cube (without actually seeing the cube obviously) :

I tried to use the mask modifier but I can't really get to what I want. I was thinking that instead of displaying only what's happening in the cube, it might be easier to mask everything that is inside these ones :

Either way I can't really figure out how to use the mask modifier in that case, to use these cubes as masks without seeing them in the render...
I hope I'm clear enough, sorry if it's not.
I'd appreciate your help, and wish you a great week-end.
Cheers

With a boolean modifier
You had it right with either of these solutions. I would use the first one. But as you noticed, the cube mask hides the part you want to show. Select the cube and go into object properties and set the viewport display to "Wire". also don't forget to uncheck "Render" in the visibility so it doesn't appear in your animation.

Then Select the road object, add a boolean modifier set to "intersect" and pick the cube mask.
Now you can either move the mask or the road to get the desired effect.

With a custom shader
You can limit the visibility of the road with a custom shader. You then don't have to use a mask object, and you won't have boolean artifacts, but the drawback is the mesh doesn't get "cut" on the edges of where it needs to stop displaying.
Select the road, go into the shading editor and add a new shader. Let's say you want the
road to display between y = - 1 and y = 1.
Add this setup to visualize the alpha of the material (1 is white, meaning the material is opaque. 0 is black, meaning the material is transparent):

Plug it into the alpha input of a principled bsdf shader and connect the bsdf to the material output. In the right hand side panel, go to options and set the blend mode to "Alpha Clip".

Result :


Vehicle Physics in the cycles engine? I'm attempting to make an animation in which numerous vehicles travel across an uneven plain. In the animation I was hoping to be able to have the suspension of the vehicles simulated as I would in BGE but i have no idea how I would do that in the cycles engine or if it's even possible.

If anyone has any ideas it would be greatly appreciated.

In short what I'm looking for:

Vehicles travel in a straight line over an uneven plain.
Vehicles react to the terrain they're crossing.
Vehicles have some sort of basic suspension.
All done in cycles if at all possible.

If you know how to do it in the Game Engine, you're almost done. You can simply play the Game and bake the animation to keyframes while you're at it, reusing the animation later for rendering in Cycles. So after you exit the Game, the keyframes will be baked onto the objects. When you scrub through the timeline, you can see the animation. You can find the Record Animation checkbox in the menu here:

A related question regarding this has been asked here: Can you bake keyframes in BGE and have them work in cycles?

as a side note, as far as I know this technique has been used in an Open Movie project a while ago. To be more specific, it was the car chase scene of Big Buck Bunny


How to know the ON / OFF state of eyes in outliner The outliner has three object show / hide buttons as shown in the image below.

I learned about hide_select and hide_viewport on / off status as follows. But I don't know how to look at the eye icon.

import bpy
obj = bpy.data.objects['Cube.002']
print(obj.hide_select)
print(obj.hide_viewport)

How to know the ON / OFF state of eyes in outliner?

import bpy

obj =  bpy.data.objects['Cube.002']
#obj.hide_set(1)
obj.hide_get()

See the documentation


Blur video track in Video Editor? How do I blur a video track in video editor? I want to animate a video track from sharp to blurred.

I already solved the problem in an inelegant way (by blurring the source video track in VirtualDub and then crossfading it with the sharp video track), but it would be nice to know how I can do it in Blender for future reference.

In 2.72, a Gaussian Blur effect was added to the VSE.

Simply keyframe the size to start at zero and increase to the amount you want.


Missing 'rect' attribute in RenderLayer According to this simple external renderer, result can be generated in the memory instead of loading from an external file.

    # In this example, we fill the full renders with a flat blue color.
    def render_scene(self, scene):
    pixel_count = self.size_x * self.size_y

    # The framebuffer is defined as a list of pixels, each pixel
    # itself being a list of R,G,B,A values
    blue_rect = [[0.0, 0.0, 1.0, 1.0]] * pixel_count

    # Here we write the pixel values to the RenderResult
    result = self.begin_result(0, 0, self.size_x, self.size_y)
    layer = result.layers[0]
    layer.rect = blue_rect
    self.end_result(result)

I got an missing 'rect' attribute error from Blender 2.75.

Here is the error

layer.rect = blue_rect
AttributeError: 'RenderLayer' object has no attribute 'rect'

The 'rect' attribute was still there in 2.67.1 version blender, is it deprecated in the latest version?

How should I update partial intermediate result in Blender? The only solution that I can find is to update the full image with "load_from_file" function which takes a filename parameter and loads the data from file system.

Use layer.passes[0].rect = blue_rect instead of layer.rect in your code.


Get proxies to follow rig generated by manuel bastioni I have a model I generated that has a rig. I added a couple pieces of clothing and want it to adjust when I move the bones and shape keys. I'm not sure how this should work at all. Here's a screenshot:

I thought the issue might have been caused by appending, but that appears not to be the case, as metaphor-set points out.

Edit:
Here's the link:

The problem is that your clothing has no vertex weighting, only empty groups. The solution is to delete the existing vertex groups on the clothing, then transfer the weights from the body. To do this:

1) Select the clothing and put it into weight paint mode.

2) Select the body and put it into weight paint mode as well.

3) While the body is selected, shift+select the clothing. The clothing will now show as selected.

4) Use the Transfer Weights button in the left tool shelf.

5) In the Operator (lower corner of the left tool shelf after you hit transfer weights) make sure that Source Layer is set to By Name, or it will only transfer the active bone/group.

Note that you may wish to hide the rig, as if you have a single bone selected, it may transfer only that bone.

You can also do this with the Data Transfer modifier.


want to run two actions when pressing a hotkey I have these two actions

bpy.ops.object.mode_set(mode='EDIT', toggle=False)
bpy.context.tool_settings.mesh_select_mode = (True, False, False) #vertex

currently I'm running it from the text editor in blender and it works fine.

I would like to create an addon that could...
run both actions (w the vertex variation) when the Key "1" is pressed,
run both actions (w the edge variation) when the Key "2" is pressed,
run both actions (w the face variation) when the Key "3" is pressed

So far I have this script(addon) working from the text editor, n can be installed n enabled

# by EB, done with blender 2.79
bl_info = {
    "name": "EB 3Dview >> EditMode >> VertexSelect",
    "category": "3D View",
}

import bpy

class view3dEditModeVertSel(bpy.types.Operator):
#    """Edit Mode _ Vertex Select"""      # blender will use this as a tooltip for menu items and buttons.
    bl_idname = "view3d.editmode_vertsel"        # only lowercase allowed # unique identifier for buttons and menu items to reference.
    bl_label = "view3dEditModeVertSel"         # 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
        bpy.ops.object.mode_set(mode='EDIT', toggle=False)
        bpy.context.tool_settings.mesh_select_mode = (True, False, False)

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

def register():
    bpy.utils.register_class(view3dEditModeVertSel)
    # bpy.ops.view3d.editmode_vertsel()

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

# This allows you to run the script directly from blenders text editor
# to test the add-on without having to install it.
if __name__ == "__main__":
    register()

Hi dr Sybren, ok I got the Addon working w hotkeys and all, I just was wondering, if is it possible to write the "Select Vertex", "Select Edge", n "Select Face" in a single addon, each one with its own hotkey, cuz I have seen that other blender py addons have multiple hotkeys assigned to them, please could you provide a code example for that?

btw would you know what is the difference between these two?

km = wm.keyconfigs.addon.keymaps.new(name='Object Mode', space_type='EMPTY')
kmi = km.keymap_items.new(view3dEditModeVertSel.bl_idname, 'SPACE', 'PRESS', ctrl=True, shift=True)
kmi.properties.total = 4
addon_keymaps.append((km, kmi))

the former is from the Blender Addon Tut, the latter from "PieMenu Addon"

km = wm.keyconfigs.addon.keymaps.new(name='Object Non-modal')
kmi = km.keymap_items.new('wm.call_menu_pie', 'Z', 'PRESS')
kmi.properties.name = "pie.shade_of"
addon_keymaps.append((km, kmi))

thanks advanced.

The most future-proof way to go about this is to create your own add-on. First create an operator that performs those actions. You can then bind that operator to the keyboard, add it as a button to a panel, add it to a menu, etc.

This is all documented in Blender's documentation.


How can I create a boolean mesh to replicate the movement of a milling bit? I'm trying to model a part that has a (helical) milled groove using the boolean modifier and can't find a good way to model the cutting path of the bit. I have tried using the screw modifier but this doesn't work well with 3D shapes. If I use the profile of the bit then it gets pretty close but doesn't quite replicate the final cut the bit would produce.

...........................

In this image I used the screw modifier both on the 3D shape and the profile. The best part of the screw modifier is that it extrudes to the next step which prevents visible steps creating a smoother result. The problem is all the interior faces / vertices it creates with 3D shapes. Also the face normals go wonky.

This image uses the array modifier + object offset set to an empty rotated 1 degree and shows the difference between the profile (of the cylindrical bit which amounts to a rectangle)(Left-Blue) and a full cylinder (Right-Red).

This image is to help visualize the problem. At each "step" of bit movement the removed material has to match the full shape of the bit or the final cut won't match what is actually happening.

The closest I can probably get is to use the array modifier, P-Key->Separate loose parts. Then Union Bool to a final shape. Obviously that's an incredibly tedious process if you're trying to get a high resolution result by using more steps.

I may write a script for this and will definitely share and link if it works. But I've seen some really clever and elegant modeling solutions on here so hopefully someone has an interesting way to reproduce this type of machining operation.

This might not be quite what you're looking for, but come back (comment) if it isn't....

I'm starting with a 32-sided cylinder, Z-up, rotated RZ in edit mode by 360/64, so its flat sides face down X and Y.

Cut across the ends of the cylinder, joining the faces facing Y and -Y, preparatory to making a central section (see below)
Cut in circumferences, and SShiftZ scale them in  XY to create the profile.
Split a copy of the bit as shown.
Make a central section made by duplicating ShiftD the X - central face-loop, and flattening its front and back sides by scaling to 0 in X about an unscaled vertex on each side. (Set pivot to 'active', and select an unscaled vertex last)
Make front and back sections made by taking the remaining faces, and extruding their inner edge-loops to X=0, so they meet in the middle. (E, followed by SX0, with pivot set back to '3D cursor' at the origin). Split those off to new objects, as before.
Create the curve which will be the path of your bit.
Assign an Array modifier to the central section, Relative offset to 1 in X, count set to 'Fit Curve', and Start and End Caps set to the other sections.
Assign a Curve modifier to the array, down X. (It's easier if the origin of the curve coincides with the origin of the central section)

Now you could use the result in a Boolean, or turn it inside out, remove the top face, and model with it.


smooth brush is destroying my model,what is happening? I am following this tutorial"https://www.youtube.com/watch?v=tZnUgt659oI", however, when he smooths his dinosaur it's pretty tame, but when I do it, it devours my model, like below:

before:

https://imgur.com/a/cN1W2

after:

https://imgur.com/a/ZxjNm

I have read in some threads that you have to apply subdivision vertices with the clay first, and then smooth out, but that isn't working for me, can anyone help.

also if someone knows why my dinosaur legs are completely glitchy please tell me.

I found out how to fix it, the sculpting that is, gods knows what happened to the legs, as it happens the model is unable to sculpt because it has a to low number of polygons, which as it happens when you smooth it, it will try to smooth all the polygons together like normal, but the problem is, that the polygons are so big that when blender tries to smooth them, it just ends up smoothing very aggressively, and so the model is eaten, in other words, the bigger the polygon, the more aggressive the smoothing will be.

so to fix this I pressed TAB, while in sculpting mode, and added in the add section "subdivide", which made the model have a lot more polygons, which made most of the mesh more intricate, and the polygons much smaller, which made them possible to work with.

then all you need to do is to use the clay brush, and sculpt normally, putting clay on the model, and smoothing it later, which since the polygons are much smaller, the smoothing will be much more gentle.

it should also be noted that I am using a sculpting addon for blender, so I don't know if the subdivide option is there in the vanilla one, so I am linking the addon just in case.

https://github.com/MadMinstrel/blender-sculpt-tools

new dinosaur :3 https://imgur.com/a/QRWRr


Can't bake two actions together just like the title says. I've followed a tutorial exactly but still the product of baking the "action" and "rotator" action together is not the complete merging of both animations.

Could someone please take a look? Thanks

https://www.dropbox.com/s/oq6kckhbr6ln7lb/loading%20animation%20one.blend?dl=0

Please uncheck Only Selected option to solve all objects in the scene and select Object and Pose too for storing all the scene data. Tested and works for me buddy (as You could see I already removed those Action strips),


viewport render not working When I hit the render viewport shading, it keep displaying the normal viewport. At the beginning of my project it worked perfectly but I stopped using the dual viewport, when I came to use it the second time, somehow it didn't work. Maybe I touched something I shouldn't?

You may have paused the viewport rendering. Check if the 'pause' button in the viewport menu/header is pressed.


How to flip image color data I'm using a Black and White image texture for my displacement modifier. The trouble is that the displacement is extruding the white bits when I want the black parts displaced instead. I don't have an app to reverse the colors. Can the values be flipped on Blender?

@Gorgious is correct, however there is an alternate means to edit your image in Blender that I wanted to share. In Blender load in the image in the UV Editing workspace (ignore any UV wrapping etc). Then go Image->Invert->Invert image colors. Then you go Image->Save As and now you have an inversed texture which you can directly load in and use as you were previously.

Result:


Dents appearing in render The mesh seems alright but there are dents in render view; the mesh was created using modifiers (screw over a circle to create a spring):

What I tried:

recalculate normals for whole mesh
recalculate normals for selected face
dissolve/recreate face

The section you have highlighted is caused by the material on the object. Either remove the material, or move the affected sections away from the "text" in the UV map.

The section further down that looks improper is because of flipped normals. Select the whole mesh in edit mode and then select Mesh > Normals > Recalculate Outside.

After recalculation:


Can Blender save Rendered image periodically I usually render still images with very high samples(1000-5000) in cycles render engine.I leave this rendering on my desktop PC overnight.
I was wondering if there is a feature/addon that can save the rendered image every 100 samples or every 30 mins or something of the sort.
So that when I wake up in the morning and there was a power outage during the middle of the render, I still have a render close to the quality I wanted rather than none.

There is a trick that you can recombine images in post editing with blender.
Then you can combine 10 images or so, (using animated seed settings).

So you render a still image as animation images with lower sample rates and recombine them. it takes a bit of manual work to recombine, render speed is slightly lower (bhv rebuilds between frames). for the rest doable.
in the beginning some people hoped to reduce noise.

or in theory one could use this method to increasingly improve a real animation render if you store the images in different folders (by some scripting).

But you might also check the latest blender builds and the denoiser, unless you do a lot of diamont /glass reflections such a sample settings can be decreased a lot.

There is a addon/script that does this
http://adaptivesamples.com/2013/07/22/progressive-animation-render-addon-and-image-stacking/

Most of all though i recomend to review your render settings, today a fairly reasonable render can be achieved with proper render settings:
https://www.youtube.com/watch?v=8gSyEpt4-60


Extruded Part disappears after switching from Edit Mode into Object Mode As the title says: my newly added parts in my mesh disappear when I change from edit into object mode.

And if I change the position of my mesh in edit mode it's still at the same spot in object mode.

My mesh is rigged and weight painted, I also made a few animations.

I already checked my layers, tried Alt+H but nothing helped. Making a new mesh wouldn't be a big deal, but I can't make always a new mesh if get the same problem, so I want to know how to solve this problem.

Shape Keys

I just deleted the Shape Keys for Head_Cube.005 and now the extruded arm face stays throughout the animation:

I don't know any more about Shape Keys, but here is a link to them on the Blender wiki:
http://wiki.blender.org/index.php/Special:Search?search=shape+keys&fulltext=

If you need the shape keys, then you will need to figure out how to edit them to incorporate the extrusion throughout the animation. I'd help more with them if I could, but I know nothing else about them.


UV mapping texture get sliced? in some area I have a flat face (created by bisect fill) that I have to unwrap for using with image that must be pixel perfect(no compress or shear).

What I have done are:

Select bisect filled face
UV>Unwrap it gives me this, notice there are some lighter triangle.

And when I applied texture for it I got this (you can ignore gray square in the image)

It is supposed to be a smooth gradient texture, but it looks like some part of image is cut or fold somehow.
I tried to fix it by using relax tool in blender which remove white triangle from this first image, but, it makes things worse when I apply texture instead.

I'm new to blender and may be asking a silly question. I've been struggling on this for 3-4 weeks now, I've searched everywhere, but I can't find any post relate to my issue. I don't know what else to do, so I turn to this community. Please help me.

Updated #1:
I found that we can manipulate mesh.uv using bpy scripting. Is there a way using that?

I figured it out!

It's turn out that in order to achieve the result I want, I must use smart uv project instead.

I believe that the cause of this problem is that normal unwrap does strech the texture a little, while smart uv project doesn't

Normal unwrap result:

Smart uv project result:


Variants of linked collection instances I created a space ship turret in a Collection in a separate .blend file to use in another file. Then I created linked collection instance couple of times in a new file.

Now I would like to customize them a bit - rotate some of the guns on turrets (not whole turrets though, just some of the objects inside collection). And of course make different rotations on different instances.

After googling a bit only thing I found that was useful was using Object > Relations > Make library override but while I can rotate objects I want and still have a link, constraints inside collection seem no to trigger.

I also don't want to append whole collections into the file - I'm quite sure I will make some improvements to turret later and I don't want to replace 10 instances with new version.

What are my options? Is there any reasonable way to do it? It seems as kind of a obvious thing to do with collections and I can't anything useful on the topic...

I found it! According to docs library override doesn't work well with overriding animations. While I didn't actually animate turrets inside their file, I marked some properties (rotations) as properties for animation - that was enough to break the behavior of library override.

Docs:

https://docs.blender.org/manual/en/latest/files/linked_libraries/library_overrides.html#editing-an-override


How do I render video with rotoscope mask? When rendering my video, the background image with rotoscope doesn't show. What am I doing wrong?
What I'm trying to achieve:

How it renders (imagine no mask lines):

and I notice that also, the mask lines keep shifting. Is there a way of locking them in place?

The Viewer and  Composite nodes are different outputs, The Composite node is the one that is rendered out and saved to a file. The viewer is just to preview the result. Connect the composite so that it follows the same node path as the viewer, otherwise the images get processed following different transformations.


Blender ID Authentication - Issue with Login I just joined Blender Cloud and I am trying to login with 'Blender ID authentication' add-on so I can activate the 'Blender Cloud' add-on. I am having trouble logging in however. I reinstalled and it did not fix the issue. Also I just upgraded to 2.79 on windows 10. Thanks.

If you have any issues, contact us at cloudsupport@blender.org. Stack Overflow is not the place for this.


Possible to make an Installation version of Blender with all current Add-ons and Settings? Blender can be downloaded in a portable version, that doesn't need an installation.
It's also possible to pack external data like models and textures into a .blendfile.

This makes me feel, it should be possible to pack my current Blender Version with all it's settings and all add-ons installed into such a version.
I want to install it on a second machine but don't want to spend hours making sure every add-on and setting I accumulated over the years is the same.

The whole process is pretty easy and (in parts) also serves as a backup solution.

Windows 7/8.x/10

Open the Windows Explorer and copy/type "%AppData%" into the address bar.

There you will find a folder named "Blender Foundation" which contains all the settings for Blender for all the versions you ever used on the computer. Copy this folder.

The second part would be the actual Software with all the add-ons. Open the Windows Explorer and copy/type "%ProgramFiles%" into the address bar.

There you will find a folder named "Blender Foundation" with all the Blender versions you have currently installed on your Computer. Copy this folder.

Since this is effectively a backup of everything you need to move Blender and its settings to a different machine, you can zip these folders and then just have to remember where to copy them on your new machine.

You can copy the "Blender Foundation" folder from "%ProgramFiles%" either back into the same folder on your new computer, or you just drop it where ever you find it fit and use the zipped version in the future.


Python: Obtaining Object Contour Pixels I would like to obtain the pixel coordinates of an object's outline in the currently-rendered scene, using the bpy module.

I found this, which is related, but I'm still not sure how to do it.

Has anyone had experience with something similar?

Edited - refined answer that only requires numpy

To find the outline pixels of an object:

Make sure it has a separate object ID than other objects.

Check the Object ID pass in the scene tab of the properties panel.

Replicate this node setup in your compositor and render your scene.

Run this script:

import bpy
import numpy as np

S = bpy.context.scene

# Read render settings - image size
width  = int( S.render.resolution_x * S.render.resolution_percentage / 100 )
height = int( S.render.resolution_y * S.render.resolution_percentage / 100 )
depth  = 4 # RGBA

img = list( bpy.data.images['Viewer Node'].pixels )      # Read viewer node

# Reshape into 2D RGBA matrix, then Keep only R value for each pixel to convert to grayscale
img = np.array( img ).reshape( [height, width, depth] )[:,:,0]

# Find edge pixel coordinates. Each row has the X and Y values of an edge pixel
edgePixelCoordinates = np.array( img.nonzero() ).T

print( edgePixelCoordinates )

The print statement above will spew out a preview of the full array. Looks like this with the outline above:

[[128 511]
 [128 512]
 [128 513]
 ...,
 [379 531]
 [379 532]
 [379 533]]

Original answer with OpenCV

The code below will do most of the heavy lifting, though it isn't trivial to implement, and uses 3rd party python modules (mainly numpy and opencv). It also assumes you have a different object index for each object in your scene, and a node setup that includes an object ID mask plugged into the viewer node in your compositor.

What Isn't covered here:

How to install 3rd party modules in blender's python. See this answer to solve that.
How to automatically set the object index on the object ID mask node to that active object (that's a fairly easy step to add).

What is covered here:

How to find the outline of a mask using openCV.
How to find the pixel coordinates of the outline.
How to generate a blender image containing the outline (wasn't required but is useful for debugging).

To use this script, set a different pass index to each object, or at least a different pass to the object of interest compared to other objects. Also, in the scene tab of the properties panel, add the Object Index render pass. In the compositor, Add an ID Mask node and connect it to the IndexOB render layers output, then connect the ID Mask's output to a viewer node. Render the scene once, and you're good to go! Run the script and you'll be able to see the outline in a new (or existing) image called 'edges' by default.

The script stores pixel coordinates as an array of XY pairs. The first 10 pixels from the contour above look like this:

>>> edgePixelCoordinates[0:10]
array([[128, 527],
       [128, 528],
       [128, 529],
       [129, 527],
       [129, 529],
       [129, 538],
       [129, 539],
       [129, 540],
       [130, 527],
       [130, 528]], dtype=int64)

Here's the code:

import bpy
import numpy as np
import cv2

S = bpy.context.scene

# Read render settings - image size
width  = int( S.render.resolution_x * S.render.resolution_percentage / 100 )
height = int( S.render.resolution_y * S.render.resolution_percentage / 100 )
depth  = 4 # RGBA

img = bpy.data.images['Viewer Node'].pixels             # Read viewer node
img = np.array( img ).reshape( [height, width, depth] ) # Reshape to 2D RGBA matrix

# use 1 color channel (=grayscale) and convert from float to 8bit int pixel values
img8bit = np.array( img[:,:,0] * 255, dtype = 'uint8' )

# Use the canny filter to find edges
edges = cv2.Canny( img8bit, 10, 20 )

# Find edge pixel coordinates. Each row has the X and Y values of an edge pixel
edgePixelCoordinates = np.array( edges.nonzero() ).T

## Add outline as image in blender
# Generate an RGBA image from the 8bit outline image
edgesRGB = np.zeros((height,width,4), 'uint8')
for i in range(3):
    edgesRGB[..., i] = edges
edgesRGB[..., 3] = np.ones((height,width))

# Flatten image matrix to a 1D vector - the way images are stored in blender
blEdges = edgesRGB.ravel()

# Create new blender image to store outline, or assign to existing one
outlineImageName = 'edges'
edgesBlImage     = None
if 'edges' in bpy.data.images:
    edgesBlImage = bpy.data.images[ outlineImageName]
else:
    edgesBlImage = bpy.data.images.new( outlineImageName, width, height )

imNew.pixels = blEdges


Help! Transparency and refraction not showing up in viewport like tutorial I am brand new to Blender and following CG Boost's beginner tutorial series.

I'm at the part where he's adding a bunch of drops on the surface of an apple, and I set everything identical to the video, but my material looks horrible compared to the video's.

I've made sure that screen space refraction is turned on in the material, and I've also made sure that it's enabled in the render properties as well, with refraction also enabled.

Here's my screen:

Here's the tutorial screen:

Here's a zip of my scene and textures

I can't figure out for the life of me how to get the same transparent result. Any help would be a HUGE help. Thanks so much.

EDIT: I figured it out. I had to turn OFF Screen Space Refraction for my apple. Multiple layers of refraction don't work in the viewport it seems. Hopefully this helps someone! :)


Extrude multiple Shapes along the same Curve I wish to switch from C4D to Blender and I'm trying to replicate the same workflow I'm already used to before making the step.

In this specific case, I need to extrude a number of different Shapes (be it shape-0, shape-1, shape-2, shape-3) along the same Curve (be it curve-0), but I noticed that would require me to have many hard copies of curve-0, since the extrusion is generated from that object. Making Instances of curve-0 wouldn't work because that makes it impossible to change the extrusion Shape.

For reference, in C4D I would create a Loft object and put any Shape and curve-0 in it to generate the extrusion. In that case, multiple copies of curve-0 are still required for multiple Lofts, but then I can use Instances since they don't need to be modified. I can then just edit the original curve-0 to modify all the extruded objects at once.

I couldn't find anything that fits my issue around. Am I missing something maybe?

As far as I know this is currently unsupported, since curve geometry itself and Bevel Object are both part of Object Data.
Maybe this will eventually be supported when Library Overrides project is merged, until then here are two workarounds.
Workaround 1 - Curve deform modifier
Use bevel objects on independent "dummy curves" with a simple straight geometry, but set handles to Free or Automatic so there are enough geometry subdivisions.
Now to each of these dummy curves add a Curve Modifier and set it to an independent instance of the same "deforming curve" sharing object data. There must be one instance of "deforming curve" for each "dummy", both at the same world space coordinates, so deformations are undistorted.
Easiest way to set this up is probably to complete a single "curve bundle" and then clone both around and just change the bevel object.

Cons: The dummy curves wont keep up with severe length changes from the deformations, only shape changes.
Workaround 2 - Array + Curve deform modifier
Slightly extrude your "section defining curves" so they have a small but non zero height, then add an Array Modifier set to Fit Curve on Z axis.
Pick a "path defining curve" as curve to fit. Now add a Curve Modifier set to the same curve object on Z axis.
Clone this modifier setup around to different "section curves", but always set the "path defining curve" to an instance of the original one so they always copy the same path shape. Once again make sure objects using Curve Modifiers are always coincident with their deforming curves.
Cons: Since this relies on an Array Modifier there will always be a slight  difference (as little as the extruded height of the section) in length between deforming curve and the actual profile. Decreasing height will improve precision at the expense of performance.


Problem with weight painting I am new to blender and a while ago I started having a problem with weight painting on a certain part of one of my models. Variations in the weights of vertices seemed to be having no effect; they would all act as if their weight was 100%. Soon it was happening throughout all areas of all of my models.

What is going on here and how can i fix it?

Bones affect the mesh based on their proportional weight on each vertex. The influence for each bone is calculated by dividing that bone's weight by the total weight of all bones affecting that vertex. So if the weights of all the bones add to one, then the bone influence will be the same as the weight, whcih makes things easier to reason about (the normalise function in blender will make all the bone weights sum to one).

For example if vertex 1 has the following weights:

Bone1 : 0.5
Bone2 : 1
Bone3 : 0.5

Then Bone1 has an influence of 0.25 (0.5 / (0.5 + 1 + 0.5)).

In your case you only have one bone affecting the vertex so the influence of that bone will always be one.


Adding a vertex with control-LMB does not work on OSX - how can I fix that or work around? A technique used in a number of tutorials is start with a mesh, delete all the vertices and then start adding new vertices with control left mouse click.

It seems this never works on a mac.  At least there are a lot of forum posts out there saying it doesn't work and asking for help.  I haven't yet found one that results in useful answer.

The user preferences, 'input' tab, shows very clearly what keys are bound to actions and allows you to reassign them but mouse gestures don't seem to be exposed to configuration with the same clarity.

I'm working on a macbook air with a three-button wheel mouse plugged in.  I've tried turning 'emulate three button mouse' on and off, I've tried working with the inbuilt trackpad instead, I've tried all the combinations of modifier keys and mouse gestures I can think of.

I have come close to using harsh language.

Does anyone know how to add a vertex to a mesh on osx?

I too had the same problem. I noticed that I had was using face select instead of vertex select. Changing that might help you. Good luck!


Is it possible for me to export an animation as an OBJ File? I have been reading around and cannot seem to find anything that will allow me to save a model animation as an OBJ file that would allow for CFD analysis in a different software. Any help on how to do this would be a great help, thanks!

no OBJ does not support animations,
check more about all the specifications about .obj here:
http://paulbourke.net/dataformats/obj/
I suggest using FBX (.fbx) or Alembic (.abc)
for importing object with animations


How to prevent the decimate modifier from working on vertices outside the vertex group (with python)? I am using the 'decimate modifier' to decimate my mesh. The modifier should only work on a given vertex group. But sometimes (when the ratio is getting lower) the modifier is working on vertices outside of the group. But I really don't want that! How can I disable this behaviour? If the modifier can't decimate more than it should simply stop.

Can I somehow find out if the modifier is working outside of the group and simply set the ratio to a higher value (with python of course).

Thanks!

Old answer below!

My solution was terrible slow. So I got the blender sources and changed the modifier. It was fairly easy!

I added following code on line 311 (https://git.blender.org/gitweb/gitweb.cgi/blender.git/blob/master:/source/blender/bmesh/tools/bmesh_decimate_collapse.c#l311)

// Only work on vertex groups
// vweights is false when no vertex groups are used
    if (vweights) {
        float weight_v1 = roundf(vweights[BM_elem_index_get(e->v1)]);
        float weight_v2 = roundf(vweights[BM_elem_index_get(e->v2)]);

        if (weight_v1 != 0.0f && weight_v2 != 0.0f)
        {
            eheap_table[BM_elem_index_get(e)] = BLI_heap_insert(eheap, cost, e);
            return;
        }
        else
            return;
    }

As you can see I used the weight to find out if the vertex is really in the group. I need to do that because in deform.c (https://git.blender.org/gitweb/gitweb.cgi/blender.git/blob/HEAD:/source/blender/blenkernel/intern/deform.c#l742) the weight is set to 0.0 even if the vertex isn't inside the group.
If you need this you need to add vertices to a group and set any value between 0.01 and 1 as vertex weight.

Old answer

I wrote a simple (stupid) decimate algorithm which only works on a vertex group or the whole mesh. It is only collapsing edges and the angles are totally ignored. It is not trying to preserve the shape really well.

Here is the code, it is not optimized (I am pretty new to python) and I know I could optimze it here and there (all the bpy.ops api calls could have faster api methods) but for now I am happy. Nevertheless: Here is the code!

If you have an idea how the algorithm would be faster, spit it out. Thanks!

# how_often: how often should a edge be collapsed
# group_name: if it is None it will work on the whole mesh or on a given group.
def decimate_mesh(self, how_often=0, group_name=None):
    import bpy
    ob = bpy.context.active_object
    mesh = ob.data

    # go to edit mode and deselect everything .. just to be sure
    bpy.ops.object.mode_set(mode = 'EDIT')
    bpy.ops.mesh.select_all(action='DESELECT')
    bpy.ops.object.mode_set(mode = 'OBJECT')
    how_often_decimate = how_often

    if group_name is None:
        # decimate all edges
        while how_often_decimate != 0:
            edge_length = dict()
            # calculate edge lengths
            for edge in mesh.edges:
                edge_length[(mesh.vertices[edge.vertices[0]].co-mesh.vertices[edge.vertices[1]].co).length] = edge
            # pick the shortest edge, collapse it and make all polygons concave
            min_key = min(edge_length.keys())
            edge_to_collapse = edge_length[min_key]
            edge_to_collapse.select = True
            bpy.ops.object.mode_set(mode = 'EDIT')
            bpy.ops.mesh.merge(type='COLLAPSE')

            bpy.ops.mesh.select_all(action='DESELECT')
            bpy.ops.mesh.select_all(action='SELECT')
            bpy.ops.mesh.vert_connect_concave()
            bpy.ops.mesh.select_all(action='DESELECT')
            bpy.ops.object.mode_set(mode = 'OBJECT')
            how_often_decimate -= 1
    else:
        # decimate edges where both vertices (of the edge) are part of the vertes group
        group_index = ob.vertex_groups[group_name].index
        while how_often_decimate != 0:
            vertices_which_are_assigned_to_group = set()
            edges_which_can_be_decimated = set()
            edge_length = dict()
            # I am unsure if I really need to do this every time. I know that the indexes could be altered by blender
            # but I need to know which vertices are inside the group. So yeah...
            for vert in mesh.vertices:
                for vert_group in vert.groups:
                    if vert_group.group == group_index:
                        vertices_which_are_assigned_to_group.add(vert.index)

            for edge in mesh.edges:
                vertex_0_index = edge.vertices[0]
                vertex_1_index = edge.vertices[1]
                if vertex_0_index in vertices_which_are_assigned_to_group and vertex_1_index in vertices_which_are_assigned_to_group:
                    edges_which_can_be_decimated.add(edge)

            if len(edges_which_can_be_decimated) == 0:
                print("No edges anymore!")
                break
            for edge in edges_which_can_be_decimated:
                edge_length[(mesh.vertices[edge.vertices[0]].co-mesh.vertices[edge.vertices[1]].co).length] = edge

            min_key = min(edge_length.keys())
            edge_to_collapse = edge_length[min_key]
            edge_to_collapse.select = True
            bpy.ops.object.mode_set(mode = 'EDIT')
            bpy.ops.mesh.merge(type='COLLAPSE')
            bpy.ops.mesh.select_all(action='DESELECT')
            bpy.ops.mesh.select_all(action='SELECT')
            bpy.ops.mesh.vert_connect_concave()
            bpy.ops.mesh.select_all(action='DESELECT')
            bpy.ops.object.mode_set(mode = 'OBJECT')
            how_often_decimate -= 1


Why does editing a material on one object change lots of other object's materials as well? I'm relatively new to Blender (2 weeks in), and I'm working on Blender 2.81. Every time I edit my material it spreads out to the other objects as well. I am super confused, because the other objects are on different scenes and should react individually when materials are applied. I attached a photo below, and as seen, the pink color as an example spreads all over the place instead of the specific object. Any ideas? Let me know if I need to supply anything more.

As seen here, I'm trying to color the roof, but it colors everything else.

The comments give the right answer (sorry to "steal" it, but otherwise they won't be marked as an answer). If you want an object to be the only user of a material you've given to multiple objects, click on the number next to the name. By default, the material called "Material" in your example will then be duplicated and renamed to "Material.001" and the active object will be the only user. Of course you can now assign this material to other objects as well if you want them to have the same material.
The advantage of having the same material on multiple objects is of course to be able to change materials, textures etc. on many different objects without having to merge them into a single object.
The advantage of duplicating a material by clicking on the number is, especially if you have a very complex node setup, that you can easily assign a material on one object that is similar to a different object and only make slight changes.


How to change weight of an object in BGE? I know some ways to change how quickly an object can we affected [traslation] and such, but how can I change the overall weight so it gets affected differently by gravity?

Heavier objects don't fall faster, so you shouldn't be changing the mass. instead decrease the damping factor ( which is like air resistance when falling ) and the object will go faster. also if there is a way to change the gravitational force effect on this object it would work if you increase it.


How to stop text input affecting movement keys in BGE? I have set up text input to give orders to npc, but it affects my first person character movement whenever they contain letters a,s,d and w, so how do I "disable" the movement while typing?

character movement whenever they contain letters a,s,d and w, so how
  do I "disable" the movement while typing?

The same way you talk to your friends:
Before typing text tell the character to ignore whatever you type.

(Be aware you need to define a way to let the character know that it should stop ignoring your typing.)


Plane "cloth" keeps falling off I have a problem making the cloth sewing work. It keeps falling off. I have followed every instruction from a youtube video. I even looked at the clothweaver.com documentation for some answers. But It doesn't explain why some values works in a certain ways.
I had self-collision enabled from the the cloth. I even had the thickness outer and inner value to 0.010. How can I make the plane look like a real cloth without falling off? I'd appreciate your answers!

Try enabling the "Sewing" checkbox from the Shape sub-menu in the cloth settings and then, when you bake or view the preview animation, it should pull the cloth pieces together.


Array modifier linear scale I'm trying to make a repetitive shape, with an array modifier and an empty object as a driver, but I can't scale it linearly.

When I scale my modifier driver, I got a curve as you can seen bellow.

And I want a linear scale like the image bellow (made manually without the modifier).

I would like to keep the modifier way to make it because I can also make animated rotation via the modifier, like this :

Is there a way to do this kind of scale with the array modifier ? is there any other options ?

Thank you in advance for your help :)

[Edit]
I just forgot one thing to mention about what I want to do, I want also to offset the different layers like the image bellow. But Again, if I offset via the Array modifier driver, i get a strange curve.

Here is what I want to get (if possible) :

You can do this quite easily using two Simple Deform modifiers.

Add an Array modifier to your mesh.

Add a Simple Deform modifier, set to Taper.
Use Deform Factor to control it.

Add another Simple Deform modifier set to Twist.
Use Deform Angle to control it.


How do I stop Soft Body from glitching? I have a character rigged with its hair as a separate mesh, which is the child of the head bone in the armature. I have a soft body simulation running on the hair to make it drape down and move around, and it's working perfectly fine, except occasionally when I click to a frame, the hair will appear noticeably far away from where it should be, only to fix itself after a moment without me making and changes and it appears in the right spot. Everything has already been baked and cached, so it shouldn't be moving around at all. The hair also doesn't respond to the snapping around, so I'm not sure what's related to the simulation and what isn't. There are several other objects which share the same parent as the hair (such as the eyes, eyelids, and mouth) and none of them are jumping around in the same way.

I would be okay with this, except it does the same glitch in renders, without having enough time to fix itself, which leads to almost a third of my frames being worthless. If I go to the frames individually and click render, then they render fine. However, I'm working on a project that will eventually have thousands of frames, and I can't be individually checking for glitches and re-exporting them.

Is there a way to fix the soft body simulation permanently so it doesn't do this at all? I'll include screen shots of what's going on. I'd appreciate any guidance or advice anyone might have!

Here's the frame when I first view it.

Here's what it should look like, and what it goes back to if I linger on the frame for a few seconds.

Hey it's been a while with no response, so I figure I'll post my alternative in case anyone else sees this with the same issue. While soft body is nice because it updates quickly in real time, that's not a required feature for a project that you'll be rendering to video.

I was able to achieve nearly identical results using a cloth sim, without any glitched frames during renders. I just turned off the soft body, turned on cloth, and used the same vertex group I had for the soft body sim. Then I turned the stiffness down to match the settings I had before and placed the cloth modifier ahead of the subsurface modifier and baked the simulation. This worked for what I needed it to do, and solved the issue of the mesh jumping around and glitching.


Clear "glass" bottle loses clearness in front of colored background So my Fiji water bottle is perfect clarity and clearness when it's by itself (as can be seen by the right most bottle). However when placed in front of a colored back ground and having a blue gradient back side label it basically turns almost black. I think it's the refraction / reflections causing it. Is there a way I can turn those down --or perhaps add a light behind the bottles that only affects the bottles and does not affect or blow out the background?

[![enter image description here][2]][2]

Adding an emission light that only emits light in one direction and placed behind the bottles cleared up the issue of black bottles. However that presented the NEW issue of not allowing the backdrop to show through the bottles. As presented here: Emission Light Problem

I have had this issue before. I am guessing the problem is with light paths in render settings.  If you don't have enough bounces, then having multiple transparent materials stacked behind one another will cause the darkening.

I'm pretty sure all I had to do was increase my minimum light bounces and it was fixed.  Good luck!

Edit: Minimum light bounces for transparency is the one you want to increase


Bleeding/Seams on AO Bake The undershadow of the ruffle here is showing through the top. I get a lot of these black lines that show up.

Is there anything I can do to fix this when baking an AO?
(the unwrap on the left is.. ruffles at the top and shirt with shadows below it)

Looks like you have intersecting or non-manifold geometry and the problem are aliased edges. There is no way to bake the AO with anti-aliased intersecting edges, that is not yet supported.

There are 3 option:

get rid of the intersections (or non-manifold sections)
bake a much much higher resolution and then downscale the texture
go over those edges with paintbrush and fix them manually


Subdivision modifier's name is red My subdivision modifier's name is red preventing me from using it. I followed a tutorial and this happened.

When the modifiers settings are zeroed out the modifier has no effect. So it shows a red icon.


Creating an eye/eyelid rig for dragon without shape keys I've been creating a dragon lately and now trying to create a rig for my dragon. I've managed to create a basic rig for other body parts of my dragon, but I' m really stuck at creating eye and eyelid rigs as I can't find tutorials of creating them for dragon.

This is how my eye looks like. I've created it by using lattice to stretch it (so it would look like a real dragon eye). The eyelids are separated from the eye itself.

Dragon eye with lattice and eyelids as seperate objects

When I move the eyelid in front view using 3D cursor as pivot point, it moves nicely around the eye, but I can' t understand how to make this work with bones.

Eyelid open

Eyelid closed

The second problem - I can' t make a basic eyerig for this kind of eye, because it is not round and stretched by lattice. Whenever I try to move the eye somewhere using the eyebone in pose mode, it'll look like this. How could I overcome this problem?

Concerning the eye movement, you can use a UVWarp modifier to your eye.

The principle is to set two objects (empties) to shift the position of the UV map of the eye.
Moving (or inserting key frames) one empty will shift the UV map to obtain the result.

Here is a closer view of the modifier :

Edit :
Concerning the eyelid animation, if you set the bone origine at the same position your 3D cursor is (as you said you can rotate it manually), that may work.

Another edit : a rigged version of the eye animation.

The principle is simply to add a "Bone" and define a group named "Bone" for the Iris circle. That allow to play on the position and X-scale of the iris.

The Bone group is the iris / center UVs in the image below :


Why do normals have two directions? First, this is not a duplicate of questions asking what are normals or why do we use them. I understand that they indicate the angle a surface or point is "facing" and we use this for shading and calculation of reflectivity. What I do not understand is why both sides of a surface have normals and why flipping them around can make a difference on the object.

If normals are perpendicular to a surface (or a vertex, though I'm not entirely certain how that could be calculated even when the point is on its own), by rights, wouldn't the other side be going the same direction except backwards? You could have just one normal piercing through the object to function as two.

As you pointed out, a normal vector is a vector perpendicular to a surface. Because a surface (more specifically, a point in a surface) is considered to be 2D, there will allways be two vectors that are perpendicular to it (actually more than two, but we are only accounting unit vectors and from these there are only two).
You can consider one of them to be positive and the other to be negative; being the positive the one to point outwards, and the negative to point inwards.
Vertices alone, by definition, don't have normals. Their normal vectors are an interpolation of the normals of the faces the vertex is connected to. Even so, Blender uses loop normals, which means a vertex has one normal vector for each loop it belongs to.

Now the inner works is quite simple, and your answer to the thread question is here: A normal vector of a triangle is calculated by normalizing the cross product of two edges from the triangle. If you understand a bit of math, you'd know the result is a vector perpendicular to those edges, and therefore perpendicular to the whole triangle. If you change the order of those edges in the cross product, you'll get the negative 'version' of the normal (using the right hand rule). This is done so, by carefully setting the order the triangle vertices are stored and used.

Now, the main reason a flipped normal will look different from the others, has to do with Normal-Light calculations. These are dependent of the dot product, and it becomes negative if the angle between the light source and the normal is greater than PI/2.


Add polygons to extruded 2D object After watching so many tutorials I thought I could quickly pose a short question here. I want to add some topography to an extruded object which I imported from a 2D vector file. The problem is that in ordner to sculpt it I need to add some more polygons on the top face and on the sides. I know this could be done with the knife tool but I'm searching for a way to turn this into a nicely ordered grid. I've tried out the boolean intersect but did not advance this far enough.
How can I add more polygons to the red object?
Should I try to combine the top face with the grid on top and intersect the sides with the planes below?
Thanks a lot in advance!
Maribel
Example:

version Remesh
If you want an even grid also on edges you can try to use modifier Remesh > Sharps

or Blocks modifier directly on Silhouethe object... just use Solidify modifier before Remesh to let it works.

version Knife Project
Select Silhouette than Grid, go to Top View, switch to edit mode and search for Knife Project, but ...

... since silhouette use more vertices that grid you will have generated n-gons on edges that can be problematic for modifiers or modeling. You wil see :)

Notes:
If you need a grid on sides, extrude it after Knife Project. You can use Loop Cut Ctrl+R for that.
For some generated terrain you can use Displace modifier with Cloud texture ... here used on version Remesh > Blocks > Octree Depth 9


Can some one help me identify these edge lines So my problem is that i was making a low poly house and part of my workflow is to use the solidify modifier but after i applied it when i go and select or look at certain lines they very thick and also when i select one it goes black yellow-orange (or white) then black, its hard to discrib buts here's a image.

Help is much appreciated.

Never mind, it's a crease i think, though i don't know if it should be there.


How can I subdivide a lattice? When using a lattice for a lattice deform modifier, I often want to use a more detailed lattice. However, I can not edit it in the viewport in edit mode, I can only move already existing vertices. How can I subdivide a lattice?

A lattice is not an actual mesh, and is in reality more akin to an array of hook empties. So, just like an empty, you can't edit in edit mode. However, there is a way to subdivide it. Go to Properties > Data and you can change the resolution for the height, width, and depth. Note that these are relative, so rotating will quite possibly make the top on the bottom, or the right on the left.


Anyone know why in this video, this bone detaches the arm to my mesh? I don't know why this happens: https://imgur.com/a/rydKZjn. This happens with NO other limb. Any help?

It probably is just that the upper-arm's mesh is assigned to that bone or a child bone.
Select this mesh, switch to weight paint mode, and check the different bone's weights.


How can stipple shading be replicated in Blender? I have had this idea for a little while, using Blender to simulate traditional stipple shading. I have gotten an OK effect using a mix shader with ambient occlusion as a factor to spread a stipple texture in the cracks and crevices of objects. The main problem with this is that all the dots are evenly spaced, and the dots fade out while on a real stipple shaded painting the dots are very closely spaced towards dark areas and get sparser as it gets further away from those areas (see attached image). I'm pretty stuck on how I could produce this effect, I have been thinking there might be some way to control the clustering of a voronoi texture using ambient occlusion, but that's just an idea. Does anybody know of a way to simulate stipple shading? Please advise.

If you don't know how to replicate stipple shading, but you feel like you have some ideas or tricks you think could be useful, please comment, I'll try them.

This is a procedural shader-only approach, which could be adapted to taste. It's based on capturing the light-response of a surface as a color, and deciding on a set of threshold values in its brightness. For each threshold, darker tones are uniformly textured with procedural dots. The resulting textures are layered over one another, so tones below the minimum threshold get all the layers, the second-lowest all but one, and so on.

Create a 'Stipple Layer' node-group which will texture everything below a given brightness with procedural dots.

The Dot Density node is a relabeled Voronoi texture: the larger its scale, the further apart the dots.
The Dot Size node is a relabeled  Math > Greater than node: it determines the internal threshold on the Voronoi texture. Below the threshold, the dot will be Dot Color, above it, white.
The Threshold node is the external threshold value. Below it, there will be dots, above it, white.

Suzanne's eye trough a single one of these groups would look something like this, depending on the settings:

Now to layer them up.

Suzanne is shaded with a diffuse shader, and then the color extracted trough a Shader to RGB node. This means you must be in EEVEE, or just tap the color out after shading in Blender Internal, pre-2.8. Cycles doesn't know what the color of a surface is, until all the rays have been integrated at the end of rendering. Too late for us.
The RGB Curves node allows overall adjustment of brightness and contrast. 'Brightness EQ'
Unless each Stipple Layer group gets its own Mapping node, all the dots in the layers would be exactly over one another, so there would be no shading. Each mapping node is set to translate the texture by some arbitrary long way, so the lookup comes from different places in texture space.
Each layer darkens the next, so the dark dots accumulate over the white background.

The result of 4 layers:

By tweaking the dot sizes, densities, and thresholds, the boundaries between the layers can be disguised quite well. You can add an Ambient Occlusion shader to feed a layer, and intensify crevices, if you like:

You could also for example, split out your own R,G,B, and (probably) brightness channels to do a home-brewed color separation... lots of options.

The  Dot Size and Dot Density entries interact: If you adjust one, you have to adjust the other to compensate. You could perhaps automate that relationship? : I tried a simple division - it wasn't quite linear, and wound up being easier to adjust by hand.

Suggestions for improvement welcome.

Edit: I've expanded the group a little to include more options:

]6

An upper and a lower threshold of input tone for a stipple layer
'Dot Background': a background color for the zone between the thresholds
'Layer Background': a background color for the zone outside the thresholds

These allow the possibility, for example, of negative layers (white dots out of black).

Version 1:

Version2:


How do you make a spiral? I need to make a little spiral for a model I'm making you know those little things on the handle of a furnace

You can easily do this with a Bezier Curve object.

There is a builtin addon shipped by default with Blender that allows drawing spiral objects. You can activate it under the File > User Preferences > Addons > Add Curve: Extra Objects.

Then on the 3D View add a new curve type object, from Add Curve:Spirals > Archemedian

Adjust paremeters to your liking, more importantly Height, Radius and Number of Turns. You can also use Radius Growth although I fear it is insufficient alone.

After creating your base spiral, you can enter Edit Mode in it, activate Proportional Edit , select a buch of spiral loops as desired and use scaling to change the radius into that smooth shape.

Be sure to use S, then Shift+Z to restrict scaling to the XY plane, so it will only make the loops thinner/fatter, without moving them in Z axis.


Accelerate and Decelerate linear Rotation So I'm animating a 10 minute long clockwork sort of animation that has spinning gears all driven the rotation of a single object. There is a default speed and a faster speed I want them to rotate at. When on screen things are happening or moving the gears speed up and when idle they slow down to default speed. So far the methods I have tried to achieve this have been very cumbersome as there are many speed ups and slow downs, keying this with the graph editor seems inconsistent, NLA actions create skips is the rotation in odd ways and increasing the speed of a driver via multiplying the speed connected to the FPS seems to make the gears run backward during deceleration...
So on to the question, what would be the best way to accelerate and decelerate the rotation smoothly and be able to key this quickly. I would like to be able to set the speed up point and slowdown point and be able to quickly copy paste and resize the length of the faster parts and slower parts to quickly line them up. Or have a Controller that adjusts speed up and down smoothly. Willing to use Animation nodes if necessary although don't have a strong understanding of them. How would I do this?  would love to hear what methods people would recommend to speed up this workflow.

I managed to solve this with animation nodes and mapping an F-curve Value to a controller object and tying that to the rotation of the gear driver.
This the node set up I used to solve this incase anyone is wondering. Just needed to add together the total F-Curve values of each frame, this made the gears run a bit to fast so I divided them by 30 to get a better base speed. Now I can just paste the position of the sphere between to positions and the transition between Speeding up and slowing down no move slowly as expected.


Particle remote control Is there any possibility to create remote control for particle number? I mean I have 62 particle emitters for many characters and is there any way to control all of them in one time, to create something that allows me to change particle amount in one place for all emitters.

Sometimes, maybe. The script below will set the count of ALL the particle systems in the scene except those that have been manually edited. I looked for a way to set the value of only selected objects (bpy.context.selected_objects) but couldn't find a way to access the count from there.
import bpy
D = bpy.data

for particle in D.particles:
    particle.count = 1000


Export simple .fbx animation to Destinations VR I imported a .obj from a CAD software,built a keyframe based translation animation, then exported the .fbx file.

When importing the mesh in Destinations Workshop tool. with de model tool, there is no problem getting the object mesh.

But when I want to import the animation, I'm not able to make it work
 - without bones it just crash
 - with bones (limp attached to the obj) it doesn't animate

My "not working" model is available here

Do you have any idea how to manage an animation export to Destinations VR ?

What I'd really like is a simple working animation .blend that I can extrapolate from.

After 2 days I managed to graps some of the inner working :

There is no problem having multiple separated objects linked to the
same armature
When importing from blender's .fbx, uncheck the
"convert units to inches from :" checkbox
In the mesh, uncheck "skin parented objects" and check "skin parented transforms"
Never EVER let anything like : suns, lights or cameras when exporting to .fbx
Don't bother painting materials in blender, I
didn't manage to export them to Destinations, just assign names and
build them in hammer

I managed to import a 1000+ part .obj in blender, rigged it with 18 bones with three pistons kinematics, and imported four 120 frame animations with ease respecting those five points.

You can find Here the simple piston that I rigged to test the import.

Bottom line is: to work with destinations VR you need to learn how to rig.


Glass material in eevee is not working properly I am trying to follow a tutorial from Ducky3D.
https://youtu.be/09IQopONnoY
Here is the link for that tutorial. So my problem is, I can't see any kind of light source through the glass in eevee. Although the objects lit by those light sources are visible. In order to follow the tutorial the light source has to be visible. In this case that image is the light source . But it's not visible in eevee. Again it's visible in cycles. In the tuturial Ducky did the final render in cycles though while working he was using eevee, and that image was visible. Here are some screenshots . You might find these useful while answering,

As you can see the picture is there .(eevee)

although from the otherside that picture is not visible.(eevee)

in this case in cycles the image is visible (cycles).
I don't wanna use cycles to render this image as my pc is weak.(it took 30 minnutes to render a scene in cycles). And the scene looks much better in eevee.
So what is the problem ? What can I do to make the image visible in eevee ?

Maybe try something like this for your glass shader in EEVEE:


Fully merge two objects? I have two objects that I want to fully merge into one object. I have gone through the steps of about 10 posts online and all of them leave the former shared edges visible (when I can get them to work at all). In all cases, the former shared edges are still visible. The program still thinks they are two joined objects instead of one, as can be seen if I delete one of the vertices.
How do I get rid of these visible intermediate vertices/edges?
Two objects (before)
Results of joining faces (with dividing line)
Thanks in advance (since I can't write comments).

Delete the edges between both objects;
Click one of the vertices of one of the ends of the objects that you want to connect, and use Shift+s → Cursor to selected, so we can use the 3D cursor's location to move the other object to the exact position of its counterpart.
Since for me the 3D cursor snapped to one of the wrong vertices, I quickly separated the object using p, then g and z to grab it along its Z-axis, and it snapped right in place.
Select both objects, use Ctrl+j to join.
Remove the faces that are currently between the vertices you want to get rid of.
Select the vertices surrounding the deleted faces, and navigate to Mesh → Clean Up → Merge by distance, and tweak the value to delete the 14 double vertices (by turning it all the way down).
Now select the vertices that are left, click Del, and select the Edge Loops option.

Both models are now joined and clean:

(Note: I rotated the model so it fits this page better in most cases.)


Lossless mp4 is smaller than sum of frames Any explanation why a mp4 comprised of png would be smaller than all of it's images? Ultimately, I would like to lower the quality of my renders (png) if they are being butchered during "lossless" encoding. Why wait 2 minutes for each render when they eventually get dissolved to a lower resolution during processing? So what's the target png file size for lossless mp4 files to converge on a sum of their parts? Sorry if this question get's asked a lot.

If what you would like to do is to lower the file size of your images, the best way to do it would be to turn up the PNG compression to 100%. Blender has it at 15% by default. Don't worry, the PNG compression in Blender is lossless, which means that there will be no reduction in image quality whatsoever. The only con is that it may take a few seconds or so longer in order to deal with compression, but I find that the reduced space on the computer is well worth it.
There shouldn't be anything to worry about in terms of compiling images into a video. I would speculate that videos are more optimized for rapid viewing which could be why the files size is smaller than an equal number of videos.


Is there a way to turn off startup welcome screen? I dont really need it and its kind of a nuisance.

It's right here in the Preferences (press Save user settings before restarting to test):


Where are influence and mapping settings of a texture saved? I just did the following:

  I created one material and one texture. I applied this texture to 5 slots and, which is nice, can assign different settings to each instance of the texture (influence, mapping etc).

  Does that mean texture slots are a data block? It can't be in either the texture or the material, since I only have one of each. How is that organized internally?

You're right if you switch the Properties View to Datablocks you can examine the datastructure.

You find the per slot settings (Texture Layers) under /Materials/MaterialName/Textures /TextureName.
Each texture slot has its own settings.

How the different settings influence the resulting material is controled by the influence sliders of the checked properties and the Blend Mode setting.


Front Flip Animation Bones Rotate After A Certain Degree I have this front flip animation that when I rotate it about the X axis as shown in the video linked below, the root and target bones flip all the way back around and then get to the finish pose.

This animation was originally a quaternion animation but has been since converted to XYZ euler

Video: https://streamable.com/w2wg3a

For the moment from frame 56 to 64, the root bone goes from 146° to 70°, so your character is flipping back. You need to make the bone rotate from 146 to 250 then 360° for example.
Also, it's better to create a root bone that is completely independent, at the bottom of the character, and not use the spine as the root. Instead parent the spine to the root you've created.