Blender 2.8 - Objects Are In Different Position -- Rendered EEVEE View To Cycles View

Found the solution! It was the displacement node that was causing it. I used the ctrl+shift+t using node wrangler to add the Principled Textured Setup automatically to the plane.

I don't know if this is a bug or not with cycles in Blender 2.8 Beta, but after disconnecting the displacement node it works perfectly now.

Hope this helps someone else if they have the same problem.


How to model vertical cross horizontal lines to become look like torus ? 3D printing

create a pretty high density torus, (i used 128 and 32 major and minor segments, respectively). You might need to add and apply a 1 level subdivision surface modifier if the density was not high enough (in my case, this was necessary).

Tab into edit mode and select any edge loop, go to the select pop up list and choose "Checker deselect".

Hit Ctrl+E and click "Edge Rings", then Ctrl-click the face select icon, on the bottom left of your screen.

Hit the X key and use the "Faces" option.

Now you'll want to go to the select panel once again and pick the "Random" selection tool, then hit F6 and find a nice percentage (i used 2%) and finally hit X and choose the "Faces" option.

You'll now be making use of the "Random" selection tool for the last time, make sure to use a percentage that works for you (i used 0.5%). Hit Ctrl+L and then X and choose the "faces" option.

If you followed the steps properly so far you should have face loops that follow the shape of a torus with irregularly placed gaps.

Now tab out to Object mode and repeat the process but for the faces perpendicular to the ones you just got.

Select both objects and hit Ctrl+J to join them. Tab into edit mode, select everything using the A key then hit Ctrl+V and choose the "Remove Doubles" option.

Tab back out to Object mode and add a Solidify modifier, followed by a subdivision surface modifier.


There are a lot of ways. Two simple approaches (assuming you are talking about static meshes):

Switch the mesh in the Properties window - Object Data:

Or if you have LocRotScale keyframed, switch the action in the action editor:


How do I apply the mirror modifier properly on animated geometry?

What do you use for animation? Armature, shape keys, or setting keyframes. Because it really depends on which one you use.

Armature (with bones)

Check out the ORDER of modifiers. If your Armature modifier is below your mirror modifier, switch the order.

shape keys

I doubt you use shape keys because you cannot use mirror modifiers with shape keys. But just in case, check this out. Briefly explained, you can use "mirror shapekeys" at the black triangle below the add-shapekey-button.

setting keyframes

I believe you have nothing set as a mirror object (of mirror modifier).
Add an empty and set this as the mirror object.

As for the last solution, I made an example .blend file.

hope it helps


How to fill a hollow object generated from solidify modifier?

Unless this misunderstands the question:

Duplicate the solidified vertebra
Apply the Solidify modifier
Select one of the outside faces, Ctrl L select the rest, and delete
Alt N > flip the normals of the inside faces.


Yes, enable the pivot-point-align option.

This transforms the center points only.

One way to think of this is as a ferris-wheel - where each gondola stays in place, but you can rotate their locations.

Scale:

Rotate: Even though you didn't ask about this, it helps to understand how the feature works.


Will this help program my 19 button mouse?

The "Programmable buttons" are usually configured in a system control panel for the device, you should find a place where you can specify what action/key is assigned to each button.

Another approach to try is to open blenders input preferences and adjust an action you want to assign to a button. Where the mouse/key combination is shown, you can click that and the next mouse or keypress will be assigned to the action. Try adjusting an action and pressing one of the mouse buttons to see if blender recognises the button, if not you will need to rely on the system configuration to set each button to emulate keystrokes.

While I am not familiar with the addon you mention, blender is very customisable, you can setup the shortcuts to suit what works for you, modifier keys can be disabled so that menus are displayed with single key presses, using python you can create your own menus - either a vertical list of items or a pie menu.


No,as far as I know Blender does not have smooth mesh preview. When I change from Maya to Blender it bothered me as well but soon you will get use to it and you realize you dont need it.

Instead of it you can use subdivision surface modifier and its options to turn it on/off in different modes. It is convenient to let it smooth the object in view port but turn it of when you are in the edit mode.

Shade smooth is kind of the same as smooth normals in Maya


How can I make a mesh glow over time with keyframes?

Only properties can be keyframed

The action of "adding an emission shader" cannot be keyframed. That in not being recorded on the timeline.

When you add a node to a nodetree, that would be there for the whole scene. You can instead keyframe the factor of a mix shader ruling the shading of an object, for example between a transparent shader (so the object will be invisible) and an emission:

An alternative could be to animate the renderability of your glowing object by keyframing the little icon in the outliner. It depends on your project needs.


To know why this is happening, first you have to understand how alpha works. A transparent image(image with 0 alpha) doesn't mean it doesn't have any color(rgb values).

For example: A pixel can have red value of 255, green value of 100, blue value of 0 and alpha value of 0 (RGBA=(255,100,0,0))

In the both of your image, the RGB value is the same, but they have different alpha values.

In the picture below, both of the green areas have the same rgb value, the only different is that the right one doesn't have an alpha value. Which makes it seems like the glow effect didn't work, but in truth, the glow is just transparent, you could verify this by unchecking use alpha in the composite node, and you will see the glow (unless you have premul on, but that's another thing).

And for the particles on the flower, the reason why the glow effect is visible there is because the flower is completely opaque. It forces the pixels around the particle to have an alpha value of 1.

More information on alpha: https://docs.blender.org/manual/en/latest/glossary/index.html#term-alpha-channel

Edit: You can still do it but you may need to add a little more nodes.

In the picture below, I added the alpha values of the unblurred image and the alpha values of the blurred image together, then set it as the alpha of the final image using the set alpha node.


Why do I get this message "baking map saved to internal image, save it externally or pack it" when baking textures?

The message "baking map saved to internal image, save it externally or pack it" means that blender has created this image but the images is not saved to a place in the computer, that's why it says save it externally as an image file, you could also "pack" it, which means that it is saved as part of the blend file. If you don't do any of this and close the program the image would be lost.
Bu default blender does not save images as part of the .blend file, it references the image files from the directory where they are stored.
As for why the maps are not working, it not sure, but I suggest checking that your object UVs are well unwrapped.


Why does linking materials between objects seem to have no effect?

It has 'changed the color' ... to Material.04.

You could have been linking materials between objects with completely different topologies.. the editor has no way of knowing which materials to assign to which faces. So by default, it will assign the material in transferred-slot-0 to all faces.

If you switch the order of the material slots in the first cube, (using the up/down arrows at the bottom right of the list,) when you link the materials to the other cubes, they will turn blue. All over.


Problem with scaling uv's to tile textures at the right size

I think what you might be really looking for is using a different set of UVs to bake and a different set to map your source texture. This is a cleaner solution that will allow you more flexibility later on, and will also work nicely if you want to use texture atlases (bake many objects to one large texture).

This way you can scale the brick UVs without affecting the UVs used for baking. It's in Properties panel > Object Data tab > UV Maps > [+] button. You can have one UV set for the bricks ("brick uvs") and one for baking ("baking uvs"). Set the "baking uvs" as default for rendering (camera icon).

Then in Node Editor, instead of using the Input > Texture Coordinate node's UV output as you are now (this only uses one default UV layout) you can choose Input > UV Map, this lets you choose which UV layout you want to get your UVs from - pick "brick uvs" as input for your texture.

If you do this correctly you should be able to freely adjust the UVs for the bricks without affecting the UVs you use for baking.

Update: see this file for an example http://www.pasteall.org/blend/38727


Is it possible to get automatic smooth edges with flat faces without adding geometry?

From what I have gathered researching, no, it is not currently possible in an automated way inside Blender.

For what it's worth, it would not be hard to implement a solution for this in Blender. I ended up implementing a solution in a Unity AssetPostprocessor instead since that's what I'm familiar with.

The approach I took was to calculate smoothing (smooth vertex normals) using a different weighing method than Blender does. When averaging face normals together in order to calculate smooth vertex normals, it's possible to weight the normals according to the areas of the faces contributing to the vertex normal. This way larger faces contribute more to the normal than smaller faces. This fairly standard weighing approach already produced much improved results.

I ended up going a bit further and kept track of the largest area of the contributing faces. Then when calculating the average, I only included face normals in the average from faces with areas of at least a certain percentage of the largest contributing face. This mostly keeps the bevel faces from influencing the normals at all.

These techniques only work well when the bevel width is small compared to other details of an object. But it worked very well for me in any case.


The operator bpy.ops.object.duplicate() will duplicate the selected objects and then make the new duplicate objects selected while de-selecting the original objects. The operator is designed for user interaction which actually leaves the user moving the new duplicates when it is done (when started through the gui).
A better way to create a copy of an object by script is to use the copy() method available to most datablocks and then link it to a collection using CollectionObjects.link() in Blender 2.8x or to the scene using scene.objects.link() in Blender 2.7x. Note that the new object will use the same mesh datablock as the original, you can duplicate that as well while you are creating copies, you may also want to consider other data such as particle systems and materials. Instead of starting with the active object you can also specify an exact object with src_obj = bpy.data.objects['Cube']
Blender 2.8x
import bpy

C = bpy.context
src_obj = bpy.context.active_object

for i in range (0,5):
    new_obj = src_obj.copy()
    new_obj.data = src_obj.data.copy()
    new_obj.animation_data_clear()
    C.collection.objects.link(new_obj)

Blender 2.7x
import bpy

scn = bpy.context.scene
src_obj = bpy.context.active_object

for i in range (0,5):
    new_obj = src_obj.copy()
    new_obj.data = src_obj.data.copy()
    new_obj.animation_data_clear()
    scn.objects.link(new_obj)


Changing the grease pencil brush from the API

You can change the active brush via the context tool settings like you set the
gpencil_stroke_placement_view3d in your code:
bpy.context.scene.tool_settings.gpencil_paint.brush = bpy.data.brushes["Pen"]

Of course you have to use the respective name of your desired brush.


I didn't try that, but I think you can use use a complete version of the wood object and when the axe hit it, hide it (by a keyframe) and show that splitted one.


@Serge L's answer is true.. Separate RBG is Answer.


Mastering Blender Chapter 2 Smokestack Activity

Go into the UV editor and manually move the separate UVs around. If you select any vertex in one of the pieces and then hit L on the keyboard every vertex in that island will be selected. You can then use R to rotate, S to scale and G to grab and transform each island. Being able to pack your separate UVs to maximize the available space is a good skill to develop. As to why your UVs aren't the same as the picture? They rarely are. I have had a look at the file and am wondering if you have your seams marked exactly as the example. Maybe you could check that first. Good luck.


An instance of a group is pretty much the same as an empty that adds the object in the first frame. As such, there is no relationship between a group owner and the group members unless you create one using code. Attach this to the parent of the group (I assume they are parented together to one object). Be aware that physics may not do what you expect as now the physics is associated with the empty that added the group.

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

if own.groupObject is not None:
    own.setParent(own.groupObject)
else:
    print("This script isn't attached to something that is part of a group instance")


What are these time units smaller than seconds: 1/60ths of a second

That's Hours:Minutes:Seconds:Frames or Hours:Minutes:Seconds:Milliseconds (depending on your settings);


Why isn't the rendered image a readable file?

Check the file extension box or type in the file extension manually (.jpg .png etc.)


Custom Drag and Drop for importing .srt files

Not sure if you already looked through some of the older(around 2013-15) posts about whether it's possible to handle from python(it wasn't). The last thread I saw about implementing some way for handling drag and drop imports from python ended with nothing in 2015 (link). That same thread had drag and drop import for .obj files from somebody, but iirc it was in C.

Rumor about it being in 2.8 is likely due to comment on similar post to yours here on stackexchange which didn't have any quotes/sources about it (link).

I think that rumor is based on the ability to drag and drop .blend files to open/link/append that's new to 2.8. I don't know if it will help, but there's a  developer thread about it, could be a starting point (link)


Following my previous answer here, you want to get the mesh (one of them), not define it. To do that you should use obj.meshes[0] (since usually there is only one mesh).

You can find the BGE API here. Of particular interest is the KX_GameObject class, where most of BGE coding is actually done.


Shape of object changes when camera moves?

The problem that I was having was two separate problems:

The ground plane going bonkers in the camera preview
The ground plane appearing to be in the wrong place in renders

The solution to the first problem turned out to be increasing the near clipping distance on my camera from 1mm to 1cm, though I'm not entirely sure why the clipping distance has an affect on geometry in the preview; the shifting geometry also is preview only and is not reflected in the final render (thanks to Duarte in the comments for pointing this out).

The solution to the second problem only seemed to be related to the first, and turned out to be that I had at some point disabled the subsurf modifier on render, causing the rendered geometry to be completely wrong. Re-enabling it fixed the issue completely. Always check your modifiers!


I don't think it's possible to bake alpha directly, but you can try making a new shader mixing a white and a black emit shader together using the alpha of your textures as mask, then bake that into a new texture.

It will be a bit tedious if your scene is too complex, but I don't know of any other way. If you have too many objects it's probably a good idea to try to automate that using python.


I would like to generate a particle star field that I could keep as static background

I have gotten a static field but the mesh is in the way and I cannot see through the object, ...

To hide the emitter uncheck the Emitter option in the render panel:

Unfortunatley it is not possible to fully freeze the physic simulation. The minimum timestep is 0.001/frame.

If you're using objects for your particles you can press CTRLSHIFTA or search Make Duplicates Real from the search menu (SPACE in the viewport) to create static duplicates.

If you're not using objects you could still

Create an object with a single vertex at (0.0,0.0,0.0) and use it for the particles.
Duplicate these vertices with CTRLSHIFTA
Apply a halo material to the single vertex object and remove the particle system.

To simpify this, you may use this script

import bpy
#creates a mesh object
#from the selected particle system
#from the current frame

obj=bpy.context.active_object

ps=obj.particle_systems[0]

count=0
for pl in ps.particles:
    if pl.alive_state=='ALIVE':
        count+=1

mesh=bpy.data.meshes.new('point_cloud')
mesh.vertices.add(count)

for i in range(count):
    mesh.vertices[i].co=ps.particles[i].location

dupli=bpy.data.objects.new('point_cloud',mesh)
bpy.context.scene.objects.link(dupli)

You could also write the cache to disk by enabling the option Disk Cache in the Cache panel and baking the simulation afterwards. With the default options a folder named blendcache_blendname will be created in the folder where the .blend-file is located.

In this folder the data for each frame is stored. The template/scheme is filename_frame_subframe. Just copy your frame you want to be frozen and replace the following frames. The amount of particles should be constant in this time period. No particle should be born or die.

Afterwards enable the External option and choose blendcache_blendname as folder and filename as filename.


I'll add here an example:

starting from an array modifier creating similar details

you should apply it: pressing the "apply" button you get something  like this

then if you join with the underlying shape

details are still there


Bmesh : how do I keep track of vertices in edited topology?

Tag the verts.

As mentioned in the comments could be done via

bmesh.ops.subdivide_edges(bm, edges=[e1, e2], cuts=1)

in one fell swoop.

When an operator creates new geometry there is a chance any old geom becomes invalid. However the data of the old will match the new, in which case can use the tag or select attribute to advantage.

Make sure to ignore the invalids with How to remove dead BMVerts from a list?

Test script. In edit mode to see what is going on.. Will work same in object mode

import bpy
import bmesh
ob = bpy.context.edit_object
me = ob.data

bm = bmesh.from_edit_mesh(me)

bm.edges.ensure_lookup_table()

e1 = bm.edges[0]
e2 = bm.edges[2]

ret = bmesh.ops.subdivide_edges(bm, edges=[e1], cuts=1)
v1 = ret['geom_inner'][0]
v1.tag = True
ret = bmesh.ops.subdivide_edges(bm, edges=[e2], cuts=1)
v2 = ret['geom_inner'][0]
v2.tag = True

bmesh.ops.connect_verts(bm,
        verts=[v for v in bm.verts if v.tag and v.is_valid])

bmesh.update_edit_mesh(me)
me.update()

Note  in 2.80 a mesh can be in edit mode in one view, object in another.

On a formatting side, in argument list, space after a comma, none around equals.


Strange bone rotation after importing from unity

Just Restating the Answer to this question:

You might want to check the import settings for the armature. You can find it in the bottom left of the import screen. You could try to enable "Ignore Leaf Bones" and "Automatic Bone Orientation". – Ron Deijkers Sep 21

Please mark this as the best answer for future searches! (All credit to Ron Deijkers BTW).


Increase the speed of the bevel tool mouse-drag

You can go into user preferences under input and change the settings used.

Searching for bevel will quickly find what you want.
Change the amount type to Percent.
You could also change the amount setting so that it starts at say 5
Save user settings so that it remains the default option when you restart blender.

After using the bevel tool, you can adjust the settings that were used, these settings are available at the bottom of the toolbar region or by pressing F6.

If you look at the header of the 3D Viewport while using the bevel tool (and other tools), you will see a list of available options that can be used while interactively using the tool.

For the bevel tool, press M to change the mode, use the  mouse wheel to change the number of segments. You can also type in the amount you want, so if you have mode set to percent you can type 25 to get a 25% bevel, you can also use backspace before accepting the bevel to adjust the setting you type in.


Why is the base of the object fading in and out during rendering?

The 'fading' is actually just blurring from the vector blur node in the compositor.

If you wish to remove this effect, you can either just disable the Vector Blur node by pressing M while the node is selected in the compositor to 'Mute' the node or you could press Ctrl+X to essentially 'Cut' the node out. In future, you can use the technique of muting nodes one by one to diagnose issues with node setups.

If you remove the Vector Blur node you may be able to remove more nodes, such as the Alpha Over node the Vector Blur connects to and even the 'Foreground' render layer (as it may be the only purpose of this render layer is for the Vector Blur).


Toggle Armature Layer Visability via Drivers?

Blender evaluates 1 and 0 as True and False without any extra coding needed. I was overthinking it.


How can I orient my object to fall the correct way in XNA?

The obvious answer is to just rotate your object so that it's oriented as if Z is up. The less obvious part of that is applying your transforms.

Applying transforms is often called normalization and also applies to scale and location. A normalized scale would be 1 and a normalized location would be (0,0,0). Normalized rotation is a little less simple, but essentially it means that your local coordinate system is aligned with your global coordinate system (local x,y,z point the same directions as global x,y,z).

There are two ways to make sure your object is normalized with Z up. One is to do all the rotation in edit mode. This will move the mesh, but leave the local coordinates the way they were.

The (arguably) easier way is to get your object oriented the way you want in object mode, and then (with it still selected) use ctrla and choose the selection for rotation (it'd be a good idea to use this to normalize your scale as well, but that doesn't have anything to do with your question).

In short: rotate your object so that Z is "up," and then apply the rotation.

Hope that helps!


How do I measure a distance between two points?

You can use the Ruler/Protractor. As of Blender 2.80 the operator was renamed to Measure but it acts like the same way. Good news is that the Measure tool is now directly accessible from 3d View as part of the main Tool Shelf (T) and via ShiftSpacebarM hotkey.

Measure (Blender 2.80) vs Ruler/Protractor (Blender 2.79)

If you hold down Ctrl while dragging the second marker, the cursor should snap to the intersection point in order to measure the correct distance:

With this you can also snap to the edge of the cube and set the desired length:

After that switch into Edit Mode and insert a new Edge Loop (Ctrl+R) into the right spot:

Note: For illustration purposes I've chosen Perspective Views, but Orthographic Views probably more useful to work with in this situation.


No light bounce, it's the way Eevee works by default, in order to calculate faster. If you want to reintroduce light bounces, create a Light Probe > Irrandiance Volume, scale it, stretch it so that it contains all the area you want to be taken into account, in the Object Data panel give it a better Resolution if necessary, then in the Properties panel > Render > Indirect Lighting, press on the Bake Indirect Lighting button. You'll have to bake again if you make some changes in your lighting.


How to create a rough green emerald material in Cycles

Maybe this will help get you started.  You will still have a lot of work to do in order to refine the materials and lighting to get this to work.

Here's a link to the Fracture Modifier branch which was used to break up a model. https://www.dropbox.com/sh/xiuirkoo0rac5tw/AAB2XQbs9K5uTIYcbDPUDW1Ca


I think your problem is that the weights are automatic.... They mess up the model!

I found a good tutorial about rigging and animating in Blender and at the 11 minute he starts to show how to weight paint correctly.

Link of the video: https://www.youtube.com/watch?v=mhQY2_gVoVg

I hope that helps!

Bye!


Vertex Group affected by noise generated in shader?

The short answer is: no.
There are workarounds, but they are tedious and depending on what you are trying to achieve it might not work. The most direct approach would be to use the texture, or a grayscale copy of it in the particle settings. This won't work for procedural textures atm, though.
So even more tedious: You could bake them, but that's a story for another thread.


Noob Question - Export Model From Blender then Animate with Python

I think you would be better off leaving the model in blender. Blender has its own API, which I have considered using for just such a purpose (but I haven’t felt motivated to do the phoenome research neccesary). You could save mouth positions as poses, and then apply them with Python and set keyframes at the desired places.


How to have back the sound strips on top of video strips in the VSE

No, there is not way to change it, however there is a bug in Blender which only places the first a+v clip with video on top, the next and the following, you add, will be with audio on top.


@moonboots answer helped me find the solution, although I couldnt see a Subdivide UVs option. IU tried simple instead of Catmull-Clark subdivision and it worked.. I googled the difference and it came back that the final vertex will be an average of the current ones, so adding an edge loop neat the bottom edge fixed it!


Shouldn't Blender free the GPU memory before rendering the next frame?

Might be a bug or a memory leak.

Blender does free unneeded memory as efficiently as it can, whoever it probably doesn't flush all memory when rendering an animation, as that would be highly inefficient.

There are immutable things that don't change between frames like geometry, materials, texture data, etc. and re-sending that unchanged data to the GPU every single frame would be a very big waste of time and resources and be very inefficient.

As such Blender tries it's best to be smart about it and keep as much relevant information in memory as it can. That being said memory management is probably a very hard task to do efficiently, and many times unneeded things are erroneously left behind. It's what I believe is called a memory leak (I'm not a programmer, I am hoping someone more enlightened in the matter than me will clarify or correct me here)

Over the course of rendering several frames those things build up and cause memory to reach it's limit.

That can probably be considered a bug and might be worth reporting to the tracker, I think. Although the chances of solving it are probably slim.

let's see what other have to say about it


You may create the thorns fast using some modifiers.

Add two (or more) cylinders and place them next to each other. Model the spikes. Join cylinders with Ctrl+J in Object Mode. Press Shift+C to place the cursor in the center, then press Shift+Ctrl+Alt+C-->Origin to 3D Cursor. Press Ctrl+A-->Apply Rot&Scale. Add a Bezier Circle also (Add-->Curve-->Circle).

Select cylinders and add the Subsurf and Simple Deform modifiers. Add some subdivisions in Subsurf panel. Smooth the object using smooth shading in the Transform panel of the Tool Shelf (T). Set the Simple Deform type to Twist and set the angle to 180 degrees (or other value depending on your preferences).

Next add an Array modifier. Set its Z offset to 1.000. Check the Merge checkbox. Increase the Count number. Then add a Curve modifier and set the Bezier Circle as a target.

Remember of the proper order of the modifiers. This is the key to make it work as it should.

Finally select the Bezier Circle and go to the Curve header. Check the Stretch and Bounds Clamp checkboxes.

Try to add more cylinders and randomise the spikes positions and directions for the different results. You may also apply the modifiers (without Subsurf) at the end and randomize the size, shape and direction of each spike to make it look more realistic.


One way would be to start with a plane.

I like to work with the 'Mirror Modifier' so in Edit Mode press W and Subdivide. Then select 5 vertices and hit X to delete them.

Add a 'Mirror Modifier' and check 'Y' and 'Clipping' in the Modifier pane ('X' is checked by default).

Add two 'Loop Cuts' by pressing Ctrl+R. Approximately where the monitor would be (They can be move later with Ctrl+E > Edge Slide). One horizontal and one vertical.

Select the corner vertex and press Ctrl+B then V. Adjust with mouse and roll the mouse wheel to add vertices/smooth. Keep the number of vertices to an even number in case you want to add geometry later.

Select the outer vertices and press E+S to extrude scale.

Now you have a simple base mesh to work with. Possible result below with some additional extrusion:


Sculpting can be made symmetrical in the toolbar.
Hit T to show it if it's hidden.


Why do we have to apply location, scale, rotation onto a mesh and what are its consequences?

It's not only physics but most of all modifiers that require it. When you don't apply Loc, Rot, Scale the modifs give undesired effects in the way they remember previous state. Try it!


Blender doesn't run my script unless blender crashes?

It sounds like you have a bug in your script.  Run blender from the command line, and it will tell you what the error is there.

Update: I found that node in your code in the beginning of it, you have a several lines that say s_slots[0].material.node_tree.nodes['S_R_MS'].inputs[0].default_value = 0.0
I suspect that is where the S_R_MS node is.


In the properties panel right from your viewport (press N if not visible) you can change grid settings as you need them.


Are features from Blender daily builds typically in next release?

Yes they will typically be in the next release.

There's a Variation column on the builder download page, if it's Official, then it's build straight from current master branch.

Features available in these official builds will typically be in the stable releases, although there are rare exceptions when a feature may be disabled (if its not ready) or removed.

It's a new feature, but still under heavy development. It is supposed to be initially released in 2.70. But the current release cycle has been streched a lot already, and people may eagerly wait for other things to be available in a stable release. So the developers may decide to do a release soon. They post-pone the tabs for 2.71, to let them mature, and not throw them in an unfinished state at the users.

If you rely on certain features in an addon for example, and want to ensure compatibility with the next stable release, I would wait for the first Release Candidate (expect 2.70 RC1 at the end of February). If nobody finds bugs in the RC, it will become the stable release. Otherwise there will be another or even a third RC, until all show-stopper problems are solved. Hence, all features of the RC will be in the stable release (functional changes are not allowed in this phase).


'LIB ERROR: object lost from scene' error when opening file

I can't say why this has happened, but your tunnel is still in the file.

Make a duplicate of the 'ROAD' object, go to the duplicate 'ROAD's Data panel, and then select the data that has a '0' next to it:

This should assign the mesh datablock back to an object and your duplicate road should now be your tunnel. The '0' next to the mesh datablock meant that the mesh wasn't being used (as it wasn't assigned to any object).

From what I've read about the error you got it refers to objects that were linked from other files, and then the object in the original file has been renamed, breaking the link, meaning blender is unable to find and load the object.

However, there are some reports of this happening without any renaming, which if you are able to reproduce it, should be reported as a bug report here (or added to that bug report I linked to).


I'm trying to save an Image that I rendered and can see in the UV/Image Editor

The problem is that the image you are saving is entirely transparent except for the lights on the wings. You can't see this in blender because you have selected the RGB display mode, which disables the effect of the alpha channel. If you select the RGBA display mode in the header of the image editor, then the problem becomes clear:

As a quick fix, you could disable Use Alpha on the composite node and then save the image as RGB instead of RGBA.

However, in case you want an alpha channel, then the cause of this lies in your compositing setup (Be sure to select RGBA in the header here too, so you can see what's going on).

Mix/Add nodes don't handle alpha very smartly on their own, so you'll have to handle alpha for them, or use some alpha over nodes.

Also note that add nodes literally just add the values of all the pixels together. As a result your spaceships are coming out a few times brighter than they would be.

Here I've remade your compositing setup, working from the bottom (here the bottom is the background, which goes under all other elements) to the top (lens flairs/bloom effects generally go above all other elements):

Compositing things in this order makes a lot of this alpha handling unnecessary, and generally avoids extra headaches.


What is the easiest way to simulate trampoline?

Speaking to trampoline effect (simple one) ...

falling object with two keyframes (start / end Z position) with Dynamic Effect  Elastic (T) set in Graph Editor with first keyframe selected
"trampoline" worked better for me with Soft Body sim (Mass zero, Goal > Strength 1)

To protect object from penetration try for object Collision > Outer Thickness increase value a bit or for "trampoline" increase Solver > Step Size.


Seeing holes in mesh while in texture mode

I think there mainly are two problems in your mesh.

Face normals are inverted.
You are using material node which is invalid to use by current render engine.

To fix them, you can switch to Edit Mode, then CtrlN to re-calculate normals, then deal with the material node as you wish.


How can i turn a few Planes upside down?

Some of your Normals are reversed. TAB into Edit Mode select everything A In the Tool Bar go to Shading/UV's and under Normals choose Reclaculate.


Another Blender user on Reddit helped me figure this out.
To solve this i had to apply the scale on the soft body target for the Mesh Deform.


I am using portable 2.82a on Windows. After I tried to search it, turns out there is inconsistency with the text. In the Keymap, I can't find "frame selected", and instead it is actually "View Selected".


Is there a method to align 3D cursor's axes with selected vertecies?

This sounds needlessly complex. This problem can be solved with moving a point on the line and selecting it when it is needed.
You want the cursor on any point P on given line L.

in vertex select mode , select line
right click > subdivide line, you will have point P now.
move point P by pressing g twice , this will move it along the line (And make the line yellow), place this on the line where you need the cursor to go. If you need exact number you can use .5 and -.5 to go 1/4 or 3/4 of the way on the line from the middle.
Shift +S snap cursor to selected
(optional) select point P , then one of your line vertices, F3> Merge > at Last , this will merge your vertex in when you are done with it.

If you need other "imaginary lines" you can use this method , build temporary (2 verts then f ) lines, and then delete the temporary lines when you are done lining up things.


If I disabled Visual Keying under Editing in User Preferences, problem was solved.


How do I use python to independently animate the shape keys on several instances of a mesh?

The code I have developed since asking the question looks like this:

def cow_clone():
    orig = bpy.data.meshes['grazer']
    copy = orig.copy()
    # that conveniently copied our shape keys too
    return copy

and

def gobble(obj, frame5):

    data_path = "key_blocks[\"close mouth\"].value"

    shape_key = obj.data.shape_keys
    key_block = shape_key.key_blocks["close mouth"]

    key_block.value = 1
    shape_key.keyframe_insert(data_path, frame=frame5-35)
    shape_key.keyframe_insert(data_path, frame=frame5-10)
    key_block.value = 0
    shape_key.keyframe_insert(data_path, frame=frame5-30)
    shape_key.keyframe_insert(data_path, frame=frame5-20)

So copy()ing the mesh datablock conveniently copies the shape_keys (which is good, because shape_keys seems to be read-only).  Since I currently only have 10 of these meshes, it will not break the bank.  Although when I get around to doing the 320 flowers that will probably bloat the file a bit.  I am optimistic that it will not really stress blender at these numbers.

While this code works, I'm just dissatisfied with it; so I'm not going to accept this answer just in case someone smarter than me comes up with a better tactic, or maybe blender reworks its shape key system in a future release.

I suppose my primary complaint is that you can't make updates to a master mesh and have those updates affect all the derived instances.


Select the Armature, go to edit mode, press T to open the Toolshelf, select the option tab, uncheck X mirror.


The answer looks simple: the resolution of the domain is set to 32, which is very minimal. Turn this resolution up to get more voxels, and thus more precise fluids.


Mix with Fresnel

To make an undistorted see-through effect, I'll suggets to use a Transparent shader. It will basically just make the surface transparent, without any addictional effect.

The edges looks bright despite the very dim lighting, so I'll use an Emission shader to give them some light to show indipendenly from scene's lighting.

In order to make the faces whose normal are pointing toward the camera transparent, I would suggest to use a Fresnel node in conjunction with a Mix shader node. As said in the manual's page:

  The resulting weight [of the Fresnel node] can be used for layering shaders with the Mix Shader node. It is dependent on the angle between the surface normal and the viewing direction.

The math node is used for achieve a better control of the appearence.

This is the basics of the shader. The appeareance could be obiuvsly be improved by adding, for example, a different palette to the Emission shader with the help of the Fresnel node (again!).

Here's one of the many possible shader acting in a scene similar to the one pictured in the question:


You can join the boxes by putting in horizontal edges to match across the join, merging vertices, and deleting internal faces.

However, I think you could save yourself quite a lot of trouble by planning ahead, and starting your model entirely in the flat.

Start by cutting edges, putting in loops, where you will eventually need to elevate your walls
To achieve the rounded corners, you may have to E extrude some edges upwards, to make thin walls. With CtrlB you can bevel the vertical edges in the corners you want to be rounded. You can then delete those walls before moving on.
You don't need to worry about quad topology, everything is in flat surfaces, no shading anomalies, this is for printing.
First step, select all the faces and  E extrude to make the floor
Subsequent steps, make selections of faces to extrude upwards to make thick walls, stopping at appropriate heights before reselecting, and extruding again.


You can delete the half of the mesh that doesn't have the loop cuts, and then add the mirror modifier.


Since cmder based on conemu, you can set it as default terminal through Settings > Integration > Default term

Before launching Blender you need to change code page to utf-8 by command chcp 65001


How to copy 1 part of a mesh to other places on the same mesh (without mirroring)

When you separate the selection, you're actually creating a new object. It seems what you want to do is to split. You don't need to split the part since you have already duplicated it. If you want to "cut" it without copying, and keep it in the same object, what you need to do is right-click and choose Split > Selection - Y is the standard keymap.
Once you duplicate the part, place it somewhere, then the easiest thing to move it where it is intended is to select vertex mode, then deselect and reselect a vertex on the duplicated part (while making sure that the part is still wholly selected), activate vertex snap, and move it to snap with the correct vertex at its intended location.


It is some sort of a uv stretching problem. You can find where it is by enabling "Stretch" in the uv editor:

Blue is what you want, green is okay, and orange/red is really bad.

My guess is that your problem is in this region, but I can't say this for sure unless you post your blend:

Edit:

The problem is that those are N-gons on the side. You need to remove all of the N-gons to unwrap successfully. I just triangulated, then removed the edge cutting across the center to make it a quad:

Then unwrap, and voila.

Here is the blend:


The animation in the blend file you uploaded set to end at frame 79, whereas the animation continues to frame 119. I would try double checking the length of the animation as well as the start and end frame when it is exported. When I opened your file and played the animation without doing anything it was 'glitchy' when it looped, but changing the end frame fixed it. Your final animation should start at frame 1 and end at frame 119.


You have some non-manifold geometry in your mesh.

There is a large ngon overlapping the other polygons.

Here is how to fix it:

Select the large ngons

you can either do this manually which is faster in this case since there are only 2 ngons or you could use a selection tool.
Select -> Select Faces by sides: greater than 4

Delete them: x -> Faces (3)
Select all geometry in the mesh: A
now to fix the holes: Mesh -> Clean Up -> Fill Holes

This fixes part of your problem. The other problem is the creasing. To fix this I would either use edge loops instead of creases or crease all continuous parts of the mesh rather than just single edges.


Why does my Fluid simulation look like there is a floor where there isn't one?

There are a few things that could cause this to happen in fluid simulations. 1) Your domain is smaller than your obstacle, so your fluid boundaries are smaller. 2) You have an invisible obstacle that is beneath the fluid inflow. (unlikely). 3) You need to change the location of the fluid simulation bake. 4) You need to set the simulation quality to a higher number. I hope these settings work for you!


You have the LoopTools > Curve that allows you to curve a series of vertices: select the 2 extremities + a vertex somewhere between the 2, and right click > LoopTools > Curve. But you can't control the curve shape afterwards, the central vertex position gives the curve shape (of course another way would be to align the vertices then move up one of them with the Proportional Editing on).


Make labels for mathematical plot face always the camera

I think it's the best way ; unless a script exists that allows billboard rendering for text object, but I don't know any.
Displaying the Axis of the text object helps a lot!

"To" is the axis that points to the target ; for a text object, it's Z.
"Up" is the axis that point upwards ; for a text object, it's Y.


How to transfer vertex position between 2 similar objects

If the models are from the same base (for instance sculpted one from the other, or simply modified a bit), so that they have the exact same topology, they can be mixed as shape keys:

To do that, select the mesh to transfer, then shift select the destination mesh. And in the properties panel, in the shape key part, use "join as shapes".

Now you have the left models incorporated as shape keys in the right model:

If you don't want to keep the shape key, simply slide the value to 1 and remove the shape keys (when removing, remove the others shape keys first and the one you want to keep last):


How to divide a face into a square grid?

Knife project  could help you:

subdivide a plane that will become your "shape cut" grid.

then over it (higer in Z) put you shape (just the outer edges, delete everything else)

then select
- first the cutting shape
- then (shift-select) also the background subdivided plane, then search and use "knife project"

then, your plane now has a cut shaped exactly as you want

just invert the selection,

and delete everyhing else

now of course you can extrude this mesh


Why is the transform gizmo not aligned correctly to my Python created object?

Apply the object scale. Rotating the mesh of the object scaled causes the object to squash.
bpy.ops.transform.resize(value=(dx_local, dy_local, 1), orient_matrix=view3d_rot_matrix.to_3x3())

#=== Appry object scale =====
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
#----------------------------

cut_box.data.transform(view3d_rot_matrix)
cut_box.data.update()


Depending on which unwrap method you used (unwrap, Smart UV project, etc), faces may not be aligned. This is what appears to have happened to you. Good ways to ensure consistency when unwrapping:

In object mode, apply rotation & scale (Ctrl + A)
In edit mode, select an edge (pref. facing away from camera)
Search (Ctrl + F) for "mark seam"
Select all geometry
Unwrap again (Smart UV project)
Adjust Smart UV project parameters as necessary

This should solve the major distortion of your UV map. Unwrapping is a tricky business—I'd recommend Gleb Alexandrov's YouTube tuts for finer details.


Why doesn't "bpy.ops.wm.save_as_mainfile()" work in UI panel?

Use backslashes (\) instead of forward slashes (/). Also you need to either escape special characters, or use (') instead of (").
The following code should work:

bpy.ops.wm.save_as_mainfile(filepath='D:\ddd\test_v1.blend')

or escaping characters

bpy.ops.wm.save_as_mainfile(filepath="D:\\ddd\\test_v1.blend")


How to have an object follow another objects rotation with a cap?

What you are looking for is the transformation constraint combined with a limit location constraint.

In this example I am using the rotation of the z-axis to move the location of the x-axis. The mapping in the centre links the source z-axis to the destinations x-axis. The source and destination amounts provide a way to scale the transformation, when the source is at 0 degrees the destination will be at 0 and when the source is at 180 degrees the destination will be at 5, so 180 degrees rotation moves 5 units. If you change the destination location to 0 and 40 then the 180 degrees rotation will give 40 units of movement.

I then added a limit location so that the object will only move from -4 to 4 on the x-axis.


How to ask Python if a sensor is activated, BGE?

Clearly  MessageSensor & MouseSensor & MessageActuator are undefined. And the controller is the one how activate de actuator.

import bge
cont = bge.logic.getCurrentController()
own = cont.owner
MessageSensor = cont.sensors['NameOfSensor']
MouseSensor = cont.sensors['NameOfSensor']
MessageActuator = cont.actuators['NameOfActuator']

if MessageSensor.positive or MouseSensor.positive:
    cont.activate(MesageActuator)


What is the difference between bpy.props.CollectionProperty and bpy.props.PointerProperty?

A collection is an array of a set of properties. Every element in the array has the same properties (with individual values).

A pointer property is used to organize properties. The sub-attribute the pointer property is stored at will hold a set of properties. It is not an array of properties however.

Scene.collection
  Scene.collection.add()
  Scene.collection.remove()
  Scene.collection ...()
  Scene.collection[0]
    Scene.collection[0].name # Foo
    Scene.collection[0].val # 123
  Scene.collection[1]
    Scene.collection[1].name # Bar
    Scene.collection[1].val # 234
  Scene.collection[...]
    Scene.collection[...].name # Baz
    Scene.collection[...].val # 345

Scene.pointer
  Scene.pointer.name # Foo
  Scene.pointer.val # 123


While howering mouse over a Strength value in Emission node, you can press I key to insert a keyframe for this parameter. Move in Timeline to another frame. Move mouse over node strength parameter and press shortcut again.

To adjust blending between keyframes to get on /off effect switch to Graph Editor, select all keyframes and switch handle type from Bezier to Constant (T).


Procedurally weight a mesh based on the face angles of an animated mesh

While this isn't impossible to do with blender at the moment, but its not something you can do easily, and doing this via a script would be very slow.

It would involve 2x modifier stack calculations per frame change.

Add a frame-change-post handler.
this handler must update the scene - scene.update() so the data it deals with is valid before you start to operate on it.
get the final calculated mesh and inspect its normals.
modify the original meshes vertex groups how you like.
throw away the copy of the mesh, only generated to inspect normals.
tag the mesh to be updated mesh.update_tag()
and run scene.update() again.

So officially this kind of thing isnt supported, and what I have suggested is very much a hack. Ideally modifier plugins would much more easily allow this functionality.


The difference between Factor and Image: How can I combine them?

It is easier to understand if you use a black and white image to combine the elements.
This black and white image has two values: 0 means Black, and 1 means White.

The Factor input determines how two other elements in a node are combined:
Whatever is black will be the color of the Top image socket,
Whatever is white will be the image connected to the Bottom socket.

All other values between 0 and 1 (different tones of gray) in the Factor image, will result in a mix between the two values.


Is there an easy way to remove overlapping faces?

Depending on what kind of topology you are looking for you can use grid fill.

Select the outer edgges (Use Alt click and then Shift Alt click)

Invert the selection (CtrlI)

Delete edges and Faces

Then do Grid Fill and play with Span and Offset to adjust the grid.


Which function for "pressed" on keyboard?

I found a link on blender.org here: https://docs.blender.org/api/blender_python_api_2_59_0/bge.events.html It covers keypresses using bge.events


How to fix bland-looking renders (Cycles)

In short, your renders look plain because you're mostly using out-of-the-box settings.

You should experiment with creating more complex materials. It appears you are currently using mostly plain Diffuse with some simple glass for the table. Break out that Node Editor and tweak the noodles!
Real world materials are some combination of diffuse and glossy, not either/or. Many materials such as plastics, marble, and skin also have Subsurface Scattering. There is a lot you can study about materials, so I'll leave it at this for a start.

Diffuse only:

SSS / Glossy / Diffuse mix:

Try lighting with HDRi panoramas, like PGMath suggested. You can start by browsing here. When using environment lighting, it's best to enable Multiple Importance in the World context, and maybe boost it to 512 or 1024. Use .hdr files instead of .jpg whenever possible because they contain more color information. Better lighting in general will always help your scenes. Lighting is another a vast topic worth studying. Learning how to light with HDR images will take you far.

Lit with a single-color sky:

Lit with a single-color sky plus an emitter mesh:

Lit with an HDRi sky:

You could add some bevel to the edges of your geometry. In the real world edges are not perfectly sharp. Beveled edges catch light and add to the realism. Not sure if this goes against the low-poly style you're using, but it's something to try.

No bevel:

Bevel (with smooth shading):

Add some texture, even if it's subtle, and even if it's just procedural.
You can use your geometry to automatically create color variation, for example by using Pointiness output from the Geometry Node.

Pointiness can change the color where edges are at steeper angles:

Pointiness node setup:

Add some bumps to your materials. Small imperfections can add up to create lots of juicy details. Glossy maps or other types of maps that factor the mixing of two different types of materials are also very effective. The real world is full of little nicks, scratches, bumps, and cracks, so we expect to see such imperfections.

Before bump displacement:

After bump displacement:

Depth of Field can really enhance your renders and give realism. So can motion blur if you're making animations. Blur can be a good thing.
Fog is a great way to add depth to large scenes. Just don't overdo it.
Play with particles when appropriate. While the settings can be intimidating, particles are a good way to add lots of detail that would otherwise be impossible to create piece by piece.
Don't forget the Compositor. There are many color effects and other enhancements that are possible via compositing.

I may add more example images later. For now those are some ideas.


Is there a way to cast a shadow only on certain objects/materials but not on others?

It's pretty interesting question, but the answer is surprisingly easy.
You need to duplicate part of the mesh, on which you need the shadow to be casted, give it Transparent shader and move it just a bit above the surface of the original mesh. Then to the casting object material, you need to add node setup shown below and voila.


Is there a way to change scrollbar width?

One way to scale scrollbars is... to scale everything: since 2.79, you can scale the UI through a global factor (default to 1). This is useful on hidpi displays, but it could help you too:

by default, the UI as 1.0 scaling factor:

but you can scale it down enough to get all the UI (and also scrollbars) slimmer:

of course now everything is too small, but in Blender you can also scale each area/panel (CTRLMMB drag): of course par of the UI (menu and icons) cannot be resized in this way, but you can at least find a compromise...


You could use the Mask modifier.
First you need to paint some weights to vertices in Weight Paint mode.
Go to Weight Paint mode and select your object. Add a vertex group and select Gradient tool. Pull the tool across your object and it will paint the weights as can be seen in the image below.

Next go to Object Mode and give your object a Mask Modifier. Pick the Vertex Group you created earlier and adjust the Threshold. Threshold can be keyframed to make the object appear and disappear.

The more subdivisions your object has the smoother the appearing is.


Why are the vertices extruded instead of the edge?

You need to select the edge and then extrude. Select the edge using the icon marked in yellow.

EDIT:
When the vertices option is selected you can perform actions on the vertices them self. So you can extrude every vertice separately, or like in your case the ones you selected. When the edge option is selected you can perform actions on the edges. And the same for faces.


Textures not displaying in Solid Shading mode

This currently only works for Blender Render(Internal) since it's used for displaying textures that are being baked to and Cycles uses the Active Texture node to do this instead.

Up until last year, it was also used for Texture Painting, now Materials are used for this instead.

Whatever texture is assigned to the faces in the UV Image Editor is what will be displayed.


How to combine renders from multiple cameras

You can do this with multiple scenes.

Once you have completed your scene create a new one, selecting Link Objects. This makes the new scene use the same objects as the original, when you move an object it will move in each scene.

You can either delete the camera in the second scene or just change the active camera for each scene.

If you add a new object after you duplicate the scene, select the new object, press CtrlL and choose the scene to link it to.

Then in the compositor you add multiple RenderLayer input nodes and choose a different scene in each one and composite as you choose. When you render each scene will be rendered automatically.

 I used for the sample here.


I found the answer! The fact is that there is not enough geometry in the main mesh. if you add horizontal loops, then the mapping becomes correct.


I downloaded the model and found your problem. You've got hundreds or vertices on top of each other.

What you want to do is select everything live I've done and press W to open the specials menu and press "Remove doubles".

As you can see, you've lost all your sharpness in your mesh. You we're probably extruding faces to make these infinitely thin ones that gave you sharp edges, but there's a better way.

What you want to do when you find an edge you want to sharpen it select it and by pressing Ctrl+E to go into edge crease mode and sharpen edges by pulling your cursor from the edge's origin.

Here you can see I hot a little too excited and did a bunch of edges.


Blender crashes from replacing mesh data via script

You can just use the operator orphans_purge to make sure orphan meshes get freed. I don't think the impact on performance would be noticeable unless you have a huge scene.
obj = bpy.data.objects.get(name)
mesh = bpy.data.meshes.new(name)
if obj:
    obj.data = mesh
    bpy.ops.outliner.orphans_purge()
else:
    obj = bpy.data.objects.new(name, mesh)
    bpy.context.scene.collection.objects.link(obj)

mesh.from_pydata(verts, [], faces)

Also, a few tips :

Avoid Try/Except when using dictionaries, prefer using get(key, default)
Prefer foo is not None to foo != None
Prefer if bar: to if bar == True:

In simple blender scripts you shouldn't have to use Try/Except unless you specifically know which kind of exception your code is going to throw, and even then you should be able to not use it in most cases.


Select said vertex in Edit Mode
Duplicate it with Shift+D
Separate them from the main shape with P > Selection
Exit Edit Mode, select the newly created "wire mesh" and press Alt+C > Curve from Mesh


Parent propeller to the "stick" and parent the ducts to an empty put where the dot is. Rotate propeller locally and ducts globally (x axis). Done.


How to change world background based on active camera?

This can be achieved using Drivers to feed an attribute of the Active Camera into the Environment material.

The current active camera can be determined using Python (as defined here) using :

obj_camera = bpy.context.scene.camera

We can distinguish between the different cameras by setting the Pass Index of each camera object to specific values - eg, 1, 2, 3.

In the Environment material, add a Value node, right-click the value field and select 'Add Driver'.

Ensure the Value node is selected and swap to a Graph Editor window and select Drivers. Highlight the newly added driver and open the properties panel with N. In the Drivers panel, set the Type to Scripted Expression and set Expr to 'bpy.context.scene.camera.pass_index'.

Note : You'll need to enable the File/Auto Execution/Auto Run Python Scripts option in the File/User Preferences settings if it isn't set already (this allows Blender to run Python code).

You should now find that as the Active Camera changes the value of the Value node in the Environment material changes to reflect that camera's Pass Index and this can be used to generate values (using Greater Than/Less Than maths nodes) to drive the Mix Shaders to select the desired material.

Note : The displayed Value value for driven values doesn't always update immediately in the node tree - but the actual value used by the Environment material is correct (it has simply not been refreshed on-screen). Moving the mouse over the Value node should trigger the display to refresh.


What you want is not clear, do you mean you'd like the pieces to merge to each others? They won't because your last modifier is an Array with Object Offset option, so it will just make your module repeat around the empty, without any deformation or merging.

So maybe you should apply the first and second modifiers and delete the last Array. Now apply the scale of the object, put its origin to its geometry. Give it a new Array with a Relative Offset of X : 1, and activate the Merge and First Last options. Also give it a new Curve modifier.

Duplicate a circle edge loop from the base of your vase, make it another object, delete its modifiers, convert to curve.

Put your first object at the center of the curve. Give it a Curve modifier with the circle as Object. Set the Array Fit Type to Fit Curve and choose the curve. Move your object a bit so that it fits the vase radius.

You could as well use a Simple Deform modifier, Bend mode, instead of the Curve modifier.


Looks like you have forgotten to enable the "Use Nodes" option in the Shader Editor.


What is the purpose of the "active" toggle on fcurve modifiers?

For example, if I click on the noise modifier and it put my mouse over it, it says "F-curve modifier is the one being edited":

and if I click on the noise modifier and it put my mouse over it, it says "F-curve modifier is the one being edited":

The graph displayed looks the same whether one or the other is selected.

It basically says which modifier you clicked on

Maybe this could help:
http://www.blender.org/api/blender_python_api_2_75_3/bpy.types.FModifier.html


How to automate this process (SVG to mesh > planar decimation > solidify > collapse decimation) to 300 files?

This is pretty quick and dirty so be sure to test a small sample 1st, but i think it covers everything you asked for. Running the script will add a toolbar in the 3d view port, the values you had set in the example are properties you can change before importing and exporting all the files in the directories. Have fun with it.

import bpy
import os
from bpy.types import Operator
from bpy.types import Panel
from math import radians

bl_info = {
    "name": "AutoSVG",
    "author": "Your Name Here",
    "version": (1, 0),
    "blender": (2, 79, 0),
    "location": "View3D > Tools panel 'T' > AutoSVG > AutoSVG",
    "description": "",
    "warning": "",
    "wiki_url": "",
    "category": "",
    }

def makeprop():
    bpy.types.Scene.auto_svg_dir_in = bpy.props.StringProperty(
        name="bpy.types.Scene.auto_svg_dir_in",
        description="",
        default="",
        subtype="DIR_PATH",
        )
    bpy.types.Scene.auto_svg_decimate_angle = bpy.props.FloatProperty(
        name="bpy.types.Scene.auto_svg_decimate_angle",
        description="",
        default=radians(0.00174533),
        subtype="ANGLE",
        )
    bpy.types.Scene.auto_svg_thickness = bpy.props.FloatProperty(
        name="bpy.types.Scene.auto_svg_thickness",
        description="",
        default=0.009,
        subtype="DISTANCE",
        unit='LENGTH'
        )
    bpy.types.Scene.auto_svg_ratio = bpy.props.FloatProperty(
        name="bpy.types.Scene.auto_svg_ratio",
        description="",
        default=0.1,
        )
    bpy.types.Scene.auto_svg_rotation = bpy.props.FloatProperty(
        name="bpy.types.Scene.auto_svg_rotation",
        description="",
        default=radians(-1.69297),
        subtype="ANGLE",
        )
    bpy.types.Scene.auto_svg_uv_angle = bpy.props.FloatProperty(
        name="bpy.types.Scene.auto_svg_uv_angle",
        description="",
        default=radians(89),
        subtype="ANGLE",
        )
    bpy.types.Scene.auto_obj_dir_out = bpy.props.StringProperty(
        name="bpy.types.Scene.auto_obj_dir_out",
        description="",
        default="",
        subtype="DIR_PATH",
        )

def delprop():
    del bpy.types.Scene.auto_svg_dir_in
    del bpy.types.Scene.auto_svg_decimate_angle
    del bpy.types.Scene.auto_svg_thickness
    del bpy.types.Scene.auto_svg_ratio
    del bpy.types.Scene.auto_svg_rotation
    del bpy.types.Scene.auto_svg_uv_angle
    del bpy.types.Scene.auto_obj_dir_out

def begin(scene):
    for files in os.listdir(scene.auto_svg_dir_in):
        if not files.endswith(".svg"):
            print("unexpected file type : ", files)
            continue
        bpy.ops.import_curve.svg(
            filepath=str(os.path.join(scene.auto_svg_dir_in, files)))
        bpy.ops.object.select_all(action='DESELECT')
        my_svg = bpy.data.objects['Curve']
        my_svg.select = True
        scene.objects.active = my_svg
        my_svg.name = files.rstrip(".svg")
        bpy.ops.object.convert(target='MESH')
        bpy.ops.object.modifier_add(type='DECIMATE')
        bpy.context.object.modifiers["Decimate"].decimate_type = 'DISSOLVE'
        bpy.context.object.modifiers["Decimate"].angle_limit = (
            scene.auto_svg_decimate_angle)
        bpy.ops.object.modifier_add(type='SOLIDIFY')
        bpy.context.object.modifiers["Solidify"].thickness = (
            scene.auto_svg_thickness)
        bpy.ops.object.modifier_add(type='DECIMATE')
        bpy.context.object.modifiers["Decimate.001"].ratio = (
            scene.auto_svg_ratio)
        bpy.context.object.rotation_euler[1] = scene.auto_svg_rotation
        bpy.ops.object.editmode_toggle()
        bpy.ops.mesh.select_all(action='TOGGLE')
        bpy.ops.uv.smart_project(angle_limit=scene.auto_svg_uv_angle)
        bpy.ops.object.editmode_toggle()
        bpy.ops.export_scene.obj(
            filepath=str(os.path.join(
                scene.auto_obj_dir_out, files.replace(".svg", ".obj"))))
        bpy.ops.object.delete()

class Auto_SVG_Tool():
    @classmethod
    def main(cls, context):
        scene = bpy.context.scene
        print("start button pressed")
        filevalid = ((scene.auto_svg_dir_in is not "") and
                     (scene.auto_obj_dir_out is not ""))
        if not filevalid:
            print("invalid file location or name")
            return
        begin(scene)

class Auto_SVG_Button(bpy.types.Operator):
    """Execute generation"""
    bl_idname = "file.autosvg_operator"
    bl_label = "Generate"

    def execute(self, context):
        Auto_SVG_Tool.main(context)
        return {'FINISHED'}

class VIEW3D_PT_Blank1_Blank2(Panel):
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "AutoSVG"
    bl_context = "objectmode"
    bl_label = "AutoSVG"

    def draw(self, context):
        scene = context.scene
        layout = self.layout
        row = layout.row()
        col = layout.column(align=True)
        col.prop(scene, "auto_svg_dir_in", "Input Dir")
        col.separator()
        col.prop(scene, "auto_svg_decimate_angle", "Decimate angle")
        col.prop(scene, "auto_svg_thickness", "Solidify Thickness")
        col.prop(scene, "auto_svg_ratio", "Decimate Ratio")
        col.prop(scene, "auto_svg_rotation", "Object rotation")
        col.prop(scene, "auto_svg_uv_angle", "UV project angle lim")
        col.separator()
        col.prop(scene, "auto_obj_dir_out", "Output Dir")
        col.separator()
        col.operator("file.autosvg_operator", text="Start Files")

def register():
    print("registered")
    bpy.utils.register_class(VIEW3D_PT_Blank1_Blank2)
    bpy.utils.register_class(Auto_SVG_Button)
    makeprop()

def unregister():
    print("un-registered")
    bpy.utils.unregister_class(VIEW3D_PT_Blank1_Blank2)
    bpy.utils.unregister_class(Auto_SVG_Button)
    delprop()

if __name__ == "__main__":
    register()

changes include:
PEP8 compliance check via http://pep8online.com.
Removed several unused options in properties per batFINGER recommendations.
Invert logic in if statements per Dr. Sybren recommendation reducing indents.
Exported to .obj instead of .stl to preserve UV's.
Due to handling of bpy.ops.export_scene.obj() removed debug print commands.
Renamed curves based on imported file name.


I think your problem is in Freestyle's logic of inclusion and exclusion.

In any one Line Set, the relation between 'Select By' Methods is logical AND.

Here's an example cube with extrusions:

The inner cube's edges are marked Freestyle. The extrusions' outer faces are marked Freestyle.

If you 'Select By' Edge Type, (Inclusive, OR, Marked Edges) you get this:

If you 'Select By' Face Mark (Inclusive, One Face) you get this:

So far, so good.. but if you combine both 'Select By' criteria in the same Line Set, you get this:

.. because there are no edges that satisfy both criteria.

So the rule of thumb, to keep life simple, unless you need to make peculiar selections, is to restrict yourself to one 'Select By' method plus 'Visibility' per Line Set. If you need to select by two different methods, it will usually be a good idea to put them in different Line Sets:


How to bake roughness into green channel only for usage with GLTF (Blender 2.8)

ok I do kinda understand what you want to achive, you need to do it differently though to get the best possible outcome.
you need a CombineRGB node, plug the Rougthness in R, the Metallic in G and the AO in B (if you want to use the Red channel of the diffuse as the rougthness) and then you plug that in to a diffuse node, this then to the output

then you go over to the baking section, there you select Diffuse (COLOR)

Create your image in the image editor and put it into the material you want to bake, make sure its selected

if you now bake it, you will see that it works, it only uses the color of the diffuse node, not shades, nothing else, just color.

to get the data back you will simply use a SeperateRGB node.


How to reset animation curves in graph editor

I don't know if there's a direct way to do it but starting from that:

you could press V to change the interpolation mode to Vector:

then press V again to choose Automatic:

and you'll be back to the default interpolation:


Is it possible to randomize color of separated meshes inside 1 object?

You can write a script to color each mesh with different vertex color.
You can scale each mesh in UV space into a point S0 (by script if there are lots of meshes) and generate random colors using noise texture:


How to apply normal-, gloss-, occlusion-, specularity- and displacement map on one cycles material?

It can't be said exactly as it depends on the setup/program they were baked out of in the first place. But in general:

Color: Diffuse Node Color

Normal: Diffuse and Gloss Normal input. Put into Normal node first if you want control of it.

Displace: Bump node, then Diffuse and Gloss Normal input. When you also have a normal map, plug the normal map into the Bump node's normal input. It can also go in the material output Displacement socket. This is necessary if trying to use True Displacement. But generally not needed.

Gloss: This is either the Glossy Node's color or Roughness. If it is the roughness, the color should be pure white.

Spec: This is the mix fac between Diffuse and Gloss. It can be combined with Fresnel for added realism (the details for how to do this vary.) Note that in some cases, Gloss and Spec are reversed.

Occlusion: This can mean several things, so it also varies. It could be Roughness, or it could be multiplied over Diffuse and Gloss color, or it could be a mix fac between Diffuse and black AO node, or a color for AO with an unknown mix fac with Diffuse. Or it could not be needed at all due to Cycles having global illumination. AO is generally for faking some aspects of ambient light in game engines that don't actually have real indirect lighting.

If you can give more info on where the maps came from, or share the whole file, then we can narrow it down more for this specific case.


Shortcut to switch between Rendered View, Material View & Solid View?

Switch Between Viewport Shading

Press Z --- Wireframe

Press Shift+z --- Render view

Press Alt+z --- Texture view

For Solid view its a Toggle key. When you press same key (repeat key) it will turn to solid view.


How to get an armature by name in Python and get access to its bones?

"rig" is an Object datablock, bone data however is part of an Armature datablock.

What you are looking for is bpy.data.objects["rig"].data, which is the armature:

# Active object
ob = bpy.context.object

if ob.type == 'ARMATURE':
    armature = ob.data

    for bone in armature.bones:
        print(bone.name)

An armature has two bone collections:

.bones
.edit_bones

Note that .edit_bones are only accessible if the armature is in Edit Mode.
See EditBones, PoseBones, Bone... Bones

There is a third kind of bone data structure for pose bones, which is referenced by the object and not the armature:

bpy.data.objects["rig"].pose.bones


DirectX exporter: does the currently-selected action make a difference?

Short answer: Yes, it does matter.

Long answer: Yes, but not that much. Also, my file was broken for a different reason. The reason the walk action wasn't showing up in the exported file was that it was tied to the Cube mesh as well as a fake user. If the walk action had only one user (a fake one), then the "Attach Unused Actions to First Armature" option would have properly created this animation in the .x file and attached it to the Armature.

In my file, the walk action was not unused because it was tied to the mesh. The exporter created an animation for it and attached it to the mesh, not the Armature. This action took up fewer lines in the .x file because there were no keyframes on the mesh itself, so the exporter didn't export any.

The moral of the story:

Make sure your actions all have fake users
Make sure your actions don't have any extraneous users


This is due to how the Eevee renderer actually functions. Eevee doesn't act like the real world. That's what cycles is for (raytracing). Eevee only works with direct lighting and reflectoins (such as on the dna strand) are 'guessed' by Eevee. It's hard to explain, but if you want to know more about why such artifacts happen in the Eevee renderer, check this video:
Next-Gen Ray Tracing Demo using Blender 3D - How Will It Work?


How do I export a render as a PNG with a color depth of 32 bit?

The Portable Network Graphics (PNG) format doesn't support more than 16-bit per sample in the color channel. You can use a format such as OpenEXR or Radiance HDR if you need 32-bit per sample in the color channel.

Section 4.1 Images explains this (emphasis mine):

  The reference image, which only exists conceptually, is a rectangular
  array of rectangular pixels, all having the same width and height, and
  all containing the same number of unsigned integer samples, either
  three (red, green, blue) or four (red, green, blue, alpha). The array
  of all samples of a particular kind (red, green, blue, or alpha) is
  called a channel. Each channel has a sample depth in the range 1 to
  16, which is the number of bits used by every sample in the channel.
  Different channels may have different sample depths. The red, green,
  and blue samples determine the intensities of the red, green, and blue
  components of the pixel's colour; if they are all zero, the pixel is
  black, and if they all have their maximum values (2sampledepth-1), the
  pixel is white. The alpha sample determines a pixel's degree of
  opacity, where zero means fully transparent and the maximum value
  means fully opaque. In a three-channel reference image all pixels are
  fully opaque. (It is also possible for a four-channel reference image
  to have all pixels fully opaque; the difference is that the latter has
  a specific alpha sample depth, whereas the former does not.) Each
  horizontal row of pixels is called a scanline. Pixels are ordered from
  left to right within each scanline, and scanlines are ordered from top
  to bottom. A PNG encoder may transform the source image directly into
  a PNG image, but conceptually it first transforms the source image
  into a reference image, then transforms the reference image into a PNG
  image. Depending on the type of source image, the transformation from
  the source image to a reference image may require the loss of
  information. That transformation is beyond the scope of this
  International Standard. The reference image, however, can always be
  recovered exactly from a PNG datastream.

Section 11.2.2 IHDR Image Header explains precisely what bit depths are allowed depending on the type of information that is stored.

  Bit depth is a single-byte integer giving the number of bits per
  sample or per palette index (not per pixel). Valid values are 1, 2, 4,
  8, and 16, although not all values are allowed for all colour types.
  See 6.1: Colour types and values.

  Colour type is a single-byte integer that defines the PNG image type.
  Valid values are 0, 2, 3, 4, and 6.

  Bit depth restrictions for each colour type are imposed to simplify
  implementations and to prohibit combinations that do not compress
  well. The allowed combinations are defined in Table 11.1.

Table 11.1 — Allowed combinations of colour type and bit depth
PNG image type       | Colour type | Allowed bit depths | Interpretation
Greyscale            | 0           | 1, 2, 4, 8, 16     | Each pixel is a greyscale sample
Truecolour           | 2           | 8, 16              | Each pixel is an R,G,B triple
Indexed-colour       | 3           | 1, 2, 4, 8         | Each pixel is a palette index; a PLTE chunk shall appear.
Greyscale with alpha | 4           | 8, 16              | Each pixel is a greyscale sample followed by an alpha sample.
Truecolour with alpha| 6           | 8, 16              | Each pixel is an R,G,B triple followed by an alpha sample.


How to remove all pie menus in Blender 2.8?

There is no way to completely remove pie menus (without building your own version) but you can get closer.

Start by disabling Tab for Pie Menu. That will get you back the familiar tab usage.

Next I'd recommend enabling Pie Menu On Drag. That setting makes some buttons (like Tab, ` and others do double duty. Simply pressing them invokes a normal event, but pressing them and moving the mouse makes a pie menu popup).

Now start changing the keybinding in the keymap here is ShiftS Snapping. Set the identifier to "wm.call_menu" and the name to "VIEW3D_MT_snap". Old snapping menu is back.


Disable Viewport center point, Navigation Guide

The center dot is called Navigation Guide.
Go to Preferences and uncheck the Show Navigation Guide
Edit > Preferences > Input > NDOF> Show Navigation Guide

Blender Manual
https://docs.blender.org/manual/en/2.90/editors/preferences/input.html

Thank you Robert Gützkow for the answer in comment.


animate Scaling part of an object driven by another object

Consider using a cast modifier.
Make sure you original mesh has many vertices.
Use the object field to determine the origin.
The object field can be an empty to control the origin.
When you move the empty the displacement will move also.
If your axis is World Z axis aligned you may choose to keep z unchanged in the modifier.
More to follow.
Consider also using a shrink wrap if you want more control over the modified shape.  Not yet shown.
Create slanted end at a pipe / cylinder by Rotation
I do not know your artistic vision for the deformation.  Here is a less smooth modification.


Vertices in edit mode being mirrored WITHOUT mirror modifier

Sounds like you have the X-mirror option on.

Open up the tool shelf T switch to the Option tab and uncheck the X Mirror checkbox.


Why do the controls for materials look different?

You are using two different render engines, in the first image you are using cycles, in the second blender internal.

more info:
Which engine in Blender should i start with?
How is Cycles different from Blender Internal?


Armature bones created in python disappear after exiting edit mode

At the point of creation, the new bone's head and tail is both (0, 0, 0), which gives zero (invalid) length. You only need to modify at least one of them, giving a valid length, to keep the new bone outside of Edit mode:

>>> bone = C.object.data.edit_bones.new("test")
>>> bone.head = (0, 1, 0)
>>> bone.tail = (1, 1, 0)
>>> bpy.ops.object.mode_set(mode='OBJECT')
# The new bone won't disappear after exiting edit mode.


I'm not sure if I understand what you are looking for.

What I figured out is, there are not many preinstalled settings but you can create numerous own.

Open the brush setting with the tools button (2)
Create a new (default) brush withe current settigns (1)
Select out of all created brushes (3)

When converting a 2.79 blender file to 2.80, existing brush settings (at least some) are taken over.


Is it possible to change view while using circle selection?

It is not, unfortunately.

It is a known limitation of the current modal operator's design. While a modal operator is running, like Circle Select, Border Select, Knife Tool, Move, Rotate, Scale, or any other, Blender can't modify the view.

The opposite is also true: while doing view transforms like Rotating the view or panning, no other tools can operate.

There were some rumors about overcoming this for future 2.8 versions but no definite decisions.


In the documentation we read:

  This edge property, a value between $0.0$ to $1.0$, is used by the Bevel Modifier to control the bevel intensity of the edges. This operator enters an interactive mode (a bit like transform tools), where by moving the mouse (or typing a value with the keyboard) you can set the bevel weight of selected edges. If two or more edges are selected, this operator alters the average weight of the edges.

See also bevel tutorial.


Hooked bezier curve differen position in edit & object mode

When you enter edit mode the object will be displayed as it is before the modifiers are calculated. If you use hook modifiers, they will not show up there unless you enable this box:


As Sazerac mentioned, you need to set your Normal Map image to non-color space. In keeping with this, however, I would also suggest using a Math Node set to subtract instead of an Invert node (for DX to OpenGL conversion, I assume?), just to make sure things stay in non-color space, and there are no unnecessary back-and-forth conversions (as a matter of good practice). Your Roughness and Metallic maps should also be set to non-color, however, because you are using the same image for your Roughness and BaseColor, I have adapted the graph with a RGB to BW node going into the Roughness (because changing the color space of one of the images changes both, and setting both to non-color would make the BaseColor look "washed out").


How do I apply a procedural generated scratch overlay across multiple mesh

Using Geometry Node's Position socket you are able to mark surfaces from a global coordinates perspective.  Simply add an overly once you have a desired pattern generating.  Here is an EXAGERATED example just to show what happens.  Kepping in mind all the boards have exactly the identical material applied. Eliminating the need to apply image textures.

Of course the final scratching will be much more refined and detailed. :)


