Wiggle Vector and randomness - Animations Nodes

It seems you are confusing some concepts. The noise function used in the original tutorial is 3D noise based, meaning it is evaluated at 3D vector locations and not seeds (Integers). The Wiggle Vector Node is 3 1D perlin noise each of which assigned to one of the channels, and it gets evaluated at a float (1D instead of 3D), this float is the evolution value you see in the node. So the wiggle node is now acting merely as a random vector generator. If you really want a similar function to the one used in the Script Node, check my answer here, which explains how such noise function can be used. Now that we got that out of the way, lets examine your node tree and try to get it to work as expected

Seed

You don't need to generate a random number to use as seed, seed is arbitrary, it only matters that it is different, and thus you can use the index directly. Matter of fact, the random numbers may repeat while the index will never, which ensures different results for each iteration. Moreover, float can be converted to integers implicitly, so you don't need the Round Node.

Spline Seed

It is true that you are changing the seed for each of the individual points of the spline, however, they are constant across splines, that's why they seems identical, what you need to do is to use the index from GetSpline loop as a factor for computing the seed in the GetSplinePoints, you can use the random number generator for this, or simply use a linear combination between the index from the upper loop and the index from the lower one. An example for the linear combination:

Lets look at an example to understand how this works. Lets say you have two splines each of which have four points. We want a different seed (integer) for each of those points in each of those splines. The simplest way of getting such integers is using what is known as a Linear Indexing Function which is a simple bijective function in the form: $f(x,y) = yn + x$, where $n$ is the number of points (4 in our previous example), $y$ is the index of the spline (which in our previous example is either 0 or 1 representing the first and second spline respectively) and $x$ is the index of spline point (Which in our previous example is either 0, 1, 2, 3 representing the first, second, third and fourth point respectively). In our node tree, $n$ is equal to the Point Amount, $y$ is the index of the upper loop and $x$ is the index of the lower loop. Lets look at the range (output) of this function:

$$
\begin{aligned}
f(0,0) &= 0\cdot 4 + 0 =0\\
f(0,1) &= 0\cdot 4 + 1 =1\\
f(0,2) &= 0\cdot 4 + 2 =2\\
f(0,3) &= 0\cdot 4 + 3 =3\\
f(1,0) &= 1\cdot 4 + 0 =4\\
f(1,1) &= 1\cdot 4 + 1 =5\\
f(1,2) &= 1\cdot 4 + 2 =6\\
f(1,3) &= 1\cdot 4 + 3 =7
\end{aligned}
$$

So you see that for any combination of $x,y$ belonging to the domain,the output is distinct and always exist, that is, the function is bijective. And it can be safely used as seed.

Wiggle Evolution

As described in the foregoing sections, the wiggle node is now merely acting as random vector generator, to actually make use of it as a perlin noise generator (That is 1D, unlike the one used in the tutorial, meaning you will not get the same results), you have to use the evolution parameter which can be the seed of the points. Take a look at the documentation for the Wiggle Nodes to have a better understand of what it does. An example would be as follows:

Spline Info

Spline info will only return the handles locations, the problem is that the points may be very few and the result of the noise may not be apparent, instead, we can evaluate more points on the spline and use them instead. Evaluate Spline Node can be used:

Replicate Spline

The use of the Replicate Spline Node in the tutorial or your node tree does not seem to be correct, you don't want to have spline that are distant as they are now, instead, one can simply input the spline as a parameter and control their amount using the number of iteration.

Poly Spline

Don't create the splines as poly and convert them to bezier after that, just create them as bezier directly.

By using all of the above, and by adding a parameter for the wiggle amplitude and by using the index of the upper loop as the seed of the wiggle, and by adding the speed as a parameter:

We get:

Which is similar to the result of the tutorial.


How to use zooming in Blender's viewport?

Zooming seems to work fine.

You can use mouse wheel as well as ctrl+middle mouse button and drag. It is often useful to frame selected while navigating as well Numpad . is the default shortcut for that.

As very few people experience problems with zooming I suspect that something may be set up wrong in your settings. You mention non standard hotkeys - there may be something wrong with the keymap you are using. If you are just starting to use Blender, I would strongly recommend to use the defaults for a while especially when it comes to keyboard shortcuts. Customization is useful and most of the time necessary, however you should give yourself a bit of time to get to know what you are changing.


Why use hair instead of emitter as particles?

If you use the Hair particle then a fixed number of particles will be created and their number and position won't change over time as your animation plays. So this is good for hair, sprinkles, or grass.

If you use the Emitter, the number of partciles will change over time. So if you play your animation, you'll see the object starts emitting particles that move away from your object and then disappear. You would use an emitter more for water, smoke, or sparks.

For demonstration, look at how the emitters of these 2 cubes change while the animation is playing. The one on the left uses Hair, the one on the right uses Emitter.


Step 1:
To apply physics on objects you first need to go to the properties physics tab and enable rigid body on this object.

Step 2:
If an object has to function as a hook/pin object that has to stay at its initial place, set it to Passive.
If an object has to to function as a dynamic physics object, set it to Active.

Step 3:
Select two of the physics objects and go to the 3D viewport physics tab. Hit connect and a new rigid body constraint empty gets generate.

Step 4:
continue until the entire chain is connected. It should look sth like this:

Step 5:
Setup the rigid body constraints of your chain.
this part needs to be tweaked to your specific needs so there is no concrete setup. But for a generic metal chain this values should be good:

Step 6:
 Run your animation! But make sure you have enough frames in your timeline. The physics will only get calculated to this point. if it is not enough, raise the number.


Edge offset evenly spaced around an asymmetrical object?

If you're creating a non-manifold mesh, as illustrated, you can use the shipped add-on Edit Mesh Tools > Edge Tools > Offset with the Extrude option.

Less long-winded if you are extruding a face-ring.. AltE > Extrude Along Normals, with Offset Even checked.


What causes the distortion of image textures

I think Mr Zak is correct,

It looks like the door and window need to be UV unwrapped. By default all tris are mapped to the same part of the immage. That is why it looks distorted.

with the object selected:

-hit tab to enter edit mode,

-select all vertices of the door or window (but not both)

-hit u twice to unwrap (multiple options are available after the first u)

good luck


How to reduce face/poly count for characters while keeping quads?

The "standard" procedure is Retopology:

using both the "snap onto surfaces" function and/or the shrinkwrap modifier you will build a new mesh projecting vertices onto the charcter you already made.

In this way you can control the amount of vertices and distribuite them exactly where you need them, following good edgeflows and avoiding triangles and N-gons.

If the new LoPoly character still misses some important details you can bake a normal map using the "selected to active" function, so that the missing details will be reproduced by the heghts illusion of the normal map texture.


See API docs - Preface:

  The Blender/Python API can’t (yet)...

  Create new space types.

It can only be done in the C code:
http://wiki.blender.org/index.php/Dev:2.6/Source/Tutorials/AddAnEditor

Nonetheless,

you may use draw handlers to overlay an existing editor with python-drawn content. Check out OpenGL Wrapper (bgl) and Font Drawing (blf).
or build blender with the Py-Buttons patch by Campbell Barton to create python-drawn widgets:
http://www.youtube.com/watch?v=mRiTfLpRlRU
(seems to crash if applied to current trunk, use an older revision or wait for a fix)


Export bullet physics with the Y and Z axis swapped

according this post Is it possible to make Blender a Y-up world?
not really, though most exporters have an option to flip it.


Unless I've misunderstood the question:

You could make cylinder (a ribbon) to shrinkwrap to the surface, and in its Object > Instancing panel, set its method to 'Faces'

Parent an appropriately oriented arrow-object to the ribbon, and Modifiers > Shrink-Wrap the ribbon to the surface by the projection method that best picks up the normals you're looking for.

You could even adjust the edges between the faces by hand, if you want finer control of the distribution of arrows. The ribbon does not have to be rendered, you can switch that off in the Instancing panel.


There may be many ways to do it (using the knife project or to sphere tools e.g.). I'll show you a method wich uses a spin tool though.

Select the vertex which creates the straight angle and rip it (V). After selecting two vertices press G twice to slide them. This way you can set the size of the round joint.

Next with the two vertices selected snap the cursor to them (Shift+S-->Cursor to Selected). Change the pivot point type to 3D Cursor and enable snapping tool (Vertex). Select the bottom vertex, snap the cursor to it and (being in side view) press the Spin button (set the steps number in a Tool Shelf as you like). Next select the vertices of the arc, rotate and scale it to make the joint.

Finally remove doubles (select the whole mesh with A, then press W-->Remove Doubles). Fill the hole with F.

UPDATE: Using to sphere tool:

Select the vertex which creates the straight angle, press Shift+Ctrl+B and set the arc's size. Enable snapping tool (Vertex). Extrude the bottom vertex and snap it to the other one as pictured below. Snap the cursor to it (with 3D Cursor pivot point type), then delete it. Select the diagonal edge, subdivide it (W-->Subdivide) and set the subdivisions number in a Tool Shelf. Next press Shift+Alt+S,1. Finally translate the arc along Y and Z axes to snap it to the other vertices.


I have found that when I create a collection instance of a collection containing a single mesh linked to an armature and make instances real it creates a duplicate armature and a new object linked to the original mesh, allowing the mesh to be animated separatly from other copies while being updated together.
To clarify:
Add your armature and rig to a collection
Create a Collection Instance of that collection (Shift+a > Collection Instance)
Make the instances real (Ctrl+a > Make Instances Real)


I have figured out how to unwrap my objects is there a way to label which side is which?

Color-mapping.

What is color-mapping?

You create some materials with different colors (red, green, orange, yellow, blue, etc).
You then apply the different colors to different parts of your model.

How you do that?

go into editmode
select the part of your mesh you want to assign the color to
(with the part selected) go to you materials and click assign
the color should now be assigned to the part of your mesh.
this method is pretty comon
after this, create a new image in the image-viewer
go to your render tab
scroll down to bake and select "colors" or "textures" (i dont know
which of both right now^^)

you now have a colored texture, which you could for example use in Photoshop. For example you want some parts of your model to have a metal texture. Pick a color for the parts, bake the map, in Photoshop "select color" and bam, you have the perfect part oif your uv-map selected ^^


Different look of material with Mix Shader vs Mix RGB

