Why I cannot shorten a GameObject property into a variable?

... shorten a GameObject property into a variable?

what do you mean with shorten?
Game Object Properties
A property consists at least of a property name and a property value (it has an owner too).
Within the BGE you do not have direct access to a game object property. Therefore a property is no object to be used. What you can get is the property's value.
You get the value by key access:
value = gameObject["property name"]

or
value = gameObject.get("property name")

The goal is to get the value. After getting the value the property name is usually not of further interest unless you want to change the property.
Write access means you assign a new value:
gameObject["property name"] = newValue

If the property did not exist before it adds a new one, otherwise it replaces the value.
This way the game object behaves like a dictionary, with property names as keyword and property values as values.
Your question

obj["prop"] = value

These is (as described above) a write access to the property with name "prop". It assigns the object referred by variable value as property value.

prop = obj["prop"]
prop = value

This creates a variable named prop and assigns the value read from property named "prop".
The second line creates a new variable named propassigning the object referred by variable value. The variable of the first line is gone (life time ended).
Investigation
I guess you think you can manipulate properties without using the write access. This is not possible. You can manipulate the value (which is an object) but assigning a new value has to be an write operation.
Example:
Lets assume you have a property called "amount". The value is 5.
gameObject["amount"] = 5

At a later stage you want to change the value from 5 to 4.
How can you do that?
You can't change a 5 to a 4.
A 5 is an int constant. It has no operation to change it's value. So you need to assign a separate value (other object) to the property that represents 4.
The code will be:
gameObject["amount"] = 4

This is a restriction of immutable objects. You can't change them. Immutable objects are string, int, bool, float and more. Basically the basic object types.
What with mutable objects? Here you can manipulate the object as often as you like without notifying the container it lives in.
Example:
Lets assume you have a property called "last position". The value is a Vector(0,0,0).
gameObject["last position"] = mathutils.Vector([0,0,0])

To get the position object you read it from the property:
lastPosition = gameObject["last position"]

now you can manipulate lastPosition as much as you like:
lastPosition.x = 1.2
lastPosition.y = 2
lastPosition.length = 10.3

You do not need to assign lastPosition back to the property. The object is still the same, but with other content.
This "referring" effects do not just apply to game object properties. This applies to all containers e.g. list, dict, even module. They store a reference to a specific object. You can manipulate the object without reassigning. If you reassign the object, you assign the same reference again.
Be aware the variable refers to the property value. Assigning a different object to the variable will not manipulate the property. The container (game object) does not know about your variables.
Negative Example:
lastPosition = gameObject["last position"]
lastPosition = mathutils.Vector([1.2, 2, 0])

The first line:

creates a variable called lastPosition and assigns the property value.

The second line:

creates a variable called lastPosition and assigns a new vector object.
The variable lastPosition of the first line is gone and will be freed by the garbage collector.
The property value still exist, but variable lastPosition does not refer to it. It refers to a different vector object (the one from last line).


Set driver variable ID-block using python

Assuming you only have one driver, and that one driver has only one variable, you can do this. after copying the object data:

copy.animation_data.drivers[0].driver.variables[0].targets[0].id = copy

If you have additional drivers and / or variables, you'll need to find better logic to access these. If you can upload a blend file, it will be easier to tell what the best method is.


Python: how to get edge’s index when indexes of two vertices are given?

you can do it using the link_edges of each vertice as input.
import bpy, bmesh

print("*"*20)

def intersection(V1, V2):

    if V1 != V2:
        for e in V1.link_edges:
            if e.other_vert(V1) is V2:
                return e.index
    else:
        return -1

obj = bpy.context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)

if hasattr(bm.verts, "ensure_lookup_table"):
    bm.verts.ensure_lookup_table()

V1 = bm.verts[0]
V2 = bm.verts[7]

print(intersection(V1, V2))


In edge selection mode select a creased edge, go to select>select similar>crease and you should be fine


How to create a tape wrapped around an handle

Starting with a Screw Modifier you could create the tape (spiral) from a plane:

Then add a Shrinkwrap Modifier


Dirty Neon, I'd like to add grime and age to a neon sign

You're on the right track. Using a texture to mix emission with diffuse would do something like that. A decal (image texture) would offer you more control, but you'd have to create it yourself (I only say "but" because I've never been very good at painting textures, and find it very intimidating, though others don't feel that way).

Another slightly different option is to use a texture to modify the emission color, or the emission strength of the emission shader itself (rather than mixing in a diffuse). I've tried this before with mixed results. The main problem I ran into was that the texture had to be very high contrast in order to make the change visible when the emission was as bright as it needed to be: as I set the emission brighter, the texture would just get washed out and became unnoticeable. When the contrast was high enough, I just got splotches of black instead of subtle, detailed cloudy texture.

I suspect that you would have much better results if you were able to use a true HDRI image as the texture input for the strength value.

Incidentally, if you don't know already, it's very important for anyone using textures to understand the difference between the HDRI look and the HDRI format. The HDRI look looks neat, but the HDRI format actually contains orders of magnitude more data than conventional image formats. More info here. Yeah, this is kind of a pet campaign of mine ;-)


Can we make our fluid domain object from a cylinder?