I’ve found the solution.

Notes:
1) There isn’t a direct way to morph along a curve
2) The result can be achieved with the curve modifier

My solution:

Big thanks to:
Duarte Farrajota Ramos for pointing me in the right direction
Patdog
Haunt_House


How do you lock groups of vertices in an object in relation to each other so that when scaling the object those vertices don't scale?

Not sure if this is the type of solution you're looking for but have you tried selecting the outer edges of the door and assigning them to a vertex group, like so...

and then you can select and deselect that specific region (without affecting the frame in the inside) and scale in edit mode in the 3d view...


You can do it this way (well in my example my salad looks like cheese but it's just a bit of displacements):

Create a circle and extrude it several times to make several concentric circles.
Give it a Solidify and a Subdivision Surface modifier. Press Smooth in the T panel.
Drag down the external circles of your mesh.
Extrude down some of the peripheral vertices.


Rendering a dark scene in Blender 2.8 Cycles + glass shader with lettering

I increased my render output resolution to 4K and got rid of about half the amount of light sources and nearly all the noise disappeared! Also, I managed to solve my glass shader issue with a few extra hours playing with the shader editor and came up with a great solution for casting the shadows I was looking for. I've attached a screenshot of the shader node tree, I hope someone else can make some use of it as well.


Camera slows down zooming into an object while in viewport

The camera has a limited amount it can "zoom", and it doesn't move when you zoom it. There are a number of ways you can navigate despite this. The easiest is probably to "snap" the camera to the selected object by pressing the decimal (.) button on your Numpad. If you need even finer control, you can enter walk mode by pressing Shift + ` (same key as ~). You can then navigate with the WASD keys. Press Esc to return to normal navigation.


Make particles go to the target object and stick to it

You can use keyed particle system to do that. This is often used to morph an object shape (as particles) to another object shape.

The principle is to set up a particle system (PS) on a first object, then define a second one using the same PS (and eventually a third one, etc.).

For these PS you may set there physics to "No" (as if not, they will fall or move or other).

Now create another object, with a PS (a new one) and having the same amount of particles.

Go to the key section below. And set the (keyed steps you want for it). These steps are based on the previous PS, as they are defined.

The key objects PS definition :

1- Start and end set to 1 (we want them all now)

2- Lifetime depending on what you want

3- Set to faces or volume (you choose)

4- No physics (if physics, that will work too, but theses PS will move)

You can use the same PS for the 3 (or 2 if you want 2) transition objects where particles are transiting above.

The keyed PS

1- Define start, end and lifetime as you need

2- Set physics to 'Key'

3- Add 3 (or 2...) steps in the key using the '+' button

4- For each step assign the wanted key object

You can tune the time (check 'use timing') so that the PS leaves or stays (stuck) more or less a long time from an object to another :


Well, you didn't tell which render engine you need, but I have a "tricky" solution which I here explain using Bender Render, but it's obviously doable even with Cycles Render. But, I used a trick, and I don't know if you can use it, too.

here's the result (colors have banding just for the gif format...):

how I did it?

First I created a plane, scaled it and then subdivided it a lot,
and assigned it a shadeless material made by a blend texture with a color ramp, note the settings below:

then,I created a half circle bezier with its origin in the same place as the previous plane

then I've set a curve modifier for the plane, to the bezier (note the X scale, later on this)

then, X scaled it until it covered the bezier, and set frame 1

then, duplicated it to plane.001, scaled it a bit on its Y (to widen its curve, so to cover the underlying rainbow curve), and then I keyframed the same X scale at frame 1

then, I set a dark shadeless material which is the same as the world background, and set a key frame for X scale = 0 on last frame (50 in my example), so that during the animation it "uncovers" the below rainbow arc...

here is last frame

so, when you start the animation you see this progressing

and the result of the animation is what you see in the first animated gif...

here is my test file

Of course your need could be slightly different, but you could use this as a starting point...

edit: some time ago I answered another (somewhat related) question,and there I did both a Blender Render and Cycles Render colorramp... see How to make / generate the trailing effect?


Discrepancy between the viewport render and actual render from the render engine.(Grease Pencil)

I am going to answer my own question in case someone is facing a similar issue:
In my case, there was a plane behind that grease pencil object that was intersecting the drawing while being rendered. Since it was hidden in the viewport but it was being selected for the render.
To see what objects are being rendered:
Go to outliner->Select filter->click on the camera icon
Then you will be able to select the specific objects you want to render from the outliner.


Finished Result :

You will need to use a particle system :

Be sure that the origin point of the objects (that will be placed) is down.
Then select your objects and press Ctrl +
G
Select your plane where the grass objects will be placed, and in properties panel click on particle system and click plus
Continue From here in images :

Be sure to put a check-mark beside advance :

Finished :

If you want decrease the number of objects just decrease the number.


If you have one object that has physics properties and you wish that the other object had the same properties:

Select all object that you wish to copy the physics properties to
Select the object you wish to copy the physics properties from

note: We select this one last so that It becomes the active selected object. This is the object that has the desired physics properties.

Then In the Physics panel under Object Tools choose Copy From Active.

If none of them have physics properties than you will want to add them:

Select all objects that need physics properties.
Physics -> Add Active


Smoke Simulation - Not visualized all over the wanted area

I believe you need to increase the volumetrics clipping end distance. It is in the rendering properties (where you choose between Eevee and Cycles) and then in the Volumetrics foldout :

Be aware that the precision of the particles in the simulation may be affected by that setting. If the simulation is taking place far away you can also increase the clip start distance to narrow down the clipping volume.


Nope, GD copy() is not implemented.

No way to know that from python afaik, you have to look at the C code (source/blender/blenkernel/intern/library.c, id_copy() function, around line 300).


Quick explode adds both an Explode Modifier and Particle System to the active object. By default, the particle system will start and end on frame 1, causing the explosion to occur instantly.

To change this, go to particle system settings and change the start and end frames to the desired frame.


How to wait the finish of the bpy.ops.render.render('INVOKE_DEFAULT',animation=False, write_still=True)?

Blender's API documentation shows how to use the application handlers. In order to execute a function after rendering is complete, you can use one of the following two handlers:

bpy.app.handlers.render_post - Executed once after each rendered frame
bpy.app.handlers.render_complete - Executed once after all frames have been rendered

The function you want to execute is appended to the list of handler functions through append(some_function), where some_function is a reference to a function. It needs to take one argument, because an object of bpy.types.Scene will be passed to the function. Example:

def some_function(dummy):
    print("some function")

bpy.app.handlers.render_post.append(some_function)

If you later want to remove the function from the list of handlers, simply use remove(some_function). Example:

bpy.app.handlers.render_post.remove(some_function)

import bpy

def some_function(dummy):
    print("some function")

def some_other_function(dummy):
    print("some other function")

# Will be executed once after each rendered frame
bpy.app.handlers.render_post.append(some_function)

# Will be executed once when the whole rendering process is completed
bpy.app.handlers.render_complete.append(some_other_function)

bpy.ops.render.render('INVOKE_DEFAULT', write_still = True)


Why do my object collapses when moving armatures?

Actually, there is issues with the Weight Painting, the Armature and the mesh itself. I'll try to explain:

You did the weight painting for the left hand side of the character, and it seems to be fine, but what went wrong is mirroring it over correctly to the right hand side. When you rotate the hand joint there, some stray vertices in the legs move also, which should not happen. When I checked the vertex groups, the right hand joint was actually ok. It took me a while to find out that those vertices accidentally became members of one of the finger bones (PK.1.R). Since the finger bones change their location and orientation when you rotate the hand (they are a child of the hand bone), strange stuff happens on the legs. So here the weights need to be mirrored correctly over to the other side. Unfortunately, mirroring them using Blenders Mirror Vertex Weights tool failed for me when testing, I'm not sure why. Also check the center bones (spine bones for example), one of them is moving a finger, and all of them seem to affect parts of the face, which they surely shouldn't.

On the mesh I would question why the shirt has a thickness to it. Remember when you model that you also need to weight paint it correctly. From the inside, which is a pain! You can do yourself a favour and delete the inner faces, they never appear in a render anyways. Also in the helmet, it looks to me as if a vertex has been dissolved accidentally. That n-Gon in the back just shouldn't be there, you should have three quads instead.

And lastly, when using an Armature, unless you really intend to do so, make sure the Subsurf Modifier comes AFTER the armature in the stack. In your model, the Subsurf is on top of it, in Blender this means it is executed first, and the resulting Polygons will then be deformed by the armature. Not only does this make the calculation slower, and also the deformation gets a "chewing gum look" to it, it also has the catch that the amount of subdivisions can differ between viewport and render time. That means, the deformation will be calculated differently when you render than when you work on it, so you never see the final result correctly. If you swap the stack order, the hand deformation looks much better immediately.


Based on what I see in the image you posted and as you said yourself, the main problem is the fact that your model has N-gons, which is a polygon made of 5 or more vertices, in your case that is the top face. Unity actually struggles with N-gons, so it is best to make the model with only Quads and/or Triangles. Try deleting the top face and make two faces like the ones you have on the front of your model. To make sure this is actually the problem, check if the black dot on the top face is actually at the center of that face, if not you definitely have an N-gon there. Otherwise (=if the black dot is in the center of the face) the problem could also be that the middle vertex on the top (red circle in the image below) might not be attached to the top face. Either way the ideal solution should be creating two top faces like the one I highlighted in the image below.


Joining all meshes in any context gets error

Make sure one of your mesh objects is active. You will get that error if you try to join without one being active.

This works with 2.80

import bpy

#Deselect all
bpy.ops.object.select_all(action='DESELECT')

#Mesh objects
MSH_OBJS = [m for m in bpy.context.scene.objects if m.type == 'MESH']

for OBJS in MSH_OBJS:
    #Select all mesh objects
    OBJS.select_set(state=True)

    #Makes one active
    bpy.context.view_layer.objects.active = OBJS

#Joins objects
bpy.ops.object.join()


Although this is a very broad question you have to understand blender (pun intended i guess by the one who picked the name) is a composition of many different sub programs such as shading systems, particle effects, basic 3d modeling, lighting, and such. As you start to look for online tutorials and stuff I suggest you focus on learning one school of thought at a time. Just learn all the ins and outs of basic 3d modeling and playing with the meshes in different ways and the keyboard command shortcuts to copy, rotate, and any other direct interaction with your 3d meshes before you venture into key frames (animating 3d mesh) or shading. Once you feel comfortable with that then you move to something like lighting and then some.

A mistake many make, including me is that we all tried to dip our fingers into everything at once and going back and forth between the different aspects of blender can actually slow the learning process. Once you focus on a specific aspect of blender you"ll get more specific questions, which then you can ask here. Once you learn to ask the right things you'll find the blender community to be one of the most supportive and wonderful.


It looks like your subdivision surface is on a lower level than the particle system. You can change it in the Modifier tab.

Compare these two pictures:


Old 3D paint mode instead of Project Paint

It's no longer possible to disable Project Paint mode - the option was removed as of version 2.67.  Specifically:

  Disabling projection mode is no longer possible in 3d viewport. This was exactly equivalent to simply painting in the image editor, so it was removed as part of the painting code refactoring.

https://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.67/Paint_System

However, this really isn't such a bad thing.  The best option, as far as I'm aware, is to enable Face Selection Masking for Painting while in Texture Paint mode.

With this enabled, you can now right-click on each face of your model (or Shift+RMB for multiple faces) to limit your brush strokes to those surfaces only.

Similarly, you can also use selection tools that would typically be available elsewhere, such as Circle select (C), Box select (B), or Select Linked via L while hovering mouse cursor over a surface to select the entire UV island with one button.

Whichever way you do it, your brush strokes will be limited to the selected faces.

The one downside is that this won't immediately give you the performance boost you might have appreciated by disabling Project Paint mode in the past - but hopefully that'll prove to be less and less of an issue as Blender continues to be optimized and hardware gets more powerful.