Mix shader use a very simple method to combine two shader output. It doesn't guarantee any real material based on physic light reproduce. You are actually using alpha compositing rather than reevaluate a BSDF shader. See the example below.

On the left we use Mix Shader to mix the Roughness between 1.0 and 0.0. Right we use real 0.5 value for a single Glossy BSDF.

You can see that the Glossy 100% reflection just blend into the rough one without any transition. This is totally impossible in real world unless a clear-coat is presented.

So if a single BSDF shader can do the job, don't try to mix other shader, just let it do the calculation and connect it to the output directly.


What is the differance between Linking and Appending an external blend?

The difference is simple.

Link: Link copies the object from the blend file, much like Alt-D does for meshes. When it is pulled in, the mesh/material whatever cannot be edited in the file. Changes in the original file will cross apply to it every where. This is useful for production assets which need to be the same in ever shot.

Append:
The object will be copied into the new file, there will be no link, much like importing an .obj or .fbx


How to combine the bump maps of two texture maps?

Nvm I think I solved my issue by using a Mix RGB node to combine the heights of both the images as shown below.


How to round sharp edges of iregular mesh

You need first to simplify the mesh using Decimate modifier, here are the steps:

1- Use Decimate Modifier, set Ratio to a low value I used 0.042 for this example.

2- Apply the Decimate modifier, then go to Edit Mode, select the edges you want to Bevel.

3- Ctrl + B to bevel the edges, don't use Clamp, but keep an eye on those adjacent edges, a little overlapping will be correct next step.
4- Ctrl + V and select Remove Doubles, fiddle with the amount until you weld very close together vertices, in this example, I used 0.5.

5- Now add a Subdivision Surface Modifier, if you haven't set the shading to smooth yet, it's time to do. This is the final result, of course you can choose the parameters you need for the previous steps, I put the values according to what I think you're looking for.
Hope this helped, Happy Blending!


When would I want to use a factor vs color output?

On the Noise texture node, Factor is a number from 0 to 1, whereas Color is a three number set, all of which range from 0 to 1. If you input Color into a Factor socket like the one on the Color Ramp node, it will average the three color channel numbers and turn it into greyscale. If you wanted to get three semi-related random values together, you could use the Color output and split it with the Separate RGB converter node. Or if you wanted semi-random “fluffy” color, of course, you could use it without splitting. For one Color Ramp node, however, I would just use Factor.


How to set an image strip (ImageSequence) length via python?

You can use frame_offset_start to change length from left side and frame_offset_left to change length from right side. Building on your code
img_strip = bpy.context.scene.sequence_editor.sequences.new_image(
name = img_name,
filepath = img_filepath,
channel = 5,
frame_start = 1500)

img_strip.frame_offset_start = 10
img_strip.frame_offset_end = -20 # Not sure why but blender needs this value negative.
#If you put positive value strip will end up in negative side of frames.

#img_strip.frame_start = 20

There is also frame_start setting it does not change the length of the strip but put it at given frame


Issue with Cloth and Hook Connection for Animation

Your problem stems from the cloth physics cache only baking to frame 250, in the blend file you sent I increased this limit and now it stretches with the hook object as intended. I also did some complimentary mesh cleanup as many of your objects have bloated geometry and overlapping vertices. In future also remember to reset some value of your physics sim in order to reset and rebake it if you find things aren't changing.
Link to fixed blend file.
https://drive.google.com/file/d/1wwrORCaKK0TmbGw5CIhmpXpMH3zHCKp8/view?usp=sharing


Weird subsurf edge and circle optimization

If you select what should be the circumference of the circle in “Edit Mode” and press SHIFT + ALT + S and drag your mouse you can achieve your circle shape. Note: The more evenly spaced your vertices are the better the result.

You can clean up the subsurf edge the by adding loop cuts in “Edit Mode” press CTRL + R Left Click and position with your mouse Left Click again to set in place.


How to disconnect selected mesh geometry?

The command I am looking for is "split" and you can select it with Mesh > Vertices > Split, menu or by pressing the keyboard shortcut Y.


How to output 3 objects as 3 seperate nodes in a g3dj file

Figured it out!
I was exporting from blender to a wavefront obj file and then using fbx-conv to convert to a G3DJ one: this gave one node with 1 children with 3 parts.
Now when I export to an fbx file and convert to G3DJ using fbx-conv I get 3 nodes as required.


Is it possible to twist a circle into a sphere?

Yes.

There are probably multiple ways of doing this, but one way is to use a circle with a simple deform modifier set to twist, and using an empty as the twist origin:

By animating the rotation of both the circle and the empty, you can make it twist around, and by animating the deform angle, you can control the amount of twisting.

Result: (click for better quality)

Example .blend


When I Merge 2 Spheres together How do Get it to smooth all the combined edges?

It's easier to model the junctions in highly symmetrical objects like this than it seems.

Note that the origin of the spheres object never moves from the World origin. All moves are on the mesh, in Edit Mode.

Starting with a 1/4 of a 16-segment, 8-ring sphere, aligned as
shown, and an empty at the origin
Assign a Mirror modifier in X, and an Array modifier, Count 3, with Object Offset based on the Empty, which is rotated in Z by 120 degrees. Check 'Merge' and 'First and Last' in the modifiers.

In Edit Mode, G X move the mesh until the overlap is right for you
Select all the entirely internal faces, (take a peek on the outside of the spheres, make sure there is no selection showing)

Working on the 'original',  delete the entirely internal faces
On the partially internal faces, slide the internal vertices (G G) down their edges, until they meet their counterparts in the modifier-generated mesh. (Everything's symmetrical, you only have to do this half a dozen times)

Once everything is neat and tidy, add a Z dimension to the Mirror modifier.

After making a copy, and applying the modifiers, perhaps tweak. Here, I X> dissolved a few edges to get all quads, and (CtrlV > Smooth Vertex) eased the triple junction
Throw on a Subdivision Surface modifier.


How to copy keyframes from one object to another?

Select the non animated object, Hold down Shift And select the animated one, then Ctrl + L >> Animation Data.

Hope that helps.

Good Luck


Object appears in Object mode but not in Render

In the Outliner, click on the key icon to display the Render option (camera icon) and make sure the option is enabled for your object.

Second solution: if this surface is an emitter, make sure you've enabled the Show Emitter option in the Particles panel:


Simplify mesh by cutting out inside parts

I don't think there is any easy way to do this. Here are a few ways, however they are quite resource intensive:

Remesh modifier:

You can use the Remesh modifier to do this, however it will take a long time to compute and result in a very dense mesh.

Make sure you have Remove Disconnected Pieces disabled:

Python:

Expanding on Matt's answer, you can make a script that will create boolean modifiers for every cube on every cube:

import bpy

# Make a group of your particle cubes and replace 'Group' with the name of your group:
particles = bpy.data.groups['Group'].objects

#iterate through every cube in the group:
for object in particles:
    # Remove all existing modifiers:
    object.modifiers.clear()
    # For every object in the group,
    for target in particles:
        # Test if the object is the not the same as the object we are currently adding modifiers to:
        if target.name != object.name:
            # Add a boolean modifier
            mod = object.modifiers.new(name="test", type="BOOLEAN")
            # Set the target object:
            mod.object = target
            # Set the operation mode to UNION:
            mod.operation = 'UNION'

I tested it with 100 cubes and it took quite a long time.
Also note that every cube will be joined to every other cube, so there will be a lot of failed boolean operations caused by cubes that don't intersect trying to be joined.


Boolean difference acting like union (checked normals, doubles, and manifold)

Your treasure chest 113Mb blend file was to large for my machine to handle you may want to "clean up" the STL before you upload files. Do a "Limited Dissolve". http://youtu.be/-OynHqYd_1I
Blender stackexchange has it's own file attachment system to help prevent files being "lost / moved" http://blend-exchange.giantcowfilms.com
Also are you going to 3D print this out? if so there's certain offsets when doing a Bool cut you need to take into account. Like making the cutting object about 0.2mm larger.
Are you using Blender 2.91? The "Bool Tool" using the Exact option may also help.
Here's an animated gif of the process using a box and your lid cutter.


Why do only some tools have redo capability?

First of all there are cases where redo doesn't make any sense (render, save, open), in those cases simply running the operator again is fine.

Operators have their own internal data which is used to execute an action, in most cases this is sufficient to store all information needed to redo an action (make use of the F6 popup, or be called from a Python script).

But consider the knife tool for example, can have the view manipulated as its accessed, so the tool would need to store the viewport orientation of every line added.

While this is possible of course (in principle), the benefit of adding this is limited since these tools are intended to be accessed interactively.

Another example is the rip tool, which will give different results based on where you're cursor is in relation to the selected vertices. Its also possible to simple store the mouse location and re-use that, but its unlikely to be very useful.

There are cases such as bend transform which could be made to redo, but depend on the view orientation, 3d cursor to define a line to the mouse and the distance the mouse moves once the tool is activated. Manipulating these values only-via buttons is possible but would end up being an nonintuitive matrix of buttons. Such settings would be better manipulated via an adjustable on-screen widget however blender currently doesn't have such facilities.


Added IK bone messing up excisting animation

You could deactivate the IK when needed: Click on the eye icon to deactivate, put your cursor on it and press i to insert a keyframe. If you want to reactivate, same thing, click on the eye to reactivate and press i.


is there a modifier to slightly shrink/grow mesh so it doesn't overlap?

Well, what I always do is select the model, tap the S key, or whatever you may have for scale, and then type in (actual numbers) on how much bigger you want to scale it.
I think it works best when you go to the Object Properties by hitting N and finding the model's scale, then choose either to scale it in the X, Y or Z axis. If all axis' are the same size, just click the highest box and drag down to select them all, find the number and increase it by 0.5 or if you wanna be really precise 0.05, just keep adding to it until you get the desired result.


Scaling keyed video with alpha over generates black border

At least in this case, adding a mix node between the scale and keying nodes that mixes the foreground video with the green screen color extended the green color to the original size of the foreground video.

This raises the question of what if your background video is larger than your foreground video to begin with.


Track to bone constraints lag behind animation/don't update correctly

Idk if I got your setup, but imho you can do something like that with 2 armatures:

A first one-bone armature, and an empty parented to it (tip of the bone)

then another 2-bones armature, where each bone has different constraints: the bottom bone copies rotation of first armature bone

and the horizontal bone tracks the empty

to show it working, I parented 3 cylinders each to its bone, and key framed rotation of first armature only

in viewport:

and rendered:

gif timing seems weird but I rendered to h264 avi and it works really well, no lagging

here the .blend


It's a lot easier to get realistic results with the smoke simulator, however it will take longer.

A quick (and rather terrible) attempt at mesh smoke:

To create the mesh smoke I used a subsurfed cube with a displace and a remesh modifier, which I extruded randomly and duplicated around in edit mode.

Smoke sim:

There are some tricks to getting smoke sim bake times down for a still, for example you can use a faster time scale and/or a quick moving particle system as the emitter in order to get the smoke into position in a smaller number of frames.

To get a nice thick white smoke, try using larger number of volume bounces and a lot of light. In the above images I used 5 volume bounces and a strength 5 sun lamp.

You can set the bounces in Render settings > Light paths:

Also make sure you have a pretty dense volume shader with scattering.

For a smoke sim a simple way to tweak the density is with a multiply node:


After selecting the first edge loop with AltRMB, just go on with ShiftAltRMB.


The issue you are calling "shadow along edges" is more generally known as z-fighting   (if you want to search for more info on the topic).

In our manual we document this problem:

  A large clipping range will allow you to see both near and far objects, but reduces the depth precision.

To resolve, in the view settings you need to reduce clipping range.

set the Clip Start as high as you can before near geometry disappears.
set the Clip End as low as you can before far geometry disappears.

The Camera has its own start/end settings so you may want to adjust that too.

Note that typically you won't need to tweak this value often, it just needs to match the scene scale you use

A range between 0.1 -> 100.0 is fine if more model has dimensions of ~0.5 -> ~50 blender-units.

Note that some graphics cards cards suffer from this problem more than others because they use a lower bit-depth for their z-buffer.


How can I create a surface of evenly space hemispheres?

Grid of hemispheres
As long as you don't need to populate curved surfaces, the simplest, quickest and more flexible way to create a grid made by the same object is probably using two stacked Array modifiers.
Start from creating one hemisphere.

As we'll make the fibers by duplicating a fiber upon each face, we'll need to start with a Ico Sphere, which is made by evenly sized faces.
Add one and increase the number of Subdivison in the operator panel you find on the left.

Then delete the bottom vertices and add an Array modifier to replicate the geometry along the X axis. Increase the relative offset to adjust the distance between the hemispheres.

After that we'll have to add a second modifier to duplicate the object along the Z axis

The grid has been created. The first parameter of each modifier controls the duplication count.
Fibers
Go to the particle system tab and crate a new Hair System for the object. Enable Advanced, set 1 particle per face and enable Use modifier Stack option in order to take into account all the modifiers previuvsly created.

Create a "Fiber" sample object to be replicated where the hairs are. To do so, model it the way you want it, just make sure it is pointing toward the Y axis and his rotation is 0,0,0 as in the picture below:

Go to the hair system's render panel, choose Object and point the field to the Fiber sample object:


How can you cut shapes out of an object with other objects?

The way I would usually do this is to make the cutting objects 3D and then join them with the object to be cut then use Intersect (Boolean) face tool.


save screenshots into local file system in blender game engine in python

This is the same code but for the game engine:

from bge import render

render.makeScreenshot('Screenshot#.png')

On Windows 10 you need to run as Admin to be able to save screenshots to the primary disk.


Python - Iterate over each object and unwrap - Problem

From the first script, just manage the selections in order to use the bpy.ops on each one separately:
Deselect all once you get the selected ones.
Select before using bpy.ops and deselect after that.
sel_objs = [obj for obj in bpy.context.selected_objects if obj.type == 'MESH']

for obj in sel_objs: # <<<<<<<<<<
    obj.select_set(False) # <<<<<<<<<<

while len(sel_objs) >= 1:

    obj1 = sel_objs.pop()

    obj1.select_set(True)

    bpy.context.view_layer.objects.active = obj1

    bpy.ops.object.editmode_toggle()

    bpy.ops.mesh.select_all(action='SELECT')
    bpy.ops.uv.select_all(action='SELECT')
    bpy.ops.uv.cube_project(cube_size=0.333957)
    bpy.ops.uv.average_islands_scale()
    bpy.ops.uv.pack_islands(margin=0.01)

    bpy.ops.object.editmode_toggle()

    obj1.select_set(False) # <<<<<<<<<<


What do i do when i have two o more meshes and i want to join them

You don't have to join the objects if you don't want.

If you need them to move together you could just parent them.

If you decide to join them, you don't necessarily have to connect the different meshes to have common vertices.

Think of it this way: In real life those are different pieces made of different materials and they are assembled together. The tuning pegs are plastic or metal attached to the wood on the guitar head. In reality they share no vertices, edges or faces.


How to join multiple separate faces into one mesh

Use A once or twice while in edit mode to select all faces (will be outlined in orange, then key W and click on Remove Doubles from the menu that appears.


1) make sure that you are in material viewport shading mode:

2) Maybe you create material with transparency drived by texture. So goto texture tab and make sure that Influence -> Alpha is turned Off.


Your issue is you pinned the mesh settings in the properties panel, so you can change the settings of any other objects. Simply de-pin it so you can change the settings of the other objects:

Then, give the armature the X-Ray, because the object that has the X-Ray box checked is the one that will show through any other object. In this case, you want to to uncheck X-Ray on the mesh and check it for the armature.


Mantaflow simulation is baking the fluid in the wrong place and at the wrong scale

The fluid simulation is sensitive to the scale of the domain mesh - if it is has been rescaled (resized in any way) you should Apply Scale to ensure the scale is set back to 1.0 in each dimension. In your case, the adjusted scale (possible negative scale) was affecting the results of the simulation.
To address this, select the Domain object and press Ctrl+A and select Scale to 'Apply Scale' (the same option is availble through Object/Apply/Scale menu). You should then Free and re-Bake your simulation if necessary - to pick up the changes.


How to apply a displacement texture consistently across a mesh?

If you use an image as texture to drive the displacement, but use generated or object coordinates you will get the error you show, where the texture will be applied only on the X and Y axis of the object, but will smear or repeat along the Z axis.

If you UV unwrap your object and use UV coordinates you can then map the displacement accurately onto the surface of the object.


When I join objects they are getting all same material as target object

Nothing simpler. If you want to insert several materials in the same composition, just select the entire object and switch to edit mode. Once this is done you just have to select the interested parts and in the material editor assign a certain material to the selection, same thing with the rest of the object, the selection again, create a new material and assign it to the selection.
In the screenshot (1) I posted you can see how the parallelepiped is actually formed by two joined cubes, and in the material editor you can see the presence of two materials associated with different meshes of the same object.
1.

Bonus tip:There are actually other ways, [see Gif. (2) ] if you don't want to merge the object and leave the meshes separate you can link the two objects. in the sense that although the meshes are separate, the interactions of one of the two objects will affect the corresponding linked. Which will represent the aspect of parents-children, where the influential object is the parent and it will be he who commands the movements etc. This will allow you in your example to move the base of the donut and with it the icing and the sugars that will follow the movements of the donut, being able to apply different textures and materials.

To make the parent link, use the shortcut CTRL + P and click on Object or with Keep Transform which allows you to maintain the original positions, bearing in mind that the parent will be applied to the object with the light yellow selection and not to the orange one.
I hope I was helpful.
2.


Yes, it is. Everybody told me to use open GL updater but, when I open blender with the default cube in the scene and hit F12 I have immediately rendered cube. My created scene at all. I can not find out what's going on. Thanks


How do I rearrange/sort/organize objects within the same level in the outliner (without collections/parenting)

That is what collections are for. You Organize things under collections. There are some good tutorials for that.


Straightforward way, no (currently). But possible to make it in another way.

If the cuve is as simple as a poly spline, I think you can try converting it to a mesh first, tweak it with Vertex Slide tool, then convert back to curve, but the original paramters on curve may lose then. Or:

Select the target curve point, CtrlH > Hook to New Object;
ShiftD to duplicate, then AltC2Convert the curve in to mesh object;
Tab in to the Edit Mode, select the target vertex, CtrlRMB to select the hook (a empty object) while still in Edit Mode, CtrlP > to make vertex parent. Then you can slide that vertex in the mesh to control the target curve point.

Another way is to use the handle orientation as transformation reference:

Be sure to switch Spline Type to Bezier, then set handle type to Vector;
Switch Transformation Orientation to Normal, then select the handle control point, create transformation orientation from it;
Now select the curve point, you can move it along Z axis of the new orientation.
When finished, you may want to delete the created orientation(s).


Cannot assign material to object, shows up wrong

Try to UV unwrap it and than appling the texture.
If you just want to add a material go to the material tab and click add material.


I'm trying to make a cigarette. I made the burn area and the ash, but I can't get them to combine. Can you guys help me?

A mix shader should work just fine. Just make sure to use the same alpha factor that you used for the "burn mask".


How to rig a character where every element is separated?

You can for example parent any mesh object to bones with 'Empty groups' option and then in weight paint mode paint the weights for that empty vertex group


First, you have to switch to the object mode.

In a python console, enter something like this. Make sure to change the name of the armature to what you have. The .tail property is not what you want to overwrite, it's the tail_local.

for bone in bpy.data.armatures['Armature'].bones:
    if bone.parent is not None:
        bone.parent.tail_local = bone.head_local

Then switch to edit mode to see the effect

If your parents can have multiple children and if you only want to move those tails that have a single children, you can try to use this code snippet:

parent2children = {}

for bone in bpy.data.armatures['Armature'].bones:
    if bone.parent is not None:
        if bone.parent.name in parent2children:
            parent2children[bone.parent.name].append(bone)
        else:
            parent2children[bone.parent.name] = [bone]

for name in parent2children:
    if len(parent2children[name]) == 1:
        parent = bpy.data.armatures['Armature'].bones[name]
        parent.tail_local = parent2children[name][0].head_local

make sure to switch to object mode first here as well


Cycles doesn't really like very small light sources with very high lighting intensity.

They are very 'hard to find' computationally speaking. Cycles is a Path Tracer and will cast rays from the camera until the reach a light source, if the light source is too small it is very hard to hit, statistically speaking, creating very noisy renders that take a very long time to render.

