How to delete bezier points from curve splines with low-level code I'm trying to edit curves via python, but deleting bezier points is causing me trouble. I'm able to do it using high-level operators (see sample code below), but I would prefer edit the data more directly, for speed and cleanliness.

#Define vars
one = bpy.data.objects['Curve']
point_to_remove = one.data.splines[0].bezier_points[0]

#Set 'one' to edit mode
bpy.context.scene.objects.active = one
bpy.ops.object.mode_set(mode = 'EDIT')

#Select point_to_remove and remove it
point_to_remove.select_control_point = True
bpy.ops.curve.dissolve_verts()

I've tried using .add() to create a dummy object with the desired set of bezier points and then setting one.data.splines[0].bezier_points = ..., but bezier_points is read-only.

I've tried python's del() and the blender API's `remove()', but they either aren't supported for bezier points or I'm using them wrong.

Any help would be much appreciated.

Edit: It seems this is a special case of deleting instances of the bpy_struct class, which I also don't know how to do.

Surely there's an easier way to do this.

Had a fiddle with this and came up with code below,  which I'm not sure wins on either count of speed nor cleanliness.  Adds a new spline with the same coordinates, and handles as bezier points of spline zero in original, with one point popped off.  Even with all that code didn't copy handle type for left and right.

import bpy

context = bpy.context
obj = context.object
curve = obj.data
s0 = curve.splines[0]
index = 0 # index of bez point to remove.
points = len(s0.bezier_points)
x = [0] * points * 3 # flat list of vectors
hr = x[:]
hl = x[:]
s0.bezier_points.foreach_get("co", x)
s0.bezier_points.foreach_get("handle_left", hl)
s0.bezier_points.foreach_get("handle_right", hr)
# pop off index 0
for i in range(3):
    j = 3 * index + i
    x.pop(j)
    hl.pop(j)
    hr.pop(j)

# one less for removed, one more less for splines new
points -= 2

# add a new spline
spline = curve.splines.new('BEZIER')

spline.bezier_points.add(points)
spline.bezier_points.foreach_set("co", x)
spline.bezier_points.foreach_set("handle_left", hl)
spline.bezier_points.foreach_set("handle_right", hr)

#remove spline 0
curve.splines.remove(s0)


Light rays through glass I try to achieve that my lightrays are going through glass.
With a volumetric container and without a glass in front of the light everything works fine.

But if I make my glass visible the lightrays disappear.

So I searched a little bit and found this question.
I tried it but with this technic I have the problem that it affects the color of the button light. Additionally I was not able to get the nice fade out effect from the question above.
I think its because my cylinder has a hole and is not filled like in the example.

So how can I do this without (or at least only a little bit) affecting the lightcolor of my button and with a glass infront of the light of the button?

Is it possible to get the result from the firt picture but with a glass infront of the light source?

Here is my blendfile.

The glass shader by itself won't let light pass through it the way you want.
You need to modify the material by adding some transparency controlled with a light path node.

For more detail please read: How to illuminate the darkness inside glass objects in Cycles?

The volumetric light you can do just by adding some volume scattering to the world.

click on the image to enlarge


All Reflections in Blender are Completely Black in look dev mode This is might be a mistake on my end since I am a near complete beginner at blender. I am trying to experiment with nodes, but all the reflections on the default hdri in look-dev mode show up completely black. Thanks in advance for any help.

I'm posting this only so I can post a screenshot. This is from my copy of blender (2.83) using the same settings you outlined. If all your settings are the identical, it's got to be some kind of bug or problem with your setup. See image:

EDIT - I downloaded your .blend file, changed nothing and took a screenshot. This is what I get - take is as you will:


Rigid Body breaking links of chain I have made some chain links. I used the Rigid Body Tools and made the two end links passive and the others active. They are all set to shape Mesh. I've tried setting the weight to acrylic, cardboard, etc to lessen the pull they have when falling. How do I prevent these links from coming apart? I've even tried scaling up the scene but that also doesn't work.

Peter

From Blender 2.91, there is now a "compound parent" shape option dedicated to this kind of shape (with concavities):

You can find its description from the release page here.
And in the documentation:

Compound Parent
Takes the collision shapes from the object’s children and combines
them.
This makes it possible to create concave shapes from primitive shapes.
This usually results in a faster simulation than the Mesh collision
shape while also being generally more stable.

The file below is the demo from David Vogel (all credits to him):


Is it possible to read a ply format file using python code in Blender I have a ply file .I need to read the vertices, edges etc. It would be nice to read the ply file in blender and I can program further.

Yes and this applies to most/all other formats.

You can:

Call the operator from Python:bpy.ops.import_mesh.ply(filepath="/path/to.ply")
Import the addon module and run the function which is used for importing:See the source code, its not to hard to see how you would call the load function. eg:

from io_mesh_ply import import_ply
import_ply.load_ply("/path/to.ply")


Super long "Loading render kernels" using macbook pro 2018 GPU rendering I'm using a macbook pro (mid 2018) with Radeon pro 560X, to render on GPU. Whenever I hit render on GPU, the "loading render kernels" takes ages. And I never manage to render on GPU.
What can I do? The same problem with both Blender 2.79b and 2.8.

Cheers,
Gaofeng

I also use macbook pro 2018.

I recognized that we have two opencl GPU (Intel and Radeon)

If we check both and Start rendering, Blender is stop and CVMCompiler process will have crazy amount of memory.

If we turn off the intel (use only Radeon), It works well.

I think Blender supports only Radeon not Intel.

But Radeon gpu rendering is slower than just CPU rendering.

How to make cycle rendering faster

Thank you.


Blender not rendering animation? Here is something I made:

It is a mesh I made and rigged and posed and such into a little 11-frame animation meant to play at 10 fps to last a second.

I have two quick questions.

When I click then "Render" animation button in the scene menu, the output is weird as heck. It gives me about 60 black images in my folder, despite the camera pointing to the rig and the animation only being 11 frames long (marked on the timeline too.) How can I make it output my 11 frames?

Thanks!

Edit: I tried using OpenGL viewport mode and the animation works fine there.

Edit: My question isn't a duplicate. The answers in the other question do not solve my question.

Edit: Another user told me to upload the file:

