Beginner: How to make a mirrored "recesses'' in a shape of a spheres into an object mesh?

The following method works better when the faces are evenly spaced quads

Add a sphere
Go to edit mode
Press "A" to select all faces
Press "I" once or twice
Scale the individual faces down
Press "E" to extrude all faces
Press "S" to scale the faces to the center
After scaling it towards the sphere center apply
Add a Subdivision Surface Modifier

I just found a tutorial that has another nice method: https://www.youtube.com/watch?v=nJXsgan3Juc


To anyone else looking to implement this, please see the link batFINGER directed me to: link


Change default size of User Preferences pop up window

AFAIK no, but you can change any area's type to user preferences via the menu in the far left of the header:

You can then temporarily make it the size of the entire blender window by pressing
⎈ Ctrl↑ Up arrow. Toggle back to the previous screen layout with ⎈ Ctrl↑ Up arrow again.
(⎈ Ctrl↓ Down arrow works too)

If you just want to get to the prefs quickly with more screen real-estate, then perhaps this might help.


How to import a Wavefront .OBJ with Blender 2.73's bpy API?

I don't know of any import/export related changes that have been made for some time.

The bpy.ops.import_scene.obj() operator will only be available if the Wavefront OBJ addon is enabled, check that it is enabled in User Preferences.


Problem with boolean operator, operation "Difference" bettwen two simple objects

The problem with the model is it has created double vertices

Go in the edit mode
Press A twice to select all
Press W to bring special key and click remove double
come out of the edit mode and make boolean operation


Transparency in Blender 2.8 GPU Python Module

So I found the answer to this one with some help from the folks on Blender.chat (thanks Okuma_10!).

In your draw method before you draw put in: -

glEnable(GL_BLEND)

and after you're done drawing put in: -

glDisable(GL_BLEND)

also make sure you import all of BGL with: -

from bgl import *

Apparently there is no performance cost for doing so as the program naturally iterates through the entire library anyway. After that the alpha values should work.


Tiny Parts of my Character are not moving when i move my whole armature. there are not even a vertices there either

I would reposition the character, selected the character and remove doubles. I know you said that there are no vertices there but something has to be there I would think.


Feed the “Image Texture” to “Bump Map” to the Normal input of the shader.
Be sure to set “Non-Color Data”.

Be sure the 3D view is in LookDev or Rendered mode.  The default when you open the Shading tab might be Shaded, which will not show this effect.

Color or Alpha:  Use the intensity (black/white is low/high or high/low), or use the Alpha channel (the transparency in a PNG file).

The Bump node is used to convert height to Normals.


No addons needed, just go to File > Export > Wavefront OBJ
You can also Import OBJ files from File > Import > Wavefront OBJ
From the Blender Manual


Why can't I add pip to the version of Python that comes with Blender 2.91.2?

I had to go through several other issues to pin this down, including another question on stack Overflow, where I was not getting much help. I'll include what I can here. That'll be more than most people want to read, but if you have this problem, skim it because you might find helpful stuff in here.
The bottom line is that I was setting PYTHONPATH in .bash_profile. When I bought this current iMac, Python 2.7 was the standard on an install. At some point (and I had forgotten this), Apple changed to 3.x as the standard. That crashed some of my scripts, so I set PYTHONPATH (again, in .bash_profile) to point to all the 2.7 libraries, so my scripts would continue to look there.
I finally figured out that any 3.x version of Python was crashing on my system and 2.x was running. I thought that was probably a configuration issue and I'd have to find some config file to fix somewhere, but, all along, it was in the .bash_profile. Once I changed all the paths in there to point to 3.7 instead of 2.7, everything started working fine. Python 3 executables were working fine and even the 2.x ones were still working. (And more of my scripts than I expected worked fine under 3.x.)
Once I got that working, I wrote a batch file I can run in bash to set PYTHONPATH to point to the directories Blender uses when it runs Python in its own environment then run the Blender instance of Python. It works fine and that let me follow instructions in a number of places to use ensurepip to install pip and then to install Pillow.


Operators like bpy.ops.import_scene.obj() can't return the object name itself. If you know the name of the imported object(s) simply use this: bpy.data.objects['yourname'] and assign it to a variable to apply a material on it:

# assignment
obj = bpy.data.objects['yourname']
# append material
obj.data.materials.append(mat)

If you don't know the name of the the imported object(s) you have to select them after the import with something like this:

# single selection
obj_object = bpy.context.object
# multiple selection
obj_objects = bpy.context.selected_objects[:]

Here is a working example for importing multiple objects from 1 obj file. It appends a newly created material on the imported objects and prints out their names for error handling.

import bpy

full_path_to_file = "test.obj"
bpy.ops.import_scene.obj(filepath=full_path_to_file)

# make sure to get all imported objects
obj_objects = bpy.context.selected_objects[:]

# create the material
mat = bpy.data.materials.new('MaterialName')
mat.diffuse_color = (0.1,0.0,0.7)
mat.diffuse_shader = 'LAMBERT'
mat.diffuse_intensity = 1.0

# iterate through all objects
for obj in obj_objects:

    # print the name of the current obj
    print (obj.name)

    # set current object to the active one
    bpy.context.scene.objects.active = obj

    # get the generated material
    mat = bpy.data.materials['MaterialName']

    # if a material exists overwrite it
    if len(obj.data.materials):
        # assign to 1st material slot
        obj.data.materials[0] = mat

    # if there is no material append it
    else:
        obj.data.materials.append(mat)

    # move the object, if it's named "Cube"
    if (obj.name == "Cube"):
        obj.location = (0,0,10)


Zone of darkness surrounding view camera in eevee render preview

Okay, I just figured it out. I'm using a sun-lamp casting rays in a certain direction, but I also have three large objects in the distance that don't have materials set up and seem to be casting shadows.

If I hide them from view, the zone of darkness goes away.

This blend file is originally from blender internal, and I've been setting up the now blank materials in the scene to similar versions of the originals in eevee. The three distant objects are meant to represent features of a night sky; stars, the moon, the moon's glare. That's why they're there.


How to make Abstract EM Waves material in Cycles?

This answer https://blender.stackexchange.com/a/64978/29586 created a wispy material in 2 dimensions only. The same principles can be extended to create a similar volumetric material.

Starting with the Generated coordinates we can create a volumetric horizontal 'plane' simply by controlling the emission based on the Z coordinate. This could be achieved using Maximum and Minimum nodes to control the emission at certain 'heights' in the volume. However, using a Power function and other Maths nodes allows the cutoff to be varied and 'focused' as desired.

The emissions is around the plane Z=0 with full emission at Z=0 and emission falling off at either side, controlled by varying the Focus and Intensity input nodes to produce the following effect.

Adding in some Noise - controllable via a Mapping node - makes it less regular. The individual X and Y Scale factors can be used to stretch the noise into ripples and/or adjust for the dimensions of the containing mesh if required. Note that the output of the Noise texture is reduced by 0.5 so that the noise is centered around 0.0 and it can then be multiplied by a scale factor to allow the noise to be varied dynamically (the Mapping node can't be driven directly by an input value).

Adding a twist to the plane is complicated by the fact that the Mapping node does not provide inputs to very the values within the material - instead, we need to manually apply rotation based on the Y coordinate using matrix multiplication as described here https://en.wikipedia.org/wiki/Rotation_matrix. ie,

X = x.cos(angle) + y.sin(angle)
Y = -x.sin(angle) + y.cos(angle)

This can be achieved as follows :

Also, add a Color Ramp to fade out at the edges to limit the 'plane' to the range -0.5 to 0.5 (otherwise the rotated 'plane' will extend out to the edges of the mesh as it twists (rather than staying the same width)).

To replicate the effect in the sample image you can adjust the Color Ramp so that the edges are more pronounced and with the centre darker than the edges and blending between the two colors. It's important that the far edges of the color ramp fade out to black to limit the outer edge of the 'wave'.

For additional variation, add some modulation of the rotation by using an additional Noise texture to vary the rotation.

The final material is as follows :

Adjust the various Input nodes, Color Ramp, Texture Node Scales, until you get the desired effect.

Blend file attached

For ease of re-use, the nodes can be placed in a Node Group.

Note that 'Phase' parameters have been added to allow the phase of the waves to be controlled.

Positioning multiple meshes and animating the waves can produce the following result :


Transparent Image different in viewport than render

If you need to produce a PNG file you have to know that the format uses "unassociated" alpha.

That means that the program that will do the compositing will "pre-multiply" foreground's RGB*alpha prior to adding it to the background plate.

This is important to know because it means that every pixel with alpha=0 will lose its RGB data (because multiplying anything by 0 gives 0).

Associated alpha, as explained here, allows you to have pixels that are both emissive and fully transparent, but that kind of information can't be expressed in a PNG file.

In order to transfer the the result of your render to a usable PNG output you'll have to cheat and pull an alpha from the RGB data, taking care of the light parts and the dark parts in two different steps.

Instructions:

1) First, do an alpha over on white, the result will show only the dark parts.

2) Then do another alpha over from the original render, this time on black. That will reveal only the light parts.

3) Now, invert the result of the first alpha over.

4) Using a mix node set to SCREEN, mix the result of the second alpha over with the inverted result of the first alpha over. That will be your alpha channel.

5) Take the output of your second alpha over (the composite on white) and using a mix node set to divide, divide it by the alpha created in the step 4.

6) Plug the pre-divided plate from step 5 into the "image" socket of the composite output, and plug the alpha channel produced in step 4 into the alpha socket.

That will give you a reasonable unassociated PNG output.
It won't be perfect as the unassociated alpha format is very limited for advanced compositing, but it will do the trick.

Anyway, ALWAYS REMEMBER that associated alpha is the one true alpha, and allows compositing effects that are impossible with unassociated. This means that PNG isn't an adequate format for vfx compositing and a format that allows associated alpha should be chosen instead.
If the program where you're going to composite these plates allows associated alpha always prefer it over unassociated.


I think you are best off smoke simulation. The fluid simulator is better for liquid simulations, as you get a mesh as a result. The smoke simulator is better for gas/smoke simulations, as you get voxel data with density information (you get heat and velocity information too, but most importantly you get density).

To make a smoke simulation:

Setup