Large light sources with an average lighting intensity are much better suited.

Keep you detailed lamp model if you like, but don't make it the light source of your scene.

Add a fake light material to it then use a real lamp object or a simpler geometry like an emission plane to actually light your scene up. Also avoid transparent or blocking geometry over your light sources, like the glass bulb.

You can then make fake light in cycles How to make the light emission invisible? or How to make a cycles light emisson object invisible to the camera?


How do I calculate all motion before rendering?

When the solver has trouble keeping up, like when tracking constraints get lost on a frame by frame basis - here's some advice. The fewer relationships between empties and meshes, the better. If your empty isn't tracking a mesh correctly or copying it's parent's motion correctly then make it's parent an empty. Surprisingly the increased number of empties doesn't make it harder on the solver, but rather makes it work better.


Whether someone has done a user defined version of Blinn-Phong (not Blinn and not Phong separately) reflection model in the node editor?

Q. I want to know is there any possibility to define Blinn-Phong reflection model as a user defined reflection model?

A. Yes

Q.If yes, should I use Blender "Node Editor" to define a new material?

A. Yes

Q. Has anyone done this before?

A. Yes, quite so.

I will try not to write a 2718 page treatise here.  Cycles render engine is designed as a photo realistic (PR) physics based renderer. Blender render is a respectable renderer different than cycles.  I am trying to give you some terms for further research.  Your public library probably has electronic titles on Cycles and there is the general internet and there are just a few video tutorials on video websites.

If we look at the node system for Cycles we are delivered fragments with geometric surface normal information, camera information and more.  Vector operations resulting in scalars such as dot product are available and are quite relevant to shading.  So you have the freedom to write original or not so original shaders.  Your results can be physics based or artistically styled.  Many relevant math functions are available such as sine, cosine, modulus. Your image is as unlimited as your creativity.

Know that dot product and vector product are your BFF when shading.  Just remember to get some sleep once in a while.  Try to take breaks every 8 hours of writing material nodes.


You have inverted normals.

In edit mode, select all faces (A), then do CtrlN.

The object should turn from blueish to greyish, which means that your normals are now correctly pointing outwards.


Prevent point lamp from shining through mesh lamp in reflection

Two possibilities:

Remove the glossy ray visibility of the lamp :

Or you can set up the sphere nodes like this :

OK, this is what you said in your question... but it works...


Is it possible to create a compositor node with PyNodes that outputs camera clip_start and clip_end?

Not sure if this is possible with PyNodes, Seems like the sort of thing you'd use Drivers for.

You can use node settings to drive these values too,
Add a driver to the cameras clipping, and set the driver to point to a scene property, eg: node_tree.nodes["Mix"].inputs[0].default_value

And the other way around you can do too, of course. Add a driver to a value node, and set the driver to point to the camera property like clip_sta and clip_end.


How do I distribute hair particles evenly using guiding curves? (Ponytail with Hair Dynamics)

Combine a Short Hairstyle with a Dynamic Ponytail
Since the main hair doesn't move, but only the ponytail, you can leave the main hair static and make only the ponytail dynamic (plus dynamic bangs, and another layer of fly-off hair if you want more realism.) It's like a hair extension and fairly easy to do.

Turnaround of the ponytail hairstyle
Preparation

create a little cylinder or "ring" (it's more a disc). It will be the emitter for the ponytail. I've added a Torus object (12 major, 8 minor segments), deleted the inner faces, and grid-filled the hole.

Ponytail hair emitter ("ring")

place this ponytail emitter ("ring") behind the head where you want to have the ponytail
Important! Apply the scale to the "ring" and the head because a lot of the hair settings are relative to the emitter's size. You will get weird-looking results in the simulation and in Cycles renderings. Eevee is more error-tolerant.

Create and Comb the Main Hair
Note: The main hair is on a haircap/scalp emitter. The head is a separate object and is bald. All objects have real-world size.

add a Hair Particle System to the haircap/scalp. 500 particles, 8 segments are fine. You can increase/reduce the number of segments in Particle Edit mode (menu Particle → Rekey; particles must be selected.)
Comb the hair. Select the lower hair (everything at the level of the ears in front view, box select) and comb it up in the direction to the "ring". Tighten the strand of hair guides and try to pull them through the ring.
at the front of the head, pull the hair gently back so the children can't accidentally disappear inside the head (bald spots!)
when you're finished, cut all hair particles (guides) behind the ring.
repeat the combing for the side parts, then for the back top, and finally for the bangs (if you want a parting)
try to layer the hair parts
don't forget you can hide combed parts of the hair so it gets not messed up by further edits. You also can select the roots (menu) and select more segments (keys) with Numbpad++ to easily select single hair guides and comb them.

Create the Ponytail

select the "ring", in Edit Mode, select the inner faces, and assign them to a Vertex Group "Ponytail" (Ctrl+G). This is where the ponytail will grow.
assign material for the hair ("Ponytail" group) and another material for the outside of the ring (inverted selection)
add a Hair Particle System to the ring emitter, 500 particles, 26cm, 8 segments
use the created Vertex Group "Ponytail" in Particle Properties → Vertext Groups → Density so the hair grows "through" the ring and not on the outside of the ring.
enable Particle Properties → [X] Hair Dynamics, in section Hair Dynamics → Structure increase the random value (0.422). This widens the ponytail a little
Note: the values for Vertex Mass and Stiffness have an effect on the stiffness but I left them at the default settings and just did a little weight painting.

Weight paint of the ponytail

in Particle Edit mode, weight paint the keys (black dots) a little, see screenshot. This spreads the ponytail somewhat, makes it fluffy and it doesn't look completely flat from the side.
run the animation. In about 60 frames the ponytail should have fallen down nicely. It should neither sap off nor stick out.

Simulated hair dynamics of the ponytail
Tweak the Hair Particle Settings

Children, select Interpolated, amount: 80. For the ponytail only: Length: 0.959, Threshold: 0.306. It makes the end of the ponytail a little more shaggy.
adjust the values for Clumping, Roughness, and Kink as you like.
use a small number for Roughness → Random, like 0.021
if the children of the main hair try to overgrow the ring emitter then try to increase Clumping → Clump a bit, e.g. 0.479
Kink works well for the ponytail (used Wave in the example) but select a small Amplitude like 0.02 m so it doesn't "explode"
for Hair Shape use values like Strand Shape: -0.9, Diameter Root: 0.03, Tip: 0.01, Diameter Scale: 0.01 (default). These values are important for Cycles if you don't want to have super fat hair particles.

Animation test:


You could try adding a raster image to your model as a texture:

Probably the easiest way to add a texture to your model is by dragging and dropping an image from a file manager onto your object in the 3D view:

Note that you'll also need to UV unwrap your object.

For simple 2D objects extruded along the Z (like the one in the above gif), you can probably get away with looking at your object from the top (Numpad 7) in edit mode (↹ Tab), and with everything selected (A), pressing U> Project from view.

For more detail, see

The wiki on UV unwrapping
The wiki on texturing
How to properly unwrap my mesh?


I adapted the UDN Blending method from this article, for cycles nodes.

The simple formula is:
"Normal map 1" (nm1) the large distortion, "Normal map 2" (nm2) the small details.
nm1.x + nm2.x = X, nm1.y + nm2.y = Y, nm1.z = Z

Split the normal maps in the their three separate channels with a Separate XYZ node.
Add the X channel of both normal maps together with a Math node set to Add
Add the Y channel of both normal maps together with a Math node set to Add
Make the new vector with a Combine XYZ node. Plug the component X into the X input of the Combine XYZ node, and the component Y into the Y. Take the Z from the first normal map.
Add a Vector Math node set to Normalize. Take the output from the Combine XYZ node and plug it into the first slot of the Normalize node.
Add a Normal Map node. Take the output from the Normalize node and plug it into the color slot of the Normal Map node.

Another option is to use Multiply instead of Add for combining the X and Y channels. The bonus with this is, I have found no need for the Normalize node. The resulting normal map will look different from the method above.


Smoothing/blending a joint between two meshes

As it turns out I can make this piece into a 'plug' with MeshMachine and place it on my mesh with the additional smoothing in the corner modeled onto that plug.

Example https://youtu.be/2DpjEHxjh2s?t=61

Just waiting for the 2.8 version


How can I make any mesh be filled with smoke?

If you're using Eevee, volumetrics nodes won't work as they work for Cycles, they will be shaped into cubes.
Since 2.91, though, you can create a volume empty (shiftA > Volume > Empty), and give it a Mesh to Volume modifier, with your object (here, your monkey) as Target. It will create a smoke that follows the shape of the Target:

Make your Suzane invisible. You can give your empty a material, by default it will be a Principled Volume plugged into the Volume socket of the Material Output. You can change the color or density of the volume:

Also, play with the parameters of the Render > Volumetrics panel, as it affects the quality of the volume:


How do I make an object flicker at specific times?

So let say you've created your object. Give it an Emission shader, create at least 1 keyframe at frame 1 with a value of 1 for example.

Open the Graph Editor (to switch from the Dope Sheet just press CtrlTab). Press N to open the right panel, click on the Modifiers tab and create a Noise modifier. Play with the parameters (Scale, Strength...). If you want the modifier to happen at a precise frame click on the Restrict Frame Range and set the Start and End values.


If you want physically correct Depth of Field, you need to use Cycles render engine.

In Blender Internal you will get nothing, unless you add the effect in post-processing. Enable Compositing and use this node setup:

This reads your scene Z-values and your focal point set from your Camera object and adds the Depth of Field effect by blurring the image.

Also set your F-stop to some reasonable value, so you have something else than a pinhole camera. Only the value in the node has effect, the setting on the camera object is not used with Blender Internal.


Deformation Motion Blur and Vector Pass not working in Cycles

The model has active Auto Smooth Normals. Disabling it fix the problem.

It was a purchased model and it appears that Blender activated Auto Smooth when importing the FBX model.


Looks like my problem was that in the zip archive I made, I was putting my files in the root.  I had to create a subdirectory within my zip with the name of the addon, and then place the source files there.


Adding a reinforcing rib to STL model with blender

In this particular case, I think it can also be done in this way:

put the original mesh in front view, wireframe shading,in edit mode,
then select just the central array of vertices,

then duplicate (shift-D) and separate (P => "selection") those vertices (to a new mesh)

as you see in side view, you now have a "section" object made of two "loops".

deleting the "inner" vertices from both loops, you can then make a single "face" joining the remaining vertices on their edges in pairs (upper and lower) using F then, after selecting all of them, make it a big "face" pressing F

now you can extrude this face on left and right (I would not bother using mirroring), obtaining a solid central shape that perfectly follows you original mesh curvature.

Then I would join both objects, and export to .stl again.


You can fix the resolution through the python API:

import bge

scene = bge.logic.getCurrentScene()
for obj in scene.objects:
    if obj.name == "Text": # text object we want to fix
        obj.resolution = 8.0 # resolution is normaly 1.0 / 72 dpi


I’ve been using Blender for a long time now and I’ve always been working on a MacBookPro Mid 2014. Depending on what you do, you will have to know what graphics card you use. I wouldn’t suggest you using NVIDIA because they have graphic cards specialized for gaming and not 3D rendering and video editing.

If you are doing basic modeling you don’t have know art and all that stuff. If you are aiming to do sculpting and texture painting it’s basically essential. I hope that concludes everything


Perhaps your Blender preferences are the issue, not the pen settings?

I have set my top button to 'Middle Click' and my lower button to 'Right Click' because I think it sits easier in my hand for orbiting the view. With Ctrl you can zoom in and out and Shift for panning view. It is both simple and it works.

I do not have 'emulate 3 button mouse' set as I have a proper keyboard and the pen essentially has nothing to do with this. Turntable or Trackball will behave very differently, as will Dolly or the other 2 choices. These are my settings...

The view manipulation settings will also have great effect. I do sometimes change to 'Zoom to selected' but that does depend on where the object center is. Most I prefer to Numpad . to View select which allows me to focus on one object.

Update: With regard my comment below about the pan/scroll button (my setup is in dutch)...


How to turn any mesh into its bounding box

Bmesh script

Quick, n  dirty little bmesh script to do this. For all mesh objects in the screen replace the mesh with the box created from the eight corners of the bounding box.

I've used the convex hull operator which produces a triangulated
mesh.
Current version replaces mesh with hull.
As always save before, and / or test on a copy.

script

import bpy
import bmesh
context = bpy.context
scene = context.scene
bm = bmesh.new()
mesh_obs = [o for o in scene.objects if o.type == 'MESH']
for ob in mesh_obs:
    me = ob.data
    #me = ob.data.copy() # create a copy

    verts = [bm.verts.new(b) for b in ob.bound_box]
    bmesh.ops.convex_hull(bm, input=verts)
    bm.to_mesh(me)
    ob.data = me # needed if copy
    bm.clear()
bm.free()


Copy and Paste Specific character into existing pose

If I understand the question, I think the best thing to do is to make a file of just the armature doing the animations. Select "Save as" and do a different name, then, at frame 0 have the armature in a neutral position (and have the animation start at frame 1) so you can copy the meshes into the file and rig the meshes for different characters onto the neutral position.
Just return to the original file and "save as" again for a new character.
Did this help?


In the outliner, if you animate the eye icon, it will controll the viewport only. You'll have to animate also the photo camera to influence the rendering. The arrow toggles the selectability of the object.


How can I print only keyframes from code below?

Finding keyframes is a little bit trickier, since any object in the scene could have a keyframe at a given frame.

So this script will check all objects for keyframes at each of the frames between beginning and end, and print out any keyframe on any channel, for each of the objects. It will also print out the value of that channel at that keyframe, just in case.

import bpy

S = bpy.context.scene
O = bpy.context.scene.objects

def isKeyframe( f ):
    for o in O:
        for fc in o.animation_data.action.fcurves:
            kfs  = [ kf.co[0]     for kf in fc.keyframe_points ]
            if f in kfs:
                amp = fc.evaluate( f )
                print(
                    "kf at %s for %s[%s] val: %s" % ( f, o.name, fc.data_path, amp )
                )

for i in range( S.frame_start, S.frame_end ):
    isKeyframe( i )

If you want this to apply only to the active object, use this code instead:

import bpy

S = bpy.context.scene
O = bpy.data.objects
o = bpy.context.object

def isKeyframe( f ):
    for fc in o.animation_data.action.fcurves:
        kfs  = [ kf.co[0]     for kf in fc.keyframe_points ]
        if f in kfs:
            amp = fc.evaluate( f )
            idx = fc.array_index
            print(
                "kf at %s for %s[%s(%s)] val: %s" % ( f, o.name, fc.data_path, idx, amp )
            )

for i in range( S.frame_start, S.frame_end ):
    isKeyframe( i )

Sample output for a scene I just tested:

kf at 33 for Lamp[scale(0)] val: 1.0
kf at 33 for Lamp[scale(1)] val: 1.0
kf at 33 for Lamp[scale(2)] val: 1.0
kf at 70 for Lamp[rotation_euler(0)] val: 0.6503279805183411
kf at 70 for Lamp[rotation_euler(1)] val: 0.055217113345861435
kf at 70 for Lamp[rotation_euler(2)] val: 1.8663908243179321

EDIT: Must add a small disclaimer to this answer. This is will only print out keyframes on objects. This doesn't show keyframes on compositor nodes, scene settings and other non-object related properties. To get those, You need to alter the code a bit and read the fcurves from the specific keyframed element in question.


Why is my input slider not showing the actual slider in a node group?

I figured it out. You have to create the input from a slider value in the first place. Here's an example gif:

You can't go back and change it after the fact.


This is kind of a hack:

shoutout to dagtholander for his car model onsketchfab
And the node setup is really easy:

Works only with shade smooth!
change spherical to quadratic sphere for more difference


How do I add a panel to Object Properties?

To create a custom panel you subclass bpy.types.Panel and set the space, region and context to suit. Setting the space and region to PROPERTIES and WINDOW will place the panel within the properties. Without a context it will show in every section, object will place it only in the object properties.

class testPanel(bpy.types.Panel):
    bl_label = "Test Panel"
    bl_idname = "OBJECT_PT_tester"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = 'object'

    def draw(self, context):
        row = self.layout.row()
        row.label(text='stuff here')


Can the base dublivert object be hidden?

Yes it's possible. You have to give it a material with transparency. Set the Alpha to 0 and enable Transparency in Display settings, like this:


what is the difference between the two plus signs when adding a material with the blender render engine?

One adds a new material (copying the current material):

This will replace the material in the active slot. The first material will still exist (and can be added to an object or objects), at least until the .blend is closed. Then unused datablocks are cleaned up.

The other adds a new material slot:

Material slots are places where other materials can be added to the same object data.


How do you move the vertices of one UV island without moving the same vertices part of the other one?

Switch to face mode in the UV editor, or make sure that UV Sync Selection is disabled, then switch to island mode or set sticky selection mode to Disabled.  All are options on buttons in the menu bar of a UV editor window.


When you use the Check All button (or any other test) in the Print3D panel of the toolbar (visible by pressing T) you will see a list at the bottom of the panel listing the number of affected parts for each test.

While in edit mode this list becomes buttons for any items that exist. Clicking a button will select the particular areas.

The coloured areas you see in the above image are from another related feature called Mesh Analysis, this feature highlights the affected areas and can be activated in edit mode from the properties panel (visible by pressing N).


Jagged edges from joining with boolean modifier

Umm I dont know if you already solve this, but I Have those kind of problems when I use zbrush usually is because your object wasnt dynamesh prior to merging, and you only merge them together in their plain sculpt mode so you are not adding geo to the object but intersecting the geometry of both meshes, also boolean is horrible because you get ngons everywhere, thats why some geometry can collapse on itself like is doing in your picture. Probably blender works similar to the dynamesh in zbrush.


Glass material is transparent only when object is selected

You might have probably deleted the glass material. So you have to delete your object and add another one.

You can watch the following tutorial
https://youtu.be/p5q_P8WQegQ
https://youtu.be/I685JGTCpCU

Hope it helps.


How to achieve the round corners of a black piano key?

The algorithm used for subdivision surfaces works best with quads. You have many n-gons in your mesh, which will lead to artifacts.

You should at least convert the front and top face to quads. You can do that in two steps: select the top and front face and press [Ctrl+T] to triangulate them.

Now select two triangles that you want to merge to a quad and press [Alt+J]. Repeat until you have no more triangles.

To keep the edges sharper, add a bevel modifier on top of the subsurf. Now you can control the roundness / sharpness through the bevel's "Width" parameter.

The result should look like this:


Select the mesh, and press Ctrl+H. The mesh will still be visible in the viewport, but it will now be hidden in the render.

As you can see it is visible in the viewport render still:

However if I press F12 and render an image, it is hidden.

This works for any number of objects, just select them all, and press Ctrl+H. Notice also that Ctrl+Alt+H unhides the selected meshes from the final render.


I Insetting the top and bottom surfaces as a whole
CtrlR Putting holding loops into the thin sides
K with C and Z Orthogonally cutting an extra loop through the piece,  back from the curved end

probably does enough, here, depending on how much you want to keep the flat slopes on the profile, etc.


Camera tracking to a particular bone of an armature.

Yes. The camera can follow a particular joint of a armature.

If you specify an armature as a target, the interface allows a bone selection and a Head/Tail selection as seen below.

The highlighted camera name [CameraTrack] with a gold sphere can track a particular bone along any head to tail point.  The camera can also track any object parented to a bone of an armature for extra flexibility. The object named [Cube.on.Bone] is the red cube. Both constraints work.  Choose one only.  Note only one constraint is active, so you may choose which one is active.  The eye icon indicates only one constraint is active.

The camera named CameraTrack has no rotation.  Inspect your camera rotation.

Click to see larger version of image above.


I fixed it by using creases and looptools for the end bits


Do 3 loop cuts (Ctrl+R) really close to eachother. Then select the one in the middle (Alt+Right Click) and scale it down (S).

Another option would be to separate the mesh by the selected loop. I don't remember if you can do that, but you can always select half the cube and make it a new object (P), then join it back again (Ctrl+J).

Excuse my poor answer but I don't have Blender on this computer to give you some pictures.


Rendering doesn't work like that. Tracking only 1 light path would give a very bad representation of the scene and would be inaccurate.

Each pixel is an origin for infinite amount of light paths leading into different light sources, each bounce determined by probability. Rendering infinite samples is not doable, so the more samples (light paths traced), the better the image (better representing the scene).

There are 2 approaches you can go:

Render the image in N-dimensional color space, N being the number of light sources, each light-source being monochromatic only. Render as many samples as you can. Each pixel's color will exactly correspond with what light influenced it.

My guess is you will have to compile your own Cycles for this.
Render the image multiple times, one light source at a time. This can be scripted with python, or even done by animating the lights and rendering N-frames long animation, where N is number of lights. Each frame will be an exact map of how that light influences the scene.


Python: similar mathutils.Matrix producing different translations

Use Quaternions for unique rotation

As well as the matrices being distinctly different, the quaternion rotations returned from your matrices are distinctly different. See this blurb here on Mathematics of Eulers

Matrices m1 and m2 displayed in 3D view using Maths Vis Console Addon

Adding some lines of code to your example,

print('Rotations Quaternion')
print(m1.to_quaternion())
print(m2.to_quaternion())
print('Rotations Quaternion to Euler')
print(m1.to_quaternion().to_euler())
print(m2.to_quaternion().to_euler())

To get a quaternion representation of the rotation

Rotations Quaternion
<Quaternion (w=0.2698, x=-0.0753, y=0.1302, z=0.9511)>
<Quaternion (w=0.2605, x=0.0147, y=0.0578, z=0.9636)>
Rotations Quaternion to Euler
<Euler (x=0.2136, y=0.2151, z=2.6118), order='XYZ'>
<Euler (x=0.1194, y=0.0018, z=2.6136), order='XYZ'>

Notice only the Euler result for Matrix m2 corresponds.  Can decompose a Matrix into its components with Matrix.decompose() The rotation part is returned as a quaternion.  Here is an example that decomposes and recomposes the matrix m2

v2, q2, s2 = m2.decompose()

S = Matrix.Scale(1, 4)
for i, axis in enumerate(s2):
    S[i][i] = axis
m = Matrix.Translation(v2) * q2.to_matrix().to_4x4() * S

print(Vector(m.to_euler()) -  Vector(m2.to_euler()))
print(m2 - m)

Produces the result

<Vector (-0.0000, 0.0000, 0.0000)>
<Matrix 4x4 (-0.0000, -0.0000, 0.0000, 0.0000)
            ( 0.0000, -0.0000, 0.0000, 0.0000)
            (-0.0000,  0.0000, 0.0000, 0.0000)
            ( 0.0000,  0.0000, 0.0000, 0.0000)>


PNG Image Texture Is Not Transparent Using Bump and Noise

Your bump map is set up correctly. If you want to use a subsurface color, you need to give the subsurface a vale that is higher than 0 (although low values generally work best). If your .png image has built in alpha channel, you can do it all in one material. You can connect it like this:


Do i Build Blender for every change I make in the code?

No you don't.

The BVH import addon is a python script. You should be able to disable/enable the addon after you make changes so that blender reloads the scripts. At most you may need to restart blender.


Create a mesh from image with transparency

I wrote a script to do exactly this a while back, here it is:

Tips on usage, if you really are using pixel art, then avoid representing the pixels using 4 pixels. You don't have to.. but it makes the resulting mesh unnecessarily vertex heavy before doing any operations like 'limited dissolve' (which joins all adjacent geometry when possible)

Script, is a little long but I'll include here anyway.

from collections import defaultdict

import bpy

scene = bpy.context.scene

color_map = defaultdict(list)
filename = "aYlTzbV.png"
img = bpy.data.images[filename]
scale = 0.3

def idx_to_co(idx, width):
    r = int(idx / width)
    c = idx % width
    return r, c

def co_to_idx(r, c, width):
    return r * width + c

def rgba_from_index(idx, pxs):
    start_raw_index = idx * 4
    return pxs[start_raw_index:start_raw_index+4]

def sv_main():

    def is_fully_opaque(rgba):
        return rgba[3] == 1.0

    pixels = img.pixels
    pxs = list(pixels)

    w = width = img.size[0]
    h = height = img.size[1]

    num_pixels = len(pxs)
    gl = grouped_list = [pxs[i:i+4] for i in range(num_pixels)[::4]]

    for c in range(w):
        for r in range(h):
            idx = co_to_idx(r, c, w)
            rgba = rgba_from_index(idx, pxs)
            if is_fully_opaque(rgba):
                color_map[tuple(rgba[:3])].append([r*scale, -c*scale, 0.0])

def create_repr_plane(obj_name, mesh_name, vlist):
    s = scale/2
    verts = []
    v_add = verts.extend
    faces = []
    f_add = faces.append

    for i, v in enumerate(vlist):
        x, y = v[:2]
        v_add([[-s+x, s+y, 0], [-s+x, -s+y, 0], [s+x, -s+y, 0], [s+x, s+y, 0]])

        offset = i*4
        f_add([0 + offset, 1 + offset, 2 + offset, 3 + offset])

    profile_mesh = bpy.data.meshes.new(obj_name)
    profile_mesh.from_pydata(verts, [], faces)
    profile_mesh.update()

    profile_object = bpy.data.objects.new(obj_name, profile_mesh)

    scene.objects.link(profile_object)
    return profile_object

sv_main()

for i, (k, v) in enumerate(color_map.items()):

    obj = create_repr_plane("dupli_object_" + str(i), "dupli_mesh_" + str(i), v)

    repr_of_color = "{0:.4f} {1:.4f} {2:.4f}".format(*k)
    mat = bpy.data.materials.new('sv_material_' + repr_of_color)
    mat.use_nodes = True
    mat.use_fake_user = True  # usually handy
    obj.active_material = mat
    nodes = mat.node_tree.nodes
    nodes["Diffuse BSDF"].inputs[0].default_value = list(k) + [1]

It does a few things:

rages through the image (if doesn't really care if it's low or high res, but high res will slow it down)
Indexes the coordinates of all similar coloured pixels
generates a quad based mesh to represent each pixel, and joins them all in one mesh object for one colour
makes a cycles material node for each object and sets it to the indexed color.

doesn't do
Several post processing steps

doesn't join the resulting objects into one multi-material object
doesn't perform remove doubles / limited dissolve

Warning:

This script assumes your low res image doesn't have thousands of different colours. It will create as many different objects as colors found in the image. Tip is to first Quantize the image or let some tool index the colors for you. This will perform terrible with lots of gradients, if you need gradients this script is not for you. It's writen in the spirit of low res low dynamic range images.


How to tell if an object is linked with another blend?

I was looking for all sorts of variable names in the reference, 'link', 'blend', etc. I figured out that object.library was what I was looking for. It will return None if it's not from a library, otherwise it will return a bpy.types.Library

https://www.blender.org/api/blender_python_api_2_60_6/bpy.types.Library.html#bpy.types.Library


An always sensor in it's default state sends one pulse at the beginning. If you want a continual pulse, activate pulse mode on the sensor.


How to make camera rotate around object and take pictures from different angles?

You don't need a script.

1) Set up your scene.

2) Position your camera for the first image.

3) Set a keyframe for the camera location and rotation.

4) Move to the next frame in the timeline.

5) Position the camera for the next image.

6) Set key frames as before.

7) Repeat until you have set up all the pictures you need.

8) In the animation settings, set it to create separate images (eg PNG).

9) Set the start and end frame numbers for the animation.

10) Start rendering the animation.  Blender will then create a still image for each of the frames you have set up.


A render in Blender Internal looks like a choppy checkerboard

As suggested by zeffi in comments there is a problem in z calculations.

This is probably due to the high values in camera's frustum which leads Blender to make errors.

Lowering the value of clipping plane to the minumum necessary to include all the geometry seems to solve the problem.


Motion blur for fluid sim particles (Cycles)?

This is currently not supported (as of v2.82 / 2020)

See https://developer.blender.org/T19527


Why does .obj exporting hang and output so many files?

This happens when you have selected the "Animation" option in the export options. You get a new file for every frame that the number of frames is set to in your output properties.


Animate an emission object appearing and disappearing

You can key the visibility of the object by hovering in the outliner over the render restrict symbol (camera symbol) next to your object and pressing I to add a keyframe. Then create a invisible key on the first frame, a visible key on the second key and again a visible on the third. That should give you the flash effect you want when you render it, but it will only show in viewport if you also key the viewport visibility (but I am currently not sure if that's also possible...)


Possibly because your model has non-manifold edges or other similar issues which prevent the Cell Fracture add-on to work properly. You can check for non-manifold edges in the model to be fractured by going in Edit Mode, activate the Edge Select Mode then deselect all (A) and type Ctrl+Shift+Alt+M.

To experiment it load Suzanne and try to cell fracture it; it won't work because of the previously described problem. Now, follow the steps above and you'll see where the problems are. When you have corrected them, try again the Cell Fracture and it should work fine. You may also search for video tutorials online on Cell Fracture for more information on its usage.


Since this is an interior scene with windows being the primary light source, you will want to use a feature called Light Portals.

Basically, you add an area lamp into each window, align it so that the plane of the lamp is in line with the plane of the window, scale the lamp up (using the size value in the lamp settings) to be the same size as the window, and then check the Portal option that is also found in the lamp settings.

These portals help Cycles figure out where the light is coming from, and can greatly reduce noise.

Here's a good video that goes over setting them up and how they work: https://www.youtube.com/watch?v=1LjLyTBbl6s.

EDIT: Here's an actual comparison of your scene. I added a portal at each window/door/skylight, and used the exact same settings as you had. The only difference was that I changed the dimension scaling from 200% to 50% and the samples from 2000 to 50, just so I could do this quickly.

Here is with no Portals and 50 samples. It took 38s to render on my GPU.

Now here is the result with a portal at each light source (even the ones outside the camera view). It took only 4 seconds longer at just over 42 seconds.

And I think those results speak for themselves... :)

Here's the file too if you want to look at what I did. You will have to relocate the HDRi though, as I had to set it to a different path on my system.

EDIT #2 I also noticed that you have a large number of light bounces. Since the portals really brighten up the image as well as reduce the noise, you can lower the bounces back down, and it will make your image even brighter, as well as render a bit faster. A max of 8 bounces and min of 3 gave this result and shaved just over a second off the time as well.

Do keep in mind that this is an interior scene, and the nature of interior scenes is that there are a lot of light bounces, especially when using multiple light sources. Keeping the bounces low will help with noise, brightness and render times, although for a good final render a few thousand samples will still be necessary.


How can I interpolate between two different animations?

The brutal answer is to animate a transition between the two different strips.

First consider how much of the end of the first strip and the beginning of the second strip you want to preserve.  If you want to shave some frames off of one or the other you can do that by adjusting the parameters of the strips (which does not affect the original actions, it just changes how much of that action is incorporated into your animation).

Then create a new strip that bridges the frames between the end of the first strip and the beginning of the second and populate it with keyframes that animate the figure how you want it to move.

One workflow for this process would be

create keyframe from position (or whatever) to begin a new primary action at the frame where the transitional animation will begin.
Push that new action down into the NLA track using the vv icon.
Alter the End Frame of the new strip to be the end of the transitional animation.
Create a new NLA track ( Add>Add Tracks )
Use Edit>Track Ordering>Down to move that track below the existing track.
Use Edit>Move Strips Down to move the brand new strip into the new lower NLA track.
Scrub the time line to the frame from the second (old) strip to pick up the position from that strip
With the new strip selected, Tab to begin editing its action.
Insert a new keyframe using the value we got from the second strip
select the first strip and change its Extrapolation from Hold to Nothing
Alternatively, move the NLA track with the new strip to the top of the tracks and make sure its Extrapolation is Nothing

I created an animated gif that is too large to put on stackexchange:

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

Now since I was just dealing with the location of a single cube this process was relatively easy.  Since you are dealing with an armature's animation and your animation consists of a large number of fcurves for the orientation of many bones, steps 1 and 9 will have to be repeated for every bone that has a keyframe.  Do not repeat steps 2-8.  Use the single new strip to contain all of the keyframes for all the bones of the transitional animation.


The jagged lines in the bake could be caused by a few different things:

Texture Filtering
Bad UV Map
Small Texture Size

1) Cycles image textures have an option in the node for Linear, Closest, or Cubic filtering (Smart is an option if you're using OSL). Try setting this to Cubic.
2)Even if you have a large image, it may be that the UV map in this region is too small to make effective use of the image space. Try altering your UV map to fill more of the image area, if you can.
3) You might just have a really small texture size, so the lines are jagged at that point. I can see the pixels, so this is probably it. Try baking at a higher resolution

Finally, you might use KRITA or GIMP to add a Gaussian blur to the image. You could also use Blender's compositor to do this.


Is there a way to make the grid bigger in the U.V. screen?

You can have any number of UVs for a single mesh. In the object data tab of the Properties panel you'll find the UV Maps section. Select the verts of your model where you want texture1 to go and hit U-->Unwrap. That will create the first UV Map. Now hit the "+" button next to the window and select the verts where you want texture2 to go and hit U-->Unwrap. That will create UVMap.001. By control/clicking on the names you can change them (for example, "UVMap.001" to "Texture2" so it's easy to find later). You can do this many times but there is a limit (not sure what it is but high enough for most needs). Finally in the node editor Add-->Input-->UVMap, select map and plug into vector slot on your texture node. Repeat for all textures.


How to have different materials assigned to same mesh gradate into each other (without using a mapping node)

You can use vertex colors. If you paint a mask in black and white in Vertex Paint mode(ctrl+tab -> Vertex Paint) and then mix your desired shaders or textures using vertex color node, the textures will blend gradually:

You can make various gradients from a lot of things with nodes so this is probably not the only solution. I would recommend not to limit yourself by excluding usage of any nodes such as mapping node when working with your materials for no reason. It's usually best to use all the tools available to you.


Project from view so that the UVs match the background image

Use Project from View Bounds instead of Project from View.


Facected regular solid & boolean op.

Fastest way to find out how to sudbidive the 3D space of the sphere in n parts without relying on complicated solid-angle formulas is to use regular solids.

The idea behind this is to think about the sphere as only an "external shell" that defines a boundary; what we really care is to subdivide the space itself. Regular solids, because the way they are built, already have this property.

The operator can be found in the Extra Objects add-on, which is not enabled by default, but it comes boundled in with the official build.

As you would like to subdivide the sphere in 4 parts, what we are looking for is the Tetrahedron:

By simply scaling the solid, you can adjust the radius of the circles upon the sphere. At the moment there is no geometry on the common edge. In order to make the intersection real, we should also perform some kind of boolean operations.

In this example I added and apply an Intercept boolean modifier, than select the boundary edge loops with Select edge loop (Alt+MouseDx) and finished by running the Separate command.


Is it possible to use a curvature map to create high poly model from a low poly?

You can add a subsurf modifier, set to higher levels, such as 3 or 4, and then add a displace modifier, using uv and using your map texture.  Adjust the strength, and if you are happy with it and want true geometry you can apply all the modifiers.


Collision bounds for 2D Sprites in the Blender Game Engine

Put your logic and physics settings on a different object, and parent your image plane to that object. Set your image plane as "no collision," and your other object's physics to "character." You can edit the collision bounds and other physics settings until you are happy with the result.

This is a setup I use commonly for making projectiles:

Here, I have a no collision plane parented to the collision object, but I am using rigid body physics instead of character physics on that actual physics object. - This would work in your case as well, just use character physics.


Make 2 loop cuts on the vertical shaft (Ctrl+R), bring them close to the vertices of the horizontal shaft (as Julian points out in the comments, once you accept the position of a loop cut, you can still readjust by pressing G twice), when the vertices of the two shafts are nearly touching each other (green lines on the image), select all 8 vertices (you can do it easily in Wireframe mode, press Z then W) and press M then B (Merge by distance) - the vertices should now be connected.
Remember to remove the inner face (marked red) for proper shading - you can do it easily in Wireframe mode or by hiding one of the external faces first.


You will require two armature, one to copy the transformations from and one to copy the transformations to. I have named my armature respectively Armature1 and Armature2.

We can access them through the objects collection inbpy.data.

armatureFrom = bpy.data.objects['Armature1']
armatureTo = bpy.data.objects['Armature2']