Make sure you have a light source bright enough in your scene.
Check your compositor and make sure that the scene output is wired into the final image (I think it's called composite, I'm not sure, I'm writing this on my phone).
Next, to solve your problem with 60 images instead of 11, go to properties, and click on the camera icon. In the first or second section should be a drop-down menu for the frame rate. Click on custom and type "10" for your frame rate.

Also, make sure your actual animation is only 11 frames long in the timeline. Check your file output settings too. Other than that, I don't know what could be causing those black frames.


How to create a Blender shortcut for "Display files as Thumbnails" When i want to replace a texture for an object, i see my jpg files as a shortlist by default. i can click with my mouse on the thumbnails list to browse my files as thumbnails. but i do this task often , so i need a shortkey for this move.

i have tried to figure out the Python code that is needed for this, but that didn't work out, i don't know why.
i could use some help here.
what do i need to do to get this shortcut ?

today i found another solution to get the texture list to view in thumbnails.
 go to user prefs > file > and check : show thumbnails !

i was actually searching for a toggle between list view and thumbnail view
 but this solution is working great as well.


Object doesn't render in Cycles I'm trying to design a car and I added a flat cylinder on the hood for the hood ornament.

Material display

Rendered display

Here's what I get when I render the hood:

The hood ornament isn't showing.

I made sure that the object wasn't ticked off in the Outliner Panel:

And also made sure that "None" wasn't selected in the "Object" tab of the Properties panel as suggested here.

You enabled duplication (Frames) just click None and your object will be rendered.


Deformation after posing with armature Whenever I try to pose this specific bone (the "Hips" bone) the two objects that are weight painted to it deform. I have parented the "Thigh" bones to the "Hip" bone and there is no deformation with those. Does anyone know what is happening, and how to fix it?

Here is the file: https://drive.google.com/open?id=1bKZgEpgq5TAVe7c8Y6dUe00hVLm5Xfax

Thanks, Felix

Your hips are deforming because their vertices are weighted relatively to two bones: Hips and Spine. When you move the Hips bone the vertices receive two instructions: one (Hips) is telling to move, one (Spine) is telling to stay still: the result is the combination of theese two istances. If you remove from vertices the Spine asignement everything will be as desired. While you're editing your rig I suggest you to have Hips and Spine bones going from down to top (it's a good practice, when you will start animating you'll understand why).


Move Animation within the Timeline I have an object which follows a 3D NurbsPath.
My object is visible at frame 1 and also my animation starts at frame 1.

How can I "move" the animation, such that my object start getting animated at e.g. frame 30?

Moving a Keyframe animation in time:
You can move the entire animation sequence from within the Dope Sheet Editor. There you select all keyframes (type "a" on the keyboard once or twice), then for example: G X 30  to shift the animation by 30 frames:

Moving a Constrained Path Animation in time:
This animation type starts at timeframe 0 by default. Within the Constraints panel you can define an Offset to shift the start of the animation:

Open The Object Constraints of the animated Object
Set the Offset to the start timeframe where the Path Animation shall begin (30 in this case)

Moving the Animation time of an Object parented to a Path

This animation type starts at timeframe 0 by default and runs for 100 Frames, then it stops. You can define the animation window by setting 2 keyframes in the Path Animation Panel of the Path:

Select the Path
In the Data Properties locate the Path Animation panel
In the Timeline select the startframe for the animation (30 in this case)
In the Path Animation panel set the Evaluation time to 0.00
Then keyframe the Evaluation time.
In the timeline select the Endframe for the Animation
In the Path Panel set the Evaluation time to 100 (or to whatever value you have set the Frames Attribute right above the Evaluation tmie attribute)
Keyframe the Evaluation time again.


Hiding vertices doesn't work in sculpt mode I am trying to do some slight model edits via sculpt mode, but only need some parts to be affected. I find it much easier to select and hide the vertices than to use the mask brush in sculpt mode, but hiding the vertices has no effect because when I exit sculpt mode, some vertices that I hid now appear to have been affected by the sculpting. Is there away for the selected vertices to not be affected without using the mask brush?

Yes, thankfully there is a way, though it’s not quite as flexible as edit mode vertex hiding. Has to do with something called “face sets“ if I remember correctly. Look around in the menus for hiding selected faces, and see if you can figure it out. I personally didn’t get very far, but I was able to get something done thankfully.


How to make a brush (alpha image) using Cycles I wonder how to render an alpha image to use for sculpting mode.
This alpha image is called Height Map images.

First Render out the image. The lights and materials don't matter.

In the compositor add a normalize node and drop the z pass through that. This will make the lowest value 0, and the highest 1 while mapping the rest through that.

Then with the RGB Curves node, switch the handles so that they are inverted (left being on the top, and right on the bottom), and add a handle in the middle and adjust it until you're happy with the result.

The finished node setup should look something like that


Simple opacity material in cycles? Does anybody know how to achieve a "simple" opacity material in cycles? I'm fully aware of transparent node and mixing it with different shaders, but that's not what I'm looking for, for various reasons.

I'm looking for a diffuse material that treats all the faces it's applied to as a whole, and just simply reduces their opacity like in Photoshop. Below is a rough example of what I'm talking about:

So what's the main difference here is that with transparency node you can see through the faces and also see all the underlying geometry, and I don't want that. (for aesthetic reasons) What I want is a material like on the right, but without the hassle of different renderlayers and compositing.

I guess this might be too much to ask, but I just feel like maybe it could be done with some crazy node setup in cycles?

Now I feel dumb because I just realised how you can do this after posting the question.. :P
Anyways, here's one way to do it:

It's actually really simple node setup. You just have to combine a diffuse/transparent mix with a fully transparent node, and use transparency depth as a factor.

That way cycles disregards anything that is behind the first "layer" of transparency. Here's the result:

It's a much cleaner and nicer opacity-like transparency for many cases. I'll use it for illustrative/instructional animations and motion graphics, since those are all areas where simplicity is very important and transparent materials are often needed.

And best of all, you are saved from setting up different renderlayers and compositing nodes, and it also reduces rendertimes in many cases because there's no need for multiple renders!


Dashed lines (made with Freestyle) are rendering inconsistently I have a mesh that I've warped into a landscape (using a Displace modifier and a depth-map image). I've then gone into edit mode for that mesh, selected the edges running in one direction, and selected "Mark Freestyle Edge".

In this way I'm able to render those edges as solid lines using the Freestyle feature. I'm also able to render them as dashed lines.

However, some dash values result in inconsistently sized and spaced dashes, and I'm unable to find a behavior pattern that would explain it, nor or a fix to correct it. Can anyone help?

Edit: To knock things back to a more basic level, here's a simple mesh with 300x300 divisions and 10:20 (dash:space) lines applied to the edges running left-to-right. You can see that even that has problems, though in this case the dashes remain the same size but the spacing gradually seems to get out of whack.

And here's the same mesh (zoomed in) with 2:4 lines applied. In this case the dashes seem to be different weights.

So here's a test file for you (note that all this is happening inside Cycles):

And here's the result of that test file when I render it using the default render settings:

As you can see, the line spacing is inconsistent:

Update May 5th, 2017: As per TK's suggestion I changed line 1009 of 2.78/scripts/freestyle/modules/parameter_editor.py so that sampling = 0.1 and this was the result:

Still some oddness in there, but much much better. Perhaps his permanent fix in the next official release will resolve that. Thanks TK!

Thank you.

Dunstan

I can't get what you show in pictures above:

But I could be doing something different...? You could share your file on http://blend-exchange.giantcowfilms.com/ so we can use the same exact geometry.

I wonder if it could be some kind of this effect, instead: https://xkcd.com/1814/ :D


Generate rig produces a "bugged" controller I'm having a really weird problem. I added a metarig to the scene, edited the pose to fit my character,, apply it as the rest pose, applied loc/rot/scale, and Generated Rig. The problem is that on the rig that it generates there is a "bugged" controller in the image below.

On the left side is the controller in rest mode in the forward position where it should be. On the right side is the controller in pose mode where it slightly rotates on the Z axis, despite it being locked.
I thought the solution would just be to alt+R and G to reset rotation and movement but for some reason these controllers will not reset to the rest mode. And I don't know of any other way to apply the pose mode position to these. Even when I go to the skeleton layer that controls the problem controller I can't fix it because you can't move the actual bone in pose mode and it goes to the rest pose in edit mode.
Does anyone know why this happens and/or how to resolve it?
Edit: just realized it causes problems with the hand bones and toe bone as well.
EDIT2: Here is the file. https://drive.google.com/file/d/1jk5RvFQrdlHRr4Pruz8Sk9br0QX3_IYm/view?usp=sharing
You can see how the rig adjusts itself by going from the rest position to the pose position in pose mode.

I looked into your file and noticed the problem. I looked to the knee of the metarig and it looks like your knee is facing backwards. You can see that because the pole is backwards. I posted several pics explaining this. That is why the IK is snapping weirdly when rotating the foot. I removed the rig and generated a new one using your metarig and it seems to have fixed the snapping issue. But there are several other issues with this rig.

While I'm a it, I would suggest you to move the kneecaps a bit to the front, so you're knees won't bend to the back when lifting the IK Foot.

Hope this helps!


Flickering spot light shadows in GLSL Two years ago I made a labyrinth game for a class, and it worked perfectly. Now I need to use this game for other reasons, but the lightning is bugged.

I'm using GLSL because that's how I managed to make everything work back then. I'm using a spot light to generate shadows, in lieu of the sun, because a Sun wasn't generating shadows as I wanted. But I'm using a sphere of 20 Suns to simulate global illumination, because other means to do that weren't working back then.

I have a camera overlooking the labyrinth, and the shadows are correct there. I also have a first person camera, and that's where the problem is. I'm failing to put this problem into words, so I made a video:

https://youtu.be/iwVJ0AlqWtU

I've Googled and messed around a bit, but I found no solution. I found out that I could replace my spot light by a Sun, and the shadows even look better, but the bug remains exactly the same.

The necessary files are here:

https://github.com/GuiRitter/labyrinth-game-exercise

Is there a solution to this?

Thanks in advance.

Update:

I tested a bit further. I don't know if it can be seen in the video (terrible job at using OBS Studio), but the ground texture is also bugged, (not) moving like the shadows are. I've deleted all light sources and the problem remains (tested in two scenarios: #1 added Emit in Properties > Material > Shading to the ground texture; #2 added ambient lightning in Properties > World > Environment Lightning (didn't knew of this before or it didn't existed when I had to make that fake ambient lightning))..
I've made a minimal version from scratch (nothing copied from the first one) and the bug remains.
Also didn't work: deleting all cameras, creating a new camera, not scaling it, setting it's physics to No Collision, vertex parenting it to the player character (although that makes the camera not change orientation with the parent), positioning it such that it would not be inside another object. I positioned it above the labyrinth walls and deleted the sky to ensure the last one.

You need set up only one sun lamp.

(Asuming all objects are deselect)RigthMouseButton to select the sun lamp and while pressing Shit + RigthMouseButton select your player:

While both selected press Ctrl + P and select Vertex:

select, deselect all pressing A.
Select the sun lamp RigthMouseButton.
in property > data, active the shadow and show shadow check box.

In Quality you can edit the shadow size (higher value more impact)
In Quality you can edit the 'Bias' value, set to 0.1 and then go up to see what happens :P.
In Clipping the clip end value define the distance, beyond which objects will no generate shadows

In Clipping the frustum size value define the box size

Note HIGHER VALUES MAY HAVE PERFORMACE IMPACT

EDIT

You will notice bad light:

Then add a Hemi lamp and point it oposite to the sun lamp

ANSWER ANSWER!

The problem is with the camera.

I have reproduced the problem in 2 ways.

Positioning the camera closer or inside of an object with camera physics static
Positioning the camera inside of an object with camera physics no collision

Also found that your camera was tiny and the cylinder(character) too.
take a look to the blender manual> render>camera

To solve it:

1.Delete the camera and add a new camera (and dont scale it)

2.Move the camera To Position (dont put it inside of an object.) Make sure that the camera physics are no collision.

Yo can change the size of the camera:

And then you can parent the camera to object, and the sun to the  vertex object (better with vertex make parent in edition mode).


How to unlink a node with python? Having a node, I want to unlink it.
My current approach is to clear all links from a desired NodeSocket:

my_node.inputs[0].links.clear()

I get a:

AttributeError: 'tuple' object has no attribute 'clear'

I would think that 'links' is a NodeLinks structure, which would have
'clear()' and 'remove()', but apparently no? I also can not simply
del my_node.inputs[0].links[0].

One approach I got working is:

for l in my_node.inputs[0].links:
     shader_node_tree_links.remove(l)

but is there a simpler way? Should one of my previous attempts work?

The my_node.inputs[0] is a node Socket type, and the my_node.inputs[0].links is a read only list of links from this socket, so your first attempt won't work, and you have found the correct way, which is deleting the link from node_tree.links as follows:

 # remove only the desired link
 l = my_node.outputs[0].links[0]
 node_tree.links.remove(l)

To find a link:

output = my_node1.outputs[0]
input  = my_node2.inputs[0]

for l in output.links :
    if l.to_socket == input :
       node_tree.remove(l)

Also you can check for the connected node: if l.to_node == my_node2:

See the DOC page for more details.


Is it possible to record the bevel factor as a keyframe in the action editor? Just starting to get my head around animations in blender.

Rather than jumping straight into a rigged model, I smooshed together two things I had seen done in videos:

Using the action editor to make an action
Modifying the Bevel Factor on a bezier curve in order to grow a vine-like structure. (In my project it's a stylised trail from a spaceship.)

But, however much I change options around and use different methods of recording keyframes and swear, I can't get any keyframes recorded in the action editor, although they record fine in the dope sheet.

Is it possible to record the bevel factor as a keyframe in the action editor and I'm just doing something wrong?  Or are there limits to what can be recorded in an action?  How can I tell what those limits are?

it's because bevel depth is not an object property - it's curve data property. Action editor shows only one animation block (bordered with red line):

Outer animation blocks doesn't display in action editor

So what you can do - create a property in object data and make driver to manipulate bevel depth value in curve data
through object data.

Howto:

In object data find tab custom properties  and add one:

Next, open curve data side by side and press RMB on bevel depth:

Chose add driver -> single from target, and (when your cursor will be as dropper) click on value created before.

So now you have value in action editor, that manipulates bevel depth:


Transparent Glass Material not rendering alpha in Blender Internal I've encountered a problem with a transparent material I created to resemble a form of glass. In the scene I have set up, I have a multitude of X "Dummy" Trees propped up in the background to fill the skyline. However, as you can see through the image, the trees that are not behind the POV with the glass look fine while the ones that are behind it act like their alphas are not being used.

Each tree is an 'X' plane with the image of a cycled rendered tree plastered on it. It is made so that only the tree is visible, and the rest of the picture is transparent.

Is this a problem with the texture made for the trees or the window? Since I also noticed that this same kind of glass created some weird effects on UV textures in another part of this scene.

EDIT:
After trying the first suggestion I get this:

It still seems to be prevalent in the trees, albeit some trees, (which I have pointed to), have the problem fixed, while others in the background still have the black rectangles. To the right is my selections for options and shadow.

Here is a copy of the blend file with the stuff needing fixing selected.

Here is the tree files for the Dummy's:
http://imgur.com/a/HTOhC

Your Glass plane uses Raytrace so you need to allocate more depth rays for the amount of transparency changes behind it. I have bumped it up to 6, I guess you'll need more for all those trees?

Alternatively you could switch the transparency type to "Z Trans" but you'll loose some of the nice effects from raytrace.


How to set a different theme for Edit Mode? I would like to make Edit Mode and Object Mode more visually distinct, especially when I have no object selected.
Currently, I scan my screen for little GUI details once in a while to figure out which mode I'm in. I usually have to do this after looking something up with a search engine, for example. If I could change the theme of Edit Mode, I could always know which mode I'm in without thinking about it.
Below is an example of how similar the two modes can look. Sometimes I'll hit a hotkey that doesn't work in a particular mode because I remembered incorrectly which mode I was in when I left.

There is a way to (sort of) accomplish this with python scripting, but it's probably not as clean as you would hope and personally I would not recommend it.
You can change between preset themes in a python script by loading in the presets directly from your install path, something like this:
bpy.ops.script.execute_preset(
   filepath="C:\\Program Files\\Blender Foundation\\Blender 2.91\\2.91\\scripts\\presets\\interface_theme\\blender_dark.xml",
   menu_idname="USERPREF_MT_interface_theme_presets")

And you can check which mode you're currently in with the read-only bpy.context.mode property. This will be 'OBJECT' for object mode and one of several 'EDIT_*' values for edit mode. You can check the Python API Docs for a full list of these values.
The hard part is then determining when to execute this script. As far as I'm aware, Blender does not provide a way to register callbacks for modal changes. This essentially leaves two options:

Change your keyboard shortcut(s) (the Tab key by default) to execute your script rather than change modes, and have your script change modes with:
bpy.ops.object.mode_set(mode='EDIT')   # or 'OBJECT' for object mode
There are several downsides to this, such as that your script still won't execute when you change modes with the interface (dropdown in the top left or the pie menu), and you lose Blender's prediction of what mode you want to enter (based on what mode you're in, previous mode changes, etc.)

You can leave your script always running in the background, searching for mode changes in a loop and changing the theme when it detects one. This is not only incredibly ugly and inefficient, but will also make you lose the respect of any reputable programmer.

Personally, my recommendation would be to just develop the habit of either checking what mode you're in by glancing in the top left, or guaranteeing it using the pie menu (Ctrl+Tab). The latter takes a fraction of a second once you get the hang of it.


How to Draw an ellipse: half is continuous, half is dashed I have an ellipse, I want half is continuous line, half is dashed line.

If I use scripts, what should I do?

Thank you !

import bpy
import bmesh

op = bpy.ops
me = op.mesh

op.object.mode_set(mode='EDIT')
me.select_all()
me.subdivide(number_cuts=2)

d = bpy.context.object.data
verts = bmesh.from_edit_mesh(d).verts

for v in verts:
    if v.co.x > 0: v.select = True
    else:          v.select = False
bmesh.update_edit_mesh(d)

me.select_nth(nth=4, offset=-2)
me.delete(type='VERT')

You can do nth=3 if you want smaller dashes.


How to model small details above curved surfaces? I'm trying to figure out how to model small and weir details above a curved surface like a shoe's sole. Here a couple examples:

In this case the detail on the sole also fades. Is this modeled or sculpted with a brush?

Here the details are all around to the curved surface and they starts from the lower part of the sole and continues on the side and they looks all at the same distance between them, how could it be made?

Thanks a lot in advance!

If what you want to do allows it (several kinds of shoes in the question, but maybe this is ok for second and third pictures), you can obtain this very simply:

The model is a simple cube opened at its base, with a vertex group that is one for the bottom vertices and 0 for the top.

Modifiers:

Subdivision that will propagate smoothly the vertex group values and gives geometry for the shrinkwrap below
Shrinkwrap to project on the surface, using the vertex group
Bevel... to bevel and smooth the base

This is not a pure modeling, surely... but its quick and often invisible for small details.


Why do I get “baking map saved to internal image, save it externally or pack it” when baking with baking type combine? What does it mean? Why do I get a message saying

Baking map saved to internal image, save it externally or pack it

when baking with baking type Combine?
What does Internal Image, Save Externally and Pack mean?

It means that the bake worked, now you need to save the image that the bake has created, open the Image Editor or UV Editor and either pack it into the blend file itself or save it in a folder:


How to use mathutils.noise.hetero_terrain? I am not sure what I am missing, but all I get is a value of 1 on every return..

value_texture = numpy.zeros((100 * 100), dtype=numpy.float32)
for y in range(100):
    for x in range(100):
        loc = y * 100 + x
        value_texture[loc] = mathutils.noise.hetero_terrain((x, y, 0), 1.0, 2.0, 1.0, 1.0, 1)

mathutils.noise.hetero_terrain(...)

  Returns the heterogeneous terrain value from the noise basis at the
  specified position.

Out of interest made a little script to apply each of the noise types as a shapekey on z height of a 100x100 mesh grid. Script below, result above.

import bpy
from mathutils.noise import hetero_terrain as ht
context = bpy.context

H = 0.4
lacunarity = 1
octaves = 1
offset = 0.3
noise_basii =  (
    'BLENDER',
    'PERLIN_ORIGINAL',
    'PERLIN_NEW',
    'VORONOI_F1',
    'VORONOI_F2',
    'VORONOI_F3',
    'VORONOI_F4',
    'VORONOI_F2F1',
    'VORONOI_CRACKLE',
    'CELLNOISE')

bpy.ops.mesh.primitive_grid_add(
        size=10,
        x_subdivisions=100,
        y_subdivisions=100
        )
ob = context.object
me = ob.data
sk = ob.shape_key_add(name="Basis")
for nb in noise_basii:
    sk = ob.shape_key_add(name=nb)

    for v in me.vertices:
        sk.data[v.index].co.z = ht(v.co,
                H,
                lacunarity,
                octaves,
                offset,
                noise_basis=nb
                )


how do i export multiple .fbx, with one material, and one texture map? i’m using blender to create a bunch of assets for a mobile game in Unity.
Sometime ago we adquired the Sinty Studio´s Simple Port assets, and I realize that they use only one material, and one texture for all the assets, with separate meshes for every object.

How can I do the same that Sinty does with my own assets(have multiple uvs, on multiple objects, but just one material and one texture)? I need to create different .blend archives? If so, how can I use the same material for each one of the different archives?

Exporting on fbx was a kind of solution, cause now I have my meshes separated and still with only one material, and one texture. But the method I used was to elaborate, cause I have to delete two of my three objects in the .blend, then export the .fbx, hit ctrl+z twice, and repeat whit another object. I don’t believe that´s the most efficient method, and since blender has a limited amount of undos, It won´t allow to do the process with has many objects as Sinty´s package has in a row. (sinty´s package has 84 models)

On other hand, i think another method will be to model every object in their own .blend, then have a material-and-texture-mapping.blend to pass every object trough, manually adjust the uv map, assign the material, and export from there in order to keep the one-material-one-texture-many uv's thing I’m looking for, but then again, I think that’s to elaborate, do you think of another way to solve that particular issue? it is an atlas-related problem?

I think the simple way is to have all your model in one .blend, which share their unique material, and export one by one with selected only checked.

Then in Unity, you just have to set this in all your models setup :

Unity will know that material allready exist, so it will be instanciate.

Unless you work in team, so you want one .blend by models : obviously you have all to use the same naming convention for the material, and with the same option in unity import above, it will probably works.


Python function behaves differently in a loop? I rather hastily wrote a short python script which orients the local rotation of an object so the Y goes along the longest axis, without affecting the apparent global orientation.

import bpy
import math

def set_orientation(ob, target_rotation):
    bpy.context.scene.objects.active = ob
    #ob: object to operate on

    #this assumes you are starting at 0 rotaton, so you pobably want to apply rotation before doing anything:
    bpy.ops.object.transform_apply(location=False, rotation=True, scale=False) #apply rotation
    #get inverse of rotation we want:
    t_rot = (math.radians(target_rotation[0]*-1),
             math.radians(target_rotation[1]*-1),
             math.radians(target_rotation[2]*-1))
    #we need to apply the rotations in reverse order, so unsure that we are in zyx:
    ob.rotation_mode = 'ZYX'
    ob.rotation_euler = (t_rot) #set rotation to inverse
    bpy.ops.object.transform_apply(location=False, rotation=True, scale=False) #apply rotation

    t_rot = (math.radians(target_rotation[0]),
             math.radians(target_rotation[1]),
             math.radians(target_rotation[2]))
    ob.rotation_mode = 'XYZ' #set rotation mode back (was zyx, so we want xyz)
    ob.rotation_euler = (t_rot) #set rotation

def fix_orientation(ob):
    if ob.type != 'MESH':
        return

    d = ob.dimensions
    correction = (0,0,0)

    if d[0] > d[1] and d[0] > d[2]:
        correction = (0,0,90)

    if d[1] > d[0] and d[0] > d[2]:
        correction = (0,0,0)

    if d[2] > d[0] and d[2] > d[1]:
        correction = (90,0,0)

    # hack for fixing rotation on boards at 45 degree angles:
    if abs(d[0] - d[1]) < .1:
        correction = (0,0,45)

    if abs(d[0] - d[2]) < .1:
        correction = (0,45,0)

    if abs(d[1] - d[2]) < .1:
        correction = (45,0,0)

    set_orientation(ob, correction)

for ob in bpy.data.objects:
    # doesn't work as expected
    fix_orientation(ob)

# works as expected:
#fix_orientation(bpy.context.object)

However when I run the function fix_orientation() from within the loop, it changes the actual object rotation in global space. This doesn't happen if I just call it once on the active object.

Why is it only working as intended when called once?
What am I doing wrong (aside from the rather uncleanly implementation)?

The loop is not the problem. The dimensions are based on the selection, which is why running the loop did not work.

All you need is to add in selection and deselection to your script.

Notice on line 6 ob.select = True and on line 25 ob.select = False.
That selects the object the loop is working on, then deselects it when that iteration of the loop is done.
The reason you need to select and deselect each object is because ob.dimensions is the bounding box of the selection, not just one object.
Which is why it seamed to work for only one object at a time.

Entire script:

import bpy
import math

def set_orientation(ob, target_rotation):
    bpy.context.scene.objects.active = ob
    ob.select = True
    #ob: object to operate on

    #this assumes you are starting at 0 rotaton, so you pobably want to apply rotation before doing anything:
    bpy.ops.object.transform_apply(location=False, rotation=True, scale=False) #apply rotation
    #get inverse of rotation we want:
    t_rot = (math.radians(target_rotation[0]*-1),
             math.radians(target_rotation[1]*-1),
             math.radians(target_rotation[2]*-1))
    #we need to apply the rotations in reverse order, so unsure that we are in zyx:
    ob.rotation_mode = 'ZYX'
    ob.rotation_euler = (t_rot) #set rotation to inverse
    bpy.ops.object.transform_apply(location=False, rotation=True, scale=False) #apply rotation

    t_rot = (math.radians(target_rotation[0]),
             math.radians(target_rotation[1]),
             math.radians(target_rotation[2]))
    ob.rotation_mode = 'XYZ' #set rotation mode back (was zyx, so we want xyz)
    ob.rotation_euler = (t_rot) #set rotation
    ob.select = False

def fix_orientation(ob):
    if ob.type != 'MESH':
        return

    d = ob.dimensions
    correction = (0,0,0)

    if d[0] > d[1] and d[0] > d[2]:
        correction = (0,0,90)

    if d[1] > d[0] and d[0] > d[2]:
        correction = (0,0,0)

    if d[2] > d[0] and d[2] > d[1]:
        correction = (90,0,0)

    # hack for fixing rotation on boards at 45 degree angles:
    if abs(d[0] - d[1]) < .1:
        correction = (0,0,45)

    if abs(d[0] - d[2]) < .1:
        correction = (0,45,0)

    if abs(d[1] - d[2]) < .1:
        correction = (45,0,0)

    set_orientation(ob, correction)

for ob in bpy.data.objects:
    fix_orientation(ob)


Make an object stop interacting with fluid I'm trying to make a mug disappear, so that all the fluid inside spills out. I'm using Fluid sim modifier for the coffee inside the mug. I'm having trouble getting the mug to disappear such that it stops being an obstacle for the coffee. Simply making it become transparent means its still physically there and still works as a container for the coffee. I need it gone such that the fluid can be released. Any clues?

I assume that you're using the original Elbeem fluid simulator.

With particle systems, you can isolate them by placing them on different layers.
However, with the Elbeem fluid simulator, it basically ignores the layers, and
treats everything as being on the same layer. So moving the obstacle to a different layer is not an option.

Unfortunately, (unless I'm overlooking something), the eye/camera icons that are next to the 'Fluid' button in the Physics tab > 'Enable Physics for' section appear to do nothing (at least for the Fluid Obstacle Object). The eye/camera icons in the Outliner only effect the visibility of the fluid object in the 3DView/Render respectively.
It would be great if they worked in a similar fashion to particles; then this would be very simple to do.

I tried scaling the obstacle glass/mug (to isolate it from the fluid),
and then moving it outside the domain.
However, in each case, the Elbeem fluid simulator seemed to work up until the
point where the obstacle was moved outside the domain. It didn't crash, it just seemed to stop working.

This is probably a bug, but since development on the original fluid simulator has ceased, and development effort is instead being directed to the MantaFlow simulator; you currently will have to work with what you have.
More information on the Blender implementation of Mantaflow at:
https://blenderartists.org/t/lets-talk-about-mantaflow/644346

and more information on the Mantaflow framework:

http://mantaflow.com/

Another option may be to look into the Flip Fluid Add-on by RLGuy
(I'm not that familiar with the add-on, but he did present some disappearing box type demo videos) It's a paid add-on, approx. $US 76. More details at:
https://blenderartists.org/t/flip-fluids-addon-a-liquid-fluid-simulation-tool-for-blender/702503

The method that seemed to work, was adding vertex keys to the obstacle (using a
Shell proxy object) and then moving the obstacle (while still keeping its
center point within the domain) such that only the obstacle's vertice were
outside of the domain. (This might also work with scaling and moving the obstacle, but I didn't try it).

When you add keyframes for vertex keys, you need to check the 'Export Animated Mesh'
option for the fluid and the Obstacle objects. (This isn't necessary for loc/rot/scale
keyframes).

Here's a blend file in case I forgot to mention some details:

Select the fluid domain from the Outliner,
Switch to the Physics tab in the Properties Area, and
Press Bake.


Face and Normal Constraint When Moving Vertex/Edge (Like 3DS Max) so in Blender we have edge/vertex slide which does moving edge/vertex constraints to nearest edge or nearest vertex. but as far as i know, we don't have Face and Normal based constraint.
How achieve this kind of constraint in Blender?

Please take a look at this video at 22:58

Arrimus Topology Tutorial Time Stamp = 22:58

-As for face constraint, i found complicated workaround which uses shrinkwrap modifier, then duplicate the object and make it as target, which is not the best solution.

thank you guys!

You move the vertex and it moves the face. It doesnt make sense for blender because you're trying to snap to the face which you're currently editing. You may try any workaround you like from this list:

use Normal transform orientation and press Shift+Z twice during transform. The most unprecise method, because the vertex's normal is a single directinon, when faces connected to that vertex have multiple normal directions. So it actually doesnt use all faces normals but summary direction of them all.
duplicate an object to use it as a reference for shrinkwrap modifier.
duplicate any vertex and use face snapping. Move your topology to that vertex, using it as a guide point.

3ds max doesnt have that problem


How to assign a new material for each object using Python? Is it possible to assign a new Material(Principled BSDF shader) to each mesh or a selection of meshes in my scene using Python?
The script should use the individual mesh name to name the material and delete the existing material if there was a material before.
How can I approach this problem?

Run this with your objects selected:
import bpy

# I separated the creation of nodes to a function so it's easier
# to edit later if needed
def create_nodes(mat):
    mat.use_nodes = True
    nodes = mat.node_tree.nodes
    for every_node in nodes: # this removes all existing nodes
        nodes.remove(every_node)

    # creating Principled node and moving it:
    node = nodes.new('ShaderNodeBsdfPrincipled')
    node.location = (-190,100)

    # creating Output node and moving it:
    output_node = nodes.new('ShaderNodeOutputMaterial')
    output_node.location = (40,100)

    # creating the link between the two nodes:
    links = mat.node_tree.links
    link = links.new(node.outputs[0], output_node.inputs[0])

# this saves the currently active object so it can be restored later
active = bpy.context.object

# let's loop through all selected objects
for every_object in bpy.context.selected_objects:
    # I only want to work with objects capable of having a material
    if every_object.type in {'MESH','CURVE', 'SURFACE','META', 'FONT'}:
        if every_object.name not in bpy.data.materials:
        # if there is no material named after the object yet let's make one
            mat = bpy.data.materials.new(every_object.name)
            # and let's create the nodes for it
            create_nodes(mat)
        else:
            # if the material already exists let's just use it
            mat = bpy.data.materials.get(every_object.name)
        if len(every_object.material_slots) == 0: # if there are no material slots
            every_object.data.materials.append(mat)

        # The only thing left now is to assign the material to
        # all material slots. We probably do not want to loose the info
        # about how the object is divided into separate materials
        for every_slot in every_object.material_slots:
            every_slot.material = mat


How to load an object from another scene in the bge? I have a game with multiple levels made up of separate scenes. I'd like to add (at runtime) objects in an "assets" scene containing some generic objects that will be used in each level.

After unsuccessfully trying bge.logic.addScene("assets") then scene.addObject("object_from_assets_scene"), I tried using a "loader" scene which would load the assets scene first (to allow for the async loading), then switch to the new scene (with scene.replace()).

Despite the scenes appearing in bge.logic.getSceneList(), none of the asset objects are in them and the main level objects aren't visible.

Is there any way to add an object from another scene?

You cannot add objects across scenes. Scenes are completely seperate. What you can do is you can use LibLoad to combine two blend files. So if you have your assets in one blend (assets.blend), you can use:  bge.logic.LibLoad(path_to_blend, 'Scene')
to merge the two scenes. If objects are on an inactive layer in assets.blend, then you can use addObject to add them when/where you want.

(note that the 'Scene' is to tell it to load whole scene, but does not tell it which. There is no way to tell LIbLoad which scene to load - it will do the one that the blend is saved with)


How to bake Particle System in Blender 2.79 I'm using Blender 2.79 and there no longer appears to be a Cache tab under Particle System settings. How can I bake a particle system so that when Blender crashes I don't have to start rendering from the beginning? I'm not looking to turn the particles into real objects because I am not using physics, I need each dupli object to appear in sequence from the emitter object. Any suggestions greatly appreciated.

For those having the same problem: The cache tab disappears when the physics are set to "none" because apparently without physics, there is nothing to calculate and save to the disk. Because I was after the sporadic and stationary emergence of particles from the emitter, I found that using a Particle System of type "hair" instead of "emitter" will suffice when I animate the "length" option in the clump settings. It's not ideal because they all emerge at once, but until I find a better way, this will have to do! Please comment if there is a better fix to this!


How to select a brush by it's name, and generate one if not existing? I am trying to automate the task of creating an eraser brush in blender via python, as part of another operator.

I want to look for brush named 'ERASER' and switch to it, or create one and make it the active brush if not.

I found a few things online, but it looks more like sculpt brushes are easier to handle data wise than image paint/texture paint brushes. I am hoping someone might point me in the correct way of handling this.

Thanks in advance for help.

Current code snippet:

class GenericOper(bpy.types.Operator):
"""Generic Operator"""
bl_idname = "object.generic_operator"

bl_label = "Generic Operator Template"
bl_options = { 'REGISTER', 'UNDO' }

def execute(self, context):

    scene = context.scene

    #new code

    #bpy.ops.paint.texture_paint_toggle()
    bpy.ops.paint.brush_select(paint_mode='ACTIVE', texture_paint_tool='DRAW')
    bpy.ops.brush.add()
    bpy.data.brushes["TexDraw.001"].name="ERASER"
    bpy.context.scene.tool_settings.unified_paint_settings.use_pressure_size = False
    bpy.data.brushes["ERASER"].use_pressure_strength = False
    bpy.data.brushes["ERASER"].blend = 'ERASE_ALPHA'

    return {'FINISHED'}

If it can be avoided, it is better to not use operators inside an operator. You should not use bpy.context in the operator, instead use the context parameter that is passed in, this allows a context to be overridden and if calling other operators should be passed along.

To find an existing erase brush you can loop over the brushes found in bpy.data.brushes and see if any that are set to be used in texture painting (use_paint_image is True) and the blend mode is Erase Alpha then you can set it as the active brush in the tool settings that you have found. If no erase brushes are found, you can create a new one. Checking the name of a brush is unreliable as the user may change it to anything, such as "gomme" being french for eraser.

def execute(self, context):
    # get a list of erase alpha brushes
    erase_brushes = [b for b in bpy.data.brushes
                if b.use_paint_image and b.blend == 'ERASE_ALPHA']
    if len(erase_brushes):
        # if we have more than one just use the first
        use_brush = erase_brushes[0]
    else:
        # create an erase alpha brush
        use_brush = bpy.data.brushes.new('AlphaErase')
        use_brush.blend = 'ERASE_ALPHA'
        use_brush.use_pressure_strength = False

    context.scene.tool_settings.unified_paint_settings.use_pressure_size = False
    context.tool_settings.image_paint.brush = use_brush
    return {'FINISHED'}


Why is my video not YouTube streamable format? Whenever I upload a video to YouTube, it tells me that I should use a "streamable format" so my videos will upload faster. After I've uploaded the video, often it will play at low resolutions and 1080, but not 720. Can someone help me diagnose what I'm doing wrong in exporting my videos?

Here's my export settings -

and the link to YouTube's recommended settings - (link in comments)

First, videos will only upload as fast as the filesize divided by your Internet connection speed.  There's nothing that will speed that up other than making the filesize smaller or your connection faster.

What Youtube is saying is that your videos will process faster if they're in a streamable format.  MP4 can be a "streamable format" so I believe the problem is that the moov atom is being placed at the end of the filestream.  As far as I know, Blender does not have a "Fast-start" option so Youtube must wait until the entire file has been uploaded before it begins processing the video.  If the moov atom was at the beginning, Youtube would begin processing as soon as the file began uploading.

[Youtube Link]

The solution is either a Blender Add-On that I'm not aware of or simply use third party software to either encode the video or "fix" the file from Blender.  FFmpeg is capable of this.  See: "ffmpeg Using -movflags faststart".

@troy_s highly recommends using Blender to render out to stills and then encode with FFmpeg.  This preserves video quality and can fix some problems that I ran into with gamma/contrast when uploading to Youtube.

As far as only being able to see 720p or lower resolutions, Youtube processes the video file resolution in ascending order, (e.g. 144p is first, 240p second, etc.) so the 1080p option will not show up for at least a minute or so (maybe longer for larger filesizes) and the 1080p option is not available on Internet Explorer... for me it only works on Chrome.


Both a mirror and a 90 degree prism are not reflecting light on to a screen (cycles) I made a 90-degree prism out of glass with index of refraction of 1.5, which is high enough to produce total internal reflection at 45 degrees. I've done this before with no problem, but suddenly the light seems to just disappear. As far as I can tell the normals are all pointing outward.

So I put a mirror (glossy BDSF) next to it, and it's not reflecting either.

I expect to see two roughy square spots on the green object, but there is no trace of reflection.

I'm sure this is something obvious. I don't use Blender often enough to instinctively set everything correctly, but it seems like the defaults should be set up to allow this simple test to work.

What have I done wrong?

I'm attaching the blend file as well.

Left: Prism material, Right: Mirror material.

You should use way more samples than 201 samples (which you used in your .blend file) to the green wall to illuminate properly in cycles.Thats because tre light source you are using in your scene is way too far and way too strong. Atleast when i put the lamp near the prism the green plate was brighter.
U can clearly see in my picture that with about 10K samples the green plate was very bright


I need help with Path Constraint & Rigging Blender newbie here, started using Blender 2 days ago for a summer project of mine but I ran into an issue here. I've done rigging & animating for my model and when I play the animation without any path constraint it looks great. The problem is, whenever I try to 'Constraint Path', my Model and its Armature ends up facing different angles and my animation is completely ruined. Could really use some help! Thanks a lot in advance! Here is my blend file that I need help with. I know there are a lot of issues and I could really use some guidance!

Make sure your Path object and your Armature have the same orientation before pressing Ctrl + P and selecting Follow Path. Your NurbsPath.001 is rotated by 90° on the Z axis.
In your blend file, select the NurbsPath.001 and press Ctrl + A and select Rotation. It will fix the rotation issue.


One rigify button missing from the whole body control After I thought I completely riggged my character, I moved it to animate in my scene. I noticed that the controller for the hand is missing even though the other hand have the controller.

What is the best way to fix this?

It was just missing a layer. So while playing around with the pose mode layers. I had found it.


Speeding up scaling about the true center with a mirror modifier I know there's a way to scale along the median point of an object's virtual geometry and actual geometry combined, which is here:

Scale about true center with Mirror modifier

But it's not very quick, especially if you have a lot of parts to scale near the center of your mirrored mesh. Quicker means better productivity, so it should be in my interests to become quicker while keeping quality high. Is there something I can use, maybe Python code or a plugin, to allow for this or a similar process to be done automatically, for example, when I select something and press a keyboard shortcut?

Thank you very much for any help. :)

Here's a quick little addon which streamlines the process outlined by your link:

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

bl_info = {
    "name": "Snap Macro",
    "author": "Me",
    "version": (0, 0, 1),
    "blender": (2, 78, 0),
    "location": "View3D > Snap (Shift S)",
    "warning": "",
    "description": "Snaps Cursor to Selection, Sans Axis of Symmetry",
    "wiki_url": "http://i.imgur.com/j1N3Wqz.jpg",
    "category": "View3D",
}

import bpy
axSym = [
    ("0", "X", ""),
    ("1", "Y", ""),
    ("2", "Z", "")
    ]

def snapMacro(self, context):
    bpy.ops.wm.context_set_enum(data_path="space_data.pivot_point", value = "CURSOR")
    bpy.ops.view3d.snap_cursor_to_selected()
    context.space_data.cursor_location[int(self.sAxis)] = 0

class snap_macro(bpy.types.Operator):
    """Macro snaps cursor to selection and zeroes X-Axis"""
    bl_idname = 'view3d.snap_macro'
    bl_label = 'Snap Macro'
    bl_options = {'REGISTER', 'UNDO'}

    @classmethod
    def poll(cls, context):

        return context

    sAxis = bpy.props.EnumProperty(items = axSym, name = "Axis of Symmetry", default = "0")

    def execute(self, context):
        snapMacro(self, context)
        return {'FINISHED'}

def menu_func(self, context):
    self.layout.operator(snap_macro.bl_idname, text="Snap Macro")

def register():
    bpy.utils.register_module(__name__)
    bpy.types.VIEW3D_MT_snap.append(menu_func)
    bpy.types.WindowManager.sAxis = snap_macro.sAxis

def unregister():
    bpy.utils.unregister_module(__name__)
    bpy.types.VIEW3D_MT_snap.remove(menu_func)
    bpy.types.WindowManager.sAxis

if __name__ == "__main__":
    register()

Put this .py file into your User\AppData\Roaming\Blender Foundation\Blender\2.78\scripts\addons\ directory, or equivelent, depending on OS. Enable in user preferences (searching 'snap' brings it to the top of the list) and save user settings.

What it does:

Adds a macro to the snap menu Shift S
Snaps cursor to selected, with the exception of the axis of symmetry. X is default
Sets pivot point to cursor, since you'll always want to do that
Gives basic operator panel support, allows retroactive change of axis, remembers last axis setting


a weird face in bevel I tried to use a bevel modifier and then there one point in the object has weird face. I tried to erase each face and combine differently but no matter how, this shows up again. All faces are directing outside correctly.
How can I remove this black/gray face? Why this happens?

I could solve it! If I limit bevel by angle in the modifier, the weird face disappears.


Polygons distorted in edit mode Configuration:

Ubuntu 14.04 (latest update)
Blender 2.75
Nvidia Quadro FX580

try re-installing the drivers.. last ubuntu 14.04's updates are quite strange.. I had to re-install twice due of them in the last month.... remember to disable nouveau and purge other nvidia drivers (if you are gonna use the nvidia's proprietary from the home-page) before performing the installation, It could cause problems!

$ sudo apt-get remove --purge nvidia-*


Texture paint on loose parts I'm using Blender 2.8.

I have a mesh/model with different loose parts (joined models) in it. When I go to texture paint, I can't paint on the loose parts except of one. I can paint fine on the flat image with the unwrapped faces but not on the model. I guess I can union boolean all the parts together but it's not the effects I want when animating.

Any tips? Thanks.

Your joined meshes probably have separate materials that do not share the same image texture and UV map. You will need to make sure that they all have the same UV Map and Image texture so that you can paint across all of the parts despite them possibly having different materials.


How do I increase the audio volume on a video I have a .wmv file where the audio volume is too low.  I was able to edit two files into one and match the volume of two video files to the same volume using windows live movie maker, but not to increase the volume, the (edit as opposed to the playback) volume control is max'd out, I can go down in volume but not up.  Can Blender help me increase the playback volume of this video?

You can increase the volume in the strip properties (select the audio and press N)

You can even go past eleven all the way to 100.


Calculating the correct angle needed to bend a plane into a "cylinder shape" Calculating the correct angle needed to bend a plane into a "cylinder shape".
I have a 5x5 diamond plane that when I bend it 396 degrees it becomes a "cylinder shape"

Another diamond grid 15x15 requires 372 degrees for it to close.

How can I calculate the angle (using a formula) I would need to bend other diamond planes into a "cylinder shape"

It is just linear, it seems

If it is for N diamonds in the line above, then the angle is:
360 * (1 + 1 / (2 * N))

as we need to fill one half one diamond plus these N.
Or to say it another way, this is the ratio of the size considering the half diamond by the size without it x the angle.


Scripting - How to create a game property? I have a bunch of objects and need to create some common properties to all of them like this

for ob in bpy.data.objects:
    if ob.name.find("someName") >= 0:
        theObject = ob.game
        ...create new property in theObject, and set value
        ...create new property in theObject, and set value
        ...create new property in theObject, and set value
        ...create new property in theObject, and set value

The result should show the properties added to every object "someName" (someName.001, someName.002, etc) in the Logic Editor like this

There's the object.game.properties collection, but it doesn't seem to have a new method. You can use an operator to create the property, though, and then modify the value:

for ob in bpy.context.scene.objects:
    if ob.name.find("someName") >= 0:
        # Set active object first so operator works on the right one
        bpy.context.scene.objects.active = ob
        bpy.ops.object.game_property_new(type='STRING', name='foo')
        prop = ob.game.properties['foo']
        prop.value = 'bar'

I'm pretty sure the items in the list are kept in the order they are created, so you can also access the most recently-created property with ob.game.properties[-1].


Delete pickle file with python within Blender Does anyone know if it's possible to delete a pickle file with python in Blender please ?

I need to store some data to use them later. I've created a pickle file to store them (so, maybe is not the best way for that).

When I've finished my work, I need to delete the pickle file with an operator after having restored my data saved in the pickle file.

The standard filesystem functions available in python can be used within blender.

import os
os.remove(path) # a single file
os.rmdir(path) # an empty folder

The python docs include more info.


How do I control the origin to my scale? I was following a tutorial to creating an anvil and had a question in mind. When creating this Anvil, I came to a step where I had to create the tip of the anvil- keep in mind that I made the point too long.
Without thinking too much, I committed to the length and I created 5 edge loops that were evenly distributed along the length.

I guess you can see my problem now. Having committed to a longer length of the point, I now had to make the length shorter while keeping the edge loop evenly separated and intact to the body of the anvil.

Being a Photoshop user, I thought "oh no problem I can just scale it", but when I scaled it, I realized that I'm limited to scaling in the center of my selection- it was not from the side I needed to scale it from.
I will attach images to best explain what I have, versus what I was thinking of.

I do know that I can just backtrack or be more careful next time, but if there is a tool for something like this, I believe it would be very useful in the future!

Just use 3D cursor as pivot point :).

Select the edge loop and put 3D cursor there. Mesh > Snap > Cursor To selected.
Set Pivot point to 3D Cursor.
Use Scale tool gizmo to scale only on X axis.


Magic box, objects inside visible only through hole I'm on Blender 2.8 and I want to create a special shader, which is harder than I thought.

I want to create a box, which contains more objects inside. The front face is a hole where we can see the inside. But I want the outside faces to be transparent, and make every objects inside transparents as well when the camera is in this axis.

On the pictures, the grey box is my main box where I want the transparent outside, opaque inside shader. The blue box is an object inside (that I actually see so my shader is not working) and the red one is kind of a background object.

So I want the red box not visible when seen through the inside of the main box and I want the blue box only visible through the hole of the main box but the red box still visible cause it's not an inside object of the main box.

Hope everything's clear, it's kind of a concept here.

Thanks for your help,

SHDWRCK

For the magic box, the material of the front face is a simple principled shader (the default one) and the material of the side faces is a simple transparent shader.

The material of the other cubes is the same (or at least they both have this structure), like shown in the picture:

(You probably want to disable the little cube's shadow)

So you get this:

if you want to make the internal faces opaque, your sides need to be solid (you can do it with a solidify modifier)

the outer sides are completely transparent, the front is a simple principled shader, in the internal faces you need to use this material:

If you want the red cube to be visible, just make it a simple principled shader.

Here is the final result:

NOTE: if you can still see a dark shadow of the blu cube through the lateral sides, you need to increase the transparency light bounces

NOTE 2: I think you should work a bit on the shadows and decide which objects should cast shadows and which shouldn't (for example right now the front face creates a shadow on the inner faces)


How to create drivers but maintain the ability to modify the property? I need to dynamically control some properties, of which i have the data_path, in every frame of the animation using a python script. The obvious solution is to create a driver on the property, but I would like to still be able to edit the property (to set a fixed offset, basically).

Also, I want this rig to work with all (or most of) the object's properties, so I can't use an empty to store the drivers, because the empty might not have that property (also, is there a way to set the value of a property only knowing its data_path? that would solve everything...).

EDIT

As an example, I would like to control, for every frame of the animation, the obj.location of my current object by using a python function pyFunction(self, target), that I declare in the script. To do that I need to create a driver with the pyFunction(self, target) function in the expression field. So far so good.
However here I got stuck:

1) If I create the driver directly on the object's location property, I can't then move the object with the "G" hotkey or with the arrows (I could create 3 custom properties and point to them in the driver, but it's not very user friendly to change the object position using 3 separate sliders, hidden in the Custom Properties).

2) If I create the driver on a custom property, then I don't know how to change the location property: the driver controls the value of the Custom Property it is applied to, but not the value of the property I want to change. The main problem is that I don't know which properties are being targeted: in my script I have the data_path of the properties I need to control (that I get from the object's fcurves), and I couldn't find anywhere a setValue(data_path) function or whatever that allows me to change the value of a property in python, only knowing its data_path.
For example, if I need to control the influence value on a modifier of that object, I don't know how to make its value change with the Custom Property value, without having to add another driver on the desired property , which is the (1) problem all over again (or how to directly change its value inside the pyFunction)

In the screenshot, to control the rotation.x i need to create the driver, but then I can't manually rotate the object on the x axis with the "R" key (to create an offset that could be used to manually introduce variations in the object placement), and from the custom property obj["prop"] I don't know how to change the rotation value (using obj.rotation.x or obj.rotation[0] in the pyFunction is not a good solution, because I only know the data_path of the property and with most of them obj.data_path doesn't work).

Also, don't worry about the error in the driver, pyFuntion is currently an empty function, mine works as expected, but it's very long and i didn't want to make things more complex than necessary...

Can you guys help me figure it out?

Custom Properties and Delta Transformation

Delta Transform Location X component with Driver cooperate nicely with regular Location. You may grab and move object with g.  Formula is in tooltip. See Arrow. Image above.  Emphasizing difference between regular object Location and Delta Location.
I am trying to prioritize various issues you have in your question above.  So some things I may say you might already know.  Same as in any candidate answer.
You may also create a Parent/Child relationship in Blender. Two objects selected and then Control P your object to another object to combine locations and have independence.
https://www.youtube.com/watch?v=kq3Ja-nNv7Q
For the near future ... I suggest you use the datapath only when self is data in the object panel,  in a Python Script. Self does not always refer to an object as displayed in the object panel. Self  might refer to a Modifier or Constraint or Material Setting or Fluid Setting ... depending on the panel with the driver.
The Blender Python Console Window and the OS owned text Console window are two different windows.
You wrote [pyFunction(self, target)]
In your function please add
print(type(self))
to see the text name in the Text Console Window.  The Python Console provides a python environment in a Blender Window. Text Console can show print results from a Script and may be provided by the OS. Menu / Toggle Console Window.
A driver on a location or delta location can refer to another custom property of a different object.  Final location is a combination of location and delta location.  Thus if driver controls delta location, then (regular) location can be be free for UI interaction control.
The same can be said analogously of rotation.  Other techniques exist.
Allow the driver to refer to a different custom property value.  Indirection can solve or introduce any problem.
Custom Properties have all the conveniences of other standard values of Blender.  They are keyframe capable.

Display of Custom Properties. Image Above.  Click the Add button, enter value. Please know there are default limits which can be edited.  Click the edit button.

Driver referring to custom property with offset as part of the expression or formula. Here I entered two properties on one object for purposes of less image editing.  You have more freedom than that.
Any object can hold custom properties which is similar to Python Dictionary. See [custom properties] which appear in the panel.  When the property is numeric for example it can be keyframed.  The keyframed property can be seen in the graph editor and manipulated like any other graph window curve.  The Driver can refer to those properties. Custom Property CRUD Create Reference Update Delete is possible.  If the user interface is inadequate perhaps the creation of a custom property can be another question.
Keep in mind Python functions can be registered for access in drivers.  This can explained more fully in another question or search.
And the driver can access the custom property by object name and property name or path.
Please note that it may be useful to create an independent object to hold custom property values.  Blender can complain with messages in the console window when it deems references for a cyclical dependency.  Blender may be arguable too strict about that.  But see the messages in the console might interfere with your needs.
A constraint can copy the location of another object if desired but is more dominating. I would test carefully to see the differences.


How to assign freestyle attributes to different objects for rendering? I have a quadrilateral mesh and a triangle mesh in my collection, for quadrilaterial we want to render the visible edge, for triangle mesh we want to render the whole boundary which included the occluded boundary. How to achieve this?
Thank you  very much!
The first picture represents the result which we render for triangle mesh,
and the second picture represents the results which we render for quadrilateral mesh.

If there's no  'in camera' discriminator between your Line-Sets, you may have to render them into different View Layers, and combine the layers in the Compositor.
But you can probably just link the meshes into distinct collections, and associate each Line-Set, (along with its style and its edge-selection method), with those collections:

It would depend on your case. Maybe you can illustrate it.


How to Mirror Keyframes? Okay, simple. I'm making a walk cycle for a quadruped creature, and I have just finished animating the Left Front Leg, how can I copy the Keyframes from the Left Leg onto the Right Leg? I know Maya can do this, so how can I do this in Blender?

Ctrl + C and Shift + Ctrl + V doesn't work.  It just copies exactly what I have onto the same bones, which is not what I want.

Mirroring a Keyframe is pretty easy. Go to "pose mode" and you must select all your bones including the ones you want to copy it to, then over in the right side of your screen will be three buttons

The first one is Copy

second Paste on same side

And the third is Paste on opposite side

With all your bones still selected press the first button to copy your pose you wish to be on the other side, then place it in the desired spot on the timeline by clicking the third button . This will mirror it to the left side(or opposite side) of your mesh.

If you want it a keyframe just click insert keyframe( with all bones still selected)


Newest blender 2.8: Object visible in render button missing In the latest version of blender 2.8 I can not find the button for an object that allows it to be shown in the rendered image. There is only one 'eye' icon left, which makes the object invisible/visible in the viewport.

Render Icon it's hidden by default

You have to enable it from the Filter sub-menu.

Look for the camera icon in the Restriction Toggles section.

It has been hidden by default in order to tide up things a bit.

As you can see, now there are many possible controls you can enable/disable for the outliner, so they decided it was better to give the user the choice to costumize the right column.

You can see Pablo discussing this aspect in one of the Blender today videos:

https://youtu.be/GUa1jC01d_E?t=2093


too much moves in armature - pose in pose also the ribs move although I only move the arm

I have nothing parent

unfortunately I don't know how to get this fixed
My Blender file:
https://1drv.ms/u/s!Amok31-g9Vyoid1QzxhrViaikey4_A?e=DdsUhv

You've parented the the ribs to the armature, so accidentally the arm acts on the ribs and you need to correct that:

Select the arm to know its name:

Select the ribs, go in the Properties panel > Object Data > Vertex Groups, find the vertex groups that has the same name, click on Remove:

The lower arm influences the ribs as well so do the same. You can also do it in Weight Paint mode.


Fluid dissapears while moving I'm having a problem with this simulation.
When the fluid starts to move it seems to lose mass and I don't understand why. If you compare the volume of the fluid at the beginning and the volume at the end its not the same.
Does anybody got an idea on how to fix this?
I'm working on Blender 2.92
Settings for the simulation.

And here is the file

Looks like it's a bug T84287: [Mantaflow] Fluid volume loss with moving obstacle
The answer to this question Fluid in simulation disappears when from moving container also recommends applying the scale to the domain, obstacle, and the liquid. (But it doesn't help in this case)
(Side note: you have Auto Keying activated and your liquid object has unnecessary keyframes.)


How to stretch selected vertices to mathfunction or bezier The situation:
I want to create a splint for my forearm by using a 3d scan.

My plan was to design the basic model with a grease pencil and bsurfaces and add the thickness with the solidify modifier.

My problem:
The entire outline is kind of random, if i use the grease pencil.
I tried to use the gstretch function (looptools addon), but logically I again create a random line.

To reproduce the whole process for another different armscan with a similar outline, I thought I can stretch the outer vertices to a predifined bezier, path, mathfunction, script? But unfortunately I didn't found a way yet.

What you want can be done in a number of manners, but most of them are retopology tools:

RetopoMT by Blenderlounge:

https://youtu.be/op2rMKDEUzQ?t=566

SpeedRetopo by Cedric Lepiller

https://youtu.be/BFfqePn8nKI?t=21

https://youtu.be/NdbBX957JYo?t=286

Retopoflow by cgcookie:

https://www.youtube.com/watch?v=9qidVmJjtBA

Bsurfaces:

https://youtu.be/3VC98kiy10Q?t=117

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

Mira Tools for editing loops as curves:

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

Curve Tools for nurbs modeling:

https://blenderartists.org/forum/showthread.php?221213-Tools-for-curves

Also, on the same LoopTools addon that you use, there are options on the W menu for relaxing and spacing of the vertices, they may be useful in your case.


blender bones are not working in unity I created a pants model, and bones for it in a blender. Bones work in blender, but when I import it to Unity, they are not doing anything.

I used automatic weights when I was rigging.

Blender:

Unity:

Model: https://ufile.io/gd6vz

This is a very common problem that happens when you export from blender and import to unity. The solution is simple. Open the .blend file and clear the scale by pressing Alt+S. This does most of the stuff but you could face some minor issues. So I recommend also clearing the location and rotation by pressing Alt+G (clear location) and Alt+R (clear rotation), after doing this, export as .fbx and import it in unity. I hope it helps.
Aster17
P.S If you want a step-by-step video tutorial, Below is the link:
https://www.youtube.com/watch?v=ysl0qYq5p9w
P.S.S This link is for versions 2.8 and above but should mostly work for versions 2.7 and above too. I am also providing the link to a QnA similar to your question if you prefer stuff in written format:
Exporting a rigged object to Unity (as FBX) produces massively distorted mesh, affecting normals


How to unparent child I want to unparent a child from empty with python using obj = own.children but it wont work with unparenting because this 1 child object is classifed as list or smth else, and gets zombie object spam in console.

how to unparent child without using name?

you have to use the removeParent() function, since both .children and .parent are read only :

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

for child in own.children :
    child.removeParent()


Vortex with particle system without tornado effect for snowstorm scene I'm trying to make a snowstorm effect in Blender. I have a plane that is emitting plane particles (with a snowflake texture mapped to it). There is also a Empty with a Force physics enabled on it. The Empty is set to vortex.

However, when I bake bake the plane's physics, the particles either pull into the center far too much (like a tornado) or blow outwards. No matter how I adjust the settings, I can't make the particles swirl around a certain axis.

How can I accomplish this? And are there any alternatives to particle systems, vortexes, etc.?

Assuming you want the snow be blown in one direction and the same time to show some whirl, you could add an additional wind force and animate the vortexes force.

It is easier to verify the effect when you don't bake, instead manipulate the settings while the simulation is running.


In the game engine why do variables link clists from globalDict instead of copying them? #initial globalDict entries
bge.logic.globalDict["integer"] = 1
bge.logic.globalDict["clist"] = [0, 1]

#variable assignment
integer = bge.logic.globalDict["integer"]
clist = bge.logic.globalDict["clist"]

#variable modification
integer = integer +1
clist.append(2)

Result:
original integer: 1
manually modified integer: 2
integer in globalDict: 1
original clist: [0, 1]
manually modified clist: [0, 1, 2]
clist in globalDict: [0, 1, 2]

The code above shows how changing a different type of variables may or may not change the source of the variable.
Is there a particular reason for that inconsistency?
Is there a work-around?

this_is_a_list = [0,1,2,3,4]
this_points_to_the_same_data = this_is_a_list
this_copies_an_item_from_the_list = this_is_a_list[1]

A list (or array, dictionary, object...) is a composite type that may contain thousands of items and could consume a GB of ram, assigning a composite type to a new variable only assigns a value that points to the same data as the original variable. You need to manually copy the entire item if that is what you desire.

It may also help to understand that this_is_a_list is only a pointer or reference to where the data is stored in ram, the [] is used to specify which part of the ram used by the object you wish to read. So using = is assigning the same reference to the new variable.

This is mostly a performance decision (it is the way python works not just blender), a single number consumes a similar amount (dependant on the number and 32/64 bit system being used) of ram as a pointer to a large composite data type. These values can easily be passed between functions within the cpu without any performance penalty. Copying an entire compound data type can consume large amounts of ram and take seconds to copy, so is not performed unless you specifically want to copy the entire thing.

To get a full copy you can use copy()

this_copies_the_entire_list = this_is_a_list.copy()

copy() is useful as it can be used for lists and dictionaries. For lists you can also copy them with blist = alist[:] or blist = [x for x in alist] which also allows you to add an if test to copy part of the list.


Water flow looks like drops Im a beginner to blender, so some settings are a bit confusing to me, please be kind enough to guide me to sort out this issue.

In this animation, I cannot generate a water flow which looks realistic. It always falls down as drops. (velocity is not an issue, they are flowing fast) but the water flowing falling down as big droplets. How can i change this ?

Your support is highly appreciated :) Cheers

With fluid sim it is important to ensure your settings reflect the desired physical properties - in particular the Time and the Real World Size - in order to get convincing behaviour from the fluid.

Assuming you’re rendering 250 frames at 25 frames per second you should set End time to 10 (10 seconds for the whole simulation).

Also, it appears that your mesh is some kind of large scale water conduit but your Real World Scale is only 0.5 metres - set it to something more applicable for the scale of your simulation (it defines the real world dimension of the longest dimension of your domain).

Once you have this set you may also need to re-adjust the rate of flow from your Inflow to match the new scales.

The Time and Size setting will affect properties such as effect of gravity, surface tension/viscosity, friction, etc. Which will affect the behaviour of the fluid.


Mesh generation from PointCloud? The figure bleow is the pointcloud imported as .ply file into blender.

However, I would like to perform triangulation on it to produce the surface as seen in picture below(Accomplished using ballpivoting surface reconstruction and poisson disk sampling in MeshLab).

Is there a way to perform triangulation on belnder.
(PS: The purpose is to be able to select each faces/vertices individually to automate further.)

Edit: Question: Is it possible to select the vertex/faces programmatically post triangulation? if so, please explain how?

Figured out that the existing blender addon given here serves the purpose if the objective is just to triangulate in blender.

However, the question of programmatically selecting the vertex and (or) faces is still open. If any body has any idea on this topic please do throw some light.


Transparent PNGs don't cast shadows (in BI) Blender 2.77 - Blender Internal

Hello, I'm trying to make a simple animation about files entering an envelope. I have some troubles with "Import Images as Planes", they don't cast transparent shadows, despite I checked "Raytrace" (or Z-transparency) on them, and "Receive transparent shadows" on the envelope's material.

Envelope material settings, PNG settings, and the result:

Here's the full project:

https://drive.google.com/open?id=0B_9DH8lxMw2bSE9hbWNPXy1DWm8

The example is frame # 397

After days and days, I still can't understand where I go wrong. Please help...

Select the "jpg" object and uncheck the "cast" option in the shadow tab.

If you want your object to cast a ray traced shadow you must add a ray tracing light (i.e. a sun lamp) and enable her ray trace option.
In your animation you will also have to move the object toward the camera to separate the plane of the object from the plane of the cast shadow.


Selecting multiple edge loops in Blender 2.8 I used to be able to select and edge loop with AltRMB and then just continue with ShiftAltRMB. But this no longer works in Blender 2.80 and nightly builds of 2.79.

Is there another way to achieve the same?

UPDATE

It's not related to the nightly builds since I am also experiencing the same with the latest official release. Deleting Blender's user preferences doesn't change anything, nor does resetting the keymaps.

So it might be related to the Linux distro I am using (elementary OS), I'll have to look into that and follow up here as soon as I found something.

UPDATE 2

In the meantime, I switched back form elementary OS to Pop!_OS, which resolved the issue. It seems that somehow, elementary OS was blocking the ShiftAltRMB combination. The issue persisted with all versions of Blender, be it 2.79 official, 2.79 nightly or 2.80. Now, all is fine. Even 2.80 works as expected.

UPDATE 3

As of now, Blender 2.80 is using left-click by default for selecting. Selecting edge loops is done by double clicking, which is so much more convenient.

If selecting isn't working with alt-LMB, it's probably because you're using 3 button mouse emulation, in which case the old way of double clicking will work.

I'm still searching how to do edge rings though.


Rig Not Working Properly I have more or less finally rigged this character. However one of the gloves will not move (not a huge issue as I can work around this in the animation) however, the shoes are not working properly.
When I move one shoe, the other moves and warps slightly with it! As shown in the image below. I have tried separating them in edit mode as loose parts but I am not sure how else to go about this. I don't really want to have to start again with the rigging process!

It looks like your boots are parented to bones that they are not supposed to. The simplest way to fix it is to select them in Edit mode, then in the Properties panel > Data > Vertex Groups > on the right of the vertex groups list, click on Remove from All Groups so that this part of the mesh won't be controlled by any bone. Now, keep your armature in Pose mode, select your object, go in Weight Paint mode, select the bone to which the boot is supposed to be linked and paint the boot with a brush in Blend > Mix mode.


Can't delete group instance? I have downloaded a Blender file, and the model is visible twice.
I would like to have only 1 of them. But no matter what I try, I am unable to remove just one model.

I have uploaded the Blender file here:
http://www.pasteall.org/blend/38503

Could anybody tell me what is happening in this file?
I think the maker of this file created a linked clone or so.
Is this true?

Can anybody tell me how to have just 1 model?

Thank you very much!

Model which is called Chainsaw is a group instance. Select this model in Viewport or Outliner and click delete. You can add again this group by Shift+A => Group Instances => Chainsaw.


Is there a line render engine for Blender? I am looking for a render engine capable of rendering vectors, i.e. vertices,  edges, curves, etc -- objects that have no volume & no faces.

I'd also like the render engine to be free.

Below is an example what I am trying to accomplish. See how there are only points and lines in the image? That's the style I'm wanting to achieve.

I am also hoping the render engine can make much nicer pictures than this (higher resolution, control over materials, transparency, etc), and also to make animations.

Given these constraints, are there any vector render engines that stand out as good solutions?

Blender Internal
BI can render wireframes on edge only meshes, whether shaded or shadeless:

BI can also render halos, which work on vertex only meshes (there are a few in the middle of the above scene), but they are affected by distance.
OpenGL
However, you could try using the openGL preview render (using the same system that renders the viewport)
Unfortunately, options for coloring objects individually is rather limited using meshes without faces. You can tweak some things (e.g. vertex size) by editing the themes, but this is obviously not what it was designed for.
You can render animations and stills with openGL render by clicking the buttons in the header of the 3D view, or in the render menu in the Info panel (at the top of the window):

For example:

Original answer:

Freestyle can render a scene as svg, using either SVGwriter or this set of python scripts.
Note that freestyle requires faces to work.


Shading Options Removed When Adding Material in Blender Render I'm trying to add a texture to my chicken and keep the same type of shading on each object using Blender Render, without compromising the texture.

My initial problem was that merely adding the texture as a material, the texture would not show up properly if I have Ramp enabled.

I figured out if I turned off Ramp, the texture appears correctly, but I lose the shading options. Note how the texture appears but is not shaded the same as before, because I turned off Ramp.

I would like to continue using Blender Render if at all possible for this solution. Since, that's what I've been learning and using so far with all of my creations.

EDITED:

As I got better with playing around with the nodes, I figured out how to do this correctly. Made a black and white material with the ramp, and set that as the alpha factor. I created 2 materials, one darker, and one lighter, both connected to the respective UV. Set the lighter material to Color2 and Shadowed material to Color1.


Dynamic Paint not showing in rendered image To make it simple: I have a project using dynamic paint. In the viewport the dynamic paint works as it's supposed to work. But when rendering it the dynamic paint doesn't show/gets rendered.

I really have no idea what I did wrong so I'm hoping that someone of you knows how to fix this.

You may do it using the Attribute node with a paintmap information as a factor for mixing two materials. Here's the finished render:

First press Free Bake button in the Dynamic Paint Cache panel. Delete the blendcache folder from your computer.

Now select your sphere/ball and change the dynamic paint color to pure white. We'll be using the paint's color as a mask- I guess it's a good idea as you'll have more control over the materials later.

In your case you have two different materials creating the radial pattern for cylinder. I created only one material for it, unwrapped with Project from View and attached a radial texture to it. You should do it too, cause it'd be simplier in the next stages.

Now Bake the dynamic paint. In the Dynamic Paint Output panel press the '+' buton in the Paintmap Layer window. It should change from red to grey.

Now in the Mesh Data header you have the baked paint information present in Vertex Colors panel. Copy the 'dp_paintmap name' with Ctrl+C.

Now set up the nodes as pictured below. Add the Attribute node and paste the previously copied name in its window (Ctrl+V). Now we have the mask. Use it as a factor for mixing between the radial texture and anything you like (in my case it's a simple red color Diffuse shader, but it may be other material/texture you like).


How to make smoke emission not be affected by force field? I'm trying to make a scene that contains two smoke flow sources inside the same domain. I want a force field to be added in the scene to affect the specific smoke but the other to be unaffected by it.
 If possible, I want both the emitters to be in the same smoke domain. If I have to make separate domain for each of them, it will cost me for render time. So, any help will appreciated. Thanks.

It can be done by having two domains, on different layers, each sharing its layer with its force field.
I don't think that smoke particles within the same domain can be made to follow different rules based on where they're emitted from.


Rotation, move objects are not working in OS X 10.10 I started working on blender in mac OS X 10.10, none of keyboard keys like G for move , R for rotation are not working as the way expected. I have added emulate 3key mouse also but didn't get any response from blender screen.

How to troubleshoot  keyboard shortcuts, mouse settings work for blender in mac
OS X ?

Enabled Emulate 3 mouse button its working fine now.

Hold MMB for rotate

Hold Shift+MMB for pan

Mouse scroll up/down for zoom

Right click to select object

Left click to complete the selection and process.

ESC key or press again to undo the changes happen in the selection process.


Problem installing Blender 2.8.1 via Apple Remote Desktop I've been tasked to install Blender 2.8.1 onto multiple Macs (50+) running Mojave.
Our normal method is to simply copy the .app into the applications folder on the devices using Apple Remote Desktop (ARD) and users will run the file from there.
However this is not working with the new version.
App file copies over fine, however when trying to run it, I get an error that the file may be damaged or incomplete.
Permissions set to read for everyone.
Hope someone can help?
Thanks

Same issue here, i just rolled back to the previous version.I had just deployed to 400 macs without testing (stupidly). It seems the permissions on the app require you to be an administrator. The person who installs locally has read/ write access, everyone has no access and there are no groups listed in the permissions. I will do some more testing tomorrow changing the permissions. I did give everyone full access but that didn't work.


Making particles collide with each other? Possible? (2.8) So I have made what is essentially an asteroid field. I did this by making half a dozen asteroid models, and then making a large cube with a couple of ‘volume’ emitters that run for a single frame. Which then (with a couple tweaks to velocities et al) actually makes a pretty decent looking asteroid field.

However, the asteroids hit each other, and they overlap and pass through each other. I would, ideally need them to collide and bounce. (The large ones anyway, the small ones are dust effects and I don’t really care about those).

Doubly ideally, I would like to set up a scenario where when the objects collide they might ‘shatter’ or break apart in some way. But I suspect that would be significantly more complicated.

So for the main problem - is it possible to make the particles collide with each other?

I’ve tried playing with the ‘force’ settings, the self effect, and the various physics collision options, but none of them seem to do anything in this situation.

Any help?

(As an addition, it seems an addon called 'molecular' is meant to help with this, but it doesn't seem to work any more and I'm guessing it's no longer being developed)

Particles collision can be achieved with the molecular addon by pyroevil. There is a 2.80 port but you may have to do some digging to find it. Version of the addon I have for Blender 2.80 is 1.0.7 but I hear a 1.0.8 is out.
Where do I hear it, do you ask?

Here: https://blenderartists.org/t/addon-moleculars-physics/521682/255

Addon here:
https://github.com/scorpion81/Blender-Molecular-Script/releases

As for the shattering, there is a cell fracture addon provided with 2.80. I'm not sure how you'll manage to use it on particles, though.

You can try combining with the particles instance modifier. Worth giving it a shot. Or using animation nodes, maybe.


Strange artifacts in a simple object I'm modeling a mirror. I created this frame by extruding planes for the outside part and then connecting both holes from the front and the back. I used and applied a mirror modifier for the Y axis.

Everything looks good until I render the file, it shows a strange line as you can see below in the screenshot. I can solve this by using a Subdivision modifier but then I lose the sharp edges. Tried adding more edge loops and beveling but it seems I'm missing something.

Is there anything I can do to avoid these artifacts when rendering?

The problem is that you have activated the Smooth Shading option of the T menu, but your object is a low-poly mesh. If you try to smooth a low-poly mesh these strange artifacts can happen. It's true that you have given your object a Subdivision Surface modifier that is used to simulate a high-poly mesh, but you have disabled its Display modifier in Viewport, so the artifacts still appear.

You say that you did that because you wanted to have both smooth and sharp edges.

If you want to have a smooth appearance but at the same time keep some sharp edges, add some additional edge loops close to the angles you want to keep sharp. Here is how: