How to initialize the Sound class in Python

Blender very rarely (if at all) instances from class.

Rather than add a new object with  ob = bpy.types.Object("blah") the blender way is to use the new method, or for images and sounds the load method of its data collection. eg bpy.data.objects.new("name", data) or bpy.data.sounds.load(filepath)

To load a new sound

snd = bpy.data.sounds.load("/path/to/soundfile")

python console, add a speaker and add sound.

>>> D.speakers.new(
new()
BlendDataSpeakers.new(name)
Add a new speaker to the main database
>>> D.speakers.new("xxx")
bpy.data.speakers['xxx']

>>> D.speakers['xxx'].sound = D.sounds.load(
load()
BlendDataSounds.load(filepath, check_existing=False)
Add a new sound to the main database from a file
>>> D.speakers['xxx'].sound = D.sounds.load("/tmp/xxx.mp3")
>>>  speaker_obj = bpy.data.objects.new("speaker", D.speakers['xxx'])

Link to scene in 2.79 and prior

>>> C.scene.objects.link(speaker_obj)

Alternatively with the operator, Add a new speaker object to the scene

bpy.ops.object.speaker_add(view_align=False, enter_editmode=False, location=(0, 0, 0), rotation=(0, 0, 0))
speaker_obj = context.object


How to "stick" an object to another such that it follows during animation

You may want the cylinders to keep their shape when the spheres are moving.
First approach: cylinders follow spheres

A way to do that is to use bones and a "stretch to" constraint for each bone:

The vertices of each cylinder are linked to there bone's group name.
Each bone is placed along its cylinder.
And each bone as a "stretch to" constraint to the sphere (with "maintain volume" to none in order to have no deformation of the diameter).

Second approach: spheres follow cylinders
If you prefer to rig/animate the cylinder and make the sphere follow, you can use a "copy location" constraint to the spheres:

For each sphere, indicate the armature to follow, then the bone and set head/tail ratio to 1 so that the sphere follow the tail of the bone.


Select your mesh
Enter edit mode
Select all vertices using ctrl+A
Select mesh menu->Vertices->Separate->by loose parts or just Press P and choose by Loose Parts

This will separate your mesh into different meshes again.


Fade-to-black can be achieved in Blender if you feel like third-party video-editing software is not optimal, or the most succinct.

Assemble your image sequence/movie file into the Sequencer.
Scrub to a part in the timeline where you'd like to begin fading to black.

Goto to Sequencer menu, click Add -> Effect Strip -> Color.  (It defaults to Black, but you can make it any color).  Note this strip should be on top of your image sequence/movie file.

Select this color strip, and hit N to examine its properties over on the right.
Find the Opacity settings just in the Edit Strip section.
Scrub to the beginning of this Color strip.
Set the opacity to 0.  With the cursor over top of the slider, hit I to keyframe it.
Scrub to the end of the Color strip.
Change the opacity, this time to 1.0, and with the cursor in the slider field, hit I.  The color's opacity is now interpolated over the duration of the strip.

You can also fine-tune the interpolation like any keyframe by opening this strip in the F-Curve editor.  Happy editing!


You would need to write an export script to dump all the data of the .blend files you want to compare into a text file.

From python you could use difflib to compare them like:

import difflib
import os

old_file = "C:\\Users\\user\Documents\\Blender\\dump1.txt"
new_file = "C:\\Users\\user\Documents\\Blender\\dump2.txt"
print(os.getcwd())
a = open(old_file).readlines()
b = open(new_file).readlines()
diff_string = difflib.unified_diff(a=a, b=b)

for line in diff_string:
    print(line)

While it makes almost no sense to compare the meshes between edited versions of a mesh (besides some stats like how the number of polygons has increased etc.)
In this BA thread you find more thoughts on that.
CoDEmanX linked his git project blend_stats there.

I started a script which is incomplete and has issues with links in objects.
You could use it as a starting point and improve it:

import bpy
import mathutils

map={}
debug = False

def dump(obj, name="", level=0):
    if level > 10:
        return
    if debug:
        print("call %d obj=%s type=%s" % (level, str(obj), str(type(obj))))
    if str(type(obj)) in ("<class 'builtin_function_or_method'>",):
        return
    if isinstance(obj, mathutils.Vector):
        print("%s=%s" % (name,str(obj.to_tuple())))
        return

    if str(type(obj)) == "<class 'bpy_prop_collection'>":
        for item in obj:
            dump( item, name , level+1)
            return

    if str(type(obj)) == "<class 'tuple'>":
        idx=0
        for item in obj:
            dump( item, name + "[" +str(idx) + "]", level+1)
            idx = idx+1
            return;

    for attr in dir(obj):
       if not hasattr(obj, attr ) or attr.startswith("__") or attr in ("bl_rna","base","rna_type"):
           continue
       if attr == "particle_edit":
           return # crashes otherwise
       if name+"."+attr in map:
           if debug  or True:
               print("already dumped=%s" % name+"."+attr )
           return
       map[name+"."+attr]=obj
       val = getattr(obj, attr)
       if isinstance(val, (int, float, str, bool)):
          print("%s.%s=%s" % (name,attr,val))
       else:
          dump( val, name + "." + attr, level+1)

print(60*"-")
dump(bpy.data,"bpy.data")


While in Edit mode in 3D View, and in View mode in UV/Image Editor, the View menu in UV/Image Editor has an item UV Local View with a checkbox. (With other views in either the 3D or UV window, the menu item may not be present).

Uncheck it.


Ok, got it, just copied the required info I needed

class ViewContext():

    def __init__(self, context):
        rv3d           = context.space_data.region_3d
        self._view_rot = rv3d.view_rotation.copy()
        self._view_mat = rv3d.view_matrix.copy()
        self._pers_mat = rv3d.perspective_matrix.copy()
        self._view_pers = rv3d.view_perspective
        self._is_perspective = rv3d.is_perspective
        self._region = ViewRegion(context.region)


Add a Texture to an Object using Python and Blender 2.8

I've been able to do this in blender 2.80 as follows:

mat = bpy.data.materials.new(name=name)
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
texImage = mat.node_tree.nodes.new('ShaderNodeTexImage')
texImage.image = bpy.data.images.load("C:\\path\\to\\im.jpg")
mat.node_tree.links.new(bsdf.inputs['Base Color'], texImage.outputs['Color'])

# Assign it to object
if ob.data.materials:
    ob.data.materials[0] = mat
else:
    ob.data.materials.append(mat)


How can I view the camera through an object as a material in Cycles?

I think you have two options: one in "real time" and another two-stepped.

The two steps workflow

This is the simplest one. You have your scene with two cameras and a screen in which we are going to see the view of one of the cameras.

The first step is rendering the view of the CCTV camera so you have an image sequence of what camera is seeing. For this, select the camera Ctrl Numpad 0 to make it the scene's active camera. Then render the scene.

Note that this render might have the same aspect ratio than your screen object.

After the render, simply add the image sequence as a texture on your screen material. Make the other camera the active one and render.

The "real time" workflow

With this workflow, which involves the compositor, you'll be able to see the real view of the CCTV camera in one F12 push.

Having your scene with the two cameras and the screen, these are the steps. (Also I've provided an example .blend below)

As a scene can only have one active camera in any given frame, we need another scene for rendering the CCTV camera. So create a new scene with Linked Object Data. Doing so, if you change datablock related stuff in any scene, it changes in both. But not transformations so I recommend waiting until the end to start this workflow.

In this new scene (lets call it CCTV scene) select your CCTV camera and make it the active one by Ctrl Numpad 0 it.
If necessary, change that scene's render dimensions to match the screen's aspect ratio.
In the main scene select the screen object and move it to another layer alone. Press M and hold Shift when you select the new layer so you can have it in both layers. Doing this you'll have your main render as expected.
Now go to the Render Layers tab add a new layer, name it "Screen". Enable only the layer where the screen object is and, in the Passes panel, enable the UV pass.

Now lets go to the Compositor.
Add the three render layers: the main one and the Screen one from the main scene and the main render layer from the CCTV scene.
Connect the CCTV node image output into the image input of a Map UV node. Then connect the UV output from the Screen render layer to the UV input of the Map UV node.
Now Add the output of that Map UV node to the main render layer.

And here is the example file:


Small difference in Texture UVs when in object mode :(

I fixed it accidentally, I just created a new mesh and joined it to the existing one with Ctrl + J and then the UVs updated and were ok.


Render out all scenes and save the output according to each scene's render settings

you just loop through the scenes and execute the render operator :

import bpy

for s in bpy.data.scenes :
    bpy.context.screen.scene = s   #set as the active scene
    bpy.ops.render.render(animation = True) #render animation
    #bpy.ops.render.render()  # for still render


Camera is rendering in another collection

So I figured it out after a good night's rest. The "Display in render" option (Camera Icon) is hidden by default. In the outliner on the top right there is a drop-down menu that shows you all the restrictions you can toggle, (Selectable, Hide in the viewport, et cetera) and there it was "Display in render." It's the camera icon.


Menu in the node editor is different than the one on the tutorial I'm trying to follow

What you are seeing is an addon called "animation nodes"

https://animation-nodes-manual.readthedocs.io/en/latest/user_guide/install/install.html

It is not installed by default. You would need to download it (do not Unzip the file) and install it using "Install from File"


How to cancel Constraint "Track to" for a specific keyframe

Track To constraint has a value slider called Influence, that goes from 0 (no effect) to 1 ( full effect) you can keyframe this as much as any other value in Blender.Selecting the camera, go to Constraints panel, go to the last frame you want the Track To constraint to have effect in, mouseover that value, press i it turns yellow and adds a keyframe, go to the frame you want to elliminate the constraint's effect in, change the value to 0, and repeat the previous operation to add a keyframe.


Is there a way to save the textures used inside a .blend file to a PC?

To import all the materials used in an old blend file, use the Append function. If the images that are used in the appended materials are not packed into the blend file but are saved in a folder, make sure that you don't remove this folder, otherwise your new file won't be able to find them automatically. If the images were packed in the old file they will automatically be in the new one.

You can export all the images packed into a folder with File > External Data > Unpack All Into Files, if you want to keep the images packed into the file, don't save the file when closing.


You can not animate the seed of a 3D gradient noise texture because it´s usually all fixed in a permutation table. What you are basically looking for are 4D gradient noise textures.

Why do 3D gradient noise textures not work? Imagine a 3D procedural texture as a continuous grid in space containing colour or intensity values at any node. Also imagine your mesh inside this grid. For simplicity imagine that every point on the surface of the mesh gets the colour of the nearest point of the grid assigned to it. Now imagine moving the grid or the manifold mesh. Eventually the points will move along the normal of a few faces but they can usually not move along the normals of all faces at a given time. And if they don´t move perfectly along a normal they will slide along the surface.

To overcome this limitation we need to add a dimension which we can then animate.

So how can we do this in blender/cycles?

We can program it ourselves in OSL(Open Shading Language). First we need the code for our 4D texture shader (e.g. a very simple one):

#include "stdosl.h"

shader simple_noise_texture4d(
float Scale = 1.0,
float Time = 0.0,
output color Color = 0.0
)
{
    Color = noise( "uperlin", P * Scale, Time );
}

Use the internal text editor and name the above text block e.g. noise.osl. We use the builtin noise function with 4D unsigned perlin noise. The 4th component named Time will be used to animate the texture. Scale is used to scale the texture as usual. The output is named Color. For more information see the OSL specification osl-languagespec.pdf.

Edit: By the way, there already exists a script template "Noise" in the text editor called noise.osl. I didn´t know this by the time I posted this answer. It provides some more 4D noise algorithms.

Important

On the render tab of the properties panel enable "Open Shading Language". The Open Shading Language checkbox will only be available with CPU render mode.

Then add a material to the object as usual and add a script node and set the shader script to "noise.osl". Click the "Update shader.." button next to the shader name input. Use the output colour e.g. as input colour for a Diffuse BSDF shader.

Now Time can be animated as usual.

For more complex noise just edit the OSL code accordingly.


How do I show a rendered image in a new viewport without the verticies being highlighted?

I'm not sure if it is the ideal fix, but if you just want to not see the vertices in the view on the left (which show up because toggling into Edit Mode on that object is affecting its mode in both views), I think turning off Overlays in the left-hand-side view will give you what you want. I've indicated where the relevant button is below, and give an example of what the result looks like:

As alternative, there may also be a way to only switch mode on an object in one viewport window but not in another, but that I am not sure about.


Can gravity be disabled for a single object in the BGE?

You can do that with logic bricks alone. So you do not need a constantly running python script.

Assuming your object has a mass of 1.0:

activated once with an Alyways Sensor [with deactivated True Level Triggering]

Remarks

If you have a different mass and/or gravity, you multiply the gravity with the mass to get the counterforce: Force.z = gravity * mass
Ensure the counterforce is given in global coordinates ([L] must be disabled), otherwise you get a rocket.
Gravity is per convention a force along the global -Z axis. The counterforce must be along +Z (positive Z-coordinate)
Do not wonder that your floating object is moving when touched, that is normal. The only reason it would stop by itself would be air friction. This is not part of the gravity.
This method does not work with swimming/diving objects as the counter force would not be constant.


How long will a 10 second youtube intro take to render? I have had it rendering for hours upon hours and it all seems too much!

It depends a lot on the scene.  As a starting point, I would recommend rendering one frame and see how long that takes.  If your animation is 10 seconds and you are rendering at 24 frames per second then your whole animation will be 240 frames.  If it takes one hour per frame then your whole animation will take 240 hours or 10 days.  Of course, I'm assuming a lot without knowing about your scene.

The actual time it takes could vary greatly from my estimate.


Here are a couple of things, you might want to try (actually, this is more of a comment than an answer, but I haven't earned privilege to make comments yet).

Selections in outliner (the right hand side panel) are much faster than in the 3d area.
You can try hiding other objects with Shift+H (Alt+H to clear).
Alt+B will allow you to select a small portion (box select) to work in edit mode. You can switch back to the normal mode by pressing Alt+B again.


Can I display the image from a camera on a plane in the same scene?

I don't think  Blender is capable of render two cameras in the same process.

But you can make the light from the sides reaching the camera in the old way: make a hole in the ship and bend the rays by 90° (with a mirror).

In the picture above you can see Suzanne in a whaleish vehicle with some other smaller spaceships (red, yellow and green) on both sides.

Anyway I think it would be easier to put two cameras and composite the holograms in post. You'll surely have much more control on their final appereance.


How to link different parts of data blocks?

Create a Text and type ABC in edit mode, then create another text, go to the properties window, text panel: the first tab will show a dropdown menu with two datablock, named "text" and "text.001".

Just assign the first ("text", wich is "ABC") to the second object and every time you edit the "ABC" text, it will update all the objects, as they refere to the same object data.


how to combine two Maximo animation without repeating from origin

Modifying via the graph editor
If you open the graph editor, you'll probably see something like this:

where the crenelated parts are the character translation along time.
You can select it and translate it along the Y axis of the editor windows GY:

Shifting the armature (or a parent of it)
You can also keyframe the armature (or a parent of it) position and set its curve to "constant".
But this is a bit harder to adjust because curves scales and orientation are not necessarily the same.

Repeat with offset
You can also use a "cycles" modifier. Though, as there are probably many curves, you'll need to set it a lot of times. And practically, this may be painful.


Shadow Catcher blocks background image in 2.8

Found out an answer. I should've just searched tutorials instead of troubleshooting forums instead.

Here's the link that helped.
https://www.blendernation.com/2017/04/17/use-new-blender-shadow-catcher/

So I apparently just needed to hit render and mix up some nodes in the compositor.

Thanks to the people who took their time to correct my post as well!


Observation is a Start

There's much knowledge in between your observation ("color changes a little bit") and the "whys" your observation manifests. Seeing as how this is a Blender forum, and most folks are intermediate to advanced, I will delve into some of the whys with the hope that you expand your colour knowledge and help to educate others.

First, unless we have done some dark alchemy via OpenColorIO, our image will be exiting Blender as an RGB based tri-colour model. So factoid number one: RGB is a relative colour system. But what does that mean?

If we take a flash light and cut some plastic of red, blue, and green transparency, we could cover our flash light with the plastic. This would deliver a coloured light of course. But what colour? That is precisely the question to ask when someone starts speaking in terms of values like 0xE3E5E7, which is nothing more than a hex value representing a numerical value relative to the RGB colour space in question. In this case, Blender assumes sRGB / 709 primaries. That is, the absolute colours referenced are relative to the sRGB or 709 specification. If our colour spaces are not aligned, despite having identical RGB values, the colours we look at will not be the same.

Into YCbCr

When we render the colours to a codec format, in most instances we are performing a transformation of the data into the codec model's format. Typically, most codecs will store data in a very different model compared to RGB, often being YCbCr. The YCbCr model extracts / isolates the luma from the curved RGB values and stores it in Y. The Cb and Cr values then represent two axes that stretch along yellow-blue (Cb) and green-red (Cr). A very different model with a unique transformation.

Second, the codec format typically requires a scaling of the ranges to meet broadcast specification standards. This is nothing more than shrinking the values to a smaller range via a scale, and then offsetting the values slightly.

Third, due to the human eye generally being less receptive to colour as compared to intensity, a codec will often scale down the Cb and Cr channels to make the codec smaller in size.

Fourth, the codec will likely compress all of this data even further using some form of lossy encoding standard, although it may also be lossless.

When Encoding Doesn't Match Decoding

Needless to say, the above steps outline a varying number of potentially complex transformations to get your RGB data out of the RGB model and into the YCbCr model. If any one of those steps is incorrectly handled by encoding or decoding, your results will vary quite dramatically.

So the simple question is "Given all of the above maze-like transforms that happen, can I get anything close to my original RGB image?" and the answer is unequivocally "Yes!" Can you do it with a simple click of a Blender render button? The chances are likely "No."

Let's assume we do a perfect encode of our material, what then? Then we are relying on the exact inverse of all of the above transformations to end up back with our perfect RGB values1. As you can guess, this only happens when an artist checks their work and the player is perfect. Even then, to achieve real-time playback, a piece of software may hand off the YCbCr stream to the graphics card, and you guessed it, they will often decode things incorrectly for any number of reasons.

Advice

If you are interested in achieving a perfect encode, the best advice is become a knowledgeable artist in the realm of colour and pixels. You have taken the first steps in noticing that things aren't quite right.

If you encode to a series of images and then encode again to your codec, you stand a much better chance of testing your pipeline for accuracy. In particular, because most encoding software may have different design constraints2, they may make different design decisions that result in different results. Therefore, the safest way to handle video is to encode the YCbCr yourself and then pass that raw data to an encoder and test the encoded values.

If they match, it is out of your hands and into your audience's set of qualitative evaluations at their end to decode it, if this is your goal. If they don't, something went wrong and you can correct it.

The above is a quick outline as to the sad reality of the complexities of your initial, seemingly simple first observation. Controlling the output on the other hand, is relatively easy and will get faster and faster with more knowledge. This is likely beyond the scope of this Stack Exchange answer though, so I'll leave it at that3.

Quantization errors may be present depending on the many encoding options you choose. Broadcast scaling for example, will necessarily degrade your image due to a reduced number of bits storage.
Many video encoders and decoders may target speed of encoding or decoding for quick encoding or speedy playback. Of course this will come at a cost, often times being accuracy due to lower bit depths used to encode or short cuts to achieve playback speed.
Feel free to contact me if you want to explore this area. It is possible to encode your data to a bitwise precise encode, subject to quantization / specifications. I should be relatively easy to find.


In cases automatic wheight is not working well, manual wheighting is the best solution:
When parenting the model to his rig, choose "with empty group" option.
This will create one vertex group for every bone of your rig.
select the rig, go to pose mode, select the first bone to be weighted, select the model, go to edit mode, select all the vertices you need, In the "vertex group" tab choose the weight you want (from 0.0 to 1.0) and click assign.
Repeat for every bone.
Selecting the model and going to weight paint mode lets you check your work visually.


Plug the output from the texture into the color ramp node.

That should do the trick.

Here's how it works.

When you output an image (black and white in this example), the white values stand for 1, and the black values stand for 0.
Therefore, when you plug an image texture that is black and white (like that of the lights, all the white will be 1, and all the black will be 0. In this case, the white is where there are lights, so you want to mix with an emission shader. A value of 1 (white on the texture) will mix completely, and a value of 0 (black) will not have any light.

The color ramp node, is simply for mapping how much of the texture is 1, and how much is 0. When you plug a value it, 1 (white) will be all the way to the right, and 0 all the way to the left. All in between is the values between 1 and 0. If you change the color at the right to grey, all that used to be white (1) will now be grey (0.5).

This way, if you drag the black slider almost right up to the white end, there will be no light until the texture becomes very white.

Here is an illustration.
On the right, the lesser lights are cut out, so just the powerful ones shine through. This is done by the color ramp.

Also check out Gleb's tutorial. It is a good example. Just watch how he uses it.

http://www.creativeshrimp.com/how-to-make-a-spider-web-in-blender.html

In your case, I wouldn't use it, except you may not want there to be as much light, then use it maybe. Just preference.

However, if you look, where there is not light in the texture, it is not completely black, so you may want to turn up the bottom a little bit, to crush all low values to 0. (like this) [example uses white as input for emission, not color as input, making the lights more prominent (which is what I would do when making a globe).]


How can I get the Total Face Area of multiple meshes?

Total face area of selected meshes

Calculates the total global face area of all mesh objects selected.

Uses bmesh from object to get modifier deforms, and transforms using the world matrix to take into account scale.

import bpy
import bmesh
context = bpy.context
dg = context.evaluated_depsgraph_get()

bm = bmesh.new()
areas = []
for o in context.selected_objects:
    if o.type != 'MESH':
        continue
    bm.from_object(o, dg)
    bm.transform(o.matrix_world)
    area = sum(f.calc_area() for f in bm.faces)
    print(f"{o.name} faces: {len(bm.faces)} area: {area}")
    areas.append(area)
    bm.clear()

print(f"Total Area: {sum(areas)}")


How can I control playback of video textures?

Select the object with the material. Go to the Properties window, click the Material Properties tab, and extend the Base Color settings by clicking the little triangle. Now you can see a field for the Start Frame value.
Alternatively select the material in the Shader Editor window and change the Start Frame value in the Image Texture node.


Object behind transparent wavy foil/glass has dark spots

I think you've just forgotten to remove two object from rendering, thus the overlapping (I don't know why the render icon is not displayed by default though):


Alpha Transparency not working for mesh in Cycles Render

To render transparency in Cycles you need a transparency shader.

Setup your nodes in this kind of configuration, and set your key frames on the "Fac" value of the "Mix Shader" :


Inconsistent UVmap when 'follow active quads'

I decided instead of making the Uv fit the image, I’d just make the image fit the UV !
I exported the uv maps into photoshop and warped them.


Blender 2.8: I want to select the whole image for each face of a cube

The easiest way to do what you want would be to go into Edit Mode, select all, press the U key and then select Cube Projection.

This will unwrap your cube and overlay all faces on top of each other, completely filling the UV texture space.


Delete the renderlayer node from the node setup, and then blender won't render the 3D scene.

If there is anything in the VSE or the compositor,  by default blender will prioritize rendering it over rendering the scene unless you explicitly disable it in the render settings:

If use nodes is enabled, then blender will only render the 3D if it's needed for the composite. (i.e. there is a renderlayer node using the scene as input)


Normals problem; Difference between shading modes?

First make sure all your normals are consistent, and all pointing out. If some of them are backwards, that will wreak havoc on the shading.
Mesh Shading
The difference between smooth shading and flat shading is in how the normals are interpolated.
Flat shading uses one surface normal per face, to define the surface's shading. Which makes one color for each face.

Smooth shading takes uses the vertex normals, one normal for each vertex. Which blends the normals of the agents faces to create a smooth transition between the two faces.

What I think is happening in your mesh, is that the top is not completely flat and the small edges are making a problem for the smooth shading.
Because you are exporting it for a game, blenders shading model really does not matter. The game engine will control the shading, however it probably will use its own smooth shading.
To ensure that the sides and the top do not get lumped together in some smooth shading artifact, I would recommend adding a Edge Split modifier. Set the Split Angle to something around 80°.

Doing so will separate any faces that meet at an angle of 80° or higher. Because the faces will be separate, it will eliminate any chance of smooth shading artifacts around the edges.


How to smooth shading glitches around edge

To be scared even more you can use Zebra matcap shading in viewport.
Issue raise more visible.

You can change Data Properties > Normals > Auto Smooth > Angle to 14 in this case, that make the Normal Shading better, but it doesnt fix it entirely.

Both issue makes even beter with SurbSurf 5.

... but since cuts are far from folowing base topo, it generates a lot of Ngons with unpredictable triangulation. I think Retopo is waiting for you :)


Use reasonable view port clipping range in your 3D view, please.

There are fixed amount of precision degree in view port (32 bit perhaps?). If you make the view port cover range too large (from 0.000001 to 1000), it will cause z-fighting in your scene.

If you're doing that infamous tutorial, use these setting should handle your scene correctly.


VSE: Turning split screen on and off when using multicam

I think I understand what you want, but I’m not sure what multicam is. What I would expect you to do is to have two transform strips, each attached to one of two identical video strips (identical, that is, except for one coming from a different camera). The transform strip on a higher channel should be set with a compositing setting (in strip properties) that allows the other transform strip to show through in its appropriate location. Probably “alpha over.”
When you use a transform strip, the transform strip itself is like a new version of the old video strip to the sequencer, and should be treated as such in how you composite it. I think you can actually set the transform opaqueness to half (with the right compositing setting) and see the original video underneath.


Is it possible to make stains from a fluid simulation?

Making stains from fluid stimulation would hamper your scene performance as it would cost too many polygons (Fluids are expensive) and also it will be really difficult to do something like that as fluids are meant to flow not stay on a mesh like stains so the simplest and most effective way is to use texture projection to project stains on your mesh or you can also make custom texture combined with some roughness and bump maps to make some part of your texture look like stain.


Attaching a curve by its endpoints to two spheres

This is a great case for hooks.

Position your two spheres where you want. Then add the curve between then with the two ends where you want them to touch on the spheres.

In object mode select one of the spheres then select the curve; hit Tab to go in to edit mode. In the curve's edit mode select the end point of the curve on the same end as the selected sphere, then press ctrl H. Choose hook to selected object.
Repeat for the other end of the curve on the other sphere.


That was easier than I expected!

import bpy
import bmesh
obj=bpy.data.objects["Cube"]
obj.select_set(True)
i = 0
for mat_slot in obj.material_slots:
    #enter edit mode
    bpy.ops.object.mode_set(mode="EDIT")
    #deselect all
    bpy.ops.mesh.select_all(action='DESELECT')
    #choose the active slot based on the loop number
    bpy.context.object.active_material_index = i
    #select the faces of the active slot
    bpy.ops.object.material_slot_select()
    #make a bmesh from the mesh
    me = bpy.context.object.data
    bm = bmesh.from_edit_mesh(me)
    #list to populate with lengths
    edge_lengths = []
    #if edge is selected, get its length
    for e in bm.edges:
        if e.select:
            edge_lengths.append(e.calc_length())
    print(edge_lengths)
    i=i+1
bpy.ops.object.mode_set(mode="OBJECT")


Orange in timeline, playblack won't go to frame 1

oops, I immediately solved it right after I posted. I unchecked this little box and it went away. Maybe If I leave this here, someone else with the same problem can find this and solve it too.


How can I apply reflection texture to a material?

It sounds like blue and green together are being used to affect reflectiveness, which is why cyan gives the strongest effect - in any case it seems like red is not used for shininess purposes, so Separate RGB can be used to grab the other two channels.
You could use a ColorRamp to adjust the strength of the effect before sending it the material, I guess by reducing the roughness and maybe increasing the metallicity. I suspect that the green and blue channels might be used to control two different aspects of the material but you might just have to play around until you find something that looks decent.
I've updated my Example .blend file to send the result of adding blue+green to Metallic, and then inverted it before sending it to Roughness (so cyan is inverted to black, making it 0 roughness).


It looks like it has now been ported to Blender 2.8.
https://github.com/timothy-strange/bullet-constraints-tool


When an object is added, why does it fall through the grid?

The grid is not a floor or ground. It is not even an object. It is just a guide so that users can see the units used in the scene and to have a visual representation of the horizontal coordinates.

All objects have what is called an origin (a pivot point or a "center", usually represented by an orange dot) The origin of the the created object is then placed where the 3D cursor is on the scene. By default the cursor is at coordinate 0, 0, 0.

In other words, by default the object's center is placed at the center of the 3D space.

To have your objects appear in a different place, just move the 3D cursor.


You can overlay the 3D Viewport using a draw handler.

Use 'PRE_VIEW' to have it in world space behind everything else, 'POST_VIEW' for world space like a real object (depth test). 'POST_PIXEL' is screen-space on top of everything else, but requires 2D coordinates.

You would need to hide the real camera however, which is drawn by C code - maybe put it on another layer or simply hide it? Note that you can't move the camera while it's hidden.

Proof of concept:

import bpy
import bgl
import blf
from mathutils import Vector

bbox_normal = ((-1.0, -1.0, -1.0), (-1.0, -1.0, 1.0), (-1.0, 1.0, 1.0), (-1.0, 1.0, -1.0), (1.0, -1.0, -1.0), (1.0, -1.0, 1.0), (1.0, 1.0, 1.0), (1.0, 1.0, -1.0))

def draw_callback_px(self, context):
    if context.scene.camera is None:
        return

    font_id = 0  # XXX, need to find out how best to get this.

    # 50% alpha, 2 pixel width line
    bgl.glEnable(bgl.GL_BLEND)
    bgl.glColor4f(1.0, 0.0, 0.0, 0.5)
    bgl.glLineWidth(2)

    bbox = [context.scene.camera.matrix_world * Vector(x) for x in bbox_normal]

    bgl.glBegin(bgl.GL_LINE_STRIP)
    bgl.glVertex3f(*bbox[0])
    bgl.glVertex3f(*bbox[1])
    bgl.glVertex3f(*bbox[2])
    bgl.glVertex3f(*bbox[3])
    bgl.glVertex3f(*bbox[0])
    bgl.glVertex3f(*bbox[4])
    bgl.glVertex3f(*bbox[5])
    bgl.glVertex3f(*bbox[6])
    bgl.glVertex3f(*bbox[7])
    bgl.glVertex3f(*bbox[4])
    bgl.glEnd()

    bgl.glBegin(bgl.GL_LINES)
    bgl.glVertex3f(*bbox[1])
    bgl.glVertex3f(*bbox[5])
    bgl.glVertex3f(*bbox[2])
    bgl.glVertex3f(*bbox[6])
    bgl.glVertex3f(*bbox[3])
    bgl.glVertex3f(*bbox[7])
    bgl.glEnd()

    # restore opengl defaults
    bgl.glLineWidth(1)
    bgl.glDisable(bgl.GL_BLEND)
    bgl.glColor4f(0.0, 0.0, 0.0, 1.0)

class ModalDrawOperator(bpy.types.Operator):
    """Draw a line with the mouse"""
    bl_idname = "view3d.modal_operator"
    bl_label = "Simple Modal View3D Operator"

    def modal(self, context, event):
        context.area.tag_redraw()

        if event.type == 'ESC':
            bpy.types.SpaceView3D.draw_handler_remove(self._handle, 'WINDOW')
            return {'CANCELLED'}

        return {'PASS_THROUGH'}

    def invoke(self, context, event):
        if context.area.type == 'VIEW_3D':
            # the arguments we pass the the callback
            args = (self, context)
            # Add the region OpenGL drawing callback
            # draw in view space with 'POST_VIEW' and 'PRE_VIEW'
            self._handle = bpy.types.SpaceView3D.draw_handler_add(draw_callback_px, args, 'WINDOW', 'PRE_VIEW')
            if context.scene.camera:
                context.scene.camera.hide = True
            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "View3D not found, cannot run operator")
            return {'CANCELLED'}

def register():
    bpy.utils.register_class(ModalDrawOperator)

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

if __name__ == "__main__":
    register()

    for area in bpy.context.screen.areas:
        if area.type == 'VIEW_3D':
            ctx = bpy.context.copy()
            ctx['area'] = area
            bpy.ops.view3d.modal_operator(ctx, 'INVOKE_DEFAULT')
            break

To draw the box on top of everything else (like X-ray):

from bpy_extras.view3d_utils import location_3d_to_region_2d

# ...

    bbox = []
    region = context.region
    rv3d = context.space_data.region_3d
    for x in bbox_normal:
        coord = context.scene.camera.matrix_world * Vector(x)
        bbox.append(tuple(map(round, location_3d_to_region_2d(region, rv3d, coord))))

    bgl.glBegin(bgl.GL_LINE_STRIP)
    bgl.glVertex2i(*bbox[0]) # must be 2i for 2D integer values!

    # ...


Custom file output name format using incremental letters instead of numbers?

Well, this is awkward, I just figured it out. I had looked at an answer to a similar question here, but having no experience with scripting, I thought I wouldn't know how to adapt it to my needs. Turns out that after looking at some basic python tutorials, I managed to write a script that, while not very elegant, definitely works. Here's the script in question:

import bpy
letter = 'A'
def handler_set_filepath_based_on_frame(scene):
    if scene.frame_current == 1:
        letter = 'A'
    if scene.frame_current == 2:
        letter = 'B'
    if scene.frame_current == 3:
        letter = 'C'
    if scene.frame_current == 4:
        letter = 'D'
    if scene.frame_current == 5:
        letter = 'E'
    if scene.frame_current == 6:
        letter = 'F'
    if scene.frame_current == 7:
        letter = 'G'
    if scene.frame_current == 8:
        letter = 'H'
    if scene.frame_current == 9:
        letter = 'I'
    if scene.frame_current == 10:
        letter = 'J'
    scene.render.filepath = ("/tmp/NAME%s0#" % letter)

bpy.app.handlers.frame_change_pre.append(handler_set_filepath_based_on_frame)

I'll likely will never need to render more than 10 frames or so. So manually defining a variable for each isn't that much of a hassle.

Here's the answer from which I based my script off of.
Changing filename format based on current animation frame?


Yes, the point is to add additional reflection components without combining their reflected energy, which would make the surface appear to glow. Is it helping? Maybe, maybe not. Carpaint shading is usually less complicated than a lot of people make it out to be. People have a habit of getting carried away with a lot of crazy effects with drag down rendering time and only even look good under one specific lighting setup.

I honestly have no idea what the artist was trying to do in that first screenshot, and I'm not sure they did either. Fresnel node with IOR=1 outputs solid black, so a bunch of the nodes on the bottom of the image aren't even doing anything.

The second one is decent enough carpaint, just inefficient in some ways. The two mix diffuse shaders could be subsituted by mixing colors with the mixRGB node and passing it to a single shader. The voronoi texture is there to make the sparkly flakes seen in some car paints. (note: most modern metallic paints have very small and dense flakes that are better approximated with a rough glossy shader than trying to represent them directly with a texture).


With the Image texture Add transparent and Diffuse BSDF with Mix Shader. With the Alpha of image texture connect to Factor of Mix shader as shown in image.

Another simple way just activate Image as plane addon in Blender. Press  Shift+A Mesh -> Image as plane. Navigate to the png image. Thats it Press Shift+Z to render view.


You have to select the object you want to delete. Then you can click delete on the tool tab or you can use your shortcut which is x and select delete.


EDIT: Oops, I assumed you were using the Cycles renderer. For the Blender Internal renderer, it's a little different.
This is also sometimes called "grain" or "grainy" which might help your research.
Not to worry, you CAN get a better result. This is just because you've not rendered enough samples. The AO bake gets its quality settings from the "gather" section. Increase the number of samples and you will have a better result. Try adding 5 to the number of samples, and if it's still grainy, add 5 again. Keep adding 5 until you either get a good result, or the bake takes too long ;-)
There's even more information in the Manual:

Samples
The number of rays used to detect if an object is occluded. Higher numbers of samples give smoother and more accurate results, at the expense of slower render times. The default value of 5 is usually good for previews. The actual number of rays shot out is the square of this number (i.e. Samples at 5 means 25 rays). Rays are shot at the hemisphere according to a random pattern (determined by the sample methods described above); this causes differences in the occlusion pattern of neighboring pixels unless the number of shot rays is big enough to produce good statistical data.


Why can't I convert object to Grease Pencil?

Actually, even though it says mesh, it only converts it to curve no matter what. But, you could convert the mesh to curve. Then, you can convert the curve to a grease pencil. It's the same thing, the thing is there's just an extra step.


What are the formulas governing blender's exponential easing for animation fcurves?

The math used can be found here, the calculations for the parameters used can be found here.

The calculation used for exponential ease in is -

change * powf(2, 10 * (time / duration - 1)) + begin

The curve is calculated between a start keyframe (begin) and an end keyframe, time is the time elapsed since the start key and duration is the total time between start and end, change is the amount the keyed value changes between keyframes.

The commit that adds this and the other nine interpolation types to blender contains links to easings.net and robertpenner.com/easing/ as the source of the calculations.


How to "activate" some camera, i.e. view through it?

Ctrl+Numpad 0 sets an object as an active camera, but is not intended to change the point of view itself.
In order to view from the active camera, just press Numpad 0 or on the 3D Viewport's menu choose  View> Viewpoint > Camera.
Or select View > Cameras > Active Camera


How to get bounding box of multiple objects in a rendered image with Python?

A solution that worked for me was to use an File Output node instead of viewer node and save the image in openEXR format with full float color depth using this node setup

And then read that image via CV2 library instead of reading it from viewer node image.

Simply replace the following line in the code snippet in question

pixels = np.array( bpy.data.images['Viewer Node'].pixels[:] ).reshape( [height, width, depth] )

with

pixels = cv2.imread(r"filepathOf.exr",  cv2.IMREAD_ANYCOLOR | cv2.IMREAD_ANYDEPTH)
pixels = cv2.flip(pixels,0)

and it should work fine giving you coordinates of the bounding boxes


To delete one or several screen layouts you should use Info window:

Here the same technique as for deleting images is used, i.e with Shift pressed click  button near the screen layout name to delete it completely from the .blend (it will disappear after reboot).

To delete many layouts, it may be easier to delete all of them except for one.


Texture rendering differently than in material view

Change the scale of your mapping node to something greater than 0


Mirror zoom magnification between adjacent windows?

You can use Quad View for that.
Set up those 3 views so each of them is different (top, side and front). Then turn on its Lock and Box features :

You can zoom and grab those views simultaneously:


Uhhhh... You can use Blender on basically any computer, it's just a question of how well it will work. (Buy the way, graphics cards and video cards are the same thing)

But yes, you probably will be able to run blender and make some animations.


Uv unwrapping a bent cylinder shape not working correctly

It is hard to tell whether you properly marked the needed seams. Possibly the caps of the cylinder you are using for the strings are still there and alter the way it is unwrapped.

Try the following. Build Curve using a Bezier Curve -> Convert to mesh -> Mark seam along length of the mesh -> Unwrap -> Done


On your second armature "Armature.001", the mode "Rest Position" is enabled. That prevents you from modifying the pose.
Select "Armature.001", go to "Object Data" properties, then select "Pose position" instead of "Rest position". The Copy/Paste operation should now work as intended.


how to extrude an edge that stays connected with the face?

I assume that your wall is orthogonal to the x-y-plane. Then there are several options to extrude the floor without loosing "connection" e.g. lifting your wall up.

If your plane is level you can easily lock the extrude to a plane by Extruding and then (while the extrude is active) press shiftz this will lock the movement to the x-y-plane. In case you want the extrude to be rectangular you can press y during the extrude to lock it to the Y-Axis. (This can be a powerful technique if you are comfortable with the different coordinate system orientations in blender) Blender_Manual

The other method is, as pointed out in the comment, using vertex snapping with the target being a plane. https://www.blender.org/manual/editors/3dview/transform/transform_control/snap.html%3E


Yes, you can just hit Alt + v to split it while hovering over the edge you would slide it on and then click g to slide it:

It's also in Mesh -> Vertices menu(Ctrl+v) as Rip Fill

Edit: I just realized this is not completely the desired result you show in the picture, because there is still an edge left where it was originally and you would need to dissolve it with Alt+x, however I think this is the closest thing. I think it would not make sense to have a tool that would remove the edge, because in that case it would in most cases leave untidy geometry, that might be best to avoid, so I can understand why there is no such a tool precisely as you described.


How to randomize Animation Nodes spherical/directional falloff?

Figured out the answer before posting the question :)

So what you can do is add a wiggle falloff node and mix it with the directional falloff ("add" mode). With the "evaluate falloff" node you can then convert the combined falloff to numbers that are easy to manipulate. The idea is to clamp the resulting falloff so that the top&bottom remain flat, but just the middle is randomized. Then just convert the strengths back to a falloff with the custom falloff node.

It takes some tweaking of the values to get it line up right, but the idea is quite simple. You can see the exact values I used in the screenshot below.

I also added a "map range" node after the clamping, to restore the upper and lower limits to what they should be according to the offset matrix node. (they shift a bit as a result of the clamping)

Hope this helps somebody!


Why is fluid not entering this hollow object?

Perhaps its the issue of Volume Initialization of obstacle being set as Volume instead of shell.
Volume- considers the obstacle(although with a hole) as a whole block and bakes the simulation likewise.
shell- considers the cutoff portion and bakes what's required to.


Here a possible solution (will only work in cycles):

Instead of using a plane, turn your ocean into a volume that
stretches from the surface to the bottom of the sea.
Give it a Principled BSDF with perfectly white Base Color, Roughness set to about 0.0 and Transmission somewhere at 1.0 (all values can of course be tweaked at the end)
Beneath the surface-tab (where you just set your Principled BSDF) is a volume-tab. Open it, and choose for Volume the Volume Absorption shader. Set the Color to something ocean-ish and tweak the Density until you're satisfied.
Render and profit!

A little demonstration:

The red Suzanne is behind the ico-sphere, the spheres material (visible on the right) is something like you'd want your ocean to be. Here's a render:

The lighting is off but you get the idea. Not only can you see the Suzanne through the sphere, things like refraction, etc. are handled for you automatically.


Create an edge between a "real" and an array modifier vertex?

Scenario 1

Make one copy of Array real to be able snap extruded vertex and add Array modifier again. Like:

Duplicate Array modifier (and disable one of them)
Set Count 2 and Apply
Enable Snap > Vertex type
Create connection by Extruding E Vertex
Delete unwanted parts (second teeth)
Enable Array modifier back

Scenario 2

Do it out of edit mode by another object and than join them. Like ...

in Edit mode Shift+D first vertex
Separate > Selected P
in Object mode select separeted vertex, go to edit mode
enable Snap tool and to Vertex
select vertex, Extrude E, Snap to first Array copy
go to Object mode and Join these two Objects Ctrl+J

BTW Do you know there is a addon GearGenMaster?


Can I bake normals and diffuse to combine in a single image

I'm just answering this because the bounty is almost up and so far there are no accepted answers.
As others have mentioned above, it is possible to bake the "simulated height data" in the form of Ambient Occlusion from a Bump Map being multiplied into the BaseColor.
EXAMPLE:
I made an image of a sphere as it will eventually (truly) be - smooth with no real height data.

I then took the same sphere and added "height" information provided by a Noise Texture and a Bump Node.

From here, you can "add" (multiply) that data to the BaseColor by using an Ambient Occlusion Node.

Before baking, make sure your object has unwrapped UV's As per the baking process,  create a new image, un-check "use alpha" but DO check "32 bit float". Make sure the image is at least 2K (2048x2048).Load the image as a new image texture and have it selected (but not attached) in the material graph for the object.

Then, making sure you're in Cycles, under the Render Properties tab, and under "bake" Set bake type to "diffuse" (since you only need one color image), and click to de-select Direct, and Indirect influence, leaving only Color selected. I also recommend lowering the margin size. Hit the bake button when ready.

Once the bake is complete, go to the UV tab and select "Image > save" to save your image.

You can then load and connect it as a basecolor as you would normally.
The final result looks like this - note the only texture attached is the new BaseColor containing the "impression" of the previous height information:


Get an alpha version and Enable Develope Extras
Since somwhere around 2.9 version series appeared, some experimental features are hidden by default (they are not ready yet, we don't want a basic user to mess their file with them).
You can enable experimental fetures by enabling the Developer Extras checkbox in the Preferences.

Then the Experimental tab appears and you can choose the feature to enable.
Vertex color in sculpting is the first one.

You could probably find the features while 2.92 was in aplha or beta version, but nowadays that the version has become official, it was removed.
You are more likely to find them in old 2.92 alpha versions, current alpha versions, custom builds...


Normal baking issue, some parts are low res

This is a good video about baking good normal maps in Blender. Some similar issue resolving happening here: https://youtu.be/0r-cGjVKvGw?t=8m26s

Don't know if this helps for your problem, though. Edit, whoops, only now I noticed you used xNormal for baking instead of Blender. Oh well...

To sum it up, the issue in the video was this:

And the solution was to put value 0.05 instead of 0.1 to the 'Ray Distance' field and bake again.


This is not employing Visual keys but these examples do allow you to switch freely between constraints, animation and physics. Something akin to this - Rigidbody - Change Dynamic simulation to animatic -

Go to the link at bottom and at the bottom of that answer again there is a demo, switching from animated and physics and back again, along with a path constraint thrown in for good measure.

You can use model duplication or if the model is complex, use a 'Child-of' constraint's influence slider as described along the way.

Additionally a path constraint can be departed from mid-length as shown here (the 2nd path wouldn't be needed) -

How to sequence paths?

If the path has been followed to the end, it's constraint will become ineffective anyway. The model can be freely animated.

Another alternative is to bake the constraint action to keyframes and after deleting any redundant Dopesheet strips, the model is again free to do as you wish. Make sure to tick all boxes in the bake panel.

I've thrown this together in a hurry as it's quite late and will elaborate if you need more detail.


Add-ons don't show in menus - Blender 2,8-Mac

When you're loading the project file through File > Open uncheck Load UI and you should see all your add-ons.


Access a blender file externally (from a python script)

Only with Phyton isn't it possible I think, but with the BatchBlendChanger  Add-on it is.
You can download the Add-on here:
https://github.com/RivinHD/BatchBlendChanger
Explanation:

Start Blender and install the Add-on.
Activate the Add-on.
Search in the Search Menu (Shortcut: F3) for "Batch Import".
Now you should see a file selector.
Select all .blend files you want to change the path to relative.
Search in the Search Menu "Batch Start".
A Dialog box/Popup should appear with all you selected .blend files.
Press OK to start the process.

The process is running and could take a while with 150 files.
If Blender crashes, no problem, restart Blender again. The Process will run again at exactly the same position it was running before the crash.
You should you use the console to start blender. It's easier to restart with the console and you can watch the process.
Start Blender with the console:

open the console (cmd)
Navigate to the installation path of Blender
Start blender with the command "blender.exe -d"


Sculpting: How to join two ends (threads) of the SAME mesh?

From my own experience, i dont think you could use any brush to 'stick' 2 ends together. I haven't tried any Sculpt Brush add-ons, but i dont think you could join these 2 without adding another mesh and add a boolean modifier.


Hide parts of mesh in weight paint mode? (v2.90)

My mistake was no selecting enough (e.g. everything else) vertices to have editable in Weight Paint mode. After hiding the desired mesh, selecting everything still visible with A make all vertices paintable.


Things changing when entering/exiting edit mode are usually due to modifiers. Try disabling them to see if any is affecting your mesh on object mode.

As you have an armature modifier on the stack, I'd guess that some bone is scaled differently from (1,1,1), and that scales its assigned vertices.


How can I compare already imported Fonts with the loaded filepath?

Instead of using the bpy.fonts.open(... operator you can use the load() command for Font Datablocks which has a check_existing property built in, which should do exactly what you want:

bpy.data.fonts.load(filepath=fontb, check_existing=True)

When check_existing is set to True if a font datablock already exists in the blend file from that path then it won't be loaded, otherwise it will.

For more information on why it is generally better avoid bpy.ops commands read here:

Why avoid bpy.ops?


How important is distortion in a UV map being used for combined baking?

UV Distortion in a static scene is less of a problem than it is when your models are used for movies and RT engines (that's imho, of course). You can always cover them up to some extend or rotate your model so that they are in less prominent areas.

However, you should consider the possibility that you might want to reuse your models someday. Since uv mapping in addition to modeling is still one of the most used and useful techniques in 3D modeling I highly recommend to start learning the basics as soon as possible.


Map multiple textures to a face individually

Yep, you can manage them in Object Data > UV maps:

To use a particular map, you can select it via the UV map node (cycles):

Or in the texture settings (BI):


I would not build the armature this way but anyway, you simply need to bend the arm a bit in Edit mode so that Blender knows the correct orientation (same for the legs).
<img src="https://i.stack.imgur.com/oxQqf.jpg" alt="
" />


As the Blender Documentation states:

  Those of you familiar with other Python API’s may be surprised that
  new data-blocks in the bpy API can’t be created by calling the class.

As you stated, that makes bpy.data.objects.new the only way to create new objects.

For my purposes, I created a new class which did not inherit from bpy.type.Object but defined a self.object property and initialized it with the new function. I then wrote all the methods I needed and modified self. object inside them.

I defined one base class, and then one additional class for cameras, lamps and objects:

class ExtendedObject():
    def __init__(self,name,  obj, loc):
        self.name = name
        self.object = obj
        self.object.location = loc
        # additional properties

class ExtendedCamera(ExtendedObject):
    def __init__(self, name, loc):
        self.data = bpy.data.camera.new(name)
        super(ExtendedObject, self).__init__(name, bpy.data.objects.new(name, self.data), loc)

# classes for lamps and 'normal' objects.

I don't know if this is the best way to do it, but it worked out for me.
Hope that can help you. If not, try to describe me the purpose of your class.


Well, found a solution that works for me: I had to create an unconnected image-texture nodes to every material slot (for the bake result). Looks like it always wants to bake all materials and not just the selected one, and if those other materials don't have that node, then their bake-result end up in another image-texture node ...


Firstly, You have the texture coordinate set to UV, but the object doesn't seem to be UV unwrapped. Regardless, generated or object are the conventions for procedural textures. I also find that a wave texture works better than a gradient. Lastly, you must be in Lookdev or Rendered mode to see it.


"Minecraft Properties" tab is not showing up on rig where the tab is supposed to be there

The 'Minecraft Properties' panel is not a panel that appears in Blender by default and will only appear when you have run a script to enable it. You will either need to write your own Python script to create it or obtain an existing 'IK/FK UI' script.

The tutorial maker doesn't seem to have included the script for the panel in the downloads they provide, but they do link to several tutorials in the video description on how to create your own UI such as this one by CG Cookie.


Noise in a particular region of the Rendered image

I made a mistake by connecting the noise texture Fac to the shader in mix shader instead of connecting it to the fac.
Thank you.


Can the full features of Blender be used with a trackpad?

On modern Mac OS X, it seems you can:

Two-finger vertical scroll to rotate along horizontal axis perpendicular to view
Two-finger "spin" to rotate around up axis
or Two-finger horizontal scroll to rotate around up axis
Two-finger pinch to zoom
or CTRL + two-finger vertical/horizontal scroll to zoom
SHIFT + two-finger vertical scroll to pan along up axis
SHIFT + two-finger vertical scroll to pan along horizontal axis perpendicular to view
RIGHT click and drag to translate selected object
CTRL click and drag to lasso select


Is anyone using MySQL in Blender / python

Unless your objects have a ton of data points, a DB as beefy as mySQL would likely be overkill. A 'sql lite' version might be more effective.

Google: mysql lite python   where you'll find many possibilities, including frontends.

RE Frontends, see also Has anyone hooked up PySide to Blender?


I've finally fixed the problem in the answer to this question. I needed to click Add UVs and then upload the (blank) texture I had.
In the tool bar, I clicked Draw and then it gave me the options to paint the character.
However, I had another problem, which is that when I try to paint my character, the paint did not show. I fixed it by this answer.


Use the Mask Modifier:

On your Axe object Edit Mode assign all vertices to a group and set the weight less than 1.0

Apply the Mask Modifier to the object whose visibility you want to vary
Create a New Scene with (Full Copy vs Linked) -- can used link and then Unlink the changeable (beyond scope of this answer)
In the "Is Visible" Scene, set the Mask Threshold > Vertex Weight:

In the "Is Invisible" scene, set the Mask Threshold < Vertex Weight:

Or if you want an item to appear/disappear in the same scene, animate the Threshold or Weight (see note in previous screenshot)


Create a square block extrusion in sculpt?

You can use multiple tools to achieve the effect, but I think the easiest is to use a stencil mapped texture with the shape of the window and a Layer brush. The height of the layer brush determines the depth of the effect. For best results, the sculpt plane should be "Area Plane" locked (ticking the lock icon next to the drop down menu).

Here is a rough picture with the settings:


How to fill a mesh inner geometry to make a completely solid model

If your geometry has true interior faces

see an older version of the answer:

If there is no disjoint interior geometry.

a manual way..

First in edit mode unselect all geometry.
use box select (b) to select the visible outer faces, and rotate the model around and add to the selected set by doing more box selects until all outer faces are selected. You can also use the other selection methods, C enters a mode that lets you "paint" selections by leftclicking and dragging the mouse around (esc to exit that mode).
Then hit Z to see the model as see-through, you'll notice many unselected verts, those would be considered interior for your purposes.
Ctrl+I to invert selection.

X , delete vertices.

Holes

The problem then would be that the model now has holes that need to be filled.

A strategy to continue this in Blender is to select all edges that only attach to 1 face. You do this by selecting one such edge, and then doing

Select -> Select Similar -> Amount of Faces around an Edge.

I don't think you'll get away with hitting F (to Fill) and Ctrl + T to triangulate the result. (as shown below)

There are applications like MeshMixer that can do these tasks automatically, but I say this not as an endorsement - rather as an avenue to explore if you need to do this type of processing a lot. When you relinquish control to a program there's always a trade-off.


2D Face Animation on 3D Model: Transparent Texture?

Your problem is that the UVs for the face got moved away from the skin material. Further, the skin material is separate from the eye material, which is ok if you are following the tutorial, but note that he superimposes the eye material onto the skin material with the Mix Shader node. You only have 1 UV map--this makes it so the eyes will never be in the right place; they will always be floating out in space, away from the skin texture. We can fix that.I will record a gif or something, hang on...

...do you have a version of the file with the eye region still attached to the mesh? We should start from there. Please upload that file. Use https://blend-exchange.giantcowfilms.com/

Oh! I can just attach the animation :j

...animating the new UV map "_EyesUV" will not have any effect on the body texture now. Here is the .blend file:

NOTE: if you are no longer satisfied with your textures, there are a couple of solutions:

Export your UV layout for the eyes in the UV editor (I suspect you already know how to do this) and warp the eye textures you already have into proper orientation in Photoshop.
paint directly onto the model in Blender (see any quick-and-dirty Youtube tutorial for that). I find this technique expecially useful for high-contrast texture features I know will look warped if I try to eyeball it in Photoshop.

ALSO, IMPORTANT: Texture will be warped until you de-parent armature. I do not know yet why the armature was an issue.

I deparented the armature, recalculated the bone rolls, reset the pose, and re-parented, and it works now:

Baking the Eyes object silhouette onto an image using the Body's Ambient Occlusion.

The "Collections" panel replaces the "Outliner" panel in Blender 2.8. You can find these same options there:

If the bake takes longer than you (I) thought, it's because the second UV map also has coordinates for the rest of the body (not sure how to remove those for the bake, maybe just drag them outside the UV canvas?). Save this image:

File:


How to Solve the Mirror Modifier Error In Blender 2.82?

Press Ctrl + A to apply rotation, your rotations are wrong.


How to make particles change their direction 90 degrees

I think it's not an actual particle system
It's more like a mesh that being exposed presumably by some empty object or something like that:

Though I'm not sure how it's actually done, and as soon as I know there's no way to make particles do that straight kind of motion


Armature Animation is not rendering? (Blender 2.82a)

It worked for me straight away in Blender 2.82a

My suggestion is to use that version.
Anyway I might have had a similar issue in the past. If I remember correctly I moved the frames to the start (e.g. 0-76) and that fixed the problem. Hope it helps


Looks like that rather than using UV coordinate mapping, use generated.

to


Why do my spotlight's dimensions differ between rendered and non-rendered view?

This is because you have scaled the spot light in the 3D view. Scaling the spot light seems to effect the render in strange ways (the cone seems to get larger but the illuminated portion does not).

You can clear the scale with AltS. Then you can make it the proper size again, now using the settings in Properties > Object Data.


Changing the currently open tab in graph editor with Python

Old question I know. I found this: https://wiki.blender.org/index.php/Dev:Doc/Projects/UI/Tab_Guidelines

you have a panel right?
People seem to need a property called bl_category be set to the tab page name they want to place it on.
In regard to this question it may be:

class panelName(bpy.types.Panel):
      bl_category = "Modifiers"

Also, changing the focus is a completely different task


You do not need to use force fields to do this. You can use an object in the fluid domain with fluid controller settings. Once baking, the fluid domain will be attracted towards the control object (if you have set it's strength to do so). You can animate some of the settings for the controller so that the fluid moves around the object.


Is real multithreading possible with Blender scripting api (Windows)?

This is more of a general Python question rather than Blender. The problem is that you can't use Threading for real parallelism in CPython (which is what Blender is using, the default Python implementation). You can use multiprocessing for that, by creating another process to just run your function that you want to split between cores. The problem is that multiple processes communication comes with a performance cost, so in some cases, running everything just in a single "thread" happens to be faster.

You can use Cython for doing parallel multithreaded execution by using the 'with nogil:' statement, which turns off the global interpreter lock for encapsulated code. That's what I suggest looking for.


The shortcut to scale a bones radius is: Alt+S


Don't use an array: the duplivert, as the other answer says, will replicate your capsule at every wheel's vertex. Just put the pivot of the duplicated mesh where you want them to be "pinned" to the circle, and clear its origin (this makes wheel's and capsule origine to be in the same point in 3d space).

The other problem you have, align capsules to the ground, can be done in two ways:

The first one is simple, but somewhat limited: select the original capsule and set a "limit rotation" constraint for the wheel rotation axis, to min 0°/ max 0°. Thus, when you rotate the wheel, the dupli-capsules spin around but their "base" keeps parallel to the ground.

like this:

If you wish your capsule to behave more realistically (eg: individually oscillating to wind, or when the wheel stops) you need to make them real (see CTRL-A menu) and then set up for each some "rigid body" joint to make them behave like real object suspended by real joints... if you need this I'll try to get something to explain.

Here is a hint on how a rigid body constraint could be used for that:

which, applied to the wheel concept could behave like this:


Get/Set coordinates for UV vertices using Python

The uv coordinates are stored in 'loops':

You set ob.data.uv_layers.active.data[loop_index].uv = (0.5, 0.5)

You can see how loops work here:

# Loops per face
for face in ob.data.polygons:
    for vert_idx, loop_idx in zip(face.vertices, face.loop_indices):
        uv_coords = ob.data.uv_layers.active.data[loop_idx].uv
        print("face idx: %i, vert idx: %i, uvs: %f, %f" % (face.index, vert_idx, uv_coords.x, uv_coords.y))

# Or just cycle all loops
for loop in ob.data.loops :
    uv_coords = ob.data.uv_layers.active.data[loop.index].uv
    print(uv_coords)


Knife Project not available 2.8 (trying to cut two shapes out of one)

You need to select the first object, then the second, then go in Edit mode, then header menu > Mesh > Knife Project. Note that it will take your view angle into account.

If you want to project the inner edges of a mesh (like the rays of the circle on the image below) you need to delete its faces.


How to turn medical scans into models in Blender?

The overall goal is to extract some part from this scan and turn it into a simple and good looking mesh

It depends what is a good looking mesh according to you:
a mesh that that a same shape as the medical scan or a mesh with a good topology.

For a blender user, a good topology is very important is it will influence further modeling ( such as smooth of subsurf), UV mapping, Rendering time etc..

  •import and simplify the mesh in Blender

What do you mean by simplify? Change the topology in order to have fewer points? or make the mesh to only have quads?

  Other problems are harder to tackle because tissue or organs might not be easily separate-able

In the CT scan, for each point, do you have some kind of additional information, such as tissue density, that would help to separete organs?

  Question: For these two problems, is there a preferred way about what should be done inside Blender and what not? Are there good tutorials about it?

One could see 2 options:

Export the CT scan data in a format that can be import by blender.
Convert the CT data, in the some data point file (with a defined referential point, 3D coordinates, tissue density) like .csv and then use a python scrypt to import it into blender.


I don't know why it changed, but it only adds one more step.
Open another Outliner set to Blender File and drag-n-drop collections into any scene.
Example: Copy-pasting 'Monkey Collection' from another file.


When should I use a material over a texture?

If your objects will only have solid colors then a material will suffice.  If you want your objects to have some sort of pattern like tiger stripes or a logo then you will want to learn how to use textures.  Large texture files can affect performance, but on today's computers you can have a lot of textures before you will notice performance problems.


Why does my character model revert to a torso when I go into Pose mode to animate it?

The rigify addon creates an armature that uses drivers to control some parts of the rig. The leg bones have their scale calculated based on the value of the stretch_length, which is a custom property of the bone.

Blender has a security option that controls whether scripts are run automatically when opening a blend file, this includes drivers that use python expressions to define their calculations.

When you open a file with auto run scripts disabled these drivers aren't run so you end up with strange results like this.

The solution is to open the file with Trusted Source enabled or ensure it is in a path that is not listed as untrusted.


How do I create a procedural mask for mountains texture?

Why not use object Z coordinates? You can use a ColorRamp or Greater Than node to control where the cutoff point is:

You mention in your question that the node setup in the video you linked doesn’t work for you, but you don’t mention why, so if this approach doesn’t work for you, either, please add more details to your question.


How can I scale a UV Island within a precise border in my low-res texture?

here is an idea, but just to warn you, I am taking advantage of the "ANY help would be highly appreciated."  Hope it is worth it :)
I have a simple repeating texture:

Now I have created an example mesh like your arm:

What I have done to the corner edges is I have selected them, hit ctrl-E, and select "Mark Seam."  Then I selected the entire mesh and hit "u", and then I selected from the drop-down, "unwrap."
I then applied the texture to the arm.  Now select the entire mesh, go to the UV image editor, select all of the mesh in the UV editor window, and scale it to the appropriate size.
The texture will not be aligned on each side, however.  I fixed this by aligning it manually.  This is how: you select one whole side at a time, move over to the UV image editor, select the mesh, and move it on the x and y axis.  This will change the position that the texture is on the mesh, as shown below.  Make sure, when moving the texture, that you are moving the mesh on the UV image editor window, and NOT on the 3D view window.

This is a lot more manual work, and I hope that I did not lose you.  If I did, please say so, and I will edit this post.  Here is the result you will get:

If this doesn't exactly apply to your problem, then don't feel bad to clue me in, and I will try to help.


I cannot see or render an image as the world background in cycles

To use a flat image, (really not recommended, you don't gain any dynamic range or depth of the environment) you will need to use an image texture node rather than an environment texture node and set the texture coordinate node to window so that the image fits within the camera bounds at all times.
There is a significant drawback to this, in that using an image this way does not provide the lighting that an HDRI does provide, and therefore it is better to use an actual HDRI that contains the lighting information and that captured the correct equirectangular projection that the environment image should have. See the gifs below for an example of the differences.

Regular photo, it contains no real light information, uses window coordinates stays static while the camera rotates:

HDRI with light information, correct projection as would be expected of the world when camera is moved:

Either of those two options will solve your current dilemma, if you do not have any HDRI images, there are plenty of resources for free ones, see our Resources for Blender post here for some good ones.


Blender renders the same camera view even after camera is deleted!

If I understand the question correctly, you want to set it up as a sequence and switch cameras with a marker. I think this question is a duplicate of How swap views between multiple cameras?.

You can create markers on the timeline with the M key. Then select the camera you want to bind to that marker and hit Ctrl+B. As soon as your timeline reaches that marker the camera will switch. It is important that both the marker and the camera are selected.

So if you're doing stills, you'd only need however many frames as cameras that you have.

Edit: (select your camera and use CTRL+Num 0) ...


Unselected vertices are moving along, and my proportional editing is off

Welcome to Blender Stack Exchange! You've come to the right place. The reason you're seeing that is due to a setting in the subdivision surface modifier. It's the little button with the triangle on it (the one made of 3 dots). That changes how you can interact with the modifier. Enabling it as you have places the vertices on the smoothed mesh, but can make it harder to control as you see. Disabling it will make the base mesh more like a cage, with the smoothed high resolution mesh inside.


To scale in one plane, use Shift+ the axis you don't want to scale in.

For example, if you want to extrude and scale in the YZ plane, you would do E→S→Shift+X.

If you use the 3D Manipulator, Shift+clicking the handle of the axis you don't want to scale (e.g. Shift+click the X-axis handle for the YZ plane).


how to display only texture (100%in color) in evee viewport ? 2.8

I have found another way:

In the upper right of your 3D viewport are settings for the viewport shading method. Select the white sphere (Solid mode) and then choose Flat and Texture.


How to set the physics property of imported mesh in Blender

Eventually I figured it out. It turns out that the mesh model is too complicated. I need to first use the Decimate Modifier to simplify it. Then it works normally, although with some vibrating effect.


Size of an object from a distance of the camera

Notes towards an answer.
The size of the final output image (in pixels) depends on the resolution settings for the project.
There is no default size for pixels when images are used as textures, the size of the image depends on the dimensions of the object, and how the textures are mapped as part of the material.
The size of objects in the camera view depends on three different variables:

The dimensions of the object.

The camera lens (or field of view in degrees).

The distance between the object and camera.

Answer.
With the information above you can then use Trigonometry(https://en.wikipedia.org/wiki/Trigonometry) to calculate camera placement, or lens size, or the dimensions of the object so that the image fills the screen.

End of answer.

For a lazy way to have an image fill the screen read on:
When you import an "image as plane" you can determine the size. By default blender will import an image as a plane that measures 1 unit in height.

But if you open the settings, by pressing N or pressing the gear icon on the top right, you can change the settings to Camera Relative.
That will allow you choose to have the image be at a scale that fills the current camera view. Select Fill or Fit.

Fill will fill the camera frame. (if the image is a different aspect ratio than that of the camera then the image might spill out of the frame)
Fit will fit the entire image within the camera frame (if the image is a different aspect ratio than that of the camera the image will have some empty space around it)
If the camera view and the images are the same aspect ratio, then you can use either one of those choices.


How to achieve a 3D warp field effect in blender (2.81)

Thanks to the comments I finally found out about the Lattice modifier system which when you take away the physics speak is exactly what I was thinking of when I posted the original question - below is a proof of concept 'Tornado Susan' using the stock Susan model with a lattice modifier applied to flare the top and give the length a bit of a flick
And the Lattice Modifier that was applied is shown below which takes no time using proportional editing


Particle system. Why is the hair not following the mesh?

Pivot point of the particle instances has to be at their bottom.


I suggest not to start from a sphere, but from a cube (apply a subdivision modifier of 2 or 3).
The box/sphere is better cause you can have better loops:


2.81 Render an armature like OpenGL in 2.79

3D Space View Menu

In the View menu of the 3d view

which calls operator

bpy.ops.render.opengl(...)


This is probably best asked at the specified product user forum or website, or follow the instructions of the creator, since it doesn't seem like a Blender specific question.

Try following these instructions from the addon author documentation


How do I change back to normal default view from user perspective view?

Just hold middle mouse button and drag to rotate the view.

The 5 on your Numpad switches between perspective and orthographic view.

Numpad 0 switches into Camera view.

Numpad 1  Front View

Ctrl Numpad 1 Bottom View

Numpad 3 Right View

Ctrl Numpad 3 Left View

Numpad 7 Top View.

Ctrl Numpad 7 Bottom View


You may do this using Shape Keys.

Being in Object Mode go to the Data header and in a Shape Keys panel add a key (press the '+' button) and name it location. Enable the apply shapekeys in edit mode option. Now enter the Edit Mode, change the location key value to 1 and slide your edge loop along the object. Next set the location key value back to 0.

Go to frame 1 on your timeline, hover your cursor over the Value slider in a Shape Keys panel and press I to insert a keyframe.

Go to the next desired frame on your timeline, change the shapekey Value to 1 and press I again.

Now insert the keyframe for rotation. Being in Object Mode, in 3D window go to frame 1 and press I-->LocRotScale (or just Rotation).

Go to the next desired frame on your timeline, rotate your object (R) and press I-->LocRotScale again.

If you want a constant movement of your animation go to the Graph Editor, press T and change the keyframe interpolation type to Linear.

Remember, that you can change the duration of inserted keyframes animation. Go to the Dope Sheet Editor, select the desired action and place it (using G) wherever you like on a timeline. In my case I've increased the green gauge speed.


In weight paint mode, if you click on the ball with colored streaks, there will be a menu. Click on the farthest right icon. It is called 'Subtract', and will remove the weight. I don't know about a complete reset, but this should work. Here is an image:

Hope this helps.


Any blacklight effect suggestion for 2.8?

That can be faked with Eevee thanks to the Shader to RGB node. Though probably the proposed setting has some limitations.

The idea is to have a bright light prerendered onto a pure white Diffuse Shader.

If we convert it to RGB then to BW, we can test if it is brighter than a threshold.

From that, we can combine UV reactive part and 'normal' material parts with a mix shader.

If the threshold and lamp intensity are appropriately tuned, other (reasonable) lights won't change the effect.

Note: the fingerprint color here is due to the light color which can be changed.

Note2: could also test if the prerendered diffuse shader has some specific color output in order to avoid the setting be based only on light intensity.


create mesh then add vertices to it in python

This is how to create a new object and add the vertices in the verts list:

import bpy
import bmesh

verts = [(1, 1, 1), (0, 0, 0)]  # 2 verts made with XYZ coords
mesh = bpy.data.meshes.new("mesh")  # add a new mesh
obj = bpy.data.objects.new("MyObject", mesh)  # add a new object using the mesh

scene = bpy.context.scene
scene.objects.link(obj)  # put the object into the scene (link)
scene.objects.active = obj  # set as the active object in the scene
obj.select = True  # select object

mesh = bpy.context.object.data
bm = bmesh.new()

for v in verts:
    bm.verts.new(v)  # add a new vert

# make the bmesh the object's mesh
bm.to_mesh(mesh)
bm.free()  # always do this when finished

This is how to alter an existing mesh:

import bpy
import bmesh

verts = [(1, 1, 1), (0, 0, 0)]  # 2 verts made with XYZ coords
mesh = bpy.context.object.data
bm = bmesh.new()

# convert the current mesh to a bmesh (must be in edit mode)
bpy.ops.object.mode_set(mode='EDIT')
bm.from_mesh(mesh)
bpy.ops.object.mode_set(mode='OBJECT')  # return to object mode

for v in verts:
    bm.verts.new(v)  # add a new vert

# make the bmesh the object's mesh
bm.to_mesh(mesh)
bm.free()  # always do this when finished


Nothing showing in Camera View despite scaling camera and checking clipping

The problem is that the clipping End limit is too small. I've changed it to 6000 and it's working fine. To be able to view the clipping range you can tick the limits checkbox in the Display panel and a beam will be shown in the camera showing its clipping range as shown below:

Camera view:


Added this dll to the directory with the opengl32.dll and it's working again.

https://download.blender.org/ftp/sergey/softwaregl/win64/


Boolean not changing geometry as expected

I was able to get this to work two ways:

Set the Overlap threshold to 0

I don't know exactly what this setting does or why it works. I suspect the setting might be related to this old carve bug, given that the bmesh method was recently added to replace carve, but that doesn't explain why it fixes anything in this case. You might want to report a bug with this file, as I'm pretty sure the bmesh method should work without messing with this setting.

Use the Carve boolean method

Your cutter object has a negative Z scale, which, consequently, means the normals are inverted despite appearing correct. This makes carve act up (bmesh is fine with it though). To fix it:

Apply the scale with ⎈ CtrlA
Switch to edit mode (↹ Tab)
Select all (A)
Recalculate normals (⎈ CtrlN)


Turn cycles normal map into geometry displacement?

You can use the displacement modifier to do this, just remember that you have to subdivide the model to get more geometry to displace.

If you want to use a procedural texture you can do it changing the texture in the modifier

Also you can use cycles displacement but this is an experimental feature


How to get the name of image of "Image Texture" with python?

The screenshot of your texture indicates you are using cycles, the material texture slots are only used by blender internal. For a cycles material, you need to loop through the node tree and get the image info from any image texture nodes to find what images are being used.

import bpy

texture_list = []

for obj in bpy.context.scene.objects:
    for s in obj.material_slots:
        if s.material and s.material.use_nodes:
            for n in s.material.node_tree.nodes:
                if n.type == 'TEX_IMAGE':
                    texture_list += [n.image]
                    print(obj.name,'uses',n.image.name,'saved at',n.image.filepath)

print(texture_list)

If you wanted to list by face what images are used then you can loop through the objects face data -

for obj in bpy.context.scene.objects:
    if obj.type == 'MESH':
        for f in obj.data.polygons:
            mat = obj.material_slots[f.material_index].material
            if mat and mat.use_nodes:
                for n in mat.node_tree.nodes:
                    if n.type == 'TEX_IMAGE':
                        texture_list += [n.image]
                        print('Face', f.index, 'uses', n.image.name)

print(texture_list)


Can I slow down my entire animation with particles?

If you have already baked jour particle systems, you should be able to simply slow down time by opening the "time remapping" option in the Scene tab and putting a bigger number into the slot labelt new, then in the slot labeled old (an example: the default value of "old" is 100 so if you put 200 into "new" that would slow down time to half the speed). I tried it with an keyframed animation and a particle system in my Szene and it worked just fine. Be careful to bake the particle system before you change the time remapping or it will not work correctly together with your other animations.


display face normal direction in blender 2.8

Go into edit mode

Select the overlays drop down and click on the button shown in the picture below

You will see blue lines in the direction the faces are facing


The best I've ever been able to do is to use one of the human modeling programs or blender addons like Makehuman or Manuel Bastioni Labs to approximate the shape I want and then replicate the topology into my own model.


Afaik, you set the resolution to the "scene render properties", not "camera properties", and it makes sense, eg: if you animate a scene with two cameras, one landscape and the other portrait, and during the animation you switch the camera, how should the animation video be rendered...?

You can use a scene copy, though. Every scene has its own "scene render properties", and you can use Scene 1 render 1200 X 1800  and Scene 2 1800 X 1200. But you'll need to render them separately, I guess.


The cloth simulation is produced by way of calculating how the points will move over a number of discrete 'steps' each frame. If the steps are too large (and the cloth moving quickly) then it is possible for the cloth to move through a surface before it can be stopped - this is what is occurring in this situation. Once one vertex has moved below the surface of a mesh it can become trapped, unable to break free of the surface, and it can then exert a force that can drag neighbouring vertices below the surface depending on your collision settings.

There are a number of solutions to this problem. The simplest is to increase the number of 'steps' per frame. This will result in reduced motion of the cloth vertices each step, resulting in a much higher chance of it bouncing off the surface rather than passing through. Note that this will also increase the time taken to run the simulation (ie, 50 steps per frame will take 10 times as long to calculate as 5 steps per frame).

Another solution is to amend the Collision properties of the mesh to increase the 'bounds' at which the cloth interacts. The 'Outer' setting sets a boundary on the surface of the mesh which will repel the cloth. With this set too high there will be a noticable gap between the surface and the cloth - although this should not be a problem except with extreme situations or settings. The 'Inner' setting sets the boundary below the surface of the mesh that repels any intersecting cloth vertices back 'out' of the surface. Where possible you should always 'Apply Scale' to the cloth mesh any any mesh it interacts with.

In addition, it can help to increase the subdivision of the cloth mesh to give it more freedom to bend around any colliding surfaces. This will reduce the 'force' of any cloth mesh edges that will be interacting with the surface and reduce the chance of it pushing through the surface. Again, this will affect the time required to run the simulation (and may require even further increase of 'steps' to ensure the finer cloth simulation is processed at a fine enough scale).


It's true that RDP only presents a standard VGA driver, but Blender will still be able to take advantage of the graphics card to do its rendering, etc.

It won't be the best solution, but it'll be quite a cheap solution.

If you want to take it all a bit more seriously, you'd have to invest either in decent computers with a good graphics card and RAM, etc., or look into setting up Blender as a server, which I understand is also possible.


Script to intersect two objects gets rapidly slower

As you note rightly, do not use bpy.ops if you can avoid it because it forces a scene update every single time.

So I recommend doing this:

me = obj.to_mesh(bpy.context.scene, True, "PREVIEW", calc_tessface=True, calc_undeformed=False)

No operator is used here and it will give you a copy of the the mesh data with all modifiers applied.

Deletion of objects from blender or with ops still keeps their data around until you close and reopen the file. Then data blocks that are not used (users = 0) will be discarded.
IIRC, you can force-delete objects completely via API, but this is not recommended as it tends to cause crashes.

You can, however, achieve the same result as with the operator using:

bpy.data.objects.remove(obj, True)


To desaturate objects closer to a light, add 4 nodes to your object's material:

Texture coordinate > Object: target your light
Vector Math > Length - gives lower value for objects closer to that light
Math > Multiply - to control the falloff
Hue/Saturation node, to control the saturation

(You can wrap the setup in a nodegroup and put inside every material)


Sculpting with both Z and X axis symmetry?

Yes: 2.7:

or 2.8:

Also, once modeled, you can delete some parts and add a mirror modifier, which can work on X and Z (Pivot point of mirroring is the origin of the object).


Addons failing in 2.79 daily builds, here is the error

Both Animation Nodes and CubeSurfer are compiled addons and subsequently only work on the operating system and python version they were compiled at.

Prior to blender 2.79.x (nightly builds now), all blender versions used python 3.5, thus almost all Animation Nodes and CubeSurfer builds used python 3.5 to compile. Now that blender uses 3.6, all those builds will fail to work just as you experienced.

Solution

You will have to compile your own builds using python 3.6 or wait for the developers to release new builds.


Export Wavefront .mtl file -- Where is the reflectance coefficient?

I'm not sure this is directly related to Blender, or Blender's .obj exporter. The wavefront file description mentions a set of 11 illumination models (from 0 to 10), none of which seem to specify explicitly any coefficient for reflection, merely that there is reflection:

  Multiple illumination models are available, per material. These are
  enumerated as follows:

0. Color on and Ambient off
1. Color on and Ambient on
2. Highlight on
3. Reflection on and Ray trace on
4. Transparency: Glass on, Reflection: Ray trace on
5. Reflection: Fresnel on and Ray trace on
6. Transparency: Refraction on, Reflection: Fresnel off and Ray trace on
7. Transparency: Refraction on, Reflection: Fresnel on and Ray trace on
8. Reflection on and Ray trace off
9. Transparency: Glass on, Reflection: Ray trace off
10. Casts shadows onto invisible surfaces


I downloaded a model that already has a texture attached, why doesnt the texture appear on the model?

That's because you're in Solid view, where textures don't appear.
Switch to Material Preview or Render Preview and your textures should be there.


Bmesh version

Here is a bmesh version of @3fingeredfrog's answer using method suggested here https://blender.stackexchange.com/a/36619/15543

Orders based on distance from scene cursor.

import bpy
import bmesh

context = bpy.context
scene = context.scene
ob = context.edit_object
mw = ob.matrix_world
cloc = mw.inverted() @ scene.cursor.location
me = ob.data

bm = bmesh.from_edit_mesh(me)
#bm.verts.ensure_lookup_table()
verts = sorted(bm.verts, key=lambda v: (v.co - cloc).length)

for i, v in enumerate(verts):
    v.index = i
bm.verts.sort()
bmesh.update_edit_mesh(me)

Could maually select all vertices in order (one by one) and retrieve from the select history

verts = [e for e in bm.select_history if isinstance(e, bmesh.types.BMVert)]

The order in question appears to be that next is furthest of all the connected verts if not visited.


@batFINGER 's add-on sounds like it would probably do what you need:

https://github.com/batFINGER/batFINGER-blender-addons

If I understand you correctly, though, you may just be missing the controls here:


Right-click the chair, and then Shift+right-click the room. (Although I can't really think why you would want to do this.)


Change User preference properties via script

You have to pass the property name as a string as second argument:

row.prop(bpy.context.user_preferences.view, "manipulator_size",
         toggle=True, text="size")


Uncheck "origins" (which is to move the object's origin only, the orange dot is the origin):

When objects have this colored X/Y/Z arrows that means this option is activated.
This options corresponds to the Ctrl. shorcut.


Joystick Buttons problem since update 2.78

I experienced something similar with my pythonscript i created for joystick inputs. It seems like Blender 2.8 changed the input a little bit. All buttons do have other indecies now, so i think you should remap them all, maybe this helps.


How to render objects only with their materials diffuse color or without lighting

Just use an Emission shader. This will emit the intensity of the surface without responding to any surrounding light sources so will produce a pure "unshaded" colour.
Related: Node for setting render colour, regardless of lighting


Blender render very slow - use 40% cpu only

This isn't really a problem with Blender that could be fixed, most likely it's just that the computer, after being used for a while, heats up. It also depends on how many things you are running at the same time.


Blender acting weird and crashing when GPU-rendering

I found the solution to the problem; GeForce Experience (or more specifically Shadowplay) seems to be the reason behind all this. Disabled it and everything seems to work good