Yes, you can use Cylinder object as domain, but shape is not used in calculation, only dimension of the object (see Xylvier's answer).

So just an extension ... if you need liquid inside cylindrical shape
- use Cylinder object as Effector (Physics Properties > Liquid).

Common problem is blocky colision (outer) shape.
You can solve it by using Boolean modifier > Intersect > Object - the same cylinder object.


Interactively change camera's focal length

With your camera selected press W > Camera Lens Angle

Then move your mouse left/right.


That mirror option is for a center bone that should control left and right side of a mesh at the same way (like a hip bone, a torso, and so on ...).

To have R side bone matching the L side (like arms or legs) this is one procedure:

Weight paint the L side (i.e. arm.L, the name of the vertex group must have an appropriate suffix, like .L or .l or .left).

Then select the option copy vertex group, then mirror vertex group, then rename appropriately (like arm.R).


If you are using the Blender Internal rendering engine, you can turn off shading on a material using the shadeless checkbox.

Please note that I have GLSL shading enabled. You can find it in the N panel int the 3D view. It's default value is Multitexture.


how to make camera moves slower when moving along a curve

With the curve selected;
Select the Object Data tab in the Properties window,
In the Path Animation panel change the Frames value, higher values result in a slower follow speed.

Edit:
This value can be modified in python using the following line;

bpy.data.curves["NurbsPath"].path_duration = X

where NurbsPath is the name of your curve, and X is the value you would like to set.


You can still use python for Scripting. I have not tried it yet but from searching web there are commands to put in script to render the camera's view, save that to file, then set object texture to file, write another script to constantly update the objects texture.

Render camera view to file.
Set texture to file.
Keep rendering and updating texture in background script.


go to file, user preferences,

go to the system tab and disable Mipmaps.


how to combine 2 or more textures in Cycles? 2.7xxx

You can combine textures using the MixRGB node(Add>Color>MixRGB in the Shader Editor):

Note that you can choose different blending types:

As you can see you can mix any textures - proceedural and image. You can mix more textures by simply adding more MixRGB nodes.

In order to mix two textures with a smooth gradient you can use a gradient texture as a factor for the mix node:

I am using a MixRB node in Multiply mode to multiply the texture coordinate vector(to scale it) by 2 to make the gradient smaller. MixRGB node is for work with color, however it does work with any numbers as well and multiply mode does what it says - multiplies the values and it even supports negative values despite the fact that colors cannot have negative values, so there is nothing wrong to use it for some math with vectors as well.


Hard to tell from the image alone, Looks like you turned on smooth shading in your mesh.

Try adding an Edge Split modifier to the object(s)


Rigify Mesh twisting weird at elbow of arm

When you move the arm, you have to also move the elbow IK bone. The elbow IK works to compensate for the twisting that happens from the IK movements you make. This takes some getting used to. I had to work for some time on my elbow IKs before I felt I had a decent understanding of them and I still am not 100% on it.


You should try to avoid those extra edge loops. If your sphere has not enough vertices to allow you to create your holes then recreate a new sphere with more vertices, but it looks like you have enough. Also, before the hole extrusion, you can use a Shrinkwrap modifier with a second sphere as Object to make sure that the whole shape is still a sphere.


It's hard to say exactly what the items are that are perplexing you. One possibility is that they may be one or more faces on the inside of your mesh that you created by accident. If this is the case, you might locate them by switching to wireframe mode. To see if it's a poorly unwrapped face, switch to textured mode in the 3D viewport, and move the point that is active in the UV editor window and see where the texture on the textured mesh moves.


How to script blender to quit after rendering is complete Mac OS10.13

Turns out that the command is bpy.ops.wm.quit_blender()


Can 3 objects be replaced by 1 object, or joined by their location? (BGE)

The BGE does not support mesh manipulation that way. You can scale the objects (forming a longer Pipe) but you can't merge meshes.

When you let all objects listen to the same even (w) with the exact same behavior, they will behave exact the same way by ending themselves at the same time. This is what you told them to do.

What you wanted to do is to end the objects on the rollers. So you need to discriminate between objects on the rollers and objects that are not on the rollers. To be more specific you need to identify the three small pipes that can form the big pipe.

You could

check what pipes are on the rollers. This excludes all other pipes.
check what orientation they have. This excludes misaligned pipes.
check the location. This excludes pipes too far away.

How to do?

You could assume that any pipe on a specific roller is already placed and aligned correctly
Check all three rollers to have a pipe on top of itself
or let the pipes check themselves if they are above a roller

Checking options:

ray sensor (upward or downward)
collision sensor
radar sensor
near sensor
check via python


I'm not sure what you want the alpha over node to be doing there, but it's whats causing the white output.

Something as simple as this should work:

Example .blend


How should I handle a split in a retopology?

First step. Make flaps bending down between the legs.

Make a strip between them and make several loop cuts. You may have to experiment to find the correct number of loop cuts. This is important if you want to have an all quad model. The total number of edges around the opening must match the leg.

Round out the strip to match the correct shape.

Select the two loops and bridge them. If you have the correct number of loop cuts in the strip between the flaps, this should be all quads. Else you will get triangles.

Further adjust the geometry to make the bridged area more even.

Final result:


You could reorganise quads like this, to avoid that long narrow quad


(Scripting) Import & assign material from another blend file

data_from are just string lists, in this case, the names of materials in the Blend file designated by the path. data_to is a string list of the names of the materials you want to be loaded. So, whatever names you put in data_to.materials will be loaded from the designated Blend file's material data block into the current material data block. After that, you access those materials in the material data block, i.e., bpy.data.materials. So, your code should read:

with bpy.data.libraries.load(path) as (data_from, data_to):

    data_to.materials = data_from.materials
    mat = data_to.materials
    cnt=0
    for m in data_to.materials:
        cnt=cnt+1
        if (cnt>1):
            break
        # Assign material
        obj=bpy.context.scene.objects.active
        material1 = bpy.data.materials[mat[cnt]]
        obj.active_material = material1

Note that this could give unexpected results if a material name already exists in the material data block.


Assuming that you don't want to apply the shader to the actual face of the texture, all you need to do is plug the alpha of the image texture into the mix shader socket. This should make the faintly discoloured box disappear, as it will only apply the ColorRamp to anything that isn't the face.

Shader setup:

Result:

If this doesn't work, then check:

The face has an alpha of 1, and everything else has an alpha of 0.
The shaders on the "Mix Shader" node are in the correct order.


An UV map does not set the size of the textures you will use in your game engine. Try to use a 1024x1024 texture then change it to a 2048 (or any size) : you'll see the UV map will be adapted to the size.

What matters is the number of textures you will use (generally one per UV map), the size of them and the way you use these textures in "an optimal way" (so that the less part of them is useless).

Have you tried the "smart uv project" option when uv unwrapping ? If you do (make a copy before trying that), you'll see that the uv map is cut into plenty of small parts. The aim of that is to optimize the useful space of the textures while keeping the relative surfaces of the faces.
So for instance, if you look at your wings UV map, you can see that there is plenty of space in the texture that is not useful. So for a same texture size, the actual resolution for the wings will be lower with your UV map than it can be with the "smart uv project" option.
The counterpart of that is you cannot (or hardly) paint directly on such a texture. But you can do both : keep your UV map, use it in Blender with a big texture size, then bake on another "smart UV project" uv map with a lower texture size.

To summarize : all in red here is lost surface

For the textures, you can use a mipmap technics : the idea is to define several textures for the same UV map. The first texture is the full resolution (let say 1024, for instance) and is applied when the camera is very close to the model, the second texture is half resolution (ie. 512) and is shown when the cam is at some distance, the next texture is smaller again (ie. 256) and is used when the model is very far. Probably UE has built in functions to do that automatically.

Also the polycount of your mesh is important if you want to use it in a game. I cant be sure of a number for that (as computers are faster and faster) but for a main character around 20k tris is more or less a limit, generally. But there is no rules as all depends of what you want to do in your project.

Another point : sometimes symetrical parts of the mesh can share the same uv map and so share the same texture (when nothing needs to be different for each side). In consequence a same texture size will give a higher resolution in the game.

A last remark : imagine that in your game in UE, you want the colors of the eyes change (let's say depending on the dragon's mood), probably you'll need to set the eyes on a separate texture to do that as if not you'll need to change also the texture for all the head.


Relative and Absolute shape keys on the same mesh

Yeah. Simply animate "Relative" checkbox when needed. Works in Blender but currently I have problems exporting this to Unity. I hope it's possible.


Blotchy noise in cycles render with denoise

I have had the same with the denoiser when an area has had a high frequency noise. The denoiser can't know what pixels are fireflies and what are correctly calculated pixels. It just looks at the pixels and see a lot of white dots and think it’s the real thing. Same thing happens here where you have a high frequency texture and the denoiser considers an area that is too large into account when denoising.

Try setting the radius to something low, like 4 and the strength down to .2. Another alternative would be to deactivate denoising for diffuse direct to see if that helps. But I have never tried that.


How to optimize this scene's render time in cycles

There are 2 things that I know of that you could do. One, if your looking for low quality but faster speeds, you could bring the samples down, but I am sure you already know about that. Another thing, from the picture it doesn't look like you have any glossy shaders. If you don't have any, go to the part where it says bounces on the render panel, go to the part where under bounces and turn glossy to 0. This will make it so it doesn't calculate the reflections for the glossy shaders.


Is it possible to copy a dope sheet summary to another project?

If you have saved your animations as Actions (Press the F button to save them), you can then import them into another project by pressing Shift+F1.


Help with Video Editor, Speed control effect strip and keyframing

I recommend animating the Speed Factor value not the Frame Number. If you animate the frame number then you have to keep track of what frame you are up to. And you would have to generate an f-curve angle that constantly progressed at 1 frame per frame upwards.

Using the Speed Factor however you just animate the playback speed and ignore the Multiply Speed (in fact it can't be animated) which should be left at 1.00 (unless you want a global speed change for the clip).

In the example above, the strip begins playback at full speed or 100%, or Speed Factor 1.00. Then when I want the video to slow down I place a new keyframe with the same value 1.00. This acts as a Hold value, so the media plays full speed up to this point.

Then I place a new key frame and makes its Speed Factor 0.00 or 0% speed. This pauses the video. If I move the 0% keyframe to the right, I create a slope in the f-curve, this is the deceleration, the steeper the slope the faster the deceleration. A vertical slope is the same as pressing pause.

The problem with this approach is that it is very difficult to land at exactly the right frame for your pause. That is why you may want to use the constant slope style of Frame Number.

In the Frame Number example notice that the curve must also be a vector or straight line, as a bezier curve will generate ramping that you might find undesirable (odd frame duplication).

Notice that I have placed a keyframe at the first frame and the end frame of the same values, 0 - 803.

To make a pause hold , you need to split and slide this f-curve so that its angle does not change. In this case I selected the middle keyframe (which I made at the exact frame that I wanted) and the last keyframe, then duplicated them and slid the right. I then deleted the first end keyframe.


I have accidentally toggled something to show some weird dotted lines

These are relationship lines which display the relationship between parented objects. You can disable this in the viewport overlay settings.


I'm assuming you want to smooth out the mesh. To do that you can do shade smooth, which can be accessed by selecting the mesh and 2 finger clicking, which will give you a menu that has shade smooth as an option. You can also search "shade smooth" in the search menu (relatively new as well so not sure what it's called).


When in edit mode open Metaball panel and scroll down to Active Element section.


You can't do this out of the gate. It is by default not proportional in size on the X & Y axis. This shape is way more about equal triangles than it is about radius of a sphere.

Look at the Width and Height properties when the object is at full scale.

Rotate about Z axis 17°

Look at the Width and Height properties when the object is at full scale again.

You might be thinking...

What If I rotate about Z axis 8.5°

now check your Z value and your line of thinking should get you the answer.

Once all your bounding box dimensions equal out, scale it up until it reaches 2.00, and the apply the scale.

Once you have done this, scale will represent the radius of your icosphere.


Emitter not rendering, but particles are. Not restricted, and emitter option ticked in particle system

I just found that it was not related to particles but a completely different setting. The Shadow Catcher option that was turned on on the plane, and that was what caused it.


Is there implementation of tri-planar mapping in Cycles renderer?

Yes, it's called box mapping (or cube projection if you are unwrapping UVs).


Can blender export files for games, probably for mods?

its done using the fbx file export from blender generally...you'll have to look at what the game engine your looking at wants for setting up stuff within the file in blender, like collision objects names(ends in _ucx for unreal etc.. since blender exports fbx files i know they will go into unreal 4 at least.

https://docs.blender.org/manual/en/dev/addons/io_fbx.html

for unity
https://answers.unity.com/questions/439807/blender-to-unity-which-export-format-is-best.html

for unreal 4
https://docs.unrealengine.com/en-us/Engine/Content/Types/StaticMeshes/HowTo/Importing
https://docs.unrealengine.com/en-us/Engine/Content/Types/SkeletalMeshes
https://docs.unrealengine.com/en-US/Engine/Content/FBX
https://docs.unrealengine.com/en-US/Engine/Content/QuickStart


Problem solved!!! The Blender software provided by the Fedora repositories has an issue. After removing and re-installing the issue was still there. I then removed Blender via DNF and installed the package from the blender website and the issue is resolved. I now have ffmpeg and other codecs to render with. Thank you again for your support everyone. Joe


photorealistic scratched Brushed alluminium

OK i found the answer so I post this for other people:
I used only one bump map and I just streched the texture over the cylinder

(I used This texture https://www.poliigon.com/texture/metal-radial-001)

Here is the Uv map

here are the nodes

here is the result


I find it super normal. I once waited three days with relatively low samples and a 1920 x 1080 resolution on my GTX 980, 16 GB ram. Just depends on the day your computer is having. Wish you the best of luck.


Making a shader that would "fill" an open mesh?

Staying inside Cycles alone might not produce the desired results..

Here i'm using the Z component of the Geometry's position socket to compare with a scalar value (Representing the distance from the ground)

Most likely you'll need to animate a boolean intersection with a plane, one slice of will be the glass/transparent material, the other slice will be the solid/diffuse material (or whatever you want).

Here i've separated them spatially to indicate they this method uses two X Objects to and two planes, both planes point in opposite directions:

The closest I get without making it complicated is this:

It uses the Normal of the upper cut to decide how much to mix between glass and transparent. The normals pointing downwards (on the cutting surface) are the faces that are mixed to Transparent most. The exact shader mixing is something you'll need to decide on yourself.


How do I check if a line or a linear object 3d is perfectly straight along the X axis for example?

Here's a video- This could be a way for you to do this.
Video: Blender: How to Align Vertices, Edges or Faces - Revised

Also the align tools options. Video: Align tools

For more exact dimensions there's a good tutorial that has helped me.  I do a lot of 3D printing and I use Blender as my CAD modeller along with the Cad Transform plug-in.
Video: Cad Transform plug-in


Creating a texture and normal map from a 3D model / scene

I think you are looking for Render Baking:

Using render baking you can make normal maps, color maps, shadow maps, AO textures, etc.

Here is an example, the top wall is a plane with baked normals and render shading from the bottom wall:

Note that baking is only available in BI currently, but support for it in Cycles is already in a testing state (you can use it, but it is still experimental) and is targeted to be in 2.71.


Got it! As I thought, Blender's normal pass contains exactly the right data, but it's not in the right format.  From a video intending to use the normal pass in After Effects' "Normality" plugin, I found that it's easy to convert Blender's colors to the standard colors using the node editor:

(This node setup is for Blender Render, not Cycles. For a Cycles solution see this answer.)


Is there any way to stop Z-fighting besides remove doubles?

No, I don`t think there is another method to get rid of z-fighting. If remove doubles does not work, try increasing merge distance in the input field that appears after using remove doubles:

As for weird shading just try to get your normals right. Toggle into Edit Mode, select all faces, then hit Ctrl+N in order to make the normals consistent. For those faces that did not get fixed, try flipping their direction by selecting them and clicking flip direction in Shading/UV tab of the Toolshelf (T):


How to render model with plain cartoon like colors

That is quite easy. If using Blender Internal, simply make sure the ambient light is quite high so that shadow areas are not dark or black. Then set the Specularity value all the way down. That way the car will be red all over, but brighter red in the direction of the lamp.

For the headlights, set the material to Emit so that the colos will be completely flat.


How to emit particles evenly within single particle setting

Blender Internal Render with Particle Info Node for Material Nodes

Image below. 16 Layers of Particles Systems modified with a Python Script.
Vertices of a Cube.

Image Below.  An image meant to be more readable with the particles placed in a plane.  Pulsed and Batch alternating.  Spiral motion is a typical consequence of the Particle System and very little effort of the Python Script.

Image Below.  Particles with Turbulence.  One Force example.

Image Below.

Technique

In the image above are 4 particle systems.  You may use 10.  Each Emitter particle system is copied via the Keystroke Shift+D. User preferences allows particle system to be duplicated with fresh unique copies.  See user preferences Editing/Duplicate Data and enable Particle System Duplication.  Of course an object can have multiple particles systems.  The script assumes 1 per object for no particularly sound reason.

If you can copy a mesh easily you can copy a mesh with a particle system easily.
The N particles system has the [Start] and [End Value] set to different numeric value M. M >= 0 and  M < N in the simplest case.  See Script below.
Copying Emitters and Manual modification of the values takes (log N + N ) steps.
Example is Verts emission.  Faces emission is an easy switch.
Clearly if you wanted ((vertex or face) * large number) particles then a script could modify the particle system [Start] and [End] values. (frame_start, frame_end)
The Emitters are in a group for selection convenience.

Script

Use at your own risk. Standard Disclaimer. Please test and improve.
Select the group of Particle System emitters before running the script.

...

import bpy
import datetime
import math

def delay_particles():
    print("Delay Particles")
    print(datetime.datetime.today())
    print(datetime.datetime.now())

    so = bpy.context.selected_objects
    limit = (len(so))
    n = 0
    for x in range(0,limit):
        so[x].particle_systems[0].settings.frame_start = n
        so[x].particle_systems[0].settings.frame_end = n
        n = n + 1

delay_particles()


I need help converting a .blend to a .mp4

Go to the Outliner- Output Settings, in Dimension Settings choose your resolution (1080p comes by default) you can choose what frame to start or end, choose where to save in the Output section, in File Format choose FFmpeg video, in Encoding choose MPEG4 as your File Format, choose other options like quality there as well, now press ctrl+F12, or go to render - render animation, another window will pop up, wait till it's over and voila!


Image Texture Node Copy / open / unpack behavior

This happens when you packed your external data into your .blend file. Meaning the textures are stored inside the .blend file.

So when you click this icon, since the pictures are packed, it asks you to do with the packed data.
In your case, you may want to unpack them. If I remember correctly you have the choice between exporting the files into a custom folder, or into the original folders if they still exist, or into subfolders from the .blend file.


Colour shift car paint / Chameleon car paint

You can try something like this. Reflection works (as a coordinate) on it's own, but I feel it looks better when the vectors are combined with the Window vectors.

The "glitter" effect, you can get by using a White Noise texture as the metallic factor. I added the Voronai Texture, because it's a trick to make it so the White Noise isn't "infinitely zoomable". It also allows you to change the randomness of the shapes. I added the MixRGB to mix it with white to bring the whole texture back closer to "pure metallic" (100% white).


How to render material with alpha channel seen through material with halo

there is very simple answer: Halo can't be cast through alpha. It only works with geometry. So you have 2 options, fist one is to edit the geometry, second one is not to use halo.
I know that this answer isn't what were you hoping for but at least you know that it's not possible using BI.


The concept you are missing is UV texture coordinates.
Normally you would have to Unwrap your mesh and build a UV Map, but that is not always desirable or practical, and for most simple cases automatic texture coordinates will suffice.
If you plan to animate your object with deformations (rigging, armatures, shape keys etc.), or wish to export your model elsewhere (say a game engine or external application) you have to unwrap. Procedural or "generated" texture coordinates are created by the engine at render time and can't really be exported.
Otherwise, for that you have to use an Input > Texture Coordinates node, you can use either Generated texture coordinates output or the Object type coordinates.

Generated Coordinates will apply exactly 1x1 tiles of texture per object and stretch along with the object dimensions even if you change it's size (similar to the behavior you are currently getting in your images).

Object Coordinates will use the object's local coordinates for repeating your texture across the surface, exactly one tile per Blender unit (measured in object local coordinates), if the object grows in Edit Mode, more patterns tiles show up without stretching or distortion. If you scale it in Object Mode you will affect its local coordinates, and textures will stretch with it.

For both cases use the Vector > Vector Mapping node to adjust texture size or repetition of the pattern on top of the default value.
By default without any texture coordinate input in your node setup Blender falls back to UV Coordinates for any image based textures, and Generated for procedural textures, but the Vector Mapping node alone is inert on it's own and won't have any visible effect on textures (it may even make textures disappear). You will have to explicitly feed it some base coordinates to work with.

This is how the Vector Mapping node should work for all XYZ axis. Make sure your texture is set to Box projection method.

Have in mind that scaling the object in Object Mode without applying the scale will also stretch object space coordinates and thus textures along with it. To counter that you may use an Vector > Vector Transform node from Object to World to convert between coordinate systems.

The Vector Transform node converts between coordinate systems, if your object is scaled non uniformly in Z axis the it's texture space will also be stretched, in that case you need to convert the texture space from Local to global space so it transforms from Object Coordinates to World Coordinate system.
This will have other side effects like the texture being "pinned" to world coordinates and remain static in relation to scene, appearing to "slide across" moving objects like a projector.


getting mask data into shader network through python or any other way

I don't think there is a direct way to do this; Blender only has a Mask node in the render layer compositor, and not in the material compositor.


lighting problems, sun isn't working on render

Your sun is working fine but the size is huge, it is making shadows very soft and blurry.

Reduce the Size parameter to something below 0.1 units if you want hard shadows.


Separate/convert bones into their own armature

The option you're looking for is CTRL + ALT +P.

Its called separate bones. All you need to do is select the bones you want to put in their own armature and CTRL + ALT +P.

Now you have another armature system, with any IK's still working.
From there if you want to have the bone it was originally attached to be the parent of it, all you would have to do is select the new armature, SHIFT + select the old armature, TAB into pose mode and select the bones you wanted it to be parented too.

Any pose data should still be left intact.


You need to connect your UV map to the Checker Texture.
Use Texture coordinate node for that.


Is it possible to make translation and scaling accumulate?

You could write your own simple script.
To accumulate ALL the objects transformations you can do something as simple as that:
 myMat = bpy.context.object.matrix_world myMat will now store a pointer to the transformation matrix of your object, so if you move it about, myMat will change accordingly...

Then you can simply say: accumMat *= myMat and that will create this new matrix called accumMat (accumulation matrix) which gets set to whatever it is, times the current transformation matrix.

Run that last line of code after you register a new transformation and you will have the accumulated transformation of the object on accumMat!

Now if you just want the scale and translation (no rotation) than you want to extract only this information from the transformation matrix, so you can say:
myScale = bpy.context.object.matrix_world.to_scale()
and
myTranslate = bpy.context.object.matrix_world.to_translation()
which would give you back 2 vec4's containing the current scale and translation, then simply accumulate the new values into the accumMat appropriately.
You could do so by adding the translations and multiplying the scales. (I am not sure what you are actually trying to do, but that is what makes sense).

Just keep in mind that bpy is column major so your traslation vector would be at:
Vector((accumMat[0][3], accumMat[1][3], accumMat[2][3], accumMat[3][3]
Take care with the last one because it is w coordinate, and you probably want to keep it at 1.0! So don't accumulate it.
The scale would be respectively at:
Vector((accumMat[0][0], accumMat[1][1], accumMat[2][2], accumMat[3][3]
Again be cautious with the w coordinate.


Rendering camera to image (ImageRender) not working

All I needed to do in your blend file was put the viewport in textured mode, then it started working. Other things you may like to consider:

It takes one frame for things to start happening, and because you're printing so many values, you have to wait a while.
the .valid attribute doesn't seem to work for ImageRender (it does for ImageFFMPEG though).
480*480*4 is nearly a million values. So if it looks like you're always getting 0's or 0xff's, you may not be. Try with a smaller image so you can see more of the data values
Consider unwrapping the plane and assigning it a shadeless texture so you can preview what is being displayed (you'll have to run texture.resresh(True) for it to update the texture instead of the buffer).
Consider switching to GLSL mode


Im new to blender and I'm having issues with colour differences in solid mode and render mode

This is Eevee
It may have to do with the lighting and or HDRI viewport settings see pic


How to create a glow animated circle that surrounds a sphere

use object vertex positions to make a ring (math node set to absolute makes it a ring for example if you choose z value from vertex position every vertex with value more than 1 is white and with absolute node -1 and less values also means white and you can move positions before that ,so ring moves along z axes this(the marked value) is also what you can keyframe to animate ring movement ) then use the ring as a texture and map node to rotate it and use it as a factor to mix diffuse and emission shaders and also use some another axes like x to change ring color based on it.

there are some options to make glowing effect but this is an easy way, first check emission

in compositing blur emission part and mix it with rendered image


RayCast seems to sometimes hit mesh in Blender 2.69

I suspect that the problem is that the cast ray stops at end. In some cases, precision errors might cause the ray to stop before actually hitting the mesh. In my case, making the ray go twice as far solved the problem. Use

direction = empty_location - Vector(camera_location)
(ray_hit, obj, matrix, location, normal) = scene.ray_cast( camera_location, empty_location + direction )

for Blender 2.69


Where are the other AO settings in blender internal?

Most of those have similar properties in the gather panel in your screenshot for the Blender Internal ambient occlusion:

Samples - in gather panel
Distance (attenuation distance in BI) - in gather panel
Strength - Factor in AO panel
Attenuation - Falloff Strength ("Falloff" must be enabled)

Note: You will probably want to change the AO to multiply instead of add to further mimic these settings. It is also important to mention that these are two different AO systems and don't have the same functionality.


where can I find the edit menu in blender 2.9

This is the Tool Shelf, and has been replaced in the 2.80+ default interface by a more condensed Tool Shelf that uses gizmos, the various menus at the top of the 3D View, and the operations search engine. Check out The Blender Documentation page for advanced details, or comment below.
If you are opening an old blend file with a newer version of blender, try turning off “load UI“ in the file browser, so you will get the new default interface set up. You would want this, because many editors are quite different in 2.80 then they were in 2.79.


Finally I got it work -> Track ordering:


Go back into your material settings on the objects not being rendered and turn off Use Shader Nodes, if you are rendering in the Blender Internal render instead of Cycles.  This selection is next to the Material Text box just above the Surface / Wire /  Volume / Halo buttons and to the right. of the text box.


Align edges and join/merge vertices without adding additional faces etc

You can use the snap to vertex functions, with the mode set to 'active', like this:

The first button marked with a red arrow activates snapping (however, you can use the Ctrl key as a much faster alternative. The second one allows you to set the snapping target, in this case vertices. The third one tells Blender to try to snap the selection based on the last selected vertex, the so-called active vertex (red circle). You can identify it by its color, in my theme white as opposed to orange.

Now, activate grab and move G and move the selection towards the target point. When you're somewhat close, the mesh should snap there entirely. Use 'remove doubles' from the 'Tools' Panel to eliminate overlapping vertices.


How to use the textblock operator in Python

An example using simple operator template, the 'REGISTER' option in bl_options set which among other things makes sure "bpy.ops.object.simple_operator" makes its way into the report created by bpy.ops.ui.reports_to_textblock().

A call to self.report(type, message) writes to the report area, when run from UI.  For an Operator report
 The type can be set of one of ('DEBUG', 'INFO', 'OPERATOR', 'PROPERTY', 'WARNING', 'ERROR', 'ERROR_INVALID_INPUT', 'ERROR_INVALID_CONTEXT', 'ERROR_OUT_OF_MEMORY')

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

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def execute(self, context):
        self.report({'INFO'}, "Hello World")
        main(context)
        return {'FINISHED'}

After running the simple operator, then ui.reports_to_textblock(),  the "Recent Reports" textblock will contain,

Operator: bpy.ops.object.simple_operator()
Info: Hello World

In case you want to to open a textblock to write reports to, use API methods, textblock below is of type Text

import bpy

textblock = bpy.data.texts.get("RM_Report")

if not textblock:
    textblock = bpy.data.texts.new("RM_Report")

textblock.write("Hello World\n")


Working with bezier curve, I need to fill the hole at the end

Using a Curve Circle as Bevel Object instead the Bevel Option, you'll be able to toggle Fill Caps on.


Rendering of the imported .ply does not show textures

Select the object of the imported model.
In the properties editor, go to the Material tab and add a new material.
For the new material, under Options, enable "Vertex Color Paint" checkbox.
Now the colors of the model should show in rendering.


Any way to control light halos in the compositor based on emission level?

With the glare node you can control the threshold at which the effect kicks in.

In this example a the cubes have different emission values. Form left to right they double in intensity.

Using the threshold control on the Glare node you can determine at what point the effect starts:

How would you know which values to use? You can see the values for the rendered image if you left click and drag the mouse over the image. You'll see some values at the bottom of the screen On the left side you'll see values for RGB (red, green and blue).

Those values are the scene referred values before any color transformation. Konwing those values you should be able to determine the value for the glare threshold.

Update for 2.8:

To show the sampler in the Image Editor window press the right mouse button. The sampler window will appear at the bottom of the screen.


See-through faces, but just in game and probably not because of normals?

This was actually my question, I managed to solve it.

The problem was, that there were some vertices, which haven't got any weight in the animation and therefore the game engine couldn't render their faces right.

I fixed it by editing more weight to this vertices.

The black area was the real face of the ape, for some reason you weren't able to see it even from backside.


How to find models in scene without changing origin point?

frame all:home key
view selected:  In the outliner, select the model, and press the period key on your Numpad.
To move the entire model to the world origin:  In the outliner, select the model, press shift+s on your keyboard, and there should be a pie menu that says "selection to cursor".
Your settings may be different, but the actions should be the same.


Can I incorporate audio into my output avi render?

That's perfectly fine. This Button Audio does, what it says, it "Mixes the scene's audio to a sound file". It does mix down actually all Audio Strips into one which you have placed inside the set Frame Range in the VSE.

When you want to render out a Video File, you have to hit the Animation Button. It will render out your active "Scene".

Though in the Post Processing Panel you can check (which is by default) to process everything through the VSE. This is obligatory for the Audio MixDown as there is the only place to import Audio Files (or Movie Files containing one Audio Strip). These will be used during your Playback as well.

When you want to have a Video file as output with sound, you have to use the Animation Button while having an Audio Strip placed as described above and having your File Format set to a Movie Option (like H.264).

AND very important: you have to choose an Audio Codec in the Encoding Panel which comes available once you choose a Movie File Format like AAC or MP3.

This is set to None by default which would result in a Video file without sound even though you placed one in the VSE properly when hitting the magical Animation Button (Ctrl F12).


The answer depends upon how the item is designed. One object can be one mesh, but one object can also contain two or more meshes. In Blender, the answer depends upon exactly how the new cube is added. If it is added in object mode, the new cube is a separate object. If the new cube, though, is added in edit mode, it may be part of the original object, even though it is a separate mesh.

The answer also might depend upon what you are importing the object into after export. Without knowing what you are going to be importing the exported object into, one cannot say for certain. It might be that the two meshes will be imported as separate objects, or as a single one.


Unnecessary spaces generated during Subsurf

This is most likely due to having n-gons or a mesh problem can we see a photo of your mesh or can we take a look at your blend file?

EDIT: It might be better to just smooth the model then add edge split. First u will need to remove doubles, select your mesh then press w and select remove doubles
Then exit edit mode and select smooth

Then add edge split


Is there a way to use custom procedural textures in Cycles?

As mentioned, Open Shading Language is likely what you are after. The Blender Wiki has good OSL info. In addition, you may want to check out:

www.openshading.com

If OSL is not your thing, you may want to check out the many Blender procedural experiments (incl. Python) by Jimmy Gunawan at: blendersushi.blogspot.com


Where can I change mixing of an action in NLA?

The relevant setting is Blend In/Out. To ignore keyframes in strips below the active one, turn off Auto Blend In/Out, and set both blend values to 0:

More generally I suggest, for bones that will be animated in a layer, to avoid keyframing it in strip actions in all other layers. Or do it in such a way that the strips don't overlap. That'd save you some headache when the animation mixing gets more complex, especially if there are semi-overlapping action strips. Not used carefully, action blending could cause jerky movement that's hard to tweak.


Modify (strech) one object by moving another object

You could use hooks: select B and then A, then go to edit mode (of A).
select the A face near to B and add a hook to selected object (CTRL-H).

Now, when you move B, A will be stretched, since you're thus moving the hooked face of A, through B.

Eg:


Why does image texture used in displace modifier not give the correct height?

First of all make sure that the displace modifier's texture is mapped to the correct coordinates for your object (usually UV coordinates).

Now on to the settings on the display modifier.

The displace modifier will deform the the object based on the light/dark values of the image indeed. Using the default values, it will raise up the white parts (255) of the texture to 0.5 units and sink the dark values (0) to -0.5 and keep the mid-grey values at 0 in the Z axis. To alter the scale, change the Strength value to meet your needs. To make the dark values fall at 0 on the Z axis put the midlevel at 0.


CollectionProperty avoid duplicate names

Here is my idea: Overwrite the attribute setting function of the class. The following code has been created mostly be the OP, based on that idea. I added some minor formatting for better readability:

import bpy
import re
from bpy.props import *

unique_names = ['name']

class RenderGroups(bpy.types.PropertyGroup):
    image = StringProperty(
            name="Image",
            description="The image-texture of this group")

    def __setattr__(self, name, value):

        def collection_from_element(self):
            # this gets the collection that the element is in
            path = self.path_from_id()
            match = re.match('(.*)\[\d*\]', path)
            parent = self.id_data
            try:
                coll_path = match.group(1)
            except AttributeError:
                raise TypeError("Propery not element in a collection.")
            else:
                return parent.path_resolve(coll_path)

        def new_val(stem, nbr):
            # simply for formatting
            return '{st}.{nbr:03d}'.format(st=stem, nbr=nbr)

        # =====================================================

        if name not in unique_names:
            # don't want to handle
            self[name] = value
            return
        if value == getattr(self, name):
            # check for assignement of current value
            return

        coll = collection_from_element(self)
        if value not in coll:
            # if value is not in the collection, just assign
            self[name] = value
            return

        # see if value is already in a format like 'name.012'
        match = re.match('(.*)\.(\d{3,})', value)
        if match is None:
            stem, nbr = value, 1
        else:
            stem, nbr = match.groups()

        # check for each value if in collection
        new_value = new_val(stem, nbr)
        while new_value in coll:
            nbr += 1
            new_value = new_val(stem, nbr)
        self[name] = new_value

class MHFCMeshProps(bpy.types.PropertyGroup):
    render_groups = CollectionProperty(
            type=RenderGroups,
            name="Render Groups")

if __name__ == "__main__":
    bpy.utils.register_class(RenderGroups)
    bpy.utils.register_class(MHFCMeshProps)
    bpy.types.Object.testprop = PointerProperty(type=MHFCMeshProps)

Now you can do this in the blender python console:

obj=bpy.context.object
g=obj.testprop .render_groups.add()
g.name, g.whatever="testme", "keepme"
g.name, g['whatever']
('testme', 'keepme')

g=obj.testprop .render_groups.add()
g.name, g.whatever="testme", "keepme"
g.name, g['whatever']
('testme.001', 'keepme')

I think the code example above is now pretty much complete. Although there is still one caveat here. This keeps track of reassigning the current value and always assigns the lowest nbr possible.


Why isn't my mesh appearing in the viewport?

Check visibility toggle in the Outliner:

For the object itself and the collection, to which that object belongs to.
Also check these settings in object properties


Curve modifier after applying scale looks wrong

When you scale a curve in Object mode, then apply the scale, it changes the curve's vertices radius up to the same ratio, as you can see if you go in Edit mode and open the N panel. Bring this value back to 1:


There are two distinct problems with your water not being renderable, one for the viewport preview other for the final render.

Viewport - In the viewport the water simulation is invisible because it's Maximum Draw Type is set to Wire - Under the Properties Window > Object Tab > Display Panel change the Maximum Draw Type from Wire to Solid or Textured
Final Render Your domain is set to non renderable in the outliner - Go to the outliner and set it renderable by clicking the camera icon


What s wrong with the polygons of my model

What has happened is the normals on you faces have flipped.  This will sometimes happen when you scale a mesh negatively or you extrude a face in a negative direction local to the face.  One way to see these faces is by disabling backface culling.  But I would not recommend this, because all it does is makes both sides of the faces visible in the viewport.  When you render you will still get dark looking faces.  For a permanent fix, go into Edit Mode, press A to select all faces.  Then select recalculate normals under Shading/UVs in the tool bar, or just press CTRL+N


Desaturated/Washed/Pale colors out of the box

The good news is that you have an awesome display. The bad news is that Blender by default does not support any type of display beyond sRGB.

So before I give you the solution, it’s probably wise to wrap one’s mind around what is happening.

Your iMac uses a different set of RGB lights to emit colour. When you render something using Blender using the default configuration, it assumes your display is sRGB. That is, it doesn’t know what kind of display you have. That means that an RGB triplet sent to the display that has no compliments such as 0.0, 0.2, 0.0 will project out a different colour light on sRGB as compared to your iMac. Of course that means by extension, every single mix of lights is totally wrong. You are seeing the lights projected out though they were connected to sRGB coloured lights as opposed to your iMac’s much more saturated and different coloured lights!

The good news is that I’ve included the Display P3 colorimetry in the official Filmic Blender repository at GitHub. Change your display to it, and your rendering should appear correctly on your iMac. Just don’t save it with that display type chosen! Any issues, feel free to post.

https://github.com/sobotka/filmic-blender

The bad news is that Blender is still pretty woefully lame regarding pixels. That means that to properly encode an sRGB image, you would need to flip your display to sRGB and save the file, as well as ideally attach the sRGB ICC tag. It’s totally wrong looking at your display, but Blender is horribly broken and it is where we are at. Another option is to leave your render set to Display P3, save it, and assign the Display P3 ICC. Painful, but works!

Hope this helps...


NURBS stands for Non Uniform Rational Bezier Splines . They are a way of defining curves in 3D space through mathematical formulas.

NURBS surfaces are a method of 3D modeling using said curves to define object surfaces, as opposed to using a mesh based polygon subdivision method.

It works well with Boolean operations, trim surfaces, and intersections, and it's workflow is mostly based on defining loft curves and sections to build surfaces.

It is very precise and accurate method, mostly used for hard edge modeling objects with basic geometric shapes or flowing aerodynamic surfaces. It's often utilized in mechanics, or automotive design, aircraft or boat conception mainly in CAD based software, not animation or 3D modelling like Blender.

Blender has basic NURBS support but it is a stub at this point, with incomplete functionality and barely usable at all. If you really need to use NURBS you are strongly advised to look into other software, as it currently stands it is not production ready.

The bad news is there are no good free or open source alternatives, you may look into FreeCad,  or MoI  or Rhino  or Catia

See here for some basic Blender NURBS tutorials


How do you display a tool tip for a custom modal operator?

Area.header_text_set

A call to area.header_text_set(text) sets the header text to text No argument area.header_text_set() and  it returns header to usual mode (menus et al).

Code below from Scripting > Templates > Python > operator_modal_view3d.py

    if event.type == 'MOUSEMOVE':
        self.offset = (self._initial_mouse - Vector((event.mouse_x, event.mouse_y, 0.0))) * 0.02
        self.execute(context)
        context.area.header_text_set("Offset %.4f %.4f %.4f" % tuple(self.offset))

    elif event.type == 'LEFTMOUSE':
        context.area.header_text_set()
        return {'FINISHED'}


How rotate the 3D view irrespective to the global Z axis using keyboard?

You can roll the view with Shift + Numpad 4 and Shift + Numpad 6.

Edit: Oops. This only works in turntable mode. I misunderstood the question. (Still investigating.)

Edit 2: Sorry. I couldn't figure it out. The best I can offer is this workaround:

Make the model a child of an empty, then rotate the empty 90º on the X axis. From there, you can view the top with Numpad 1 and orbit latitudinally with respect to the object with Numpad 4 and Numpad 6. Once you're done, you can delete the empty and the object will return to its pre-parented orientation.

This is not ideal because it might mess with the mechanics of an armature or other constraints or modifiers.


What's the most elegant way to cut shapes out of a mesh?

Yes your initial array method will work. Here is the model of a circle. I have extruded it into a cylinder and delete the faces I don't need and apply an array modifier to get the below mesh. I have intentionally left out the last array object. With the mid-edge of the original mesh selected ...

Hit CtrlB to bevel the edge and you should achieve this...

Next with K I have added a cut using knife tool between the bevel like this ...

Now I will extrude downwards with the E to make a depth for the groove...

Before finalising the cut I will add a subdiv modifier. And the modifier stack looks like below. The object offset is an empty with a 22.5 degree rotation to create the array copies, rotating around the mesh's origin point.

Finalising those loop cuts in 4 locations shown here.

And now this is the mesh I have. From here on out you can either bake the normals of the highres mesh onto a low res mesh. Or clean up the highres mesh so that it's not too high a poly for efficiency sake. Hope it helps

And here's the Blend file for your reference.


threading.Timer gets cancelled but doesn't stop firing. Why?

I found it before I got to post the question, so instead of discarding it I will post the response myself.

The problem was that (coming from javascript and jquery) I was expecting Timer.start() to return the timer object, but it just returned None so cancelling it had no effect.

The working code is as:

def execute(op, context):
    print(op.stop)
    if context.scene.animall_timer.timer is not None: context.scene.animall_timer.timer.cancel()
    if not op.stop:
        context.scene.animall_timer.timer = threading.Timer(op.time, op.execute, [context])
        context.scene.animall_timer.timer.start()
        context.scene.frame_set(context.scene.frame_current + op.frames)
        bpy.ops.anim.insert_keyframe_animall()
    return {'FINISHED'}


There something like that in Blender 2.79 internal render that am using.

Goto>File>Preferences>Add-on
Then activate "Material Library"

Then go to Object Material Property Tab, You will see the Material Library.

In that Material Library, choose the Render Engine, the Materials for the Selected Engine will be listed.

Screenshots coming soon


How can I use the workbench engine on a headless server?

As of today, it is apparently not possible to render on a headless server, when using the Workbench or the EEVEE engine:

see dicussion here


Joined objects causes program to slow down in blender

If you look at the info shown at the top of your window, your scene has 40 million vertices, that is why things are slow.

You probably had a subsurf on one object but when you joined them together the subsurf then became active on the new denser mesh.

As you have a subsurf division setting of 4, that means you have about 150,000 real vertices or 25,000 vertices in each original object. With the subsurf at 4 divisions on only one of them, you would have had 6.8 million vertices before joining. That jump from 6.8 million to 40 million will be the reason for the performance difference.

Solutions:

A subdivision setting of 4 is high, dropping it to 2 will give a similar visual result with only 2.5 million vertices.

From what I can see of your object, 157,000 vertices for each item is extremely high. I would expect to use less than 200 vertices for a shape like that. Adding a subsurf with a division of 4 on 6 of the lower poly objects would leave you at about 300,000 vertices which will be very fast to work with.


Toe Bone Doesn't Appear To Be Weighted Properly (But It Is)

Your vertices are not weighted to toe.L only. If you remove all weights from all other vertex groups, everything will work as expected.


How to render a model with pixel art/sprite textures and have it not be blurry?

Turning of mipmaps is just a performance setting for the viewport, you need to change the interpolation method for each image texture.

In the image node on the second pull down menu change to Closest


Add an "RGB to BW" node and plug the alpha channel of your image into it. You can then feed that value into whatever other node you desire.


Result of ray_cast on armature deformed mesh

Use the depsgraph

To hit the evaluated mesh use the depsgraph. (Assuming 2.8+)

Example, raycasts from global (0, 0, 10) in a negative global z direction.  The object raycast uses the object space of the mesh, so convert the rays to object space and the result to global.

import bpy
from mathutils import Vector

context = bpy.context

ray_co = (0, 0, 10)
ray_dir = (0, 0, -1)

ob = context.object
mw = ob.matrix_world
mwi = mw.inverted()

hit, loc, _, _ = ob.ray_cast(
    mwi @ Vector(ray_co),
    mwi @ Vector(ray_dir),
    depsgraph=context.evaluated_depsgraph_get()
    )
if hit:
    bpy.ops.object.empty_add(
        location=mw @ loc)


Weird blender game engine python problem

There is one notable difference between the cube and the building -> The cube has a unit scale (1, 1, 1), but the building is scaled down. Since spawned objects adopt the local scale of the spawner, the behavior you observe, while not desired, is perfectly normal.

To get desired behavior, you need to specify a spawner object (typically an empty) with a unit scale, and use that to spawn the relevant group.

So, the script would now look like this:

def decimate(cont):
    self = cont.owner
    scene = self.scene
    spawner = scene.objects["Spawner"]
    spawner.worldPosition = self.worldPosition
    spawner.worldOrientation = self.worldOrientation
    scene.addObject("cube_parts", spawner)
    self.endObject()

Demo: break_demo_spawner.blend


Whenever I move an object the entire scene is re-rendered

Figured it out after 11 minutes of painstaking button pushing.

Uncheck the box that says "auto render"


How to divide an object with Blender 2.8

I am showing you on a cube.
If you are loop cutting from exact center, that is Ctrl + R and Right Clicking mouse button to exit sliding.
In Edit Mode:
Go to face select mode.

and select the faces on the other half.

Now press P and seperate by Selection.

Go to Object Mode(by pressing Tab)and select any half of cube and Press G to Grab and move.

  This same method works on Blender 2.79 too.

Now cube is divided into two different parts! Enjoy.


Cannot render, because of too many faces

Lower your subdivision modifier from 6 to 3 (at most: 3).
Please check double geometry on all of your models (even simpler ones) There could be intersecting double faces. Enter edit mode, press F3 (to search) or Spacebar (user preferences to set spacebar to search) and while in edit mode, type "remove doubles".  You´ll get notification on how many edges were cleaned.
Also check your materials don't contain special characters, this is another reason why in the process of "pre-processing" before rendering the render crashes. Make sure spaces are appropiate (use a "." or "_" to separate numbered versions of the materials or the meshes)
6 millions of polygons shouldn´t be a big deal if you have 12GB+ of Ram. Also switch to CPU rendering only. Do not process with EEVEE. Use Cycles. /// I´ve render 15 million polys on Cycles on CPU due to the lack of processing on 12GB VRam for GPU on my Titan X card. So you may as well play safe on the Cycles CPU render part thus answering this question.

Thank you for your consideration to vote me as the answer by clicking to the left :the icon with a check mark and upvote this answer.

BFCT_Schiller


Based on the information given, I think that the loop tools addon should help you. If you don't have it enabled then go to your user preferences and enable it.

This will require both planes to be a single object, so start by joining them with Ctrl+J.

Now, in the tool shelf, go to the loop tools section and with both opposing faces selected (which will be the inside of the 'cube') click the bridge tool (highlighted in yellow). If you have missing faces after the bridge operation then tick the remove faces option (highlighted in red) so it is disabled and the faces will come back.


How to get reference to object(s) added by an operator?

Objects constructed with bpy.ops.mesh.primitive_* are automatically active. If there's no selection-changing operations immediately after object creation, you can access it through bpy.context.active_object or bpy.context.object.


Add a Path (Add-->Curve-->Path). Enter Edit Mode, select the curve with A and subdivide it as many times as you like (W).
Now select every third point of the curve.

Grab the points up.

You may notice, that the curve is not even in some places, so correct it.

Snap the cursor to the end of the curve, enable Proportional Editing and set the Falloff Type to Sphere.

Scale it horizontaly, setting the proportional size to a proper value (use a mouse scroll).

Here is the final result.


What are the best settings for a video export to Adobe Premiere (CS6)?

What I ended up doing was following cegaton's suggestion (I don't know if I'm able to say a comment answered my question) in which they told me to import the frames as a sequence.

At first I thought I was unable to because of the frame's irregular naming pattern, but then I found this thread (https://forums.creativecow.net/thread/3/926297) which suggested to do a batch rename in Adobe Bridge to give all the frames a consistent naming scheme.

To batch rename, open up bridge, select the files you want to rename (hopefully they are already in order) and go to tools -> batch rename.


Does blender have this tool : merge every vertices at certain distance point

It's called remove doubles and accessible through the Specials Menu: W > remove doubles. You can adjust the merge distance after applying the operation in the tools panel.

Select the geometry in question (or all geometry with A).
Remove double through the W specials menu.
Adjust the merge distance if needed.

From the manual:

  Remove Doubles is a useful tool to simplify a mesh by merging the selected vertices that are closer than a specified distance to each other. An alternative way to simplify a mesh is to use the Decimate Modifier.

Using the decimate modifier will be not pay exceptional attention to the distance though and is in this case not useful.


How can I access (read/write) a mesh object's index vi Python?


How to model a tinfoil hat? (aluminium foil texture as a mesh)

You may achieve it randomizing the mesh a bit using simple modeling tools, but it demands some experimenting to make it look good.

Model the hat starting from a cube subdivided with a subsurf modifier (4-5 subdivisions). Apply the modifier. Subdivide the hat (with W-->Subdivide) to create a dense geometry. With the all vertices selected press Ctrl+T to trangulate faces. Unselect everything with A, go to Select-->Random (set it's value to about 30-50%), then press Ctrl+E-->Rotate Edge CW. It'll give a bit randomness to the mesh's vertices positions.

Grab selected vertices upwards (G,Z), then scale them outwards a bit (S). Crease the selected vertices with Shift+E. Add a subsurf modifier and smooth the mesh (T-->Edit-->Shading-->Smooth).

Finally to randomize the look of the hat even more, select some vertices and press Ctrl+V-->Smooth Vertex.


Quickest way to create UVs for a tileset using a single tiling texture

You may try the Data Transfer modifier, which will be released with the coming 2.74, but you can still experience it in the latest daily builds here.

Add a Data Transfer modifier, choose the source object you want to copy from.
Toggle Face Corner Data > UVs, then press Generate Data Layers button, which will generate a UV data for the new object (you cannot see it until the modifier is applied).
Choose a proper method from the list on the right, you can preview it in GLSL shading mode. Finally, apply the modifier to generate a solid UV layer.

Before:

After:

NOTE:

For batch copying modifier among objects, you can enable the Copy Attributes Menu addon.
Since it is not fairly stable (currently), use it with caution.


Is there a way to use meshes as basis for a group of smaller meshes?

This is just an aid to modeling, not a fully-automated 'fill my wall with bricks' system.
This example - X across, Y up, Z out

Make a template

My bricks are 2x1x1, so this starts with an composite offset array of 2x1 plane primitives.

Array 1: Relative Offset of 1 in X,
Array 2: Relative Offset of 1 in Y, 1/(2*Array 1 Count) in X,
Array 3: Relative Offset of 1 in Y.

(I put the X-offset in Array 2 into an expression driver, to automate it when I changed the width of the wall.)

Result:

Make a group of your bricks, correctly oriented

CtrlG Group the variants of your bricks.

Note their orientation - in the result all the duplicates will face out in the object's positive Y, across in Z, and up in X. This means that if you rotate their meshes in edit mode, that counts as more variants.

The origins of the brick objects will lie on the template.

Emit the group of bricks as a particle system from the template

I've illustrated all the settings that matter. Things to note:

The only settings are the ones shown, everything else is switched off. (No physics, etc.)
All the particles are emitted on frame 1.
The number of particles is (count array1) x count (array2) x (count array 3).
Use Modifier Stack is checked.
You can change the Render > Size setting to put some mortar between the bricks, if you render the emitter, too.

You can make copies, change the array dimensions, and fit corners....

At any stage, you can hit 'Convert' in the modifier put into the template's stack by the particle system to make all the bricks real instances. Identical bricks still share Mesh Data. If you want to edit individual bricks, go into the brick's Data tab, and click the 'number of users' section of its title bar to make the mesh data single user, so your edits don't affect multiple instances. To do that to multiple bricks at a time, hit U > 'Object and Data'

In this .blend, the driver panel is open, to show the way Array 2 is set. If you change the dimensions of the array, you will have to go in and change the number of particles to suit, though.. that can't be driven.


What gets rendered is the camera view.

Your camera is aimed to a place where there are no objects.

Please read:What's the quickest, easiest way to point the camera somewhere in blender?


In Themes, why does 'Reset to Default Value' result in black?

As it says in this bug report,  there are some default values which are hardcoded into blender, and not read from the startup .blend  (which is what the Reset To Default Value operator does)

This is a known bug on the blender wiki todo list.


How to convert Quaternions keyframes to Euler ones in several Actions?

I cobbled together the following python script: http://web.purplefrog.com/~thoth/blender/python-cookbook/convert-quaternion-keyframes-to-euler.html
Here is another update that supports both bone fcurves, and the fcurve groups.
import bpy

def get_or_create_fcurve(action, data_path, array_index=-1, group=None):
    for fc in action.fcurves:
        if fc.data_path == data_path and (array_index<0 or fc.array_index == array_index):
            return fc

    fc = action.fcurves.new(data_path, index=array_index)
    fc.group = group
    return fc

def add_keyframe_euler(action, euler, frame, bone_prefix, group):
    for i in range(len(euler)):
        fc = get_or_create_fcurve(action, bone_prefix+"rotation_euler", i, group)
        pos = len(fc.keyframe_points)
        fc.keyframe_points.add(1)
        fc.keyframe_points[pos].co = [frame, euler[i]]
        fc.update()

def frames_matching(action, data_path):
    frames = set()
    for fc in action.fcurves:
        if fc.data_path == data_path:
            fri = [kp.co[0] for kp in fc.keyframe_points]
            frames.update(fri)
    return frames

def fcurves_group(action, data_path):
    for fc in action.fcurves:
        if fc.data_path == data_path and fc.group is not None:
            return fc.group
    return None

def convert_quaternion_to_euler(action, obj, order):

    bone_prefixes = set()
    for fc in action.fcurves:
        if fc.data_path == "rotation_quaternion" or fc.data_path[-20:]==".rotation_quaternion":
            bone_prefixes.add(fc.data_path[:-19])

    for bone_prefix in bone_prefixes:
        if (bone_prefix == ""):
            bone = obj
        else:
            bone = eval("obj."+bone_prefix[:-1]) # I wish I knew a better way to do this

        data_path = bone_prefix + "rotation_quaternion"
        frames = frames_matching(action, data_path)
        group = fcurves_group(action, data_path)

        for fr in frames:
            quat = bone.rotation_quaternion.copy()
            for fc in action.fcurves:
                if fc.data_path == data_path:
                    quat[fc.array_index] = fc.evaluate(fr)
            euler = quat.to_euler(order)

            add_keyframe_euler(action, euler, fr, bone_prefix, group)
            bone.rotation_mode = order
#
#

scn = bpy.context.scene
obj = bpy.context.active_object
order='XYZ'
convert_quaternion_to_euler(obj.animation_data.action, obj, order)


Blender modifiers are applied one by one in that order, which they are placed from highest to lowest.

Try moving them with arrows up and down on the right of their bars.


How to prevent model from changing locations when going into dynamic topology mode?

When I load the .blend file, everything in the scene is selected.

Click on the model name 'Game_engine' in the outliner,
so it selects all the pieces of the model, and it's pose.

Click the skeleton icon in properties

click Rest Position

Alt-R to reset rotation.

Hope that helps, if not, you might try Autodesk's tool
to convert it to a more recent .fbx file.
http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=22694909

As a side-note:
The scene seems to have 2 lamps and 2 cameras with the exact same position.
You might delete the extra .001 for each of those, if they aren't needed.


You just accidentally switched to Local view.

To get out go View > Local View > Toggle Local View
Shortcut: Numpad /

Blender Manual on Local View

  Local view isolates selected objects, so that they are the only ones visible in the viewport. This is useful for working on objects that are obscured by other ones, or to speed up the viewport performance in heavy scenes.


How do I make shadows through glass and liquid more transparent and less opaque?

I made a little progress, turning off Filter Glossy to 0 under Caustics seem to have worked. I played around with the other Light Paths after and this is what I got so far:  and lamp setting:
I will continue the tutorial now, maybe he will mention his Light paths settings at some point.


I believe that the vertex is hidden. To hide something, you select it and key H. This can easily be done by accidentally hitting H on your way to G (grab/translate). Hiding is useful for working on one part of your mesh while not having to work around or Wireframe through other parts. To un-hide, for lack of a better phrase, key Alt + H.

Once you've un-hidden, key X and select Verticies or perhaps Edges in your case.


Boolean modifier difference not engraving correctly

You have some problems because you need to clean up a bit your meshes:

Select your symbol object, go in Edit mode, select all and W > Remove Doubles.
Also press X > Limited Dissolve.
Select your cylinder, go in Edit mode, select all and W > Remove Doubles.
Give your cylinder a Boolean modifier, choose Operation > Difference, and select your symbol as Object.
It works (well, it will need a bit of topology work)


Can I make tubular hole at the edge of the face without bool operations?

Front row:

Subdivided Plane
Central faces selected: Loop Tools > Circle ( or Space Bar > Circle )
Delete appropriate faces

Back row:

Extrude
Bevel Modifier,  angle-based, (not catching curve), Segments:2 Profile:1
Subdivision Modifier

(Close-up of bevel result)


Synchronize an object following a path and the appearance of the path

In the example file where the curve object has keyframes set to animate the curve geometry end, change the Bevel Factor type to Spline and set the interpolation of the keyframes to linear.

The different Bevel Factor modes for start and end are:
RESOLUTION:
Resolution Map the bevel factor to the number of subdivisions of a spline (U resolution).
SEGMENTS
Segments, Map the bevel factor to the length of a segment and to the number of subdivisions of a segment.
SPLINE
Spline, Map the bevel factor to the length of a spline.


How to disable x-ray for annotations (grease pencil) in 2.8?

This can be done with annotations programmatically. To my knowledge there's nowhere currently in the front end UI to do this for annotations though. Copy this line, go to the Scripting workspace, paste this in the console (place where you see >>) and press Enter.

bpy.data.grease_pencils['Annotations'].layers[0].show_in_front = False

Or this to change all existing annotation layers.

for layer in bpy.data.grease_pencils['Annotations'].layers: layer.show_in_front=False

I'm not sure why this was not kept accessible in the default UI for annotations. If it is somewhere (as of Blender 2.82), please someone let me know where. A fix for right now would be to paste in and run the code (after opening a new blank file) then go to File > Defaults > Save Startup File. You would have to run the code though for every new annotation layer you create, so maybe make a few dedicated layers and name them "non see-through" or something for when you want to use annotations that aren't see through.

Even if this option never returns to the default UI, would be pretty easy to create an addon that handles this. This will definitely be an option in the next version of Sensei Format.


How can I find the selected metaball elements in Edit mode with Python?

That one's not easy. I checked the Outliner to get the path to the elements:

I haven't been able to find the full selection yet, but the active ball can be found and moved:

import bpy
bpy.data.metaballs["Mball"].elements[2].co.x += 0.1
bpy.context.active_object.data.elements.active.co.x += 0.1
bpy.data.metaballs["Mball"].elements.active.co.x += 0.1

I hope somebody can prove me wrong but it might not be exposed to the API. Metaballs don't get a lot of limelight. In which case it would be worth to find the right dev to implement it.

Only workaround I can see is to keep the metaballs separated, select them in object mode, manipulate them there(they still merge anyway) and use that selection and join them afterwards. Depends on how many you need to move.


Enabling a smoke simulation changes the maximum draw type to "wire", as opposed to the default "textured".

I believe what you are looking for is this:

EDIT: This is in the object tab in the properties panel. I forgot to mention that.


Use the Knife tool (K) instead to cut more edges. I'm new to Blender too, but it seems that F (make edge/face) is for building up new mesh in space, not for cutting new edges in existing geometry. When you choose two vertices and make an edge between them with F, it doesn't seem as if the new edge is connected to the face it crosses.  Correct me if I'm wrong someone.


You don't export a blend file to a different format.
You need to render the images or frames of the animation and encode them to a video format.

In the output settings select FFmpeg video as the file format.

there will be a new tab for Encoding options.

There you can select the container and the codec for the output file.

Container is the file format for the file, (Mov, Avi, Ogg, MP4, to name a few) sometimes is referred as a "wrapper".

Codec (short for Compression-Decompression) Is how the image is compressed. The picture quality, file size and processing power needed to view the file are largely determined by the kind of codec used and the settings used for it.

For 2.8

The interface is similar but it is further divided into Encoding and Video, but the same principles apply.

If you have already rendered the images as a .png image sequence. Then all you need to do is load those images into the VSE (video sequence editor), where you can also load the sound, then set the output to FFmpeg and the video container and codec of your choosing and render.


Getting Blender to export .ply files with vertex colors

A few things here:

The diffuse color you assigned isn't part of the Vertex Color content, they are distinct from eachother. If you want to give a single colour to all faces, then go to Vertex Paint mode and masking mode, select all faces, then pick a colour from the colour-wheel and press Shift + K . That will set the vertex colour for all faces. and Save.

For triangulation, you might have to make a duplicate of your model and triangulate, then press save, then export. Else I think the exporter will export the mesh's data from the most recent saved state (that wasn't triangulated yet).


Tracking a shot with focal variation (zoom)

Sadly, this is not possible in Blender. There are other pieces of software which can do what you wan't:

Voodoo (thanks, someonewithpc)
Adobe after effects
Syntheyes
Mocha Pro
PFTrack (thanks, cgeaton)

Some of these are a little expensive, but they are all far superior to Blender's tracker in many ways.
Note: Mocha is the best matchmoving/roto/cleanup tool out their. by far. (No affiliation, promise), PFtrack also is very good at what it does, but it is still a point tracker.


After converting a mesh to a curve , how to have a smooth curve?

In the left menu (displayed with T) > Tool > Set Spline Type > Bezier


I did what I wanted to achieve by setting Pivot Point to 3D cursor and then mirroring. Still doesn't make sense to me, when I execute a mirror around a global axis I expect to see my object on the other side of that global axis, without playing with pivot point.

EDIT:

Please check this screen shot, 3D manipulator widget has an orientation selector (in this case selected to Global) and Mirror Transform also has an Orientation selector (Local). What are their effect for mirror transform. 3D manipulator has an effect at all?


You'll first need to decompile the .mdl file into an .smd file. Crowbar is an excellent tool to decompile mdl files, find it here: Crowbar (Source Engine Modding Tool)

After that, you can use the Blender source tools as 8foldhero suggested: BlenderSourceTools
Install it as an addon like usual, and you'll be able to import any smd file into Blender by going to File > Import > Source Engine (.smd, .vta, .dmx, .qc), then choose the file from the dialog box. I recommend changing the Bone Append Mode to Make New Armature. Good Luck!


How to create inward curve with edge crease?

This face is an N-Gon which notoriously doesn't bode well with subdivision surface, and it is concave, meaning there is an interior angle > 180°, which also can create artifacts.
By joining the 2 vertices with J or Vertex > Connect Vertex Path and increasing the crease on the new edge, you will be able to make the subdivided mesh adhere more to the base mesh.

Although you now have a triangle to get rid of, but this is another topic :)


How to make a lamp only half-cast shadows?

You can accomplish this by changing the material of the object casting the shadow and using the Light Path node:

Here, the principled shader would be the material of the object (replace with your material), and the factor of the mix shader determines how much of the shadow this object casts. (1.0 is no shadow, 0.0 is entire shadow).

If you're unable to change the material of the object, another approach would be to render the scene twice, once with shadows enabled for the light source and one disabled, then mix the results together. Obviously, this has the downside of needing to render the scene twice.


If your image has an alpha channel then go to the Transparency section, bring down the Alpha value level to 0


First of all make sure that the pose of your objects first keyframe is the same as the one of the last keyframe in the period you want to loop. This can be done by duplicating the first column of keyframes in the Dope Sheet and moving it to the end of the period.

Here are some ways to loop:

at the Timeline: just set the end of your playback/rendering range to the last keyframe and play the result in a loop
in the Dope Sheet: duplicate all keyframes ShiftD and move them after your existing
in the Graph Editor: use loop modifiers for everything animated

Here`s an example using the first method


difficulty mapping dice image to base cube

Ended up being a lighting issue. Deleting the default point light caused all sides to appear.


Is there a way to vertex paint occluded vertices?

You need to have 2D Falloff option checked in Brush options and Show X ray view set(not necessary, just to see the occluded vertex) (both highlighted in the image below) It works the same for Weight painting. In all new 2.8 tutorials everybody seams to totally forgot about using this feature and I was so frustrated, when one by one everybody was just painting around objects. Finally found the answer and am happy again :)


How to make a simple plane slightly transparent?

Just to be on the safe side: Create a new material, assign it to one of your planes. in the  Shader editor you get:

Adjust the alpha to your likings.
You should be able to see the same options in the material properties, when you clicked use nodes. You need to be in rendered view to preview any transparency effects. Make sure to check 'use nodes'.
[Big EDIT]
If you want to see the effect in preview:
This way you can't set the transparency per object, just for all.
You will soon be able to use these settings for individual objects in solid view:


Auto-Run disabled? should i be concerned with this error?

This is a feature of Blender that tries to prevent you from running (possibly) malicious code when opening a file.

Animation drivers are actually Python statements (if I recall correctly, there is a way to make them multiline), which normally serve to control l parameters in some advanced ways; rigs tend to have a few drivers, since it's just easier to make work properly that way. However, if someone wanted to, they could, for instance, delete all your files, capture and send private information like passwords, keys and tokens, possibly, without you even noticing.

If you open the file from within Blender, there is an option to mark a file as trusted and thus run all scripts inside. Use at your own risk.

Another option is, in the User Preferences (CtrlAltU), to allow scripts, from all files, to run; if you don't save the user preferences, they'll only apply to the open file. You can also exclude some directories, if you want; if you do this, I recommend disabling it for your  "Downloads" folder. Again, use at your own risk :P


I'd suggest using handlers for this task.  Below is a script that adds a full set of render handlers, and prints the name of the handler when that event happens.

import bpy

frame_handlers = [name for name in dir(bpy.app.handlers)
                  if name.startswith("render")]

def handler_function(name):
    def handler(scene):
        print(name)

    return handler

for name in frame_handlers:
    handler = getattr(bpy.app.handlers, name, None)
    if handler is not None:
        handler.append(handler_function(name))

Experiment and see the order the handers are called firing  "render_init"... etc until, "render_compete"

Setting it up

In Operator execute, set the scene settings to first batch, call the render op and add the render_complete handler.

# add the handler.
   bpy.app.handlers.render_complete.append(render_complete)

The render complete handler

change scene settings to the next batch item and call render op again

You will need to keep tabs on which batch is rendered with an active_index property (or similar), (also handy for displaying the items in a UIList widget)  Please note this is just code typed into answer and not tested.

def render_complete(scene):
    batches = scene.frame_ranges
    i = batches.active_index
    if i < len(batches) - 1:
        batch = batches(i+1)
        # set up scene
        bpy.ops.render.render('INVOKE_DEFAUT', animation=True)
    else:
        #clear this hander
        bpy.app.handers.render_complete.remove(render_complete)

Experiment...


I just so happen to have created a custom Group Node that does precisely this. I found myself in a similar situation as yourself, although I needed to switch between more than two sources, so I put this together.

In this demonstration there are 10 different colors being sent into the switch node for convenient testing. You can easily see how the material's color changes when you type the corresponding channel number.

While I was at it I also created a 4-channel switch and a 2-channel switch (the 2-channel switch is admittedly redundant when you consider Rick Riggs' suggestion). You can pick whichever one suits you.

Inside the Group Node it looks like this:

This routing uses the principle of a "band-pass filter" to allow only values within a specific range through. By chopping a color ramp into ten equal bands of 10% at different places in the spectrum and assigning each to an input channel, we get a handy switch selector.


How to make one clear object invisible inside of another clear object?

There is a trick that worked very well for me:

You can make the object "invisible" inside of the clear sphere by adding another sphere just slightly smaller inside of it, adding a Boolean modifier to both the water inside the sphere, and itself. Then set the Boolean sphere to fully transparent so you do not see it. Now the water inside of the sphere should have disappeared. Make sure you do not apply the modifier at all, as that would apply it to the vertices, and change the simulation.


You have some overlapping vertices in your letter. These break the boolean. Your normals are also inside out and should be flipped.
Merge by Distance

Select your cutter and toggle to Edit Mode Tab. Press A to select all. Under Mesh tab select Clean Up and Merge by Distance.

Recalculate Normals

From Viewport Overlays panel you can check Face Orientation checkbox. This lets you see which way your normals are facing. Blue should be outside and red should be inside.

To recalculate the normals select your object toggle to Edit Mode. Select all and Under Mesh tab choose Normals and Recalculate Outside. You should do this to both of your objects.


how to loop cut a mesh that doesn't have clear edge flow

In Edit mode with your entire mesh selected, under the Mesh menu  go to "Clean Up" and click "Limited Dissolve" this should remove the triangulation on the quads and make edge loop cutting work as expected.


I managed to solve this by saving each bake to a separate directory! This kept all of them for the final render.


how to control the same value on multiple different materials with an object's z location?

Simply use the Map Range node to clamp the results between -1 and 2.

Add a Map Range node with min = -1 and max = 2 values
Check Clamp
Select your empty's Z location and go RMB > Copy Driver
Paste the driver to the Value field of the Map Range node.

The Result of the map range is shown here as a slider


Transparent model when exporting fbx file to Unity

Make sure you apply your rotation/scale/location. With the shark selected in object mode. Ctrl-A Location and Rotation/Scale before exporting


How to setup shaders for semitransparent mirrors?

This would be for the box containing the scene.

With the geometry node backfacing information you can make an object that is transparent from the outside but glossy on the inside:


Absolutely! Just make sure the material option in the particles tab is set to the material you want, whether that be an emission shader or a hair shader.

Keep in mind that the material setting is a selection based on your objects material slots. If you select one of them, it will use that material, even if no parts of your mesh are assigned to it.


CollectionProperty - change item's index

Use my_collection_prop.move(item_index, target_index), it let's you place a collection item (specified via its index in the current collection) to an arbitrary position in the collection.

In a collection with 3 items, you would call move(2, 0), to put the last item on top of the list. The other two items remain in order, there's no swapping of the source and target item:

import bpy

bpy.types.Scene.coll = bpy.props.CollectionProperty(type=bpy.types.PropertyGroup)
coll = bpy.context.scene.coll
coll.clear() # in case you re-run this script, empty the collection

# item 0
item = coll.add()
item.name = "First"

# item 1
item = coll.add()
item.name = "Second"

# item 2
item = coll.add()
item.name = "Third"

print("Before:")
for i, item in enumerate(coll, 1):
    print("{}. {}".format(i, item.name))

coll.move(2, 0)

print()
print("After:")
for i, item in enumerate(coll, 1):
    print("{}. {}".format(i, item.name))

"""
Before:
1. First
2. Second
3. Third

After:
1. Third
2. First
3. Second
"""


Can you Export edited textures out of Blender?

Referring to what you have told in the question , i am assuming that you have an image texture , you did something to it , and now you want to take it out as another image, well thats called texture baking , what you need to do is to open the image editor (i hope you know how to )

and then in your node tree , Add an image texture and create a new image , name it whatever you want and DONT connect it to anything.Then Switch to cycles renderer , apply the material to a plain and then in the render settings , go to bake , and give it a Diffuse Bake , Not combined bake. Then you will see in the image editor , that your black image has turned into the result of your node tree. Click on image>Save as to export it as a jpeg or png.


Your issue here is that the volumetric material has to be applied to the domain object, not the source of the fire. Since you need to still see the glass for the lantern, you will need to duplicate the glass object and add a volumetric material to that. To control the density of the fire so that it looks like fire and the whole domain isn't just full, you will need to use a voxel data texture.

If you add a new object and go to the Object menu at the bottom left, then Quick Effects >Quick Smoke you can get an idea of how the material should be set up.


The compositor has a whole section of nodes for image control.

To use the compositor open the Node Editor window and set it to compositing mode:

There are nodes for brightness contrast and hue/saturation:

On top of that there are nodes for levels, color correction, curves and other ways to affect a rendered image.

Quoting from the wiki:

These nodes play with the colors in the image. They adjust the image's color intensity, adjust contrast and intensity, and, most importantly, mix two images together by color, transparency, or distance.

For an in depth explanation on each one of those nodes refer to Manual


Merge or join surfaces generated in sverchek . Curves made by Bezier

for now it is one solution
http://nikitron.cc.ua/sverch/html/nodes/surface/blend_surface.html
but we need sewing node, that will do it between zero-space between surfaces.
https://gist.github.com/23349d01c4df05934ef8833d92d27629
try this gist as example


What does this stone texture node group do?

This is likely trying to add some randomness into the texture coordinates so all objects don't have a perfectly matching texture placement introducing some variation between them despite using the same texture.
It takes Object texture coordinates as base then separates each axis into separate components so an arbitrary value can be subtracted to in each direction (Color for X, Object Index for Y and Random for Z) and it doesn't always offset the same amount for each axis.
I do have some doubts about its real effectiveness, since as far as I know both Index and Color aren't really random, but is user adjustable values.
On the other hand it does allow some degree of "manual placement" on per-object level.