Create an object to emit the smoke (e.g. a plane):
Select the emitter/plane and press Space, then type in quick smoke. This will setup a domain object and some materials automatically.

If you want to do this manually instead:

Add a domain object (usually a cube) and scale it so that it contains the area in which you want the smoke to go. Note that the bigger it is, the more resources are required to compute the simulation.
With the domain object selected, enable smoke physics in Properties > Physics, and set the type to Domain. You might also want to enable Adaptive domain, which skips calculating areas which don't have any smoke.

Add a new material, set the type to volume, and set the density to 0:

Add a new texture, set the type to Voxel data, and select your domain object:

At the bottom of the texture settings, in the Influence panel, enable Density:

With your emitter selected, enable smoke in Properties > Physics and set the type to Flow:

That's it as far as quick smoke can do things, so the rest is manual:
Select the object you want to collide with the smoke and enable smoke physics in Properties > Physics, and set the type to Collision.
Press AltA to play the animation (and simulate the smoke):

These are just the absolute basics, there are many more settings for the materials and simulation. I recommend you look around for some tutorials on smoke simulation. Here's a list of some good resources.


Render glass distortion and not background

There's an easier way.

Select the background plane, go to its object settings, then scroll down to Cycles Settings. Uncheck 'Camera'.

That's it!

Here's the 3D view and the rendered view to demonstrate the effect:


By the time you get the script completed and run it, you may have your files loaded.  Loading them to your computer in a folder with subfolders based on file sizes, then updloading them is usually best. Load from smallest image sizes to largest folder.


How can I stop the mesh from stretching when posing?

Apply the scale on your armature.

Select the armature and go to Object Mode.
Press ⎈ CtrlA > Apply Scale.


How to prevent disconnection between two objects, while rigging?

For non-stretchy leg you should duplicate the foot bone and lets name it Target. The target bone has no parent and is the target of IK constraint. The foot bone is connected to the leg and copies the rotation of target bone with constraint.
Here is how it should look:

I think you dont need the heel bone but if you do you can leave it parented to the Foot bone. Its also good to uncheck Deform for Target bone since it will only control the ik and not deform anything.

For the stretchy-leg set stretch of Leg and chains bones to 1:

But you will not end up with a much pleasing result, the stretchy rig is much more complicated.

If you need to implement also reverse-foot rig or you want to have more advanced stretchy leg you can ask a question specific to that or try the rigify addon, it will do all the work for you.


Using Blender Game Engine for VR 360 tour on Mobile, is it doable?

Blender Game Engine only runs on Windows Mac and Linux, not on mobile platforms like iOS or Android. And even then, in desktop OSs it is often regarded as an aging and limited game engine, needing a long overdue overhaul, when compared to more modern solutions out there.

It will in fact be retired as of version 2.80 going forward, and it is will not receive further official development.

There was an experimental BGE APK version running on Android but it is just a proof of concept, very feature limited and not actively maintained. Also it certainly predates the emergence of modern VR so I wouldn't expect it to support anything of the kind at all.

You could probably use Blender in your pipeline for asset and environment production but I wouldn't rely on it as a lasting game engine solution, and certainly never for mobile platforms.

You could alternatively use any of the well know solutions out there like Unity or Unreal, or perhaps look into WebGL for a more universal browser based solution.

There is also the Blend4Web plugin for Blender which now supports browser based Virtual Reality through the WebVR API, even on mobile platforms. It has a full GUI inside Blender for most basic functionality from creation of assets, materials, animations, to basic interaction logic.


What is happening is that material shading, by default, uses a pre-supplied HDRi image as the world (that is why you see some trees and blue skies reflected on the glossy surfaces).
Rendered shading uses the actual settings for the scene, by default just a flat color.
You can set material view to use the actual scene lights and world.

Or you can set an HDRi to be used as environment texture on the world and that would be used for rendered view and to render the scene as well.


Is there a way to "smart" auto-reduce the amount of vertices?

You can select one top face, then shiftG > Select Similar > Normal, then ctrlE > Un-Subivide.

Also, you have the Decimate modifier / Planar mode that will unsubdivide all the faces on the same normal orientation, or according to a certain angle threshold, it will allow you to preserve all the details:


This worked for me:
I packed and unpacked the blender file created, corrected allocation and exported materials from cycles into the .OBJ file. I exported from blender to 3dxchange, and the .OBJ file back into blender. The file retained the correct materials. As long as you create the textures in the same directory when you unpack the file, it seems to work.

When exporting alpha YAY, it took me a while to find this solution and it turned out to be simple.


On Ubuntu, there's a PPA, so you can run the commands in the terminal

sudo add-apt-repository ppa:irie/blender
sudo apt-get update
sudo apt-get install blender

and you'll have one of the latest builds of Blender (read more here or visit the PPA's website here).  WARNING: This won't be the official stable release, but the most recent version of Blender as of a few days ago.

As for Debian, I believe that Ubuntu PPAs can be used on Debian too.  It seems like a bit of work, so hopefully someone else has a better solution.


Is there anyway I can boolean a smoothed surface without making it look deformed?

You have to use an edge split modifier to make the newly created edges sharp.

If this doesn't help, try using Blender 2.8 the boolean operation got improved.


Blender 2.8 Working 3d printer slicing settings

A) Scene Unit
   Unit System "Metric"
   Unit Scale > 1
   Length Milimeters

B) Exporting stl in millimeters :
In "Blender File View" > Transform > Scale 1000


Full script for fitting the camera view to the only object in a scene

Okay, this is a working script in case anyone might need similar thing:

import mathutils
import bpy
import sys

model_path = '/input/path/file.obj'

scene = bpy.data.scenes.new("OurScene")
camera_data = bpy.data.cameras.new("Camera")
camera = bpy.data.objects.new("Camera", camera_data)
camera.location = (-4.0, -5.0, -1.0)
scene.objects.link(camera)
scene.update()
scene.camera = camera
bpy.context.screen.scene = scene
bpy.data.cameras['Camera.001'].clip_end = 10000
bpy.ops.scene.new(type='LINK_OBJECTS')
bpy.context.scene.name = 'model.obj'
bpy.ops.import_scene.obj(filepath=model_path, axis_forward='-Z', axis_up='Y', filter_glob="*.obj;*.mtl")
bpy.context.scene.camera = camera
bpy.context.scene.render.filepath = '/output/render.jpg'
bpy.context.scene.world = bpy.data.worlds['World']

# look at origin
loc_camera = camera.matrix_world.to_translation()
direction = mathutils.Vector((0., 0., 0.)) - loc_camera
# point the cameras '-Z' and use its 'Y' as up
rot_quat = direction.to_track_quat('-Z', 'Y')
# assume we're using euler rotation
camera.rotation_euler = rot_quat.to_euler()

bpy.data.worlds['World'].light_settings.use_environment_light = True
bpy.data.scenes['model.obj'].render.alpha_mode = 'TRANSPARENT'
bpy.data.scenes['model.obj'].render.image_settings.color_mode = 'RGBA'

for obj in bpy.context.scene.objects:
    obj.select = False

for obj in bpy.context.visible_objects:
    if not (obj.hide or obj.hide_render):
        obj.select = True

for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        for region in area.regions:
            if region.type == 'WINDOW':
                override = {'area': area, 'region': region}
                bpy.ops.view3d.camera_to_view_selected(override)

bpy.ops.render.render(write_still=True)

sys.exit(0)


It's controlled by the cursor color:

Unfortunately there doesn't seem to be a way to control the opacity.


Is there a Chamfer modifier like 3d max in blender?

The bevel modifier is what you're looking for.  The other answers don't mention that it can be set to use only bevel weights defined by the user.  Bevel weights can be set for each individual edge and smaller weight = smaller radius bevel.


Is there any way to subdivide the faces going around the edge of this so that the curve is smoother?

First of, you should recalculate normals that seem to be going inwards instead of outwards (notice the slight blueish tint instead of gray)

This is how correct normals look.

Next up is to make the mesh more smooth so press Ctrl+F and shade smooth in Edit mode (or can be done in the T panel in object mode aswell)

Without any other work whatsoever the mesh looks... uh.. ugly

However only by adding a correctly set up bevel modifier, you get very good results with not much more geometry.

This is the bevel modifier of the above, please note that Width is subject to object size and obviously this knife would be a bit too large^^

This is how the wireframe of the above looks.

Alternatively you can also get visibly beveled (not rounded) edges by using only 1 segment in Bevel and turning Auto Smooth on at about 30-60 degrees. (notice I have profile 0 here and that is not necessary, it can be the default 0.5 because at 1 segment setting the profile doesn't play a role)

This is the modifier setup of the above.

And this is wireframe of the above.


How to create a visible material that does not emit or reflect light?

For Blender Internal, on your material, check Shadeless.

edit:

If you're using Cycles, open your material in the node editor, and set up this for a green screen:
Basically this tells the material to only interact with the camera, and no other rays.


Where is the file directory of blender modifiers python code?

Modifiers need to be able to deal with a huge volume of data, which is one of the reasons why Blender has them implemented in C.

In short, there is no Python code for the modifiers.

If you modify the C code for the modifiers & build your own Blender, then yes, there is a chance that Blender will crash (same as any other modification of its code; this is not limited to modifiers).


How to I cut a specific part of an object in order to have 2 separate objects?

I would try to press "L" key in edit mode with cursor over some part of the model. This selects "Island" in case the model is not merged together. if it is merged, you can try to select one face somewhere in the middle of the part you want to separate then press "ctrl +" to start adding faces to your selection. To separate your selection you can use "P" key then "separate selection"


Indirect Method

I named the scene as Video_1_comp

Go to VSE (Video Sequence Editor) and add movie

Select Only Video Strip in VSE and Strip Menu > Set Render Size

Go to the End of the Video Clip hover cursor on Timeline and press E to set End Frame

Result of all above steps
Resolution, Frame Range, Frame Rate are set to the Source Video's settings

NOW DELETE THE VIDEO and AUDIO tracks

Go to Compositing Screen
Add > Input > MovieClip

Add Rotate node and input Value -90 it could be 90 for some videos
Don't use Back Drop preview it is not correct even though output render is correct

Then create a new scene with Copy Settings i named it as Edit

Then go to Video Sequence editor Screen

Add > Scene... > choose the Scene in my case Video_1_comp

Set Render Resolution resolution to vertical frame Height Y:1280 px Width X:720 px

Go to 3D view Properties if its not showing already press n

Scroll down to find OpenGL Preview and un-check it

Now add the Same Movie clip source again on top of existing strip

But this time Mute/delete the Video strip and keep the audio

  Now you can edit it like any movie clip you would have edited


How to wait for bpy.ops.wm.alembic_import to finish?

bpy.ops.wm.alembic_import operator provides a property called as_background_job which defaults to True. In that case the alembic import will happen asynchronously.

You can override the default behavior by passing a False value, in which case the import happens synchronously (blocking Blender)

bpy.ops.wm.alembic_import(filepath='....abc', as_background_job=False)


Something like this might be a good start.

Two Voronoi textures are distorted by two noise textures, each Voronoi texture controls a color ramp with a few different colors.

The results are mixed together and get even more distorted by another noise texture. The Mapping node at the start controls the general direction of the clay strains.

Link to the .blend file:

You can play with all the values, maybe you get even closer to what you want.


How do I edit a character's face vertex to skim the eyeball's curvature?

You can select the edgeloop you want to be snapped to the eyeball, turn on the face snapping function, check its "Project individual elements" option, then, using an appropriate view, press G and Enter: the vertices will snap to the eyeball.


The UI (including viewport ) can be updated during the script execution but it is advised against it in the Blender API documentation for these reasons :

  Tools that lock Blender in a loop and redraw are highly discouraged since they conflict with Blenders ability to run multiple operators at once and update different parts of the interface as the tool runs.

so to update the UI during execution you can use wm.redraw_timer() :

import bpy
import random
for i in range(1000):
    XYZcoord = (random.random()*100, random.random()*100, random.random()*100)
    bpy.ops.mesh.primitive_uv_sphere_add(location=XYZcoord)
    # Update the viewport here.
    bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)

