Why does blender erase transforms after inserting a keyframe? I have a default cube. I would like to animate it. For example I would like to make it rotate around the Y axis. I add a rotation keyframe (I) at frame 0 and at the last frame I add another rotation keyframe. Then, I set the yellow Transform Rotation Y field to 180°.

And instantly, 180° rotation disappears and no rotation occurs when playing animation. Why does Blender erase the keyframe settings? And how should I make this work properly?

In fact, I am trying to go trough this tutorial and my object doesn't behave in the mentioned way. When I move/rotate/scale my cube, the F-Curves are not updated. What I might be doing wrong?

The keyframe is updated with the current value at the moment you press I or insert the keyframe. After that, the value will not be (permanently) modified any more until you press I again on that exact keyframe.

So if you press I and rotate afterwards, that rotation has no (permanent) effect and is lost as soon as you leave the keyframe. You should rotate first and insert the keyframe afterwards, or at least press I again after rotating, basically to save the modification to the keyframe.

You can insert new keyframes by pressing I on the 3D View and selecting the properties in the popup menu, pressing I on any numeric field in Blender (whether transforms or modifiers/material/constraints properties) or by right-clicking on any field and pressing Insert Keyframes (or Insert Single Keyframe).

In addition, if you want to update any change on the fly you can enable the Automatic Keyframe insertion button on the bottom of the Timeline window. This is the common approach in character animation.

Note that you must insert a keyframe first in which properties you are going to animate. Insert that first keyframe with any of the methods above.


Changing view modes in the view port I've seen people doing this in many tutorials but non of them explained how to do it, clicking  Z  opens selectable buttons in the viewport around the cursor, something similar to Maya menus, I tried to click and hold  Z  but it kept toggling Solid and Wireframe, is this an add-on?  Anybody knows what's called?

It's an addon, it's called Pie Menus. You can activate it from user preferences -> addons


How to create an empty per object in selection? How can I create an empty / null / locator object using python? I'd like to create one for each selected object and then all empties should be parented or constraint to the selected objects, meaning that the rotation and position should be copied over as well.
I tried something along these lines but I can't get it to work properly:
import bpy

for obj in bpy.context.selected_objects:
    bpy.ops.object.empty_add()

Q: How to create an empty per object in selection?

Update for 2.8 +
import bpy

for obj in bpy.context.selected_objects:  # Loop over all selected objects
    empty = bpy.data.objects.new(obj.name + "_Empty", None)  # Create new empty object
    obj.users_collection[0].objects.link(empty)  # Link empty to the current object's collection
    empty.empty_display_type = 'PLAIN_AXES'
    empty.parent = obj

If you want the empties to be the parents :
import bpy

for obj in bpy.context.selected_objects:  # Loop over all selected objects
    empty = bpy.data.objects.new(obj.name + "_Empty", None)  # Create new empty object
    obj.users_collection[0].objects.link(empty)  # Link empty to the current object's collection
    empty.empty_display_type = 'PLAIN_AXES'
    empty.location = obj.location
    obj.parent = empty
    obj.location = (0, 0, 0)


How to apply rotation on a loop on BGE? I have this problem, I created a while loop in my script, my intention is to rotate my object with a decreasing over time speed

My script looks like this:

def rotar(obj, sentido):
velocity = 2
while velocity > initialVelocity:
    obj.applyRotation((0,0, sentido*velocity), True)
    velocity = velocity/1.5
    print(obj.worldOrientation.to_euler().z)

The loop isn't working as intended, as it applies the rotation after all the loop ends, how can I apply the rotation on each iteration of the while loop?

I also would love to set the limit of the rotation where the object reaches certain rotation, say 72º on the local Z axis, but for the moment it seems like a dream

A Python controller describes the operations within a single point in time (logic frame).

This means your code performs all turns at the same point in time. The render will take place after your look completed (regardless how long your loop takes).

Animations are (change) operations over time. That means your Python controller should perform a single turn, rather than all turns. You execute the controller as long as you want the animation to take place.

Example:

def rotar(obj, sentido):
velocity = 2
if velocity < initialVelocity:
    obj.applyRotation((0,0, sentido*velocity), True)
    velocity = velocity/1.5
    print(obj.worldOrientation.to_euler().z)

(Replaced while with if in your sample)

Continual animation

While the above code performs the behavior of a single frame you need behavior at an higher abstraction.

E.g. you want:

when pressing a key

determine the final orientation
start turning

when the orientation reaches the final orientation

end turning

while turning

rotate on step towards the final orientation

You might discover a slight issue: what happens when the final step is too much? Means: the last step exceeds the final orientation.

As described the object will start shaking as it turns left/right all the time.

Solutions:

stop before the final orientation is reached (it never exceeds, but
might not match the final orientation)
stop after exceeding the final orientation (it will exceed unless it hits the final orientation)
when the last step is larger than the necessary step size immediately apply the final orientation (this will always lead to the final orientation, but the steps are not necessarily of the same size).


Painting on my model doesn't work I have UV unwrapped my model, as you can see on the right of the screenshot.
As you can see, i can only fill the model but i can't paint on it.
How can I fix this?

For Blender Internal Follow this quick step below and Save the file in UV Editor

UV unwrap the mesh.
Default material
In the UV Editor -> Click on New Image  (width x height and give a file name as(abc)) -> ok
In Uv Editor -> Image -> Save as Image F3 give a name -> click ok.
Add a New material -> In the Texture Tab click on New
Below in the Textures -> Image -> Select from drop down image saved in UV (abcc)
Switch to Texture Paint -> Now you can paint

For cycles Follow this quick step below and Save the file in UV Editor

UV unwrap the mesh.
Default material
In the UV Editor -> Click on New Image  (width x height and give a file name as(abc)) -> ok
In Uv Editor -> Image -> Save as Image F3 give a name -> click ok.
In the Material -> Surface -> Color -> Change to Image texture -> Select the created image (abc) from drop down.
Switch to texture paint -> Now you can paint.


Objects are not retaining original location in animation? I'm pretty new to animation in blender 2.8, as I have not used Blender for the past year or two. I am working on an animation that involves the text of a logo flying around in the air, rotating and changing position as they move around in the air. At the end of the animation, the texts are supposed to come together and form one cohesive word. So, I placed my objects at their final destination, at frame 120, and set a LocRot keyframe to each individual letter. Then, starting at frame 0, I put the letters in random locations with random rotations and put a LocRot keyframe. To see how it looked, I played the animation, however, when I did, all of the letters just moved to one spot, and clumped up on top of each other.  ]3]4]5]6

Here is a link to the original animation I did when the company had a different logo, and I am basically making this same animation for the new logo.
https://youtu.be/WjcO_cZPI3g
How do I fix this issue?

A lot of times, animators would make the first keyframe and that position, but when they make the next position and keyframe it, they are still on the same frame. This causes the old keyframes to be overwritten by the new ones. This could be the problem here.


Adding texture on a material So I'm modelling this sardine can with a logo on it... I have created my own logo as a png file and I want to apply it on a red metallic material... I have already tried applying it on the subsurface but it doesn't make much of a change

Ok so, what you have to do is tell the shader where to draw your logo and where to draw the metallic part. If your lid is uv-unwrapped you can manipulate the uv coordinates to do it. Provided you have a png with an alpha channel this is quite easy. This is my setup :

Basically you take the uv coordinate and pass it through a mapping node to tweak the scale and position of your uvs. Then plug it to the image texture node and remember to set it to clip so that it doesn't repeat. Plug the alpha in the factor input of a mix shader and plug in the top input your metallic shader and in the bottom one your logo shader.
Then tweak the mapping node as you wish.


How to combine smooth and non-smooth faces? I'm modeling a simple hard surface object, not using SDS. But I need a couple of edges to be well rounded, so I beveled them with 3 segments and smooth-shaded the bevel faces. It rounds well enough, except that it doesn't blend with the other faces, there is a hard seam between the smooth-shaded and flat-shaded faces. Is there a way to fix this? To blend the two together? I need the rest of the faces flat-shaded. So I need to combine the two.

In many cases it's better not to use different shading types, rather than set whole mesh as smooth.

For the rest of the mesh which is intended to be flat you either add Edge Split modifier or check Auto Smooth in Data tab > Normals and set the andgle you need. Then parts of the mesh will be smooth, others - flat:

When joining several meshes with different split angles used

In this case it may be easier to use Edge Split modifier and apply it. It will create double vertices that will make shading look depending on angle you've selected and after joining meshes even with different angle of splitting normals they all will continue look like they did before.

In other cases

You may want to use Auto Smooth as there will be no extra modifier in stack and no double vertices so the mesh will be easy to edit.


How to disable only a visual in renders and not the effect I made a fish with swimming animation, using a plane with deform modifier.
The problem is that if I disable the plane in render, the whole animation of the fish will be disable. But if I don't disable the plane, it will be visible in the render...I tried to make transparent shading, but it makes my animation going wrong.

So is there a way to disable only the visual and not the effect?

Of course there is a way.

You need to make your fish image transparent.
Not the whole image, just the grey parts.

Here is how you do it:
01) Use Photoshop, Gimp or other software to remove the fish image background.
02) Save it as a PNG.
03) Add it to Blender and set the nodes like in my example.

Remove image background

Enable transparency for your image


How can I do a detailed landscape? I am a beginner in the use of blender and in this community, so I do not know if this is the appropriate place to make these comments. I'm trying to make blender the landscape that is shown on the next page Landscape construction, since I think blender can do it in a faster way, but I still do not know how to do it, if someone knows how to do it would be a great help, on the page mentioned above, show each step of the construction of the landscape in detail. Any help is welcome. Thanks in advance

Following the advice of @cegaton this image is the result that I want to achieve,following the steps indicated in the web page of the hyperlink shared by me.

As of 2.78a, you can use adaptive subdivision by turning on experimental features, using a subsurf modifier, and checking the "adaptive" checkbox in the subsurf options. Then, you can head up to the object's node tree and connect a procedural texture to the "displacement" input of the material output. Depending on what kind of landscape you want to do, you can mix procedural textures using the mixrgb node. Noise alone yields a connemara-ish landscape, Voronoi + waves creates a desert and Voronoi + Noise creates alpine mountains.