Looping through lists or collections in python is done with a for loop. The pose bones (which can have constraints are fields of the armature's pose property.

for boneTo in armatureTo.pose.bones:

We can check for a corresponding bone in the armatureFrom with the Blender API's get() method, which works on all blender collections.

boneFrom = armatureFrom.pose.bones.get(boneTo.name)
if boneFrom == None:
    continue

If you want to remove all constraints from the target bone you can loop through them and remove them with the remove() method.

for con in boneTo.constraints:
    boneTo.constraints.remove(con)

By hovering your mouse over Blender properties you can get their python tooltips. I did so with an existing copy transforms constraint and could find the names of the fields which we need to assign.

copy_con = boneTo.constraints.new('COPY_TRANSFORMS')
copy_con.target = armatureFrom
copy_con.subtarget = boneFrom.name
copy_con.target_space = 'POSE'
copy_con.owner_space = 'POSE'

The completed script is here. Paste it in a text editor area in Blender and press Run Script to run it. Make sure you replace the names of the armatures with the names of armatures present in your file. Also backup your work. There are some destructive thing going on, like removing all constraints.

import bpy

armatureFrom = bpy.data.objects['Armature1']
armatureTo = bpy.data.objects['Armature2']

for boneTo in armatureTo.pose.bones:
    boneFrom = armatureFrom.pose.bones.get(boneTo.name)
    if boneFrom == None:
        continue

    for con in boneTo.constraints:
        boneTo.constraints.remove(con)

    copy_con = boneTo.constraints.new('COPY_TRANSFORMS')
    copy_con.target = armatureFrom
    copy_con.subtarget = boneFrom.name
    copy_con.target_space = 'POSE'
    copy_con.owner_space = 'POSE'


You can also use curves and keep them as 2D:


All animations are not exporting in .glb format?

The Blender documentation has a section on how to ensure that your scene can export to glTF. It looks like only some of your actions are marked as NLA tracks, which is probably why not all are exported. See:
https://docs.blender.org/manual/en/latest/addons/import_export/scene_gltf2.html


I can't move the finger from makehuman model with rigs

For a rigify rig the fingers curl is controled by scaling S. This automaticaly rotates all finger bones at once.

Related: What are the not so obvious features of Rigify?


OBJs not importing to Blender 2.8, is there a workaround?

Import it in 2.79, save it as a blend and open it in 2.8


Object not appearing the render, but is appearing in viewport render

However I have not watched this tutorial but it seems particle system is used for sprinkles on ice and I think You Have Disabled the 'Show Emmiter' Option in Particle settings
but in viewport display it is enabled that's why this ice is shown in viewport but not in rendered view

for emmiter ie; ice to be visible in rendered view just go to particle settings and in render check "show emmiter " and this will work


How can I create an orthographic render similar to the Portal 2 promotional videos?

It's not clear on what aspects your question is focussed. For this orthographic render I used BI since freestyle isn't available when using cycles. The caracters were made from a plane with a few extrusions and a circle.

Enable freestyle in the render tab :

To control which objects get outline,  create a group (here desk and sitting guy) after that go to the Render Layers Tab select the group in the highlighted box (red).

If you want to use cycles you might be interested in blender-cycles-toon-material-node-setup


I agree with the commenters, but I will go ahead and further explain what goes on here.
A UV map is instructions for how to take an image, and wrap it onto a mesh like wrapping paper. The problem you are having is probably because one of these: UV maps (quite justifiably) do not care about

Different aspect ratios of the image than that expected.
Changes in the scale of the mesh (this is a very good thing, but is likely the trouble you are having).

What is the scale of your object?
How did you make your UV map?
Did you scale the mesh within edit mode after you had UV unwrapped it?

... Find out next time on The Happy Family!


Sequentially rotate object along two arbitrary axes

I think I may have figured it out...:

frame 1:

use 'child of' constraint to parent object to 1. axis (other object or empty)

frame 60:

rotate axis 1
keyframe object's rot/loc

frame 61:

apply visual transform to object
keyframe constraint factor (1. axis) to 0
keyframe object's rot/loc
add 'child of' constraint to object with 2. axis (other object or empty) as target

frame 120:

rotate axis 2
keyframe object's rot/loc

frame 121:

apply visual transform to object
keyframe constraint factor (2. axis) to 0
keyframe object's rot/loc
add 'child of' constraint to object with 1. axis as target

frame 180:

rotate axis 1
etc.


Use an add Input>Image node.

If the image is already loaded in the UV/Image editor all you have to do is select it. If not you have to import it.


you will have to edit the file yourself. You can delete the empty line between "category" and "anim stuff", it seems to trip up the bl_info parsing:

bl_info = {
   "name": "Zelda64 Importer",
   "author": "SoulofDeity",
   "blender": (2, 6, 0),
   "location": "File > Import-Export",
   "description": "Import Zelda64",
   "warning": "",
   "wiki_url": "https://code.google.com/p/sods-blender-plugins/",
   "tracker_url": "https://code.google.com/p/sods-blender-plugins/",
   "support": 'COMMUNITY',
   "category": "Import-Export",
   "Anim stuff": "RodLima http://www.facebook.com/rod.lima.96?ref=tn_tnmn"
}


Is Physics calculation multithreading possible?

Generally speaking, multithreading for physics simulations is only possible for part of the calculations and often quite difficult to implement. This has two main reasons:

Simulations have to run sequentially: you cannot calculate the results of frame N before you have the results of frame N-1. This means you cannot split up frames across many workers.
Elements of a physical system often interact a lot, through forces, collisions and the like. This makes it also difficult to divide the work spatially, giving subsets of grid cells, vertices, hair strands etc. to separate workers. Processes have to exchange information on stepping results frequently, reducing the efficiency of multithreading. Even where such division of work is possible, the process of dividing elements into suitable packages is far from simple (see e.g. section 4 in this paper on hair sim in 'Brave')

By comparison, rendering is ideally suited for threading, because

All the data is available in each frame, so splitting by frames is possible.
Samples (in a raytracer) are independent from each other, so tiling is also possible.


If you're talking about the former Limit Selection to Visible:

It's now in the 3D view N panel > Tool tab > Brush > Options > 2D Falloff.

Or in the Properties editor > Active Tool tab > Brush > Options > 2D Falloff.


Blender 2.8 not showing objects in render view (cycles)

You've accidentally paused the rendering. Click on the pause icon to update the view.


Extrude along normals, stuck going diagonally instead of inwards/outwards

The tool is Extrude Region and Shrink/Fatten.
Hit the Space bar and type the name, and move it a little bit (it's going to loock weird) and then select offset even on the tool shelf.

Good Luck


How to make Image as Planes default to Diffuse shader instead of principled BSDF to in 2.8x

On the window that opens when you add "import images as planes", there is a gear icon on the top right. Click on it and you will quite a few options open for you.  The shortcut, as you might have guessed already, is N

By default, the material is set to use the the BSD principled shader, but you can change it to Shadeless or Emit.

It is there that you can choose to use Alpha channel.

If you have a series of pictures you an choose to load all of them with a certain offset.

Lastly you can set the size and orientation.

For images that are already imported just change the principled shader for whatever it shader you like, and blend happily ever after.

EDIT:

Comparing the files from the previous version (2.79) of the addon it is quite easy to modify it to use a Diffuse shader.

Find the io_import_imates_as_planes.py file located in the /scripts/addons folder, open it in a text editor and replace all mention of Principled with Diffuse, make sure you match Upper and Lowercase correctly.

Then on lines 1013 and 1014 replace

     if self.shader == 'PRINCIPLED':
        core_shader = node_tree.nodes.new('ShaderNodeBsdfPrincipled')

with

   if self.shader == 'DIFFUSE':
        core_shader = node_tree.nodes.new('ShaderNodeBsdfDiffuse')

on line 1024

replace

    if self.use_transparency:
        if self.shader == 'PRINCIPLED':
            node_tree.links.new(core_shader.inputs[18], tex_image.outputs[1])
        else:
            bsdf_transparent = node_tree.nodes.new('ShaderNodeBsdfTransparent')

            mix_shader = node_tree.nodes.new('ShaderNodeMixShader')
            node_tree.links.new(mix_shader.inputs[0], tex_image.outputs[1])
            node_tree.links.new(mix_shader.inputs[1], bsdf_transparent.outputs[0])
            node_tree.links.new(mix_shader.inputs[2], core_shader.outputs[0])
            core_shader = mix_shader

with

    if self.use_transparency:

        bsdf_transparent = node_tree.nodes.new('ShaderNodeBsdfTransparent')
        bsdf_transparent = node_tree.nodes.new('ShaderNodeBsdfTransparent')

        mix_shader = node_tree.nodes.new('ShaderNodeMixShader')
        node_tree.links.new(mix_shader.inputs[0], tex_image.outputs[1])
        node_tree.links.new(mix_shader.inputs[1], bsdf_transparent.outputs[0])
        node_tree.links.new(mix_shader.inputs[2], core_shader.outputs[0])
        core_shader = mix_shader

Be aware of the indentation change, as you are getting rid of a conditional if and else statements.

Save the file and enable the addon again.

Here's a version of the modified file


Why is the default image format for saving renders is in PNG?

TL;DR: It's a well supported file type that is a pretty good mix of file size, detail preservation, and alpha support.

I'm not a developer, so I can't say for sure, but I think there are a number of good reasons why PNG is the default format. It's by no means perfect, there is no perfect image format, they all have some benefits and disadvantages.

One of the  most likely reasons is that PNGs are widely used and well supported. You won't run into another program that doesn't support PNGs. Being a software that can be used with other programs, it would make sense for the default file type to be a widely accepted one.

PNGs also have better compression that JPEGs for the average blender render. JPEGs are more commonly used for photos with soft transitions, as the lossy compression is much less obvious. Once you add an sharp details though, such as edges or text, the compression becomes an issue. That is most likely why JPEG is not the default.

While EXR has a number of advantages that make it great for compositing and serious rendering, for the average blender user it's just not necessary. The downsides of EXR is the file size and the potential conflicts with other software or websites. I would guess that most blender users never even touch EXR, and thus the benefits would be lost, yes some disadvantages would be noticed.

Overall, I think PNG was chosen as its pretty good at everything. It has an alpha channel, lossless compression, decent color range, and relatively small file sizes. While you could find a file type better and several of these criteria, you won't find a well supported one that is better than PNG at everything.


In order for blender to store the location on each frame, you must insert a keyframe.

See the blender API reference for details.


Bloom effect with a transparent background?

I have tested many different combinations.
The best way to achieve it is to use post compositing.

With cycle follow the node setup with red arrows.
I also tried EEVEE, there is a BloomCol pass that you can check,
but this pass does not have tranparency, so using this or doing an alphaover node would kill your transparency. It does look fancier out of box.

but for transparency I think cycles is easier.
I am sorry if it looks messy, as I just figured it out, so I do not want to destroy my node setup.


Why is my own add-on not showing in the Preferences panel when installed?

The bare minimum is adding a register() function, otherwise it won't install. Also bl_info dict has to be formatted properly, make sure the entries are separated by a ,. Easy to test using our famous Operator Simple template (Text Editor > Templates > Python > Operator Simple)
bl_info = {
    "name": "Your Add-on Name",
    "blender": (2, 80, 0),
    "category": "Object"
}

import bpy

'''
class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

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

def register():
    pass
    #bpy.utils.register_class(SimpleOperator)

def unregister():
    pass
    #bpy.utils.unregister_class(SimpleOperator)

if __name__ == "__main__":
    register()

Further reading:

How to create a custom UI?
https://docs.blender.org/manual/en/latest/advanced/scripting/addon_tutorial.html


Axis of an object change direction with camera

I am not too sure but I think I know how to fix it. Change the objects  transformation orientation from view to local/global.
First you need to select the object and then there should be an option at the bottom toolbar

Choose global or local, I am not sure which one you want but global is probably what you are asking for. The difference between local and global is that if you rotate the object in local the arrows would also rotate, while in global the arrows would always point in the same direction. Hope this help

Note: I assumed that by camera you meant view as there is a camera object in blender.


How can I add a triangular shape with the thickness of my loop cuts?

I would recommend the following for your workflow:

If you are planning on keeping both your angle, and your stiffeners as one mesh object, then delete your two faces that your triangular stiffener plate will be running over top of first.

To do this go into face mode, select your faces (Hold Shift to select more than one), X >> Only Faces.

Next go into Edge mode.

Next, select your two outer edges (Hold Shift to select more than one) and using W >> E(Bridge Edge Loops).

NOTE: Repeat this for both triangle loops that get created.

Next Select your triangle edge loop using Alt+Right-Click.

Next hit F to fill in the the loop.


Filling a hole in a face with loop cuts forming a 2-way intersection?

Because the number of vertices are matching on opposite sides you can do Ctrl+F> Grid Fill:

Also found in Mesh> Faces> Grid Fill from the header menu in the 3D view.


Groups within the BGE

Typically you do not work with groups as the BGE does not support groups.

The BGE supports group instances, but a bit differently than Blender.

An instance typically consists of

the instance members (copies of the objects assigned to the group) and
the dupli group objects (typically an empty)

While in Blender you can move the dupli group object around and the members will follow within the BGE they have no relationship. When you move the dupli group object the instance member will remain where they are.

I just tell you that to explain why I think your issue has nothing to do with groups.

Orbiting animation

Orbiting usually occurs when you move an object forward along a local axis and rotate at a local axis. You basically change the direction of your forward move. In natural words: you move in a curve

Spinning is orbiting without moving.

But how to move along a path and still spin around yourself? You do not move forward at you local axis, but at another axis that is not local. Example: you do a step towards your target without caring your local orientation.

This can be hard as you need to compensate your local orientation.

What if you do not move at all? You let you move and just focus on orbiting.

A simple way is you parent the spinning object to another object (e.g. an empty). This way the spinning object does not move (relative to the parent). Then you can move the parent as you like. The motion will not influence the rotation and vice versa. Make sure you move the parent and turn the child.


how to print the centroid/origin of an object?

Are you trying to place object in center of grid?

import bpy

bpy.ops.object.location_clear(clear_delta=False)

or something like this.

import bpy

ACT_OBJ  = bpy.context.active_object

ACT_OBJ.location = (0.0, 0.0, 0.0)