a good alternative has been suggested by @Zeffii which is the modal operator triggered by timer


Printing special characters and latex using python script for geometrical diagram labeling

Trying to do something similar, I found a potential solution.

You can create a tex file, convert it to a dvi file, and convert that to an svg, which blender can import via bpy.ops.import_curve.svg(). The result will be a collection of curve objects rather than text objects, so you'll have to do any text-related styling from the tex file itself, but if you're working with scripts, that might be easier anyway.

As a starting point for doing this in python, I used functions defined around line 300 of this github file (related to quite a nice math animation YT channel, incidentally). The functions themselves just pass commands to other utilities that do the actual work, but they show a process that could be used to get from tex to svg. tex_to_svg() is the core function, from which you can follow the flow to other functions as you make sense of things and adapt to your needs.

The needed utilities are pdfTex (for tex->dvi) and dvisvgm (for dvi->svg).


Blender Downloads and the information required to

You can download Blender from the official website www.blender.org. There's absolutely no sign-up required. Blender is truly free software, since it is open source and GPL licensed. More information about Blender and the Blender Foundation can be found on the About page.

The following versions of Blender can be downloaded:

The current stable release
Experimental daily builds of versions currently in development
All past releases of Blender

Please check that your hardware fulfills the minimum requirements for running the current version of Blender. If your hardware is unsupported you may have to use an older version of Blender with lower requirements.


Making model and animation for Unity using MakeHuman and Blender

MakeHuman ships with the "Game Engine Rig", which is compatible with the mecanim unity functionality. The appropriate work flow is:

Enable the game engine rig in makehuman (under pose -> skeleton)
Export using mhx2
In blender, either import without overrides or make sure to leave the rig as it is upon import

You only get the MHX rig if you explicitly ask for it when importing an MHX file in blender. Otherwise, the rig exported from MakeHuman will be used.

As an alternative to using MHX2, there is also a new pipeline for integrating MakeHuman and blender, see https://www.youtube.com/watch?v=tAwfR-G813g


How can I make the transition from blue to purple (I do not want the white part) more smooth?

In your setup, the emission shader is causing that white strip.  In the pic below, I set it up exactly as you did, but I bypassed the emission shader.


Black spots in render view, while material view shows correctly

The problem occured because the object has multiple UV-Maps and the wrong was selected for rendering:

I was able to solve it by clicking on the camera symbol of the correct UV-Map.


How can I use 'create new collection' command?

This is more or less a remnant of old functionality from 2.79 and before that doesn't make sense in Blender 2.8. The developers are aware of the issue, multiple bug reports have been filed regarding the odd behavior.

If you want to create a new collection in the current scene use the M shortcut and select New collection. This will also move all selected objects to that new collection. If you just want to create an empty new collection with the shortcut, make sure that no object is selected.


You could do these things:

You probably have too little samples in your render. Increase your samples and re-Render.

Render with "Denoising Data" or if you have it enabled, render without.

If you render with the old denoiser, render with the Intel Open Denoiser (The node in the compositor)