Viewport not going to camera when I click numpad 0 When I click Numpad 0, The view port normally goes to the camera's perspective

In this picture you can clearly see where the camera is

but when I click Numpad 0 to go to the camera's perspective it goes to the center of the skeleton for my model

If anyone has a way to fix this, that would be greatly appreciated.

Your camera is not active anymore, select it and press ctrl 0, or in the Properties panel > Scene > Camera > choose the camera you want.


apply cloth with different body there is a tight cloth which I want to apply to a body

but the cloth shape is different since the cloth comes from the different body.

I tried to fit it as much as possible and used sculpt painting,

but it ruins the texture alot.

is there any other way to fit cloth to the body?

sorry I'm still new to blender.

Have you tried simulating the cloth object as "cloth" in the Physics panel? It'll make the object behave like real cloth. Set the cloth as "cloth" and the body as "collision", and press the "Play" button in the timeframe, and it should go well.


Render in 3D audio for YouTube I'm trying to render 3D audio so that when you turn the view on YouTube, the audio will change depending on what direction you are looking in. Please note that when I say this, I mean VR video and audio.

The Spatial Media Metadata injector (found here) only supports ambiX ACN/SN3D format audio, and I'd like to find out how to get those file types in Blender. I have 5 speakers, none moving, all playing different ambient sounds (birds, water flowing).

Software Available:

Windows 10
Windows 7
Mac OS 10.14
Blender
Audacity
iMovie
GarageBand
PowerDirector 12
AnyVideoConverter
VLC Media Player
FL Studio

Thanks for the help!

It's rather simple as to do this, also, for free :)

Thanks to @3DSinghVFX for the answer in a comment.

  During audio rendering, first select audio container (e.g. mp3) then select the "split channel" option which will generate six tracks for 5:1 setup. Then you can mix these tracks with the help of some Ambisonics plugin to generate ACN/SN3D format.

Add all the tracks into a DAW (I'm using Reaper), and enable the WigAmbiRemap JS Effect. Set the Outgoing Amb Normalisation to SN3D and Outgoing Channel Ordering to ACN. Then render to a file with 4 channels.

Then, render the video and "glue" them together with ffmpeg.

Use this in the terminal (CMD or Bash will do, ffmpeg must be installed)

ffmpeg -loop 1 -i video.mov -i ambiX.wav -map 1:a -map 0:v -c:a copy -channel_layout 4.0 -c:v libx264 -b:v 40000k -bufsize 40000k -shortest output.mov

You can change the following:

video.mov can be a .mov file or image file, and represents the video.
ambiX.wav is the 4-channel B360 Ambisonic file.
output.mov is the output file.

After that, pop it through the metadata injector (Making sure you check the 1st and 3rd checkbox, 2nd is optional) and you're done! Just upload it to your site of choice.

Source: YouTube, Ambisonics, and VR


surface area of a mesh using Python code in Blender How to find the surface area of a complicated mesh using Python code in Blender. The mesh can be  .obj .ply or .stl .

One way is to sum bmesh face.calc_area() for all faces.

import bpy
import bmesh

obj = bpy.context.active_object

bm = bmesh.new()
bm.from_mesh(obj.data)

area = sum(f.calc_area() for f in bm.faces)
print(area)

bm.free()

Will give result in objects local space would need to allow for scale.  eg if the object is scaled by (2, 2, 2) would need to multiple result by 2 x 2.  Or apply scale before calculation.


Move each of edge loop's vertices by their relative weights in a vertex group So, I have an edge loop weightpainted and I want to move that edge loop's vertices by their relative weights, How can I do that?

I skimmed through the blender's official documentation and I found a solution, maybe there is another one and you're welcome to post it!

So the way I did it is by using the lattice modifier, someone wondering and not knowing a way to do it might find it useful

Add and scale a lattice however you like, I scaled it enough to contain the mesh (Object Mode):
Add lattice modifier to the mesh you're trying to transform
Input recently created lattice as an object in the modifier's object field and the vertex group you're trying to transform in the vertex group field.
Then select the lattice and switch to edit mode, transform the lattice and the vertex group will transform according to the lattice.

My reputation here doesn't allow more than to links, I'd love to be more illustative by the help of images.

I suspect you can use any of the deform modifiers to do this, and while a lattice can be deformed in many ways (and so your VG), even a hook modifier to a simple empty will do, eg:

to get this:


Everything is rendered black, when I set it to be a gradient Hi I'm trying to render my file to be a gradient (cubes) and the floor to be glossy black.  I was following this tutorial on youtube (without the wireframe effect) and I can't figure out why this is happening.  The tutorial is https://www.youtube.com/watch?v=0r5b8LaniMQ

You can see my blender file here: http://www.pasteall.org/blend/38973

The gradient material isn't assigned to any of the cubes; they just have a default diffuse material:

To assign your gradient material to all of them:

Select all the cubes (I used border select (B) to do this)
Set the material of the active object in Properties > Materials
Press ⎈ CtrlL> Materials to link the active object's materials to the selected objects.


Boolean Union Modifier Disappearing Components I have seen similar questions regarding this issue, but this seems a little odd. Whenever a Boolean Modifier is used between two components, everything disappears. Although whenever I scale both components down half the size, the modifier works perfectly normal. The union turns out exactly as anticipated, which I could then scale back up to the normal size. Having to do this work around seems a little odd, since its telling me there are no issues with the geometry of the components.

I did complete a basic list of checks on the components before any boolean modifier is used in order to limit any issues that may occur:

Applied any scaling translations on the components
Removed any doubles
Recalculated all the normals making sure each is facing outward
Verified components are manifold to the best of my knowledge

Is it possible, due to a larger volume being taken up, that blender ended up running out of memory while executing the modifier? This would make sense since the values used during the calculations would end up larger based on the coordinates each point has (everything is farther apart). Any thoughts?

I should note that 4GB of RAM is available and I'm currently working with version 2.75 of Blender. I have also attached the .blend file of the two components I am trying to merge together for anyone who feels the need to try the union on their system.

No, Blender did not run out of memory. If it had, Blender would have crashed. Furthermore, the scale (applied or not) of an object has nothing to do with it's complexity. A mesh with 5000 polygons takes up exactly (within a few bits) the same RAM no matter what scale it is.

This is probably a bug. If you can reproduce it reliably, you should look for it in the bug tracker and if it hasn't already been reported, report it.


Material node tree is locked I have downloaded a material off the internet and appended the material into my scene, but when I went to the node editor and tried to change the nodes, I can't.
They are simply locked:

Notice how the nodes are slightly transparent. How can I unlock the material?

Link & Append

There are two different ways of importing a  data-block from another blendfile as said by the blender references manual's page:

  Link creates a reference to the data in the source file such that
  changes made there will be reflected in the referencing file the next
  time it is reloaded.

  Whereas Append makes a full copy of the data into your blend. You can
  make further edits to your local copy of the data, but changes in the
  external source file will not be reflected in the referencing file.

When you link a material, you'll not be able to edit that resource.

You can unlink & make the resource local (so you'll be able to edit the data-block) by clicking the little icon next to the material's name in the material tab:


Blender Origin was unintentionally move, set back to 0 0 0 I found this : https://blenderartists.org/t/set-objects-origin-to-world-0-0-0/442642/2
this : https://www.katsbits.com/codex/origin/
this : https://daler.github.io/blender-for-3d-printing/mesh_modeling/object-origin.html
and this : https://gamedevacademy.org/how-to-import-blender-models-into-unity-your-one-stop-guide/

All of which through their blatant omission of mentioning a way to reset the origin to zero seem to confirm what I'm worried about: this may not be an option in blender.

And clicking around with the 3D cursor won't help, I need perfect 0,0,0.

What I'm going to do as a workaround is to close and reopen my project in order to generate a new 3D cursor, which by default should be a perfect 0,0,0

I really want a non-hack approach.

All of the above is correct, but it leads me to wonder something. Doesn't applying all transformations (CtrlA) force the origin of an object to return to the world space origin? And in one step? If so, wouldn't this be what the OP wants? If not, what am I missing?


How to execute python code before blender operator is executed Lets say there are operators (buttons .etc) that run or save the text in Text Editor. I need to change the text before such operators execute.

Is there a way involving some callback functions, listeners or handlers?

If there is not, is there a way to remove UI element and replace it in the same spot with custom operator? I only found a way how to append or prepend an operator to such menu or header.

I don't think that there are listeners which you can use in that way.

But what you can do is your idea in the second question. You could replace the button with a custom operator which executes your code first and calls the original operator afterwards.
You can access the sources if you right-click on that original button and choose edit source. After that go to the scripting view and choose the source file available in the dropdown box


My hinge simulation is not working correctly I am trying to simulate this hinge inside this model of bottle. But when I hit play button on animation it acts weirdly and is pushed out of the bottle. I want the separation to swing down inside the bottle. How can I fix this.

PS: The mechanism and hinge is working fine when I drag the whole hinge system outside the bottle into open space but not working inside the bottle like showed in the wireframe view above.

Hinge settings.

Bottle settings:

2 parts liquid system inside the bottle:

The separation bridge, and the two liquids together:

My end goal is to make bridge opening in the bottle that is two separate half semicircles which will be opened when the fluid from the bottom chamber of the bottle will be pushed upward and will open the bridge. So that fluid will basically apply the force on the two bridge gates or flaps and it will open them in upward direction inside the bottle (/ \ like this in shape). And then then both fluids in the top and bottom will mix together (say lemon juice in bottom and water in top). And yes, I want the gates/flaps to collide with the bottle inside when the bottom chamber water will be pushed upwards when a force will be applied on the bottom base of bottle.

From what I can tell, it appears that your setup has a number of issues (and please correct me if I am mistaken on anything here). The biggest one being that the physical design of the flaps and how you want them to open is impossible. I could try to explain it, but the gif below will show it best (I realize it's upside-down from what you want but the concept still applies).

If you tried to do this setup in the real world, the flaps would be locked in place and unable to move, as in the gif you can see that as soon as the flaps move they intersect with the walls of the bottle.

The solution to this will depend on your end goals. If you need the flaps to be visible, the only solution that I can think of would be to move the hinge to the middle of the bottle so that the flaps would fold up and meet in the middle. If you just want to keep two fluids separate and have them mix when the bottom one is forced up, there is probably a better solution for that, but I would ask a new question if that is your goal.

A couple of other things that I see that would also cause problems, even with a proper setup, are that the flaps start out partially inside the walls of the bottle. This will always break a simulation as it's a physically impossible condition. The second is that the bottle collision type is set to Convex Hull, which isn't the best for shapes with large convex areas. A better collision type would be Mesh, as it is the most accurate.

However, these are in addition to the main problem, and likely won't help unless the entire system is redesigned.


Are there any tips for editing the deform mesh cage? I've tried a few times with different methods but I can't seem to get the deform cage right.

Is there a way to cover the mesh with the cage.

Sculpting seems to get the best result for me

If it's too hard to deal with only one cage, you could deform your mesh with 2 different cages and 2 different Mesh Deform modifiers:

Select your body mesh, enter in Edit mode and create 2 different vertex groups, one for each leg.
Create 2 different cages, each one will encage one of the 2 legs.
Give your body 2 Mesh Deform modifiers. For each modifier choose one of the cage and in the Vertex Group field, choose the corresponding vertex group you've created for each leg.
Click on the Bind buttons.
Now each cage deform only a part of the mesh.


How to get smoke to pour out object holes? I created an animation for Halloween and I want to add a wispy smoke effect to the eyes and mouth but the smoke stays inside the object.

Jack-o-lantern Animation

I am using a boolean modifier with an animated object to create the eyes & mouth, I first thought perhaps the smoke can't see the holes as the modifier wasn't applied but that didn't help. I have also watched numerous smoke tutorials but none address the issue I have.

Could you look at my blend file and let me know what I'm missing?

It looks like the resolution you are using for the smoke domain is too coarse. This makes the size of a smoke voxel possibly comparable or bigger than the apertures, preventing the smoke to "see" that they are there. By increasing it to 64 I've managed to see the smoke escape from both eyes.

To make sure that the smoke would come out within the time frame (I've done a test bake of 170 frames), I've also increased the time scaling factor, and I've added a starting normal velocity to the Flow object.

I'm not sure whether it counts, but I've also changed the obstacle type to "Animated" (doing this alone isn't enough, you'll still need to increase the resolution)


How to set default pose to Unity of model from exported as FBX from Blender? I have a model that has lots of animation clips(actions).

Before export as FBX, I set the pose to named "default" pose and exported as FBX like this.

But in Unity, it's changed to first animation clip in animation list in Blender!

I try to fix it, but there is nothing I can do. I can't change the order of animations in Blender and Unity either.

This wasn't first time, I had same issues before but I just ignored because it's fine in game play, but I really want to fix it this time.

What I want is set "default" pose in edit mode in Unity(not play mode). How do I set "default" pose as default, not first animation clip in the list?

Using Blender 2.78, and Unity 2017.3.0f3.

You should Know that Unity takes the "default pose" from the first frame of the first animation.
Also Unity classifies them as they are in blender:

[Solution]
1 - Always create an Idle Animation and set the "default pose" in the first frame, and rename it to be the first animation.

or

2 - set "default pose" on the first frame of your first animation(action) in blender, so Unity can understand that's the default pose.

(don't forgit to Reimport the .FBX in Unity after making changes)


3D Octant cube model from Rubik's Cube 2x2 I would like to create a 3D Octant cube, similar to the following image.

In order to do so, started trying to find a 3D model of it but couldn't find any. So, instead, started thinking about similar objects that could be easily adapted into that one. The one I think closely resembles it is a Rubik's Cube 2x2.

Using Sketchfab, was able to find some models of it

https://sketchfab.com/3d-models/2x2-cube-solve-c2e32d6cc9dd49b7bdd98d04f0c3bb4e
https://sketchfab.com/3d-models/rubiks-cube-2x2-black-b3579a67f12b4c67ba5cb5b802cd6704

Even though the models look very close to the octant I want, it still needs

the xyz axis,
transparent cubes with respective text (-, -, -), (-, +, -)
panels (seen in the first image in purple, blue and orange)

I know how to import models but nothing more than that. My take to solve it would be to search for "how to create axis / make colors transparent / .... in Blender", ... until the solution is pieced together. So, stuck by not knowing the answer to such questions.

I suspect the hardest one for me is to create the panels. How could that be done?

Initially I thought about adapting an already existing 3D model of a Rubik's cube but after speaking with a Blender user, he told me that in order to achieve this I just need to:

  3 planes, turn 90° each other, subdivide each, assign material, join.
  Then extrude verts (with Ctrl) and fill.

(so basically he told me to not consider adapting the model because this is something easy)

This was the result he got, which is exactly what I wanted - it misses only the axis and text:

With his message, managed to create the planes (by pressing Shift+A and select Plane from the drop-down list and then rotating them (Plane has rotation 0, 0 0; Plane 001 has rotation 90, 0, 0; Plane 002 has rotation 90, 0, 90)), subdivide each (Tab > Right Click > Subdivide once), and assign a color in Material Properties (notice that to see the colors one has to activate Viewport shading). Then, joined the planes and extruded vertices (Editor mode, right click > extrude vertices and use CTRL do get the point fixed in the proper location).

This is the final result:

Object mode:

Editor mode:


how do i replace the name of multiple objects in a list with names in another list? I'm currently trying to create a tool, to rename objects in blender, to automatically have lowercase names.
I keep however getting the error: TypeError: 'list' object is not callable

My current code is below, can anyone tell me how I can fix this error?

        objs = bpy.context.scene.objects

        #o = old_name l = lowercase
        o = {n.name for n in objs}
        print(o)
        l = [elem.lower() for elem in o]
        count = len(objs)
        i = 0
        print(count)
        while i < count:
            objs[i].name = l()
        i+=1

edit: I want to do more with the name than just make it lowercase, but I keep getting stuck on renaming the objects in the right order so that's what I'm trying to fix here

Currently your script performs several unnecessary operations when your goal is to rename the objects.

You're creating a set of object names by using the {} syntax, which isn't necessary since the names are guaranteed to be unique.
Unless you intend to re-use the old names, it's not necessary to store them.
You likely don't need to store the new lowercase names either, if you perform your action while iterating over the objects.
Don't use a while loop when you intend to index elements. Use a for loop instead, especially if the object is iterable.
The l is a list of strings, therefore using l() would result in a TypeError, since a list can't be called. It's not a function.

The solution would be to iterate over the objects and rename them one by one.

import bpy

for obj in bpy.context.scene.objects:
    obj.name = obj.name.lower()
    # Perform additional tasks with the renamed object here

If you have to store the lowercase names in a list:

import bpy

names_lowercase = []

for obj in bpy.context.scene.objects:
    name = obj.name.lower()
    obj.name = name
    names_lowercase.append(name)


procedural texture scaling Procedural texture scaling changes note picture A the flakes are bigger than flakes at B. Why this happens ?Texture should be identical!.

Note: A & B are two different objects with same material. Scale is also applied.

I don't see any textures in your object, which would be helpful to diagnose texture related issues, also your node tree screenshot is barely visible which doesn't help either.

Anyway, you seem to be using both Generated texture coordinates and UV texture coordinates, both of which can vary by object, the former depending on the geometry's actual dimensions, the later depending on its current UV layout.

Use either Object texture coordinates or World based ones if you have different scales across objects.


How do I model these spoilers? I'm trying to model an airplane wing. I've already done the main wing body and the flaps, and I'm on my way to model the spoilers (the plates extending upwards):

How can I go about extruding these plates out of the wing body? I've tried extruding these edges but they get into a weird orientation and I can't align it with the wing's surface. How can I do this maintaining a good topology?

This is my reference image (notice how the spoilers cover the flaps' leading edge):

Here is the .blend file:

http://www.pasteall.org/blend/36159

The problem is, in your mesh model and as shown in the images, the mesh making up the wing tapers from the fat end to the narrow wing tip.  This makes the lines appear, kind of, parallel but they are just straight lines with various angles at different x,y,z levels, so when you extrude, the extrusion stays at a right angle (normal) to the lines being extruded from; but, while the long(itudinal) edges are mostly parallel, the (latitudinal) edges of the flap or any other part of the wing change in the XY axis.

In other words each line making up the wing and flap have a similar vanishing points (are nearly parallel), to make the streamline wing, but they are not aligned to the extrusion point.  So, it's not possible to extrude along the normal, and end up aligned with the flap or other points on the wing; but, you can edit the verts, or edges you extrude from the surface, to make them align.

Here's how I would do it. Read this first, I have put step by step instructions below this talk through.

While looking (top view) down on the plane, in vertex select mode, select the verts that represent the width of the spoiler you want to make, where you want to start the extrude. (With the instructions below, we're going to end up with single plane aligned the way you want).

Looking at the wing from the side view, extrude the verts at the approximate angle you wish toward the flaps (a combination of X & Y axis). This will give two edges at the angle you want (temporarily) above the Z axis.

You will now have two edges, two verts each; two are part the wing edge, and two at some height above the z-axis at an angle toward the flaps, but not yet what you want.

Go back to the top view. We're still in vertex select mode; but, we want, snap to vertex ON, and select vertex, (the magnet 'snap during transform' or use Shift + Tab, and 'type of element to snap to: vertex' (right next to the magnet, select vertex).

You will first need to select one of the two end verts of one of the two extruded edges, then press key G (grab), then degress of freedom for X & Y axis by Shift + Z [this says, freedom to move in X&Y but not Z axis.] This will allow you to retain your Z-axis (height of that vert above the wing or flap), but will allow you to snap to one of the verts that are part of the wing (or flap), without actually snapping to the wing (or flap)!  So, you have grabbed, and set X & Y axis (not Z), now move to the correct vert, you may have to move your pointer around till you see it snap to the one you want.  Once it has snapped to the vert you want, click to set it.  Now, do the same for the other vert of the 2nd extruded edge.

Turn off snap to: (magnet)

Add a face in the usual manner, select the four verts of the extruded edge, and press F to make face.  You can now edit as you wish.

Note: If you need to adjust the z axis, just select the two verts, press G > Z to only move them along the Z axis to adjust the angle.

Here are the steps and modified blend: http://www.pasteall.org/blend/36162

Top view (ortho), (Vertex select mode) select two verts to extrude for spoiler.
Side view (ortho), extrude in the general directions and angle you want.
Turn on Snap to (magnet) and vertex in the bottom menu.
Top view (ortho), G to grab one of the verts, Shift + Z (select X,Y axis)
Move pointer to vert to snap to: may have to wiggle pointer around to get it to snap to the vert you want.
Use LMB to set vert.
Repeat steps 4-6 for other vert.
Turn off Snap to (magnet)
If you need to adjust angle

Top View (ortho), Shift + RMB the two verts
Side View (ortho)
G to grab, then Z to select Z axis.
Move up or down for correct angle.
Press LMB to set.

Set face by selecting the four (4) verts of the spoiler, pressing F make face.

Of course, you'd have to remove some faces if you want to see through the wing that made the spoiler, and put in some machinery; but, that's another question.


Animate material with a sound I've already learned how to animate physic transformations with sound curves (scale, position...baking sound to F-Curve) but I wondered how to do the same thing with material (set a keyframe for the intensity of emission shader and then animate with the frequency of a wave sound) can I manage this with nodes (like object info? If the scale of my object is 200% then the intensity of my shader will be 100%) For instance: if the frequency of the wave sound is 100Hz the intensity of the emssion is 1...or, if the frequency is 1000Hz then the colour should be red or like so?

You must use drivers: a driver lets you control any datablock with any other parameter of the software.


pointInsideFrustum not working correctly I've been working with bge and specifically the KX_Camera class to check if points are within the viewing frustum, but even when points are clearly in the camera frustum, it returns false. I'm aware of the issue where the projection matrix of the KX_Camera object are not updated on the first logic tick, so I had the associated Script Controller start with a delay of a few ticks. Even then, the points don't get detected correctly. Upon further inspection, the projection matrix doesn't seem to change. I've been beating my head against the wall trying to figure out why, but to no avail.

Here are some more details about what I'm doing to give some more insight:

I'm not actually rendering anything with this code, I'm using bge and bpy to do some processing regarding points visible from certain poses in a model
As the API states, I'm assuming the provided points are to be in the global coordinate system
The delay in the Script Controller corresponds to logic ticks, as I've read from multiple places
The camera frustum on the display is the same geometry/orientation/position as the the one on the 3D viewer
The point (0,0,0) returns true, even though it is not in the camera frustum. The camera, as it is positioned now, is near the origin, but the frustum does not contain it.

I'd appreciate any help you can give.

I may have fixed the problem. It seems that no matter how long you delay, it doesn't initialize until the first bit of code has been executed. I made a script controller that runs some dummy code to initialize on the first logic tick, and then delayed my main script by a few ticks and things work now.


How to set a specific distance between two vertices? I'm on Blender 2.79 and could not figure out how to set distances between vertices(or anything) in Blender. I'd like the distance between the two selected points in this image to be 77cm or in my .blend file 0.77 Blender units.

I can measure this distance with the protractor and move the two vertices, but if I'm just moving them by hand it will never be exact. I want to be able to enter a number in a box somewhere, and it to be the distance between them. How do I do this? This seems to me like one of the most basic features of any 3D design program, but I can't find an answer on the interwebs.

In this particular case, you can slide (G G)the vertex down to the bottom corner, and then G Z and '0.77' to move it back again.

In general, when things aren't nicely lined up,

With snap set to 'Vertex' and 'Active',
First create a Custom Orientation (Ctrl AltSpace) from the edge you want to measure down (or parallel to).
ShiftD duplicate any vertex to make one you can use as a snapping source/target.
Snap your new loose vertex to a starting point
GYY+(numerical entry) your vertex parallel to your Custom orientation.

you now have a measured point to snap other things to.

I use a lot of Custom Orientations, so I check 'Use after Creation' and 'Overwrite Previous' in the Tool Shelf.

Using Custom Orientations and a loose vertex, with the pivot set to 'Active Element', you can extend this method to measure angles around an axis in the custom edge's direction, through the active element (RYY+(numerical entry))


loop tool does not create a circle I want to make a circle edges loop using loop tool ads on. This is my edges

And when I apply the loop tool circle this is what happened

here's my blend file

You do have bad geometry.  To find and fix it it, I did the following in edit mode:
Go to face select mode and select most of the faces.

Then type h to hide those faces

This isn't strictly necessary but it makes it easier to follow the next bit.
Next I went into vertex select mode, and selected every vertex

and I typed m to bring up the merge menu

and I selected "by distance"

and in the lower bar it told me that it had removed vertices:

Next I tried to select the vertices that you want to make a circle using alt-LMB after deselecting all with ALT-A.  But that failed because you have some extra vertices that are not near enough to each other for 'by distance' to work with the default settings so I opened the merge tool information (at the bottom left of the 3d view)

I had to set the merge distance to 0.01 to get six additional vertices.
After that I reselected the ring, and Loop tool -> circle worked fine.

follow that with ALT-h to unhide the hidden faces and that's that.


2.8/Grease P/How to rotate only a few strokes by the Cursor? I see there's a tool called Cursor, but nothing happens when I click on the canvas with it. I was hoping it would allow me to choose a different location for the cursor so I could rotate by it. As if defining a Pivot point.
DPC

My 3D Cursor was not showing, this is what was confusing me.
Thanks to dan2 from blenderartists to demystify this.


Speed up a multiple video files in a one project I have 7 video files, which I need to speed up to 10 times and render as 1 videofile. The problem is when I add effect->speed control to each file, there are huge gaps with last frame between splits.
For example 1st video is 10 min. I set multiple to 10. In a render it played 1 min fast (as I expected) but the last 9 min is a one damn last frame.
How to make proper speeded video with a few splits? Maybe I need to manualy calculate acelerated length after which delete unwanted trash?
Please help me. Thank you.

Try grouping all of the clips into a meta-strip with CTRL+G then apply the speed effect to that meta-strip.


Is there a way to access a bpy.types.Operator value I have a popup that can allow the user the set a value.  I can see that the value is getting set correctly as it reports it to the console.  However after the function that calls the Operator completes how is it possible to access values that we set inside the Operator class?

class OpenBrowser(bpy.types.Operator):
    bl_idname = "open.browser"
    bl_label = "Select Path"
    bl_options = {"REGISTER", "UNDO"}

    directory = StringProperty(subtype="DIR_PATH")
    cancel_search = BoolProperty(
        name="Cancel Search",
        description="If no further images are to be found",
        default=False,
    )

    def execute(self, context):
        display = "dirpath=" + self.directory
        print(display)
        return {'FINISHED'}

    def invoke(self, context, event):
        wm = context.window_manager
        wm.fileselect_add(self)
        return {'RUNNING_MODAL'}

bpy.ops.open.browser('INVOKE_DEFAULT')

How do I access the value that was set for directory following the the completion of the last function call?

Window Manager keeps track of registered operators

Lets say we add a property to the simple operator template, and make it register - undo

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"
    bl_options = {'REGISTER', 'UNDO'}
    xxx : bpy.props.StringProperty(default="foo")

Invoke it from the UI

Then in python console use WindowManager.operator_properties_last

>>> op = C.window_manager.operator_properties_last("object.simple_operator")
>>> op.xxx
'ggggg'

There is a also a collection of operators used in WindowManager.operators  If the operator has register undo we can find the value used, for example having invoked bpy.ops.object.duplicate_move() in the UI

>>> C.window_manager.operators['
                                MESH_OT_snap_faces']
                                OBJECT_OT_duplicate_move']
                                OBJECT_OT_editmode_toggle']
                                TEXT_OT_run_script']
                                VIEW3D_OT_select']
                                VIEW3D_OT_select']
>>> op = C.window_manager.operators['OBJECT_OT_duplicate_move']
>>> # how much did it move
>>> op.macros['
               OBJECT_OT_duplicate']
               TRANSFORM_OT_translate']
>>> op.macros['TRANSFORM_OT_translate'].properties['value'].to_list()
[0.7582358121871948, 1.8491952419281006, 0.10750504583120346]

The collection is keyed using the idname

>>> bpy.ops.object.duplicate_move.idname()
'OBJECT_OT_duplicate_move'

Note that the value of properties here will be the as used only if the operator has 'UNDO' option, otherwise it will return the default value of the property.

Note the template class name is SimpleOperator but really should be OBJECT_OT_simple_operator to match its id name "object.simple_operator" as per the naming convention

From https://blender.stackexchange.com/a/159444/15543


How do I scale without loosing my animation? I have been trying to set the scale of this part from -1.000 to 1.000 but when I do that the faces flip inside out and the object completely looses it's rotation.
Is there any way to do this, it is absolutely necessary for my project as it is for Flight Simulator and it does not read the scales as blender does and everything needs to be at 1.000.

I recommend using python. (mainly based on How to get keyframes and related information?)

for ob in bpy.context.scene.objects :
    if ob.type in ['MESH','ARMATURE'] and ob.animation_data:
        for fc in ob.animation_data.action.fcurves :
            for key in fc.keyframe_points :
                bpy.context.scene.frame_set(key.co[0])
                if ob.scale[0] < 0:
                    ob.scale *= -1
                    ob.keyframe_insert(data_path = 'scale')

The flow of this code is something like;

look for an object
get the frame number with keyframes
rescale it if the scale is minus
overwrite keyframe

I've tried this with an animated .blend file in blender2.79 and it worked.


Makeclothes too many verticies? I'm trying to make some custom clothes using the MakeClothes plugin, and everything is going well until I try to export the mesh.  I'll usually get an error message indicating it's got both tris and quads.  Using the remesh modifier usually results in a loss of detail, and creates millions of vertices.  As such, I'll apply a triangulate modifier.

After this, the MakeClothes plugin will make the clothes and export without throwing up any errors.  However, when I then go to use these clothes in MakeHuman, I get an error message saying:
"Failed to index faces of mesh human.001.obj, you are probably loading a mesh with mixed nb of verts per face (do not mix tris and quads). Or your mesh has too many faces attached to one vertex (the maximum is 8-poles). In the second case, either increase MAX_FACES for this mesh, or improve the mesh topology. Original error message: () could not broadcast input array from shape (9) into shape (8)".

I've previously had this error from the MakeClothes exporter as well, and so I know it should pick up both of these cases.  It isn't picking this up, yet MakeHuman is failing on it.  Can anyone please clarify what's going on and how I can fix it?

I've found what it is. Turns out that while the MakeClothes exporter allows all tris or all quads, Makehuman only works with all quads.  As such, all meshes need to be quads for MakeHuman to work properly.


Blender mesh gets strange normals in Unity 5 I'm having some trouble getting a mesh to look correctly when having smooth normals applied in Unity 5, the mesh itself is made in Blender and I suspect that its in there that I do something wrong.
My mesh originally was made up of several meshes that were later combined into one, with doubled vertices removed. In the example below each of the "lines" were separate as well as the sections between them. When I select "calculate normals" in Unity 5 and select a smoothing angle of 180 I get the result of the second image, what could be the cause of this?
I have other meshes that were combined in similar ways that do not show this error at all.
I would really appreciate some help here :)

After some testing back and forth I discovered that my problem was solved by combining the problematic meshes together with a correct one and then separating them again. How or why this worked I can't say, but it did the trick for me :)


How can I eliminate the added height when applying a thickness to Solidify modifier? When I add a Solidify modifier to a hemispherical shell, I am given an option to add a thickness (amongst other options). When I add a thickness to the hemispherical shell, I've noticed that Blender increases the overall height of the shell due to the added wall thickness.  An example is shown in the attached image.

Is there a way I can eliminate the extra added thickness? Are there additional steps I can take to suppress it, or make the bottom of the hemispherical shell flat again?

Adjust normals

Solidify modifier extrudes faces along their normal.

A default UV hemisphere has the bottom faces whose normals are not parallel to the XY plane. So the extrusion vector will have a Z component that will create the effect you see in the image below (which is an outer extrusion, while yours is an inner one, but it follows the same principle):

In blue are evidenced the vertex normals. Note how the last line of vertices has a non-horizontal normal projection.

To keep the bottom of the extrusion co-planar with hemisphere's bottom vertices you should start from a geometry who's last faces normals are not incident with XY plane:

The last picture was made by extruding the last line of vertices a bit on the Z-axis, so the geometry may not exactly represent a standard hemisphere.

To obtain a more precise result you can work with the default UV sphere settings and set an odd number of rings. This way, when you cut the sphere in half the faces will already have the correct normals and the resulting mesh will be a more precise approximation than extruding manually.


How to script a gizmo that would be transformable(move, rotate, scale) independantly from the object it would originate at? I am looking at the documentation and the gizmo samples that come with Blender(Text Editor's Templates>Python>Gizmo...)

but I am currently struggling a bit trying to understand how this new gizmo concept works.

I would like to make an operator that would make a custom shaped(doesn't matter much - could be other types) gizmo appear at the orgin of the active object and could be moved, rotated and scaled independantly of the object so that I could get it's transformed matrix and do other stuff with it during(or at the end of) the operation. I am sure I will figure it out sooner or later, but I could use some help to make it sooner rather then later and would be very greatfull for it. If somebody could point me to some more examples of gizmos used that would also be awesome.

Gizmos require a target to act upon.

Manipulating the gizmo will act upon either:

Property
Operator
Callback

These are set by calling one of the following methods:

target_set_prop(target, data, property, index=-1)

target_set_operator(operator, index=0)

target_set_handler(target, get, set, range=None)

The second of these return an Operator Properties object which you can then set.  Still researching this and need to run some tests but I believe that the second one is what you are looking for.  Please see the documentation for these methods

See the gizmo_operator_target.py template for an example using the transform operator.

See the gizmo_operator.py template for an example that performs a more complex operation using the callback method.

Callbacks made easy

It's quite difficult to see what's going on in the template example so I have prepared a simpler version:

def setup(self, context):

    arrow = self.gizmos.new("GIZMO_GT_arrow_3d")

    def move_get_x():
        return context.object.location.x

    def move_set_x(value):
        context.object.location.x = value

    arrow.target_set_handler("offset", get=move_get_x, set=move_set_x)

    arrow.matrix_basis = context.object.matrix_world.normalized()

    self.x_gizmo = arrow

def refresh(self, context):
    self.x_gizmo.matrix_basis = context.object.matrix_world.normalized()

In order to manipulate a gizmo independently you will have to look at the matrix_basis property.

Simply commenting out the last line in the refresh method will leave the gizmo where it first instantiated:

#self.x_gizmo.matrix_basis = context.object.matrix_world.normalized()

If you want to keep the gizmo with the object then you need to update matrix_basis accordingly.

Subclass Gizmo

Another option is to subclass gizmo, unfortunately I haven't had time to write up an example of this but it is another avenue to explore.

You might also want to look at using the matrix_offset to retrieve information about the change.

If this still isn't quite what you're looking for then you can consider using an empty and attach the gizmp to that instead.

You might also want to look at this question.


Blender 2.82 - addon missing? - Export to After Effects JSX looking for info about this addon: Export to After Effects JSX A tutorial 2.8 shows the addon in "Testing" don't find it in 2.82

The official releases do not include the add-ons from the Blender Add-ons Contrib repository. However you can download and install them yourself. The exporter for Adobe After Effects (.jsx) can be found here.
In order to install it:

Go here and click Download File.
Open add-on preferences in Blender (Edit > Preferences > Add-ons).

Click the install button and select the downloaded file.

Enable the add-on.


Why wont my 'background' render? I'm having this problem in Blender that it is only loading the text, I am very new to this and don't know why it is cutting out what is even in the camera view and making it black. If you could help me, I would really appreciate it.

It's only rendering 'Kenny Miller" and not the green/black back:

[

Empties have no geometry

You are using an Empty object to display the image (you can that from the icon in the outliner), but as stated by the manual:

  The “Empty” is a null object. It contains no real Geometry, [...]

This means that the object has no faces, no materials, so the engine has nothing to render. What you see in the viewport is just a "gizmo", useful to work with but has no influence on the rendered image.

The Image-Empties can be useful to quickly put some movable references in the scene. If you want to render the image, I would suggest to use the Images as plane add-on, that starting from an image create a true object in the scene.


How to change vertices on a circle? Just a quick little question, in this video

https://www.youtube.com/watch?v=CVPcT0dJmoY

At around 41:20 he someone makes it so he can edit the vertices on the circle, but he never says what button he hits to do it, and I've been googling and I can't find it.

He's in edit mode, try pressing the Tab button to enter it.

By the way, I'd absolutely recommend you checking out this tutorial, especially the first 2-3 lessons. It goes in detail about Blender UI and all its menus and submenus.


How do you loft between curves? How do you loft between curves in Blender.
I am finding tutorials on the subject but they seem old and outdated.
Is there a current way to do something like that? (In version 2.74)

NOTE: This is not a duplicate post because the answers that were posted are no longer valid. The CurveTools Plugin doesn't seem to work in version 2.74.
Has it been replaced with something else?

Blender is primarily a polygon based modelling tool. Curves have received some attention over the years and are quite acceptable as modelling devices now. However Lofting, which creates surfaces from Curves (or potentially NURBS) is, if we are honest, a little bit of a Fiasco, still in 2015. Those of us who want that functionality seem to be in quite a minority, else it stands to reason that these features would be much better supported.

The power of the Bridge Tool and the CurveTools addon shouldn't be underestimated. From what I can tell CurveTools is still semi-actively under development.

Your question is, "how would you loft between curves"? I use Sverchok (Node based geometry addon for Blender).

While the example image shows three splines which are part of the one curve, this is to illustrate only the control points of the splines. For this to work in Sverchok you

have any number of separate curves
their names are important for sorting
the origin of all the curves should be the same, the geometry of the curves themselves is of course entirely up to you.
with the curves selected, press the Get Selection button on the Objects-in node , and hook up  the nodes something like the image shows.

For live updates you need to scrub the timeline or have it playing, it's a bit of a hack.. but it gets the job done.


Keeping rotation values within a range of 0 to 360° How can I keep the rotation values within a range of 0 to 360° no matter how many times I actually rotated an object? I need this as a value for a driver variable.

For example 945° => 225°.

Modulo's partner in crime.

Alternatively to modulus could use its partner in crime div. a // (2 * pi) is how many integer multiples of 2pi the value is, eg if a = -3 * pi / 2 we get -1. If we subtract -1 multiples of 2pi  from a we get pi / 2.

a - a // (2 * pi) * 2 * pi


How to make beer foam I want to make a beer foam, not just for an image. I want the beer fluid to pour in the glass and automatically make foam on the top of the glass and drop down due to over flow.

It should be in animated not a static render.

I have seen video that shows how to render the foam, but not as animated video. Is there a brief explanation how it works?

I would animate a simple UVWarp with a texture with transparency.

I would model the foam as a single object, not detailed at all. Look for a texture with transparent parts, apply it to the foam object. Apply a UVWarp modifier to the object (this modifier moves the texture), and animate the modifier using an armature and two bones.

The texture should have a big transparent part, so when it is animated it looks like if its going down from nothing. Pretty sure it could do the trick for a couple of seconds.


Mass removal of materials with active F option In my projects I have plenty of materials with active F option (bpy.data.materials["name"].use_fake_user). Manually removing them one by one is horrible. What is the quick way?

You can remove fake user in Outliner in Orphan Data mode:

For complite remove materials if they haven't users, press Purge All button


Ctrl+Shift+B, subdivides bevel instead of smoothing bevel. How do I smooth it? This is my current mesh:

I want to turn the square hole into this shape:

I tried ⎈ CTRL + ⇧ Shift + B to bevel the vertices, and it gave me this:

But the problem is when I scrolled up, instead of giving me a smooth circle-like bevel, it simply subdivided the diamond:

How can I create the circle-like shape I desire here?

I'll present you method based purely on quad topology.

It's a little bit manual work, but nothing is worth more then nice quad base topology.

Make sure you have enabled F2 addon in User Preferences as it will speed up last step. You certainly don't need it. It will be just easier.

Delete 3 bottom vertices.
Add a Circle and set Vertices to 8/12/16/20/24... and so on. Just to have straight horizontal vertices along Circle. I have used 16 in this example.
Scale it down approximately between existing shape then scale it up with Vertex Snap and hover closest vertex. I've done it holding CTRL while scaling.
Remove top part of the Circle.
W > Remove Doubles to "merge" Circle with existing shape.
Select 2 vertices on one chosen side right before empty face, move mouse cursor to the other side and hold F (F2 addon).

I have two other methods on my mind but this seems to be the cleanest one so far.


In BoxCutter, how do you control distance of cutter from object? I'm trying to do a simple cut of an object in BoxCutter. How do you control the distance of the cutter from the surface of the object? (See images below.) For example, when I'm in front view and I do a simple box cut, it seems fine, but as soon as I rotate the camera, you can see that the cutter is a good distance from the surface. I want the cutter to be as close to the surface as possible.
I've tried BoxCutter Surface settings like "Local", "Nearest Edge", and "Longest Edge" but this doesn't change anything. I've also tried adjusting the Shape offset and spacing and this didn't change anything.
Sometimes the cutter starts really far away from the object, and then it's a pain to resize it. Is there a setting that controls how far away the cutter starts from the object?

FYI, I'm using Blender 2.92 and BoxCutter 7.17.16.

Found the issue. The version of BoxCutter I had had a bug. When I downloaded the latest version, the cuts now begin just above the surface where they should be.


How to move selected edges toward 3D cursor? I know that i can set Pivot point to the 3d cursor mode on the tool bar, and then scale selected edges, and edges will be scaled towards the 3d cursor. But how to move the edges to the cursor without scaling?

select your faces, use Shift+S then select "selection to cursor (offset)".


How to create face out of corner? I've frequently found myself in a situation in which I need to create a rectangular face in a corner that only has 2 edges. I created an example:

So far I've been doing it by extruding from one edge with Snap to Vertex turned on, then I merge the two vertices and scale the vertex in the open corner by the other vertices. I'm sure there must be an easier way.

Set snap to 'Vertex' (target) and 'Active' (..,element, source)
Switch on 'Automatically merge vertices'
In vertex mode, select the two vertices at the ends of one of the inner edges, corner last.
E extrude the edge implied by the two vertices, snapping the corner vertex to the one at the other end of its edge.

It depends, really, this way isn't necessarily faster than yours, but I nearly always have my snap set this way anyway.. and if fiddling, often use the auto-weld. Perhaps the only point is, you don't need to be in Edge mode to extrude the edge.


Combining rendered images to increase samples Not sure if this is the right subdomain to post in.

Why is it that in order to combine multiple rendered frames with same number of samples, but different seeds, that I need to use 100%, 50%, 33%, 25% etc. instead of 1/n (eg. 25%, 25%, 25%, 25%)?

I tried using 1/n, but it resulted in some transparency. The first method (100%, 50%, 33%, 25%) seems (intuitively to me) that the first layer would have too much emphasis.

From the linked answer (https://blender.stackexchange.com/a/21809) you have the following image to show the compositor node setup :

As mentioned in the correction to the linked answer, the Mix factors are actually incorrect - the correct values are as you stated : (100%), 50%, 33%, 25%, 20%, for 5 images (where the 100% corresponds to the first image which shares the mix node with the second image).

While this might intuitively seem wrong, it is actually correct due to how the images higher up the chain actually proliferate through multiple Mix nodes.

Consider the four images A, B, C, D.

Starting at the last image 'mixed', this is included with a mix factor of 25%. As expected, this will contribute 25% to the final result. This means that 75% of the final result will be contributed to by the remaining 3 images (A, B, C).

Final Result = 25% of D + 75% of (A, B, C)

Now considering the next image (C), this will contribute 33%, meaning that A and B contribute the remaining 67% (actually 33.33333% and 66.66666% would be more accurate) :

Final Result = 25% of D + 75% of (33% of C + 66% of (A,B))

For the final mix, 50% is contributed by B and the remainder (50%) is contributed by A (we don't need to bother with the 100% since that's purely A) :

Final Result = 25% of D + 75% of (33% of C + 66% of (50% of B + 50% of A))

All we've done so far is expand the mix nodes to represent the percentage of each output that contributes to the output, bearing in mind that the two percentages must add up to 100% (so if one image contributes 'x'% then the other must contribute '100-x'%).

Now, we can multiply the percentages into the braces to expand as follows :

Final Result = 25% of D + 75% of (33% of C + (66% of 50% of B) + (66% of 50% of A))
             = 25% of D + 75% of (33% of C + 33% of B + 33% of A)
             = 25% of D + (75% of 33% of C) + (75% of 33% of B) + (75% of 33% of A)
             = (25% of D) + (25% of C) + (25% of B) + (25% of A)

i.e. Because the Mix nodes are chained together, the 100%, 50%, 33%, 25% factors combine to result in each input image contributing to 25% of the resultant image.

As mentioned in the linked answer, the same result could be achieved by using Add nodes to add the images together and dividing the result by 4.

i.e. Mix nodes (note the reducing Factors) :

Is equivalent to Add and Divide nodes (again, note the Factors set to 1.0) :


Low Poly Art Deep Zoom Animation I am interested in playing with blender to do some low poly stuff, I just like the style of it. Anyway my question is how are things like deep zoom handled in low poly.

Let's take a tree or grass. In the low poly style the leaves or the grass is handled by a single basic mesh object of some sort.  But let's say you want to zoom into the tree or down into the grass to focus on a bird or and any or something. Suddenly the individual leaves or even blades of grass relevant. How is the transition handled.

Can be in reverse what if you want to do an extreme pan out to show a planet (okay not realistic because you wouldn't model a full planet in detail in the first place). But the point is even if you modelled at low poly at a specific scale as you pull out you loose that style because it become to much detail.  More realistic example if you model leaves of a tree and pull out you wouldn't quite maintain the low poly look.

I don't think particles are helpful so just looking for a starting point to do some studying before I dig into the project.

You can create a high-poly mesh and animate the collapse ratio of its decimate modifier to reduce the polycount while the camera is zooming out.

Original Mesh

Mesh with decimate ratio of .016.
Learn more about the decimate modifier here: https://docs.blender.org/manual/de/dev/modeling/modifiers/generate/decimate.html

As for leaves, I'm not sure. It's hard to do a seamless transition between a bunch of individual leaves and a solid "block" you'd see in most low-poly renders.


Has anyone started a project similar to Grasshopper (Rhino) for blender? For a while now I've been interested in prototyping parametric ways to generate geometry. The nodeview of Grasshopper reminds me a lot of the nodeviews we have in blender.

I was thinking, with the new pynodes feature maybe somebody has started to do work on node based parametric geometry creation, or does pynodes not make that possible?

edit: I'm already able to write scripts that generate parametric geometry  using BMesh API.

edit2: example video of Grasshopper in action

Sverchok

There is such a tool, it is called Sverchok. It's russian for "Cricket" as a sign of respect to Grasshopper. Sverchok is a Blender add-on that works on all platforms, and has over 180 node types.

The project github page: https://github.com/nortikin/sverchok/ (including download links)
Ask questions on the issue tracker

To get a sense of what people are making with Sverchok checkout the google+ group

sverchok community


How can I animate the Restrict Visibility property of an object? I've been trying to create an animation where an object blinks on and off.

For example, I have a Cube and I set a keyframe on it's Restrict Visibility icon (the "eye" icon) with I, then I toggle off that "eye" so my cube doesn't show in the Viewport and again I press I to record that keyframe. Then, when I preview the animation in the Viewport, I see my cube appears and then disappears like I want, but when I render it, the cube does not disappear at all.

What am I doing wrong?

Restrict Rendering

The feature you need to animate is the Restrict Render icon: , not the Restrict Visibility icon: . Restrict Visibility only effects whether the object can be seen in the 3D Viewport -- it does not effect rendering at all.

How To Render & View Your Animation

Before you render your animation, first you should specify where you want the rendered animation to be saved and also the file name. To do this:

Go to: Outliner window -> Render tab -> Output section -> specify the directory and file name
Select your rendered file output format. Here, I'm selecting the video format MPEG. However, it's considered very bad practice to render straight to a video file -- I'm doing it here only for the sake of brevity.

Next, scroll down to the Encoding section and select an appropriate encoding format. Here, I'm selecting the MPEG4 format

Now go up and click on the Render Animation button:

Now on your computer, go to the place where you saved your file and view it with a video file player:

If you want to play your rendered animation directly in Blender, you can use:
Info -> Render -> Play Rendered Animation (CTRLF11)

NOTE: The "Play" buttons shown under the Render Result window will NOT play your rendered animation -- they are only for previewing your animation before rendering it:

You can read more about the different features of the Outliner window here and more about the Rendering Process here in the Blender Manual.


Setting Up A Minimal Sculpting Environment With An Image Area I want to sculpt in a minimal set up with a reference image loaded in another area. I will toggle views to change settings when needed. But, I'm having trouble with the steps to set this up.

I understand how to split areas in Blender. I also know how to hide areas with: 't', 'n' and 'shift+space'. I understand that F11 will give me full screen, getting rid of the window chrome. But, I'm having trouble combining these steps in a way that will create the minimal sculpting set up I have provided below. I don't want the areas with the red x's. I only want the areas with the orange check marks.

What steps will achieve this set-up?

Ok, here we go:
1. Remove UV Screen
This may sound contradictory, but necessary to remove the timeline. Blender is weird like this and will only collapse a section if their is only one section spanning the width of it above it. Remember to collapse a section pull on those little three lines in the top corner

2. Collapse Timeline
Pull on the three corners in the 3d view as shown in the image.

3.Right Panel
Remember step one when we collapsed the UV screen to collapse the timeline? Well we have to do this again to collapse the right panel. First pull down then up as depicted in the image below to remove the outliner.

4.Finishing up
Now, press T to close the tool panel. Next pull the top three corners of the 3d view toward the right panel to collapse it. To remove that top bar pull on the three lines below the info icon and pull down, then up. Finally, Pull the 3d view corner again to the left to open up another 3d view. You can change it to UV image editor by clicking the icon.

Further Reading
How to close view windows?
Arranging Areas - Blender Reference Manual
Simple, Nice Explanation On BSE
Great Youtube Video


Is there a library of components for modelling buildings? I am about to embark upon learning Blender to product 3D models of a building project. Before I start, is there a library of components for modelling buildings?

Not inside of Blender there is not, Most assets like that you have to download yourself, However there are a few in File> User preferences > Addons > mesh
Enable them all and try them out, see if you get what you want. Also There are free models at http://tf3dm.com/


Cycles - rendered viewport really slow in Blender 2.8 So since months I am experiencing that cycles is getting slower and slower for me
in Blender 2.8 and I thought with the release coming it might become better.

However when I have a very simple scene and use cycles to have preview it takes several seconds just to update small position adjustments i make to a sun lamp for example.

I do not know if I am having a setting wrong so it would be really nice if someone could help me.

I use a GTX 1070 as GPU and have enabled it.
Tile size is 240x256 (autotile)
viewport tile: I tried 64, 128, 256, 512.
CPU is i7 6700K and 16GB DDR4 2800Mhz.

Try to use combined GPU AND CPU for rendering. Using square tiles will increase render speed (any square numbers "X²" for better performance). You can find some sites to help you minimizing the render time.


How to put a Part of my Model into a New File I'm Newbie and i have a packet of Trees which are packed into one single 3ds file. How can i make seperate models of it? In Photoshop etc, i'd use "Copy&Paste" it into a new File, how is it done in blender, the easiest way?

You can save the models in blend file and append them in a new file whenever you want using "File -> Append" (Shift+F1)


How to fix "bone heat weighting: failed to find solution for one or more bones" i have rigged this gingerbread man, and also i have made everything one object so when i rig it, the WHOLE gingerbread man will move. but when i parent it, it says " bone heat weighting: failed to find solution for one or more bones". how can i fix this?

here is the blend file:

EDIT: after trying to figure out the problem, i discovered this problem only occurs when i set the parent with automatic weights. hope that helps.

If you want the frosting move according to the main body I would recommend the DataTransfer modifier as solution.

Therefore you should parent the frosting to the same armature as the Gingerbread man. But you don't have to make weights just the empty vertex groups.

My example scene looks like this

So, for Bone deformation we need the Vertexgroup information projected from the Base(your gngerbread man) to the Addon(your frosting).

The modifier has to be on the Addon and it should look like this.

depending to the Size of your object you may change the ray radius

After getting the weight information from the base object you should be able to join the two meshes together(but you don't have to). The frosting should have reasonable weighting.

EDIT:

After projecting the vertexgroups you have to apply the DataTransfer modifier, because it will automatically recalculate it when you change your pose.

Edit2:

Parent just one object at the same time to the armature.


Plastic bottle material I want to make bottle as this one, but i cant find anyting like that. What is node material for that? I need transparent plastic material

If you are using 2.8, I found that the principled shader is very easy to set up for this provided you make use of an environment texture in the world shader.


Rendering Options Missing In the rendering tab, I am missing numerous options such as anti-aliasing and shading. Is there a toggle in user preferences for expanded rendering options?

Cycles rendering is different than the blender internal rendering (this applies for v2.79b and lower).

You can however acces the Anti-aliasing settings if you really want to.
Under sampling enable branched path tracing and you should see the option for AA.

The Shading options also differ.
They are split into the world and object properties.
Everyting else you can probably edit via the node editor.


Blender AttributeError: 'PreferenceView' object has no attribute 'use_international_fonts' I am at intermediate level in Blender and i recently came across Groove 3D. So, I downloaded and installed it. But when I enable the add-on it displays " Error(see console) " under Preferences option.
When i open the console, I see the following message:
AttributeError: 'PreferenceView' object has no attribute 'use_international_fonts'
Please help me solve this immediately.
P.S: I am not very familiar with python or coding in general.

It seems that the version of Groove3D that you're using hasn't been updated for Blender 2.83. This Blender version introduced a change to the Python API. The handling of languages and translation were adjusted by:

https://developer.blender.org/D7210
https://developer.blender.org/rB968619d03626c7e4d92d4cb383ac304b72595af3

As a consequence the use_international_fonts mentioned in the error message no longer exists.
Therefore, I would suggest you contact the developer, in case they aren't aware of this change. In the meantime you could use the add-on in Blender 2.82.


How to disable in render just one object and not the entire collection in blender 2.8? Earlier in outliner 3 options were available for each object one of which was disable render. Now only one option is available for each object. Basically how to disable render for single object inside of collection

In the outliner there is a filter option which allows you to enable the Restriction Toggles that aren't displayed by default which includes Disable in Renders (camera icon). Once you have it enabled you can disable any object or collection from being rendered by clicking on the camera icon behind it in the outliner.


Cycles and nodes, trying to use Diffuse BSDF as color source for Glossy/Subsurf Scattering BSDFs.. not working I am trying to achieve a photo-realistic splash of liquid akin to orange juice and have tried my hand at it, and referred to a quick tutorial (node setup photo, actually) for how to setup the nodes for the material. However, I need to be able to switch the liquid's base color somehow, optimally by just retracing the node connections from some color source (currently trying a Diffuse BSDF) to the "color" input connection on the nodes. So the node setup kind of works if I just set the color in the Glossy and Subsurface Scattering nodes directly. But if I then drag the output connection from that Diffuse node to the input for "color" on the two nodes, it refuses to use those colors and instead uses the colors that had been previously selected in the nodes themselves. Is this a bug with blender 2.78a? Or is there some specific way to do this that I am not aware of?

Edit: adding screencaps

Full setup with the nodes connected: (the left-most nodes would supply the color to the next column of nodes)

These are the colors set in the nodes, which are the ones that end up in the final rendering, not despite connecting the "color source" (diffuse) nodes.

You should use an RGB as input to both color inputs in your nodes, so changing one affects the other.


Get material and color of material on a face of an object in Python I want to iterate over the faces of a mesh and get the diffuse color of the material that is assigned to the face. How can I get the material that is assigned to the face of the object and the diffuse color of that material?

import bpy

context = bpy.context
obj = context.object
mesh = obj.data

for f in mesh.polygons:  # iterate over faces
    print("face", f.index, "material_index", f.material_index)
    slot = obj.material_slots[f.material_index]
    mat = slot.material
    if mat is not None:
        print(mat.name)
        print(mat.diffuse_color)
    else:
        print("No mat in slot", f.material_index)


Multiple materials with different textures Just started getting some fun from Blender and currently stuck deeply with materials.

I am trying to create a mesh with different materials, each having its own texture, applied to different parts of the mesh.

What I have done is:

a couple of UV maps
a couple of textures (for each UV Map)
a couple of materials (for each texture)

Currently I am using Belnder renderer.

The problem I am facing is that only one material is displayed in a Material display mode and for only one submesh. Yet, when I switch to Texture display mode - I can see all the textures, assigned correctly.

UPD: here is what I mean saying Material display mode:

How to fix that? Or should I use Cycles with its nodes?

Thanks!

Not entirely sure what you mean. From the screenshot it looks like you have several meshes, one for each texture. What is "material display mode"? You can have different textures applied to the same mesh without splitting the mesh up like you have done. I think that might be what you need to do if you want them to show up all at once. Like this.

Edit: To explain a little better. Here The red material has no textures, the green material has one texture (cloud) and the blue material has two textures (cloud and noise) Hope that helps.


Turn 2D Mesh into a 3D Mesh reuleaux solids I am trying (right now failing) to construct a 3D reuleaux solid in blender. For those of you who don't know a reuleaux solid basically is a fancy word for solids of constant width. If you are a math nerd like me then you should go check them out as they are quite fascinating! (Here is a link to a informative Wikipedia page: Reuleaux Tetrahedron Wikipedia

Right now I have the 2D version of it and it looks like this:

If anyone is wondering how I constructed this I accomplished it like this: Its basically the same way you would construct an equilateral triangle in geometry class.

My question is how can I take this 2D mesh object and create a 3D mesh object such as this Reuleaux tetrahedron:

I tried using the screw modifier but the blender gods laughed in my face. I think that there must be some way of rotating the figure around itself to accomplish this but I have yet to come upon that solution.

Thanks for the help!

The wikipedia article says

  Four balls intersect to form a Reuleaux tetrahedron.

Which is easy to implement with boolean operations (and balls).

Start with a pyramid. To create it, activate the Extra Objects Addon.

In the 3D View, add (⇧ ShiftA) a Geodesic Dome.

Add a subdivided cube cast into a sphere and snap it to the vertices of the pyramid.

Select one of the cubes and add three boolean modifiers. Choose the other three cubes as inputs.

The distance of the centers of the spheres is the length of an edge of the pyramid. The radius of the spheres should equal this value. (The dimensions (diameters in this case) will naturally be twice the value.) In my case the pyramid has an edge length of 1.633, hence the spheres have to be rescaled to match a dimension of 1.633 * 2.

Hide all the objects, except the  one with the boolean modifiers. Add an edge split modifier to clean up the seams. I used a high subdivision value (4).


Cloth sim; Cloth Pin and Self Collision making very bad/weird behavior? I'm trying to make pants, but these two settings I'm trying to use are causing issues with my model.

Here is a gif of my character's pants withOUT self collision:

As you can see, the cloth simulates alright, but it doesn't self collide (as it shouldnt). The issue here however,  is the cloth pinning (the top ring of vertices at the top of the pants are pinned and parented to the character). If you look at the top area of the pants, near the crotch and waist, the pinning creates some sort of very odd pinching and rippling affect. How can I fix this?

Also, the issue with self collision:

The clothing doesn't behave properly at all, and either pinches tightly like the gif or explodes.

Here are my settings.

I had a similar problem today. After a lot of head scratching I fixed the problem by removing doubles. I had duplicated vertices accidentally while duplicating a mesh in edit mode and the self collision was trying to separate the vertices that were on top of each other.


Making background solid color How can I make the background color consist of only one color like the picture above?
Usually I made L shaped plane, applied bevel + smooth to make a background, as shown below

there is still a distinct border between the wall area (darker yellow) and the floor area (lighter yellow), but the first pink image does not have that
What kind of ways would you recommend?

This is less flexible than compositing, but if you're in Cycles, and lazy, you can, for example:

Split your world material into a mix between 2 colors, one to light the scene, and one to be visible to the camera. Here the scene is lit only by an environment HDRI, with its color tweaked though a Hue Saturation Value node.
Sit your object on a plane masked in its 'Object' tab > 'Visibility' panel to be a shadow catcher:

For this kind of result..

There are quite a few possible approaches .. maybe 'Shadow Catcher' would be a fruitful search term.


Image Texturing - Using cycle's nodes to scale image texture and randomly rotate them Is there a way to randomly rotate an image texture randomly and keep its mapping scalable? Im sure this has already been asked but can't seem to find it. If someone can redirect me to the appropriate thread/question that would be awesome.

If not here is the texture im trying to achieve:

I created a tiled image in illustrator and imported it into blender as an image texture. I have ran my nodes to get the image texture scalable but can't figure out how to randomly rotate it.

Here is what I have achieved:

This is what my current node setup looks like. The top part is for an added procedural texture to create more roughness outside of the image texture.

Also here is the image texture I created in illustrator:

BLEND FILE:

Any help would be greatly appreciated. Still trying to figure these nodes out and the math behind them. Thanks in advance!

I just faced a similar issue, so I took a look at your file.  In the Tile-able image texture frame, you start with a Mapping node into a Separate XYZ.  I added the following nodes between them.

This all centers around the Vector Rotate node.  To explain, we start by taking the Vector output from your Mapping node into a Voronoi Texture with a Scale of 1.  We have to add another Mapping node in between to align the grid with the original output.

Now we can take the Color output and multiply it by some number and throw it into the Angle input of the Vector Rotate node, and we can take Position and put it into the Center input.  However, we must include yet another Mapping node in between to correct the transformation we made previously.  If we don't, the locations are all off.

This does introduce a slight issue.  The corners of the repeated image will show up as in the following image.

So you may have wondered what this mysterious noodle coming from the Distance output is.  I used this with a Color Ramp set to Constant to generate a mask that we can subtract out of your image and solve for these corners.

Your original Mapping node can be used as a control for x & Y Location, Z Rotation, and X & Y Scale.


Make 2 Objects Have Same Rotation So I have the following situation:

I have 2 objects: object A has no rotation(Since the rotation has been applied via ctrl-a) and object B has a random rotation. Now I want to make object A have the same rotation as Object B.  My guess is that  I somehow have to get the obj B rotation as a vector and then aim obj A in that direction. The thing is that I have to have the exact same rotation as obj B has. (If the rot of obj B is greater than 360, then obj A rot doesn’t have to be greater than 360, it should just aim in the same direction and the roll/yaw/pitch should be exactly the same.
So how can I achieve this via Python?

If you just want to copy the rotation values, there is "Copy Rotation" in the Constraints tab, no need for Python scripts. If you need it for a Python script, objects have rotation_euler, rotation_quaternion, and rotation_axis_angle attributes, and rotation_mode for selecting one of them.


Simulating a Weighted Die? I'm looking to create an animation wherein a large number of 6-sided Dice almost all roll with the 1 side facing up.  I'm attempting to do so with Rigid Body Physics.

My first attempt was to move the Origin of each die closer to the 6 Face, thus moving it's center of mass... Unfortunately, this causes a very unnatural looking rolling animation (it seems to actually roll around a fictional die that is centered on the Origin, causing it to roll through space or clip into things at times).

I'm wondering if there's another approach that would allow me to more heavily weight a specific part of an object so that it's more likely to come to a rest with that side facing downward?

Note that I'm looking to simply simulate very unlucky dice, not to actually simulate the way that weighted dice would actually roll - I'd like the roll to appear natural, but just end on a 1 more often than not.

Yes

By adding an extra rigid body constrained inside the die as a weight, you can do this:

Add a small object to act as the weight (e.g. an icosphere) and position it inside the die on the opposite side of the 6. Make it a dynamic rigid body and adjust the mass as needed:

Add a Fixed rigid body constraint connecting the weight to the die.

Select the weight and then the die (so that the die is active).
Press Connect in 3D view > Tool Shelf (T) > Rigid Body Tools.
Ensure that the Type is set to Fixed:

With the newly created constraint empty selected, make sure collisions between the weight and the die are disabled:

Make a simulation and be amazed as you roll 6 every time ;)

I know.. I misread your question and thought you wanted lucky dice, but obviously this technique works for simulating unlucky dice too.


How to place all selected vertices is same position in UV map? Given the following scenario, how could I quickly and easily place all of the selected vertices from two overlapping islands in the same position?

Select them and scale them to 0.

Select the two vertices, then press s, then 0.

Because they are just points in space, this will not effect the verts, but it will put them in the same place, because the vector "connecting" them will be scaled to zero.

There is a better method however.

Select an island.
Set "snapping" mode to vertices.
Grab (g) and hold ctrl to snap.
Move all islands to the same location.

Tip; UV select mode to "islands".

You can do something similar to multiple vertices at once by:

Moving them to relatively the same position. (l and g).
Select all (a).
Open the specials menu (w).
Choose "Remove Doubles UV"

If you have LOTS of islands!
As a final workaround method, if you have LOTS of islands, you can use this scaling hack. It is not technically a "good" method, but it works. The goal of this method is to scale everything down to one point, then blow it back up. To be able to blow it back up, we need to leave some geometric data, so we can't actually scale to 0.

Select all (a).
Select "Median Point" from the Rotation/Scaling Pivot menu.
Scale to a very small number (s, 0.0001, Enter).
Select "Individual Origins" from the Rotation/Scaling Pivot menu.
Scale the islands back to their original size (s, 10000, Enter).

The islands should now all have approximately the same origin. You can move them to your desired location.


How to modify mesh after import in Blender using Python? I am using Python to import a specific mesh in Blender, mesh that I want to modify after import using some sliders I have defined. So I have the defined the following function for the import:

import bpy, math, bmesh

def addGlasses(context, r):
    # import glasses object
    bpy.ops.import_scene.obj(filepath="myMesh.obj", axis_forward='-Z', axis_up='Y', filter_glob="*.obj;*.mtl")

    # select the imported object so it has a location
    ob = bpy.context.selected_objects[0]

    return ob

and then I have defined the user interface for the imported object:

#
#    User interface
#

from bpy.props import *

class MESH_OT_glasses_add(bpy.types.Operator):
   bl_idname = "mesh.glasses_add"
   bl_label = "Add glasses"
   bl_options = {'REGISTER', 'UNDO'}

   radius = FloatProperty(name="First parameter", default=1.0, min=0.01, max=100.0)

   location = FloatVectorProperty(name="Location")
   rotation = FloatVectorProperty(name="Rotation")
   # Note: rotation in radians!

   def execute(self, context):
      ob = addGlasses(context, self.radius)
      ob.location = self.location
      ob.rotation_euler = self.rotation

    return {'FINISHED'}

So I can move and rotate the object as I wish with the sliders "Location" and "Rotation" but I want also to modify some specific parts of my mesh. Practically, radius is a slider for my mesh that appears when the mesh is imported and I would like to use it's value to stretch some specific vertices for the mesh (I know which ones they are).
Is there a way to do that? Because I can't even select a single vertex after import.

Set imported object active:

ob = bpy.context.selected_objects[0]
bpy.context.scene.objects.active = ob


How to get RGB values for a portion of texture, specifically an image I was wondering if I could do the following with python in Blender:

Import Image into Blender with addon
Subdivide the plane and make a lot of new objects which are fragments of the original
Check the color of each fragment and possibly delete

I know how to do steps 1 and 2, but I have no clue how to do the third step.  The goal, in general, is to import an image and delete all the parts that are a certain color, in this case white.  I then want to extrude the image, so just using transparency doesn't work.

I would appreciate any help.  Thanks in advance.

If you're just trying to extrude a silhouette of an object, doing it with a subdivided plane is probably the worst option (you'll end up with potentially useless geometry, I'm assuming this isn't what you want).

Your best bet here is probably to import the image as a background image through this interface in the right panel.

Then go into an orthographic camera mode and create geometry over it.

Another option could be to open the picture in a program like Adobe Illustrator, automatically or manually trace it to create a path, export as SVG and import to use as geometry in Blender.


Animation smoothness and correctness when exporting I have a very low-poly model with an armature, animated with 4 key-frames over a cycle that I want to repeat seamlessly and smoothly. In Blender itself, I get a mostly smooth rotation, but with a slight hesitation at the repeat.

I've seen a video that suggests "altering the f-curve to linear rather than Bezier", but have failed to find how to achieve that.

See the way the motion slows, stops and resumes as the right foot reaches the top of the stroke (reduced frame rate to make the hesitation more obvious):

Also, when I export the model as a .dae for its ultimate use in SceneKit, the circular nature of the motion is lost and I'm left with linear interpolation between the keyframes (90 degrees of rotation each). Possibly the solution is the same for each problem? Or do I need every frame to be a keyframe?

I resolved the first issue by deleting all of my auto-generated keyframes as they'd recorded positions and angles for all of my model. I then re-created four keyframes manually (right-click the relevant property, in this case the W of the rotation, and select 'Make single keyframe'). Selecting them all in a graph editor window then allowed me to:

a) Make a cycle (Shift-e)
b) Apply linear interpolation (T)

This produced a smooth rotation in Blender, although something strange happened to make the direction the opposite of what I'd configured, so I reversed the slope in the graph editor.

Exporting the result still produced only linear interpolation between the four keyframes in SceneKit, so I used the graph editor again to make an actual keyframe at every interpolated point (a total of 40). I'm sure this isn't the ideal solution, but it does work.


When using the boolean modifier, the resulting faces disappear when applying the modifier I'm trying to make an N64 model, and to make the curve on the top of it i'm trying to use boolean to do it. I've encountered an issue where the boolean preview (before applying it) is exactly what i want, but if i apply the boolean, the face disappears. I've already checked for doubles and inverted faces, and everything was fine. The image attached shows what i mean:

This is a somewhat older link, with instructions likely intended for 2.79. But the answer given by zeffii is an amazingly good primer on the subject of booleans in Blender, which demystifies them by covering all the likely problem situations, as well as their remedies. Very much worth reading, in my opinion.

The Boolean modifier is not working