If that doesn`t help, please post a render without denoising.


Blending Floor and Background to appear as one

The best way to make your floor blend into your background is to composite the two together from separate layers and feather the edge of the floor layer.

In the node network below I've used a Rectangular Mask node into a Blur node to create the blurred masked that is used to set the alpha channel of the floor layer.

In this image, you can see the size and orientation of the mask node (indicated by the white outline).

And the final effect:

This technique works best with still images, but can be used with animations if the floor edge does not move a lot in relation to the screen.


Solved. Just for the record, it was a problem of camera clipping. After increasing the camera clipping end, the problem was solved.


Blender inserts keyframes on multiple channels but I want it on one

In order to set a keyframe on an individual channel, simply right-click the property and right-click and select 'Insert Single Keyframe'.

Alternatively, you can click on the Animate Property 'dot' alongside the property in the right-hand properties panel :

In the Dope Sheet, you can move individual channel keyframes by simply selecting the keyframe for that specific channel only - and move it independently of any other channel(s).


Configuring .blend file for remote machine GPU rendering

As far as I understood, you manually put your .blend file on the server without using any third-party software. This answer so may help you:

How do I force the netrender to render everything on GPU?

This consists of running blender from the command line while also passing him a python script to set the GPU device (code from the link above):

blender -b file.blend -E CYCLES -t 0 -o //file -P script.py

This way you CAN set GPU rendering from the command line using, in the python script, bpy.context.scene.cycles.device = 'GPU'.


You have appended the node group to the .blend file, however you are in the compositing editor, whereas your group is a material node group.

To switch to the Material Editor simply select an object in the scene, click this icon at the bottom of the window (see below), try adding it again and you should see your node group in the expected place (you might need to select the Use nodes checkbox again).


How to apply a specific modifier on selected objects?

Blender 2.79

This should work:

import bpy

for ob in bpy.context.selected_objects:
    bpy.context.scene.objects.active = ob
    for mod in [m for m in ob.modifiers if m.type == 'ARMATURE']:
        bpy.ops.object.modifier_apply( modifier = mod.name )

You may have some warnings though (like via the UI).

Blender 2.8

Use view_layer instead of scene:

import bpy

for ob in bpy.context.selected_objects:
    bpy.context.view_layer.objects.active = ob
    for mod in [m for m in ob.modifiers if m.type == 'ARMATURE']:
        bpy.ops.object.modifier_apply( modifier = mod.name )


How to add a base bone after other bones have been created?

What is going on here is strange, and I can't really determine what is going on.  For whatever reason, no matter what I do, The hand does not follow that particular bone.

I just wound up remaking the bone, that seemed to get around whatever strangeness was happening.

I didn't bother rebuilding the parenting of the bones for the sake of this screenshot.


Blender 2.8 Beta (Linux Mint 19.1): No compatible GPUs found - Vega 64 Nitro+

You most probably have installed the open source driver stack that comes with Mint.

On any GNU/Linux distribution, Blender only supports the official AMD proprietary drivers for rendering with OpenCL, meaning you will need to install one of the following AMD OpenCL drivers:

AMDGPU
AMDGPU-PRO

For Linux Mint, this might be a good start

There might be another method to just install the OpenCL part of the AMMDGPU-PRO driver, which is described here, but I don't have the  means to test it.


How to smoothly move down in Z-index a curved object

Blender comes with an add-on called Mesh:LoopTools. Enable it in the Preferences then you will see it in the N-panel (N).
Select the first 2 vertices at the beginning of the ramp and move them down to the floor along the Z-axis. Then select the vertices of the edge loop that you want to smooth. Make sure the vertice at the beginning is the active one (selected last, see screenshot). After that, use the Space operation a few times with locked X-axis and Y-axis in the options. Count the number of uses for the other side.

Repeat the steps for the other side of the ramp. One or two uses of the Relax operation can smooth out the transition between the ramp and the flat area.
Example:


How to select with an "xray" sort of effect?

You can disable Limit Selection to visible in 3D view > Header:


This is easily done with Python scripting, but I include in that statement a non-blender Python installation on your system. To do what you want from scratch:

Backup the blend file!

Go to python.org and download the latest Python (not the embeddable version).

Install Python on your system, and check the “add Python to PATH” when it comes up.

At the Command Prompt, type: python -m pip install pillow and it will download and install the Python imaging library (an easy way to convert the files).

In blender, unpack all images to one folder using the File menu (“use local directory” probably will work, but make sure nothing else is in there except the blend file).

Open IDLE (the Python IDE you just installed. You will see a Python shell.

Run the following code in that shell:
from PIL import Image NEWLINE
import glob NEWLINE
files=glob.glob(“C:\Users\Anthony\the_blend_directory_here\*”) NEWLINE
for f in files: NEWLINE
Image.open(f).save(f.replace(“.tga”, “.png”)) ENDOFLINE

The script should convert all unpacked images to png, one at a time. Close the Python shell upon verifying success.

In blender, go to the Scripting screen, and run the following code:
for img in bpy.data.images:
img.filepath=img.filepath.replace(“.tga”, “.png”)
img.reload()

Re-pack all files.

Delete the external images.


Terrain Generation: Free Creation of Peaks, Canyons and Mountain Terrain

The answer to your query,

  should [I] start with one big object and use that, or if I should make tons of small objects and link them together

Is an unambiguous "it depends". Some of this is a matter of directorial decision making on the part of the director of the animation, and on the part of the director of the game. If I were doing this, I would start by categorizing the content elements into several categories base on size. In this case, the largest size would be "Geological", the next largest "Architectural", the next largest "human", the next largest large pet (think 100 kg / 220 pound dog here), the next largest small animal (think cat / fox / rabbit), then maybe tiny mammal (field mouse). For each category I would define a ~.blend file to use as a template, with lighting, and camera setups appropriate for the size items being modeled. Of course, there is no reason you are required to do a field mouse in the tiny mammal blend setting, but it will be easier than trying to do it if the camera and lights are at a point where they would be useful for modeling a mountain.

These categories are not necessarily hard and fast; given a particular category of item, say vehicles, some might be "human scale" (e.g., passenger automobiles), while others (18 wheeler semi-trailers, or railroad cars) will be "Architectural scale", while a few (Maersk M3 containerships) are geological scale. In the case of the geometry you are asking about, the mountain would be geological scale, but the small tunnels might be architectural scale or human scale.

Then again, consideration will need to be given to the size of the area. Blender has a maximum scalar value in any direction of 10,000 units, so the maximum displacement from one extreme to the other is about 20,000 units. if the units are considered to be meters, means that the largest terrain item in Blender would be about 20 kilometers square, or 400 square kilometers. This would convert to about 144 square miles (arithmetic calculations here are approximate, but close enough to make the point.) If you're planning that your game will require more area than this, you will have to use more than one scene.

What I would do, therefore is to do each modeling task at the appropriate scale, using the largest scale object as the "stage" for smaller ones. So the terrain would be one large object in an Geological scale scene (base scene), while the tunnels might be smaller objects, and might be linked into the Base scene, as would all of the components of the scene. Model them in the appropriate scale blender file, and link them into the base scene.

Why link? Because if you link pieces in, one of which we'll assume for the sake of discussion is a small bridge, and decide to change the item (the design of the bridge is all wrong for the scene, we'll use a different design instead), you shouldn't have to worry about changing the bridge in the base scene. And if you want to refine the model of a field mouse sized item, say a magic amulet, you can work on that at a scale that makes working on the amulet simpler.

There is one thing worth special mention, especially with respect to "large mountains".  Special attention needs to be paid to geometry when as the slope of the terrain approaches, and exceeds 45 degrees from the horizontal, as using a plain grid based upon a horizontal projection in this instance will result in undesirable geometry. When doing a bit of terrain where the slope is 35-40 degrees or more, add additional geometry parallel to the horizontal to add additional percent. This image

shows what I am referring to. The geometry on the image on the left is based upon a 10 meter x 10 meter grid, which is adequate on the approximately level surfaces. As you can see on the cliff, however, the 10 x 10 grid, while satisfactory on the horizontal surfaces, is not so pleasing on the more nearly vertical surfaces of the cliffs in the background. The wireframe view on the right shows a much more pleasing geometry created by subdividing the vertical surfaces at 10 meter intervals.


You can start with a simple mesh which roughly defines the knot shape, which for now is flat. Top view here:

Then give it some relief and add a subsurf modifier, still roughly :

Now, convert it to a curve :

Alt+C then curve from mesh
Enter edit mode, set the curve type to bezier then the handles to auto
Now set some bevel to the curve

Doing this, you may have some adjustments to do, but initial vertices (in "mesh mode") are much more easy to manipulate than starting with a curve from the beginning :


Blender 2.8 Python Addon: How to register a Button?

wm.context_toggle

For a simple toggle of a boolean property with a context path can use the bpy.ops.wm.context_toggle(data_path="") operator.  For the example in question

data_path = "scene.tool_settings.use_mesh_automerge"

To add as a layout element

op = layout.operator("wm.context_toggle")
op.data_path = "scene.tool_settings.use_mesh_automerge"

Removes the need to write an operator simply to toggle a property.

import bpy

def toggle_automerge_button(self, context):
    op = self.layout.operator(
        "wm.context_toggle",
        text="Toggle Automerge",
        icon='PLUGIN')
    op.data_path = "scene.tool_settings.use_mesh_automerge"

def register():
    bpy.types.VIEW3D_MT_edit_mesh.append(toggle_automerge_button)

def unregister():
    bpy.types.VIEW3D_MT_edit_mesh.remove(toggle_automerge_button)

if __name__ == "__main__":
    register()

Note could also simply set the property

def toggle_automerge_button(self, context):
    ts = context.scene.tool_settings
    layout = self.layout
    layout.prop(ts, "use_mesh_automerge", toggle=True)


Problem: You probably wanted to make a drop shape for the icing. The Snapping feature is activated, and this pulled some vertices to a random spot somewhere. Now you have three faces on the bottom of your icing that go from one side to the other.
Snapping is the magnet icon. When it's activated the vertices snap to the mesh that is near. Sometimes it can happen that it attaches itself to a random spot of the donut somewhere. That's because "near" is, for example, x-z wise in the front view but not y-wise (to the back). So it's pulled back along the y-axis while x and z positions are only adjusted slightly.

It's easy to fix:

turn off the Snapping feature
select the icing object in Object mode and isolate it by pressing Numpad / (or menu: View > Local View > Toggle Local View). Then you will see only the icing. Inspect the bottom.
go the Edit mode (Tab). (Most of your icing mesh is hidden, reveal it with Alt+H (or menu: Mesh > Show/Hide > Reveal Hidden))
select the renegade vertices and move them into place.
switch to Object mode (Tab) and leave Local view (Numpad /) to see the result


You are most likely looking for BLAM.

"A camera and projector calibration toolkit for Blender that also does automatic 3D reconstruction of geometry with rectangular faces."

https://github.com/stuffmatic/blam

See this introduction video:
https://vimeo.com/35153437 and other videos and documentation listed there.

It does not match an existing mesh though, it creates it for you...
There's other methods too, perhaps using the camera tracker over a sequence of images.


Texture uv map is not applied to the object while I'm following the projection paiting tutorial

I think there is a little misunderstanding.

At point 1, you are talking about a texture. But at point 2, you are in the material panel. So you wont find your texture here.

An object is rendered with one (or more) material(s). And a material may use an image to render.

As you are using Cycles rendering :

Go to the material tab
Open the "surface" section
Click on the little dot near the color
Choose "Image texture"
Choose or open your image here (you'll have to choose your image by the image's name, not the texture's name : Cycles uses images directly)


How do I copy existing properties in the UI so I can include them in my custom panel?

If you want the properties to be identical to the original ones, you should set Slider to False or simply not include Slider at all.

A Slider is a bar that fills the field from left to right. When disabled, the field has 2 arrows on both sides instead.

If you use a slider you have to include min and max values or else they will be determined by Blender and be huge.

Edit: Code would look like:

def draw(self, context):
    layout = self.layout

    cam = context.scene.camera

    col = layout.column(align=True)
    col.label(text="Location:")
    col.prop(cam, "location", index=0, text="X")
    col.prop(cam, "location", index=1, text="Y")
    col.prop(cam, "location", index=2, text="Z")
    col = layout.column(align=True)
    col.label(text="Rotation:")
    col.prop(cam, "rotation_euler", index=0, text="X")
    col.prop(cam, "rotation_euler", index=1, text="Y")
    col.prop(cam, "rotation_euler", index=2, text="Z")


Is object data, as accessed by Python, not committed until you exit edit mode?

I think you just need to call the update_from_editmode () method of the object.
https://docs.blender.org/api/2.79/bpy.types.Object.html?highlight=update_from#bpy.types.Object.update_from_editmode


How could I create a 3 Dimensional scribble or doodle?

There are a couple ways you could go about this.
Curve object

Add a curve object (I used a path, ⇧ ShiftA> Curve > Path)

In edit mode (↹ Tab), extrude a vertex around randomly (⎈ Ctrl LMB is a fast way to extrude a vertex many times)

Use the Randomize operator in edit mode to further increase randomness (Space> Randomize)

Grease Pencil

Enable Continuous Draw in 3D view > Tool Shelf > Grease Pencil and press Draw to start drawing

Draw scribbles while rotating the view at intervals

Once you are satisfied with your scribble, convert it to a curve object with the Convert button in the tool shelf:


Checked out the file and was first rather surprised by how fast any slight movement of a point from the curves made a mess. Then if you think about it, small movements resulting in a very big mess very fast ... there is something wrong with the translation of action and reaction  .. yes the scale.

I checked and pretty much all curves even the circle (responsible for the size of the pipe diameter) had it's scale not applied. Or shall i rather say it was scaled in object mode, which is something pretty much everyone does and regrets later, more so when working with curves.

This:

Shows that the circle was scaled and the new scale was not applied, which for a straight path does not result in anything other then a thinner pipe.

Fixing this:

Press Ctrl+A -> "Scale"
Go in edit mode
Afterwards open the Sidebar with N and find the Transform panel, usually the top one.
Under Mean Radius it should be standing "1", but due to the previous steps it got changed to "4.123", set that back to "1" like so:

Circle profile fixed.

Now to the curves/paths.
There are a few things that need adjustments:

First it looks like this

The scale needs to be corrected, BUT here you need to be careful, as to not change the scale with the bevel object included!
Thus in the options, remove the Bevel Object resulting in this:

Now there are 2 things marked, rotation and scale. While we could just apply those, it would nip us in the butt afterwards, so believe me and do the following.
We have to leave the rotation alone! Applying it would mess with the sizes of the path internally.
And regarding the scale we have to do it manually.
Go in the Transform panel and change the value of the X-scale to 1. Just keep in mind it was 25.
After adjusting the scale the path will become very short 1/25th to be precise, so go in edit mode and press A selecting all elements, followed by S and then type in 25 followed by Enter. Resulting in the old length, without all the trouble.

Here is what would have happened if we had applied the scale or rotation or both, changing the path dimensions, thus causing more things to fix:

I know all can be fixed somehow, but let's fix to not have to fix the results, if you know what i mean ;)

Here how it does look now:

Now there are some settings you need to deactivate that only show their effect in edit mode, assuming that you want to have the pipe start and end with the path/curve and not generate a circle (endpoint connects to the startpoint, responsible for some of the weird shapes).

Deactivate the Cyclic U and Bezier U to get something like this:

As you can see the path is having it's normals along it's entire length, means with the Bezier circle applied as Bevel Object you now get something like this:

With this all done you can now move the points and get the expected results like shown here:

Ok long story short, scale is very important to pay attention to, if you want to adjust the sizes, it's recommended to do so in edit mode. Rotations i would also consider to adjust edit mode, as it can also cause issues, especially with the profile curve.

The other curves may have one or more of the same issues, but i believe if you followed the steps you should be able to handle those yourself now. Just beware, there you need to scale only in one direction.

When done, it should look like this:

All the steps you could have saved yourself by starting over with scale in mind, but since we are supposed to learn from mistakes, i believe it's good to know how to fix things and understand what caused the problem along the way.

Happy Blending.


You should multiple the coordinate by the matrix_world before passing to world_to_camera_view. The coordinates are not modified when you rotate, translate, scale an object. Instead those transformations are placed in the matrix_world.

for obj in bpy.data.objects:
  if obj.type == "MESH":
    for v in obj.data.vertices:
      co = obj.matrix_world * Vector((v.co.x, v.co.y, v.co.z, 1))
      co = world_to_camera_view(scene, camera, co)


Assign variable selecting vertex group in blender

This is a python script which will select all the vertices in a vertex group with weight>0.5

import bpy
import bmesh

def selvg(obj, name):
    bm = bmesh.from_edit_mesh(obj.data)
    for i in range(len(obj.data.vertices)):
        try:
            s = obj.vertex_groups[name].weight(i) >0.5
            s=True # or maybe you don't care what the weight is, and even weight 0 is acceptable
        except:
            s=False
        bm.verts[i].select = s
    bmesh.update_edit_mesh(obj.data)

selvg(bpy.context.active_object, "Group")


How do I find the velocity of an object and use it to chaneg the colour of a material?

As I told in comments, you can get that with a particle emitter. On the next image, you find a cube emitting a ball. The material of the emitted ball is the node setup presented. It works in cycles.

If you need to get a surface made of the particles, you can use Cubesurfer addon, or instead of using a sphere as emitted object, you use a metaball, and fine tune the options of it (size, etc). However, the generated surface wont be with colour change by velocity, for both methods.

If you dont want to use a shape itself, another way, in the "particles" setup, you render as "halo", on "viewport display" you sent as "point", in "colour" you can choose "velocity" or "acceleration". You can fine tune the colours increasing "fade distance", as showed in the next image:


You have 2 solutions:

Linked Duplications: altD allows you to create a linked duplication, meaning if you modify one of the instances it will change all the others as they share the exact same mesh data (while a simple shiftD creates a non-linked duplication). To unlink a copy, select the object and Object > Relations > Make Single User > Object & Data (create a Q shortcut if you plan to use Make Single User a lot).

Collection Instances (former Group Instances): Place your cursor on the center of the grid with shiftC (the position of the object to the center of the scene will determinate the collection center). Create your object(s). Create a collection with your object(s) with M (before 2.8, CtrlG). Now with a shiftA > Collection Instance you can create an instance of the collection you've created (shiftA > Group Instance before 2.8). You can't change the instance, if you want to do it you need to edit the original object(s). If you want to make the instances "real" press CtrlA > Make Instances Real (before 2.8, press shiftctrlA). It is still linked though, if you want to unlink it, go in the header menu > Object > Relations > Make Single User > Object & Data (before 2.8 press U). As you can see, the instance is followed by an empty. The empty is placed where the grid center is relatively to the original object(s). If you want to change the position of the empty, select the original object(s) and move them or place the cursor where you want the empty to be, go in the Properties panel > Object > Collections, click on the down arrow and choose Set Offset From Cursor (before 2.8, Properties panel > Object > Groups).

As you can see, linked duplication is much easier to use, and it doesn't weigh more than group instance, so most of the time I guess you should choose this solution. But as said by BatFINGER below, group instance can be very useful sometimes (you can mix several types of objects, modifiers or constraints will affect every object...).


So what's happening here is your object has a fair number of double vertices. Blender has a tool for removing doubles which can be found by pressing W in edit mode with everything selected. This does a decent job, but as a result created some triangles and n-gons (faces with more than 4 sides) which you definitely don't want. As well, it doesn't fix the original problem.

The reason these double vertices are a problem is because beveling adds more loops and then slides them on the edges connected to the vertices you had selected. Double vertices/faces/edges results in some of the connecting edges have a length of 0 and thus no direction. So blender doesn't know which way to slide the loops created by the bevel operation and you get the messy results you see.

To fix the problem, you have to remove the double vertices as well as clean up some extra edge loops and messy faces that are left over. It's definitely worth a try to fix this yourself as you will learn much better by solving the problem yourself. It can be pretty tricky to clean up a mesh though, so I uploaded a file that's been cleaned up and bevels properly.

One of the most common causes for double geometry, especially among beginners, is when you extrude something with E whether accidentally or intentionally and then immediately cancel the extrusion with Right click. This still extrudes the mesh, but leaves the extruded mesh directly on top of the original mesh, thus causing double geometry.


Create a Vertex Group.
Add a Vertex Weight Mix modifier.

Set Vertex Group A to the one created in the previous step.
Set Default Weight B to 1.
Set Mix Set to All.
Add your texture to Texture Mask and set Textue Coordinates.

Add a Mask modifier and set the Vertex Group.
Apply modifiers (optional).


The object is polygon geometry or rendered already
In a 2D postprocessing step, you can use a dilate node on the alpha channel. This could also be done in any image editing/compositing software.

The object is a 3D text

Duplicate the text object.
Change the color of the duplicate.
Decrease the texts extrude property and increase its bevel and offset properties.


If you look at the info panel when you shift+D you do get that python there, but that only duplicates the strip and snaps it to the end of the first strip. If you move it to above the existing strip, it also uses bpy.ops.transform.seq_slide(value=(-26,1)) where -26 is to move the strip the number of frames of the strip(original is 26 frames) and the 1 is positive direction next channel. If you automate it, you will need to have the python look get the number of frames of the strip and use that where the -26 is.


How can I reduce the vertices on this converted file?

Because the mesh is fairly simplistic in terms of shape, I would recommend rendering out the Z-Pass/Z-Depth  (setting your camera to your top view before render), and saving that image. Then you can start with a new plane, and use the displace modifier, using that rendered image as the displacement texture. Once you have that in place, you could subdivide your mesh until it fits your needs, and add sub-surf modifiers to smooth it out.

I will attempt to circle back around to this post shortly, but as time allows, in order to post screenshots of the process, and step by step text to finalize this answer.

OK, sorry that this took so long, but I personally had to verify the steps to get this done, because it has been a little while since I have used this method, and I wanted to make sure that the steps were correct before posting.

To Get the Z-Pass Image Rendered

Go to top view using Numpad 7.
Ctrl+Alt+Numpad 0 - to set your camera to the active view.
In the Render Panel, Adjust your render size to a proportion equal to your mesh dimensions.
Switch to the Data Panel (with your camera selected it's the one that looks like a movie camera - not the render panel).
Set your camera to Orthographic.
Copy the X & Y Locations to your camera's X & Y Locations.
Adjust your Orthographic Scale until the mesh fills the Camera.
Turn Limits on.
In your 3D View go to a front or side view and change the view to orthographic (Numpad 5).
Adjust clipping start to just above the mesh (the limit line will move toward the top as you increase the start value).
Adjust clipping end to just below the mesh (the far end of the limit line will move toward the bottom of the mesh as you decrease
the value).
Go into the Node Editor and into Compositing Mode.
Check 'Use Nodes' as soon as you do, there should be a 'Render Layers Node' as your input, and a 'Composite Node' as your output.
Add The following three nodes:

Add >> Vector >> Map Range
Add >> Color >> Mix
Add >> Output >> Viewer (optional - If using this make sure that you have backdrop checked in the compositor toolbar.)

From the 'Render Layer Node' Take 'Z' and input it into 'Value' of the 'Map Range Node'.
Set 'Min' & 'Max' to the same values that you clipped your camera to in steps 10 & 11.
Take the 'Value' Output of the 'Map Range' and input it into 'Fac' of the 'Mix Node'.
Verify that the top image is 100% white .
Set the bottom image to 100% black.
Take the 'Image' Output of the 'Mix Node' and input it into the 'Composite' & 'Viewer Node'.
Render and save this image for Displacement.

For the actual Displacement

I'm going to describe using the Images as Plane Add-on, as I believe it is the easiest method for this. If you don't have it enabled, please either enable it to follow along from the User Preferences, or Manually add your plane and UV unwrap it from the top view.

Add >> Mesh >> Images as Planes.
Browse to your saved file from the Z-Pass Instructions Above.
With the new Plane Selected, go into the Modifier Panel and Add the Displace Modifier.
For the Texture Just go into the drop down and select the image that you just imported via steps 1 and 2.
Set Texture Coordinates to UV.
In the Modifier (at the top) Enable 'Display Modifier In Edit Mode'.
Sub-Divide your Plane W >> S.
Adjust Mid Level & Strength to suit your liking.
Repeat Steps 7 & 8 Until you are satisfied with the outcome.

Note:

There are faster methods, such as Shrinkwrap, or Face Snapping your verts in edit mode, etc... BUT, once you actually do all these steps and get used to them, you will find that this is actually very quick as well.

However this method allows you to keep the detail information in texture form, and adjust your mesh topology up and down separately without worrying about losing information.

This also has great usage capacity when your camera moves away in distance, and you can modify it in a procedural driver sort of way to lessen poly-counts (via Sub-Surf Modifier Driver) in the rest of your scene (super useful for animation render times when things come in and out of focus or change in foreground/midground/background).


How to view the python command triggered when an action happens in 2.8?

Sure. Just go to any window (I use the timeline so long as I'm not animating), and select "info" as the editor type.

The information should appear as you expect.


How to install Sun Path addon (Blender 2.8x)?

Manage to find the python scripts here:
https://github.com/ccamara/blender-architecture-scripts/tree/master/addons/sun_position


How do i merge materials on a pre-textured model without breaking texture mapping

The coordinates you are using before uv unwrapping are called "generated" coordinates, and they aren't actually destroyed by unwrapping, just swapped out. If you look at the node setup you're using to make the procedural texture you started with, you'll notice the textures have inputs for the coordinate mapping. It's possible to manually set them back to generated coordinates without discarding your uv map, allowing you to bake the textures as originally designed.


Trackers in re-linked footage don't match the features on video

The trackers on the linked footage do not match with any trackable features in the video.

it looks like you are using some frame offset (the 1st frame in the composition and the 1st frame of the video file are not the same)
Somehow the offset information got lost in the re-link or at some point it changed in the file (my guessing powers are quite limited).
You might need to find the correct start frame manually by sliding the Offset (place the cursor over the Offset box, right click with the mouse and drag to visually find the point where your trackers and the image match correctly)
If you offset the image by 500 frames things line up better.


how to make UIList interactive for object manipulation

In draw_item() you pass item and then use if item.name in bpy.data.objects.keys() - if you rename a key in bpy.data.objects and it no longer compares to item.name then that tells me that item is at least a copy or part copy of the data in bpy.data.objects.

This means the fix will be to update the name in both bpy.data.objects and item.

The fix will depend on what is in the rest of your code. Maybe an extra refresh of the data in item. One possibility is using bpy.props, by utilising the update feature of bpy.props you can have a small function that will update both your item data and the objects name property, that would mean having the list show your list of item properties not bpy.data.object properties.


How to put a button on the N panel for URL?

Not sure what the issue is re registering... remove  bl_context since it is not required outside 'PROPERTIES' area.  Please in future paste the error message from the system console into your question.

Anyway here is a suggested edit.  Please take note of the class names. and registration code. If another class that needs registering, eg panel of operator, simply pop in the class and add to classes tuple.

Adds a Quick Links panel to 3d view UI "N" panel under the category "Links".

import bpy

links = {"Blender" : 'http://www.blender.org',
         "BSE" : "https://blender.stackexchange.com",
         }

class VIEW3D_PT_links(bpy.types.Panel):
    """Quick Links"""
    bl_label = "Quick Links"
    bl_idname = "VIEW3D_PT_links"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = 'Links'

    def draw(self, context):
        layout = self.layout
        col = layout.column()
        for name, url in links.items():
            op = col.operator('wm.url_open', text=name)
            op.url = url

classes = (
        VIEW3D_PT_links,
        )

def register():
    for cls in classes:
        bpy.utils.register_class(cls)

def unregister():
    for cls in reversed(classes):
        bpy.utils.unregister_class(cls)

if __name__ == "__main__":
    register()

edit: added links dictionary to add more links simply.


I fixed the issue. It lagged because my model had WAY too many tris. I heavily lowered the tris, restoring the original speed.


Your assessment is accurate, Blender's ply exporter loops over the triangles. This can be seen in line 90 of export_ply.py.

for i, f in enumerate(mesh.loop_triangles):

Any vertex that is not part of a face isn't included in the exported mesh in Blender 2.8.


Hello. My strips are suddenly unlabeled. How do I get the labels back onto my strips? Thank you


Are the Arcmesh materials broken? If so, how do I fix this?

It's a bug. I recreated the material nodes in my own fashion in order to continue. However, the Archimesh add-on will need to be updated to truly resolve the glitch.


How to store multiple added empties IDs used in a warp modifier so they don't conflict with new warp modifiers?

Using API methods.
A common misapprehension in blender is that create / add "anything" operators return the newly created thing, instead the newly created thing is found from context. Eg for add object primitives the new object is context.object directly after the call (if run in OBJECT mode) A newly added modifier sits last in the objects modifiers collection.
That said, it is a lot, lot, lot  easier (IMO) to totally ditch the operators  & instead use related API methods which return a reference.
Below is an operator-less re-rig of question code to run entirely in EDIT mode

Select a vertex

Adds a warp modifier, once again using the related API method new_mod = Object.modifiers.new(...), so we have its reference.  The new modifiers show in edit mode is set, so we can see the result.

Adds two empties, the first is at the location of the vert, the second is offset from the first by the value set for offset These are assigned as the "from" and "to" objects of the modifier.

The empties are given a name to reflect object warping, which modifier, from or to.  Other things to consider would be putting the empties into their own collection.

Looped over the "object_from", "object_to" properties of the modifier.  setattr(warp, k, ob) is equivalent to warp.object_from = ob when k == "object_from".

The offset is in global coordinates. This is converted to local since the empties are being parented to the warping object. Think this answer helps explain the maths used Which matrix to use to transform children local coordinates to global?

Test code.
import bpy
import bmesh
from mathutils import Vector
from bpy import context

offset = Vector((0, 0, 1))

col = context.collection
ob = context.object
mw = ob.matrix_world
mwi = mw.inverted()
me = ob.data

bm = bmesh.from_edit_mesh(me)

vert = bm.select_history.active
# if not a vert then throw error
assert(isinstance(vert, bmesh.types.BMVert))

warp = ob.modifiers.new("Warp", type='WARP')
warp.show_in_editmode = True
for k in ("object_from", "object_to"):
    mt = bpy.data.objects.new(f"{warp.name}_{k}", None)

    col.objects.link(mt)

    if k.endswith("from"): #
        mt.location = vert.co
    else:
        mt.location = vert.co + mwi @ offset

    setattr(warp, k, mt)
    mt.parent = ob


not able to add a curve, the popup menu only lets me add meshes

Most likely you are trying to add a curve while editing a mesh in edit mode. Meshes and curves are different kind of objects and cannot be combined.
Curves can't be added to a mesh object, and meshes can't be added to a curve object.
Exit edit mode and you will be able to add a curve as a different object.
Blender has different kinds of objects, all of them have different and unique characteristics and cannot be combined into objects of a different kind:
Meshes
Curves
Surfaces
Metaballs
Text objects
Lattice
Since you are starting with blender you should take a few minutes and read through the very basics of the manual:
https://docs.blender.org/manual/en/latest/modeling/index.html
it will save you a lot of time down the line.


is it possible to export .mdx and .mdl files?

You could try the Blender-MDL addon.

It is also listed in official import/export extension section of the documentation at wiki.blender.org


How to show textures in the 3D View editor?

Switch to Material viewport shading by clicking the icon in the top right of the 3D view:

If you have an image texture, you can also display textures in solid shading mode by switching to "texture" in the shading mode options drop down:

Blender 2.5x - 2.7x:
Blender internal:
Try setting the viewport shading to Texture (AltZ):

Note that this only works when the object's UV map has the appropriate texture displayed in the UV/image editor: (see this post for more information)

To display the textures used in the material of the object regardless of the texture (or lack of texture) displayed in the UV image editor, enable GLSL in 3D view > Properties region (N) > Shading and set the viewport shading to Texture:

Cycles:
You need a material to display textures in the viewport in cycles.
Set the viewport shading to Texture or Material.
Texture displays the texture of the last selected image texture node:

Material tries to approximate the result of the shader nodes, so if you have two combined textures:


Selecting vertices within a box defined by exact coordinates

You can do this using python.

Open up a text editor in Blender and paste the following script.

import bpy, bmesh
from mathutils import Vector

# checks if a supplied coordinate if in the bounding box created by vector1 and vector2
def IsInBoundingVectors(vector_check, vector1, vector2):
    for i in range(0, 3):
        if (vector_check[i] < vector1[i] and vector_check[i] < vector2[i]
            or vector_check[i] > vector1[i] and vector_check[i] > vector2[i]):
            return False
    return True

def SelectVerticesInBound(object, vector1, vector2):
    # get the mesh data from the object reference
    mesh = object.data

    # get the bmesh data
    if mesh.is_editmode:
        bm = bmesh.from_edit_mesh(mesh)
    else:
        bm = bmesh.new()
        bm.from_mesh(mesh)

    # cycle through all vertices
    for vert in bm.verts:
        # check if the vertice is in the bounding vectors
        # if yes, select it
        # if no, deselect it
        if(IsInBoundingVectors(vert.co, vector1, vector2)):
            vert.select = True
        else:
            vert.select = False

    # update bmesh to mesh
    if bm.is_wrapped:
        bmesh.update_edit_mesh(mesh, False, False)
    else:
        bm.to_mesh(mesh)
        mesh.update()
    # trigger viewport update
    bpy.context.scene.objects.active = bpy.context.scene.objects.active

# get the active object from the scene
active_object = bpy.context.scene.objects.active

# ensure that there is an active object
if (active_object != None):
    # call the method to select all vertices in bounding box vectors
    # object             the object to operate on
    # vector 1           the first coordinate of the bounding box
    # vector 2           the second coordinate of the bounding box
    SelectVerticesInBound(active_object, Vector((0, 0, 0)), Vector((1, 1, 1)))

The coordinates for the two vectors are supplied in the last line, which calls the method. Input your coordinates, select a mesh in object mode and press Run Script or ⎇ AltP to run the script.

I have included comments explaning the code. Additional resources.

Get Vertex Positions
Properly get and update Bmesh objects
Select Vertices

Note: Somehow vertices don't get deselected when the object is in object mode. Maybe an experienced python coder can help us out here.


How can I make an object only visible through certain material

It depends on your scene and what you need but you could use Light Paths node to make some condition that only one of your glass objects meet. For example you could have two glass planes, but one has another plane in front of it that has a transparent shader:

You can see the visibility of the orange shader is controlled by Light Paths node's transparency depth output that is 0 when we look through glass, but becomes 1 when there is a plane with transparent shader in front of that glass. You can see what happens if I move the transparent plane.


Zooming out makes image disappear in shader

This may have to do with the downsampling of the filter ('led-rgb') image.. I've made a node-group which makes the 'Trinitron' filter procedurally, instead:

By wrapping the scaled UV space into 0-1 cycles, it produces square UV tiles, 0-1 per tile. ('in-pixel UV')
By subtracting that from the smooth UV, we get a per-tile UV coordinate, at scale. That's scaled back down to an overall 0-1 to look up the color in the image(s). ('pixellated UV')
The 'in-pixel UV' X generates R,G and B strips per square tile, using the color ramp
The 'in-pixel UV' X,mod(1/3), and Y, are compared to 0 to generate black bars between the RGB strips, and the tiles. ('X Bar' and 'Y Bar')
The X Bars, Y Bars, and RGB strips are multiplied with the image to be depicted.

With this effect:

Used with solid green and red logos, it seems to stand up to Level-of-Detail resampling OK:


Why Blender and git seems like working so well together?

Blender saves a direct copy of its memory to the blend file. As a result, the file contents change little when you change a small thing in Blender. This allows tools that perform binary diffs (not sure about Git, but Subversion and Mercurial do a good job at this) to produce a small diff.

When you save your blend file compressed, the entire file can change even when in Blender only a single bit was flipped. This prevents efficient diffing, and thus makes it work much less efficient with such tools.


How can I append a group after having it linked earlier?

So here is a very simple solution of how to append a group after having previously linked it in or how to simply get rid of an unwanted group instance:

In the Outliner, switch to "Blender File", and open up "Libraries".

Right click the library referencing the linked group, and press "Delete".

You will now be able to immediately append the group as normal, no saving or re-opening required!


How do I divide equally copies by the distance between two objects

A solution is the Array Modifier. Found here.


Transparent material from 2.79 is solid in 2.82

Cycles still works the same.
But in Eevee, you need to enable transparency per material.

Set Blend Mode to Alpha Blend in the material settings.


How can I melt an object and displace it horizontally?

As a test to find the correct wax melting settings, setup the following.

Open blender and keep the default cube, will be the fluid domain
Place another cube inside it
Resize it to about half of the first cube and press CTRL+A for Apply and select Scale
Enter into Edit mode and subdivide the small cube about 50 times or more.
Go to Physics and select Fluid and the Type to Fluid
Select the bigger cube now and at the Physics tab select Fluid and the Type to be Domain
Scroll down to the Fluid World and set it up the way you see it in the image below, Time End and Speed settings also have an effect

Click on the bake, Once it finished you can play the animation and
see the result. Do not forget to hide from Viewport and Rendering the cube that      you setup to be the wax. Clicking the eye and the camera next to the wax object, see image top Cube.WaxCube object.

Experiment with those settings to find the effect you are looking for, and after every change bake it to get the new settings to take effect. If you reduce the Compressibility further, would not go below 0.001, your bake time increases and if you increase the Grid Levels then the same will happen.
Once you find the right settings then you can implement it in your project with materials and the right resolution and so on.
The quality will be depending on the Final Resolution settings which also will effect your bake time, but for final I would set it to 200 at least to make it look good.

For you specific needs you need to create objects that are set up within the fluid domain and they need to have a Physics assigned as Fluid and the Type to be Obstacle. So your wax fluid cube need to be placed into a cube with a hole on it, if you want it to see the wax level drop and flow out. Another object should 'catch' that liquid, again as an obstacle object and the wax fluid will take its shape simulating its solidification. Need to make sure that the object is open on the top otherwise the wax will run on its surfaces.
An example below

Do not forget to set the Physics for the wax holding container that has the hole in it to allow the side flow, like below with the Shell selected.

Also ad a Subdivision Surface modifier and set it to View and Render to 4.

The below was created with the same setup but removed the cylinder and moved the fluid domain up to the bottom of the wax cube and assigned a material to it to make it visible. The wax 'catcher' in this case is only the fluid domain. The hole on the wax holding cube allowed the flowing out of it side ways. Of course, it was baked again for the new positions. This is only a rough demonstration.


Cloth pinning option works regardless of modifiers. So there is no need in using Hook modifier on top of Armature to exclude some vertices from Cloth simulation.

Fixed file with deleted Hooks (from author's comment):


Simplify Blender GUI, FileWindow without info header

No, there is no way to customize the window layout used when launching the file selector, unless you modify the C source code.

However Im not sure why this, specifically is such an important feature.

You could however, use Python's tkinter to launch a non-blender file-selector.

See:

https://docs.python.org/3.4/library/tkinter.html#module-tkinter
https://stackoverflow.com/a/15685836/432509


Match shape key index and a driver index

I figured out a way of how to get a name of the bone that is driving a shape key. Although it is a bit hacky and it does work for only the first target in the driver. Also I abandoned the idea of trying to match the shape key index and the driver index. Now I use the shape key name to get the index of the driver if that makes sense.
import bpy

selected_shape_key_collection = bpy.context.object.active_shape_key.id_data.name
selected_shape_key_index = bpy.context.object.active_shape_key_index
selected_shape_key_name = bpy.context.object.active_shape_key.name

name_list = []
for x in bpy.context.object.active_shape_key.id_data.animation_data.drivers:
    #Hacky because I don't know how to get just the raw names so I used .replace
    name = x.data_path.replace('key_blocks["',"").replace('"].value',"")
    name_list.append(name)

if selected_shape_key_name not in name_list:
    print("No")
else:
    driver_index = name_list.index(selected_shape_key_name)
    print(bpy.data.shape_keys[selected_shape_key_collection].id_data.animation_data.drivers[driver_index].driver.variables[0].targets[0].bone_target)


Can use the mixdown operator to create an "audio render" of the scene.

Mixdown is next to the render animation button in the latest versions of Blender (There once was a mixdown button on the audio panel)

Otherwise go to the  python console and type in

bpy.ops.sound.mixdown('INVOKE_DEFAULT')

to call the operator as if a button was pressed.

Select a format that allows for the channels, wav is pretty foolproof.

I just added a simple mono wav file to your test file and selected basic old stereo.  Below is the result viewed in audacity.  Starts in left ear, moves to right as it rotates.

If I choose 4 channels I get a 4 channel wav file.

Which appears to be  Quadraphonic ears at (facing north) NE, SE, SW, and NW.  (Or speakers at Left Front, Right F, L Rear and RR) rather than W, X, Y, Z


Blenders Game Mode does not support smoke simulations. Or Fluids.


Problem creating energy material in cycles

The main difference with your setup and that of the "Tutorial" is that the base material is not completely transparent.

If you mix the transparent with a translucent material, and then mix that with an emission shader using fresnel information, you can get something similar.

Click on the image to enlarge

Of course you can always make things more complicated and add another emission shader with a texture as volume:


How to prevent Blender randomly flipping textures assigned to a face of a cube

Susu's comment was dead on: the UV editor is the way to address this issue.  I'm new to Blender and had never used the UV editor, but read up on it after seeing the comment.  For others in the same position, the UV editor allows you to accurately control the mapping of textures to the faces of an object, including mapping different textures to different faces from a single texture map.  Here's the approach that worked for me:

Prepare a single texture file containing all the textures you want to apply (the texture atlas).  For example, you could build a cross-shaped graphic with six textures for an unwrapped cube.
In Blender, press the UV Editing button at the top to split the screen between the 3D Viewport and the UV Editor.
Put the 3D Viewport in Edit Mode and unwrap all faces of the cube.
Select each face in turn and use the UV Editor window to select the portion of the atlas that should be used to texture the face, rotating or scaling as required.

This doesn't address the question of why Blender randomly flipped the texture in the first place, but it does make it irrelevant.


Bake hair particle system to textured low-poly mesh

I have a technique which might be unorthodox but very efficient.
The idea is to deform your mesh into its UV map while keeping the hair attached to it, so you can render it into a UV texture :

I've used this technique on one model so far and it worked well.
Here's a part of the result :

Downsides

it doesn't perform well on long or clumped hair
it renders noticeable seams on the islands borders

How to prevent them as much as possible:

Prefer sculpting (combing) your hair manually instead of using the Clump property
use as few UV islands as possible. For that, I strongly recommend avoiding Blender's built-in UV unwrapping (which introduces important distortions) and instead, using the SLIM algorithm. You can use it by either installing the original standalone program (not the best because it requires to triangulate your mesh and split the seam edges) or better, by building the Blender SLIM branch (much easier to play with but might be harder to install depending on your OS). Hopefully this amazing algorithm will get implemented in an official release some day.

Now, to deform your mesh into its UV map, you need the UV Shape add-on (not yet updated for 2.8).
Once you have it enabled :

duplicate your model
put the copy on another layer
select your edge seams (select only one and then click on Select > Select Similar > Seam)
perform an Edge Split
in Object mode, select the UV map you want your mesh to deform into
in the Extended Tools tab of the tool shelf, enable "Use Active
Map"
leave "Rescale Islands" enabled to keep hair density consistent
click on "Create UV shape". This creates a shapekey. The hair should deform well with the mesh. Personally I did it with a rabbit's fur and it worked perfectly. Tell me in a comment if that didn't go well for you.
select the created shapekey
in Edit mode, top view, pack your islands in a square (in 3D view of course).You can rotate islands but don't rescale anything or the hair density will change.
create an orthographic camera and put it on top view
adjust the orthographic scale so the flattened mesh fits in the frame
project UVs from view
in UV/Image Editor, ensure the UV map fits the UV square. If not, don't rescale directly in the UV/Image Editor. Instead, zoom or unzoom your ortho camera and reproject UVs.
remove any lighting in your scene and set the World color to white
Render with the orthographic camera
Save the image

Now you can bake this texture on the original UV map :

on the non-original model, create a simple diffuse material with
the rendered image as the color texture
select the non-original model and then the original
bake the diffuse color from selected to active (make sure you have an
image node selected to bake into)

and voilà !

You can even render a hair normal map using a camera normal material :

Although you may want to combine it with the normal map from the hi-res mesh if you have one (I have to add a screenshot on how to combine normal maps with Cycles nodes)


Well, I discovered that the reason why the hair looked significantly different than the particle editor was that when I went to solid view I was later in the timeline and I had Hair Dynamics enabled. Therefore the hair went all over the place. Just make sure your timeline is at 0 or 1 when you work with this stuff, OK?


Wait until the action is done (in script)

AFAIK Blender still has no built-in facility to do this, without freezing the GUI. I was stuck with that problem before, and the hack I used in a production code is to query render result's filesize through os.stat, and check it at an interval using a TIMER event. If the size is unchanged from previous query, render is considered finished.

Querying filesize only works for video output; for image sequence output, try querying file count in the target directory. And depending on scene complexity, interval might need to be tweaked. Here's a sample code to test with:

import bpy
import os

class VIEW3D_OT_render_and_execute(bpy.types.Operator):
    """Render and Execute"""
    bl_idname = 'view3d.render_and_execute'
    bl_label = 'Render and Execute'
    bl_options = {'REGISTER'}

    prev_stat = None
    timer = None

    def modal(self, context, event):
        if event.type == 'TIMER':
            if not self.prev_stat:
                self.prev_stat = os.stat(context.scene.render.filepath)
                return {'PASS_THROUGH'}

            cur_stat = os.stat(context.scene.render.filepath)
            if self.prev_stat.st_size != cur_stat.st_size:
                self.prev_stat = cur_stat
                return {'PASS_THROUGH'}

            context.window_manager.event_timer_remove(self.timer)

            print("Render finished.") # POST-RENDER CODE HERE
            return {'FINISHED'}

        return {'PASS_THROUGH'}

    def execute(self, context):
        if context.scene.render.image_settings.file_format != 'FFMPEG':
            self.report({'ERROR'}, 'Only works for video output.')
            return {'FINISHED'}

        wm = context.window_manager
        wm.modal_handler_add(self)
        self.timer = wm.event_timer_add(2.0, context.window)
        bpy.ops.render.opengl('INVOKE_DEFAULT', animation=True)

        return {'RUNNING_MODAL'}

def register():
    bpy.utils.register_module(__name__)

register()

I'd be very glad if a cleaner solution is available, but haven't found it so far.


Smoke looks blurry even though resolution is set to a high value

Number of Divisions has nothing to do with "blurry" result. More divisions gives more details (volume grid is detailed). You can try to sharpen with ...
Default 32 Divisions

add Math node Multiply 100 into Density socket

add node Color Ramp, to get rid of lines ...

change Render Properties > Volumes > Step Rate 0.1

(Step Rate - lower value less "lines" in a volume.)
Play with ColorRamp to get more or less of volume ...


Changes you make in Object Mode aren't taken into account in Edit Mode.
You need first to Apply Scale in Object Mode with ctrl A :

It will be reflected in Edit Mode:


BI how to use the Defocus node with images as plane

Well, as you put, the internal render doesn't see the alpha of the image it can only see the alpha of the object and this can't be changed. This is a common limitation of the internal renderer's depth of field.

An often used workaround is to model with geometry the outline of whatever the texture is so that blender can see the alpha. For example if the texture was a leaf you would have to model the outline of the leaf before applying the texture to it. Of course, this might be time consuming for a complex texture but unfortunately that's one of the few workarounds.

An alternative method is to render the plane with the texture onto a separate render layer and manually blur it in the compositor using a standard blur node and then layer it back onto the background.


The first thing I would do is delete all the faces on the top along with those nasty triangles and poles... tris and ngons do not subdivide well with bevels.

Try to keep your geometry with quads.

Once you delete the offending faces, select the edge loops you want to bevel, and on the top view extrude and scale. The idea is to create a new set of edges and faces that follow the topology using quads.

Those edges will bevel nicely now...

If you need to bevel the outer edge loops do the same.

After that then just fill the gaps with the best topology you can come up with.


Go to Render Settings -> Metadata -> Check what you want to "Stamp" on the image and uncheck what you don't want,


I was able to recreate the problem: it seems to be caused by setting material output to Cycles (in the material editor) while rendering with Eevee (in the render settings). The only solution I know is to render with the same render engine as you specify in the material.


You can save your project file and then (re-)open it without loading the stored UI. This can be accomplished through File > Open with the Load UI option unchecked.


Object does not appear in render view but appears in all other views

I figured it out: The Diffuse BSDF node was linked to Volume in the output, instead of to Surface.


How to give objects clickable labels in Blend4Web?

These labels are called Anchors.

Here is the section of the Blend4Web Manual that explains about them.

The object to be given an Anchor must be an Empty, so if you don't have an Empty selected the option will not be available in the menu.

Here's where to find the Anchor settings (for an Empty):

The above screen shot was taken from the Planetarium Demo you mentioned. The source files are included in the Blend4Web SDK, so you can see exactly how it was done: /blender/interactivity/solar_system/solar_system_en.blend


How can i make images not Split on a Plane

Need to see a screen shot of your uv mapping, but if you select the plane and use 'U' - 'reset' and then 'Unwrap', do you get the same issue? If you unwrap a single plane usually it covers the entire image in the UV/Image Editor. Do you have a seam there along that dividing edge?

edit: If you can, please look in your addons under user preferences and find "Import Images as Planes" and turn that on - and then choose 'add mesh' and then choose 'images as planes' - UV mapping is already done, as well as aspect ratio matches the plane width/height automatically. I use that in all my work as a basis to start painting with.


The rock generator has been merged in the "Add Mesh : Extra Objects" Add-on.

You can then go to Add > Mesh > Rock Generator.

You can find such informations by visiting https://developer.blender.org/


You answer was very uninformative and i don't quite understand your issue, so please update your question and i'll update my answer accordingly.

I'll still attempt to help by saying why it might not collide.

If your bullet is not colliding with things, the reason may be many things, so a quick troubleshoot is to check your physics tab(1)

One, the collision group(2), if a cube had the top left box ticked (dark grey if ticked) and the floor had it's collision mask(3) on the top left as well they will collide.

And if Ghost(4) is ticked, then the cube will fall no matter what through anything, and can't be interacted with say, the mouse click.


Creating an explosion in blender game engine?

Expanding sphere (or hemisphere) is a good way to create an explosion. You might want to scale it faster.


Bones getting left behind in mesh transform

So what you could do is:

First, to clean a bit, remove the current armature and the object Armature modifier.

Also, delete all the existing vertex groups.

Prepare the right side of the armature, each bone must be the child of another one, the main one is the root bone. Put their head on the paper fold so that it will fold correctly. Give them some logical names fold Wing1_R, etc... Once you're good, select them all and in the header menu select Armature > Symmetrize, it will mirror your bones (as long as they have the R or L suffix).

Parent the paper to the armature With Empty Groups, which means some vertex groups will be created within the object, they will have the name of the bones, but they won't be affected to any bone yet. It's the best way to parent as your object is not organic.

Now select some vertices and in the Vertex Groups list, assign them to the group to which there are supposed to be part of, meaning which have the name of the bone that is supposed to influence them.

Blend file here:


Track To Constraint

In order to use Track To Constraint, follow these steps:

Add your camera
Add the empty
Select the camera, then hold down SHIFT and select the empty -- this will make both the camera and the empty selected at the same time. You can tell if they are both selected because they should both be highlighted at the same time
NOTE: The order you select these in is very important: first select the camera, then hold down SHIFT while selecting the empty
Then press CTRLT -> Track To Constraint
Here is a demonstration:

Here is a second, alternative method you can use once you have added your camera and the empty:

Select the camera
In the Object Properties panel, under the Constraints tab, set Target to the empty, as shown here:


Snake hook in sculpt mode is creating glitch like shapes instead of smoth tentacles

You need to enable Dyntopo in the left panel, otherwise the tool will only displace geometry, until it gets horribly mangled and creates artifacts.
Dyntopo will generate new geometry on the fly, provided you don't move your mouse too fast it should create a smooth hook.
Don't forget to tweak the detail size if you think the generated geometry doesn't fit.

Also consider using the latest version if you can, there has been gigantic improvements since 2.79 in the sculpting area.
Link to the official download page


How do I get an object to stretch between two animated objects?

I can suggest two options:

if you want to use it in 3d engines (with only bones animation), you can use two bone system:

One bone at one black thing and weight paint it (gradient) to the parallel part of the rubber mesh.
Second bone at the other black part
attach "track to" modifier to the first bone with target as second bone.

Make a "Shape Key" of the rubber with stretched pose, and move and rotate as required. You can also use both (1 & 2) for easy animation and right mesh deformation.


How to make an object move independently but also with a parent object?

You should Shift+Click on all your cylinders first and then on the top of the briefcase lastly to make it the active object.
Then press P to Parent all the objects you selected to the last one you clicked (the top of the briefcase).
This will let you move the briefcase without affecting the individual transformations.


How to set camera location in the scene while pointing towards an object with a fixed distance

The next function will rotate the camera towards the focus point. And then place the camera at a certain distance. The location of camera will only change along the direct line with the focus point.
import bpy
import mathutils

def update_camera(camera, focus_point=mathutils.Vector((0.0, 0.0, 0.0)), distance=10.0):
    """
    Focus the camera to a focus point and place the camera at a specific distance from that
    focus point. The camera stays in a direct line with the focus point.

    :param camera: the camera object
    :type camera: bpy.types.object
    :param focus_point: the point to focus on (default=``mathutils.Vector((0.0, 0.0, 0.0))``)
    :type focus_point: mathutils.Vector
    :param distance: the distance to keep to the focus point (default=``10.0``)
    :type distance: float
    """
    looking_direction = camera.location - focus_point
    rot_quat = looking_direction.to_track_quat('Z', 'Y')

    camera.rotation_euler = rot_quat.to_euler()
    # Use * instead of @ for Blender <2.8
    camera.location = rot_quat @ mathutils.Vector((0.0, 0.0, distance))

update_camera(bpy.data.objects['Camera'])


Importing SVG files without losing transparency data

The SVG importer is very basic, it will not deal with any effects used on vector drawing programs, you can only import the path and color, no alpha.
But even if you manage to import the alpha channel, the different paths would end up overlapping on the same plane, creating Z-fighting problems.
An alternative solution would be to rasterize the paths as different images.
Then use the import images as planes and select all of the images at the same time to import.
On the top right of the import window, click on the gear icon to reveal the options for the importer.
There is an option to offset the imported images on a particular axis and determine the offset distance:

If you use the $Z$ axis you should get a lineup like this:

For cycles you might need to increase the number of Transparency bounces in the light path section of the render properties.
You might need to adjust the clip distance for camera and viewport, so that you don't run into Z-fighting issues.


Anistropic shader: mine doesn't converge at centre

It looks like your cylinder has been rotated in Edit Mode and its vertical axis isn't the Z axis anymore.

Fixing it is not straightforward. You should either rotate it back (still in Edit Mode) if you can tell which one would be the right rotation, or you should use custom transform orientations -- which are a bit of an overkill.

If the geometry isn't too complicated, I'd suggest starting this object over.


This is because your pivot point is set to 3D Cursor.

To have the 3D manipulator widget move with the model and not stick to where the 3d cursor is, you can use the default Bounding Box Center or just press , (comma). If you work with both, you can also use its shortcut . (period) to quickly switch between them.