Is it possible to generate an image based on edges and corners? Prompted by my previous question,
is it possible to generate a black and white map based on the sharpness of edges and corners of a mesh?

E.g. to use as a map to make procedural texture displacements more intense on edges and corners.

How can I achieve this?

As Ideasman42 hinted, it is possible to invert the normals and bake AO to get what you want. However, this doesn't work at all times.

It works like this. Normally when baking AO you want holes and dents in your mesh to be darker. Not the same amount of light reaches those areas. This can also be used for dirt. If we instead want to mark the protruding edges we can invert the normals. A protruding edge is converted into a dent (sort of). It will render darker when baking AO.

One tweak must be done. If you bake a cube 2 units wide it will be baked totally black. Rays for the inside of the cube (because the normals are inverted) will hit the opposite side of the cube. The Ray length must be set very short. Here are the settings for this:

A downside of this method is that it works porly with self intersecting geometry. Rays from the inside will hit the self intersecting pieces and render dark where you don't want them.

Vertex colours strike me as the superior method in most cases.

Comparison

Made a simple test to compare them both:

For the vertex paint method I hade to subdivide some to get the desired effect.

With baking AO I hade to save the image and edit it externaly (inversion and contrast).


Video Editing Workflow: Use a separate scene for VSE? I am doing a video project in blender, consisting of one title animation (sceneTitle), a main animation (sceneMain) and a end animation (sceneEnd).
I put those animations in different scenes.

Now I want to use the Video Sequence Editor to render the whole project. Therefore, i am basically adding the 3 scenes in the VSE, with some transitions etc.

The content of the VSE seems to be "part" of a scene, so when I arrange the 3 scenes in the VSE and then change the current scene, the VSE is empty again.

Should I use a separate scene (sceneVSE) with no 3D objects to arrange the other scenes in the VSE?

And: Which render settings apply in this case?
Say I would use different resolutions for every scene...?
Example:

sceneTitle has a resolution of 400x400
sceneMain has a resolution of 800x800
sceneEnd has a resultion of 400x400
sceneVSE has a resolution of 800x800

Rendering (while sceneVSE is the active scene) should then give me a 800x800 result, with small title and end scenes (only covering half of the screen).

The FPS setting must be the same accross all scenes, right?

render(sceneTitle)---|
render(sceneMain)----|->VSE->render(sceneVSE)
render(sceneEnd)-----|

Is this "timing" diagramm correct?

Let me explain you a workflow for video editing based on my experience. As every aspect of 3d, everybody has their methods, but the following has worked pretty well for me after trying out a lot of different workflows.

(First of all do not "render" (from actually 3d scenes) from the VSE,  unless you are doing animatics, layout or something that are not final renders)

Start off by rendering your three scenes into single image sequences
without any compositing and organized into separate folders (OpenEXR
is a recommended format).
Do the compositing using your image sequences and render (again) into single image sequences.
Then, using a new blender scene, render the sequences into single movie files.
In your case you should have three movie files to do the final
editing in a blender file used only for editing.

Render image sequences > Compositing image sequences > Movie files > Editing has given me great results. Using image sequences lets you fixed any problems in the renders without rendering the whole thing again, and editing with movie files will let you have a waaay faster playback and editing.

Now, be careful with resolution, FPS and other settings. Every new scene that you use will overwrite the settings. So you have to be very organized in that matter. I recommend you to establish some settings before working on your project. Preferably all your scenes must have the same resolution, or you'll have some weirdly scaled result.


Change model resting pose Currently trying to learn blender I have a model that I downloaded and I am editing it to learn a bit about blender, the initial model came with heels and I want to change this model to be flat footed whats the best way to go about this?

After changing the pose in Pose Mode, do Ctrl+A and Apply Pose as Rest Pose


How to animate Rotation of a PNG image in VSE? I selected the Transform effect green rectangle, then I moved to frame #10, and lastly, I changed the Rotation value. Shouldn't a Keyframe have been made at that moment?
I am starting to suspect that of all things animatable, this is not one of them, is it?

It's animatable, but it isn't automatic. Move the mouse cursor above the Rotation slider, and hit i when you want to add a keyframe.


Text input field panel add-on blender 2.8 I am integrating a database in Blender.
For this, I want to use text input fields. But at the moment I can't edit these fields. And I can't figure out whats wrong with it.

The code used for this is:

class SelectByQuery(bpy.types.Operator):

    bl_idname = "object.select_by_query"
    bl_label = "Selection of object by query"

    query: bpy.props.StringProperty(default="testtest")

    def execute(self, context):
        try:
            bpy.data.objects[self.query].select_set(True)
            return {'FINISHED'}
        except:
            print('Could not select object')
            return {'CANCELLED'}
class PanelThree(View3DPanel, bpy.types.Panel):
    bl_idname = "VIEW3D_PT_SelectionQuery"
    bl_label = "Selection Query"

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

        col = layout.column(align=True)
        rowsub = col.row(align=True)

        rowsub.label(text="SELECT *")

        rowsub = col.row(align=True)
        col2 = layout.column()
        rowsub2 = col2.row()
        props = rowsub2.operator("object.select_by_query", text="Query")
        rowsub.prop(props, "query", text="")

I was able to add a default text and print the text by editting the SelectByQuery but I can't seem to make it that the user can edit the text.

As i mentioned you declared the prop in the wrong way here is an example of how you could do what you want.

just copy and paste the code in the blender script editor and click the register checkbox (im not sure if you have to do that) then click run script, now if you go to the object tab in the properties area at the bottom you should have a Selection query panel, you can type bpy.context.scene.QueryProps.query in the console that should give you the current value for the query property, changing the property in the panel will change the property value to what you typed in.

import bpy

class QueryProps(bpy.types.PropertyGroup):

    query: bpy.props.StringProperty(default="testtest")

class SelectByQuery(bpy.types.Operator):

    bl_idname = "object.select_by_query"
    bl_label = "Selection of object by query"

    def execute(self, context):
        try:
            bpy.data.objects[self.query].select_set(True)
            return {'FINISHED'}
        except:
            print('Could not select object')
            return {'CANCELLED'}

class PanelThree(bpy.types.Panel):
    bl_idname = "VIEW3D_PT_SelectionQuery"
    bl_label = "Selection Query"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'

    def draw(self, context):
        props = bpy.context.scene.QueryProps
        layout = self.layout

        col = layout.column(align=True)
        rowsub = col.row(align=True)

        rowsub.label(text="SELECT *")

        rowsub = col.row(align=True)
        col2 = layout.column()
        rowsub2 = col2.row()
        rowsub2.operator("object.select_by_query", text="Query")
        rowsub.prop(props, "query", text="")

classes = (
    QueryProps,
    SelectByQuery,
    PanelThree
)

def register():

    from bpy.utils import register_class
    for cls in classes:
        register_class(cls)
    # Register QueryProps
    bpy.types.Scene.QueryProps = bpy.props.PointerProperty(type=QueryProps)

def unregister():

    from bpy.utils import unregister_class
    for cls in classes:
        unregister_class(cls)
    # $ delete QueryProps on unregister
    del(bpy.types.Scene.QueryProps)

if __name__ == "__main__":
    register()

also don't forget to mark the question as answered if it answered your question, if you have any question about the answer feel free to write a comment.


Disney-Style Rendering, Eevee or Cycles? I have set out to create my own short movie within Blender, I'm creating the world settings at the moment. I have created the sky and I am about to create procedural clouds, but am un-sure as whether to follow a tutorial for Eevee clouds or Cycles clouds - because this could affect the end visual output.

The level of visual output I am aiming for is something along the lines of Disney or Next-Gen from Tangent Studios and Netflix.

My guess and first choice would be cycles, despite longer render times, just as it is more accurate with the lighting.

What render engine would be best for animation styles like that above?

I would suggest Cycles since PRMan is actually quite accurate in light calculate and the latest version also contain the ray tracing option/ability to render the scene.

Despite EEVEE is aiming for accurate light result, but it is still a little bit far away from the word accurate. It could speed up the scene setting and light setting, but you will need to switch to Cycles for a better result.

And Disney style use a lot of graphic effect and trick to mock the fluffy touch of the scene and also making the scene match the real world scene. Beside that, the final clip we saw has been post-processed in movie editor like Premiere or whatever they use. Making it more difficult to achieve the same image effect in Blender only.

So you might try using Cycles + Photoshop to tweak the style, not EEVEE unless you are familiar to deal with all the lighting problem that EEVEE might meet. And you can also use both EEVEE and Cycles to do different part of the scene rendering and merge them in post-processing stage.


Why the 3d sound of my object stays the same in bge? I created a river and decided to put a sound to that river,but the sound stays the same,no matter how far or how near I am going to the river.I used 3d sound option in game logic in blender game and I did the properties as I saw in a clip on YouTube,but nothing has changed.How can I fix that problem?

In the sound actuator set: minimun gain to 0.0, maximun gain to 1.0 and maximun distance to ~50 (estimate from the image provided), i dont know the scales you are using but the camera appear to be at ~50 units from the sound position. The scales of your blend are weird so is dificult to say something near reallity.

Here is a .blend to demonstrate, just press P and then SPACE to move the camera.


Access Object's Keyframe Data via Python The goal is to change the hue of objects based on the difference between the frame when the object is made visible to the scene renderer and the frame_current.
What code will allow me to access the frame number of an object's visibility keyframe? Something like:

import bpy

objs=bpy.data.objects[0:-3]      #select multitude of objects barring a camera,
                                                                     # light, and curve
scene=bpy.context.scene
endF=scene.frame_end
currentF=scene.frame_current
while currentF != endF:
    for o in objs:
        start=o.visible.frame # <-??              #set variable for the frame number
                                                  # when each object is made visible
        hue=o.material.diffuse.color        #set variable for hue of object's
                                                                         # material

    #set hue based on difference between current frame and visible frame
        if currentF-start==1: hue=0x6E00E7

The line of code I really need help with is marked with "# <-??", i.e., line 12.

Solved.
It works now.

import bpy
objs=bpy.data.objects      #make list of all objects in scene
scene=bpy.context.scene
endF=scene.frame_end
currentF=scene.frame_current
keyframes=[]
meshObs=[]

for o in objs:
 if  o.type == 'MESH' and o.animation_data !=None:
     fc = o.animation_data.action.fcurves.find('hide')
     keyframes.append([kfp.co[0] for kfp in fc.keyframe_points if kfp.co[1]==0][0])
     meshObs.append(o)

The following will give you an array of all the frame numbers (as float) where the visibility is True

fc = o.animation_data.action.fcurves.find('hide')
frameNos = [kfp.co[0] for kfp in fc.keyframe_points if kfp.co[1] == 0]

you can find the previous one from the current with

start = max([kfp.co[0] for kfp in fc.keyframe_points if kfp.co[1] == 0 and kfp.co[0] < currentF])


Any way to turn off the black lines in curve edit mode? Is there any way to turn off the black lines in curve Edit Mode?

Sure thing.

These lines show the Normals orientation.
Just uncheck the corresponding field in the Viewport Overlays panel.
You can also adjust their length with the slider.


My blender has not one option that I really need Actually I am working on blender 2.79 and I want to rig a car and I completed some steps through video tutorial which I found on youtube.

Now I need one option which is cycles setting in object tab of properties panel, but in my blender there is no option of cycles setting.

What to do for that, should I download any plugin?

You must change Blender Render to Cycles Render to enable it.

See it at the top menu bar.

Image below:


Explosion before collision I've got a free falling box on blender 2.82 which fractured 100 pieces before.
It explodes before touching the ground plane.
What can be causing this.
Ground plane is passive rigid body.Box is fractured with cell fracture addon to 100 pieces, each piece is active body with convex hull shape.
Here is the video of it

Ok.I fixed it by removing rigid body world and then adding every rigid body again.But i don't know what caused this in first place.


Cannot select Object in 3D View I have an object that I cannot select nor manipulate. I can get into Edit Mode by using the Outliner however it is useless since I cannot Move it as an object. Seperating, duplicating etc the selection in edit mode doesn't do anything either.

See for yourself:

See the icon that looks like an arrow next to the eye on the outliner?

If that icon is ghosted the object cannot be selected. Click on the icon to enable it

These icons are switches:

The Eye icon is to toggle object visibility on the 3D viewport.

The Arrow Icon toggles selectability.

The Camera Icon toggles rendering.

Please take a moment to read more on the Blender Manual

https://docs.blender.org/manual/en/dev/editors/outliner.html?highlight=object%20level#toggling-object-level-restrictions


Creating a translucent acrylic-like Shader I am trying to make this model and as you can see in the reference, it looks translucent with a glow on the outer ring, like a solid block of acrylic with thickness. Also, as you can see, it emits light from inside so I have made a wire on the inside with emission.
I have tried making the material with some volumetrics and shaders (glass, transparent, glossy) but it doesn't look believable. Additionaly, it's generating too much of noise. Also, as you can see in the reference, the surface is very rough with some scratches. So any help would be appreciated since I am not that good with nodes. Thanks.

Reference:

(P.S. - I am using 2.79b due to some hardware constrains).

Just use a glass-shader in combination with a volume absorption-shader. The color is emitted by the light.


Knife cut with closed sides like boolean difference does I am using knife project to cut holes into an object. Is there a way to close the sides of the cut so I cannot see the hollow inside of the remaining part?

I created the second picture using boolean difference, but it would be very convenient to use the knife tool.

thank you!

The Bridge Edge Loops function provides a powerful tool to close these holes: https://docs.blender.org/manual/en/dev/modeling/meshes/editing/edges.html#modeling-meshes-editing-bridge-edge-loops

It is worthwhile to play with its many options.


Simple methods to smooth out weight paints? After skinning a high density (3.6k poly) hair model to it's respective bones, I disliked the results of the automatic weight paints so I removed the Weight from each Vertex Group & used the Edit Mode method of "Select Faces > Select Vertex Group > Assign a Weight of 1" for each Vertex Group to gain precise control over which geometry the bones affect.

The result, however, are blocky deformations due to the sharp edges between Vertex Groups. I can't seem to get desirable results while using the blur tool as I don't understand how to utilize it yet. The Weight Gradient tool also appears to be finicky for me & doesn't normalize after applying it, & the Blend/Smooth tool appears to do nothing to the weights even at full factor.

Are there any tools or settings that might let me add what would otherwise be a Gaussian Blur style effect to my weights?

One work-around I've found was to use the Corrective Smooth modifier to smooth it out after-the-fact, however, I'd like to learn how to manage this within the weight paints instead of using modifiers. Will be more beneficial in future occasions.

Starting from this situation,

You can use the smooth tool :

Go in weight paint mode
Activate vertex selection (the little icon on the bottom of the screen indicated by a cube with one vertex in yellow)
Select your vertices A
Then in the weight paint tools panels click on 'smooth'
One done, go to the operator options and select 'all groups'
Then tune the amount of smooth you want (or click on the smooth button several times)

You need to go to vertices selection mode because the smooth operates only on a selection (unavailable if there is no selection).

By the way, few other things :

3.6k is not so much at all in general for skinning. But yes, that can be a lot for this particular model
Automatic weights generally does a very good job and I am surprised it does not work here ? Maybe because of your bone structure as the root bone is not placed at the root of the hair ?

What I obtain with 'automatic weights' :

Alternative smoothing using blur brush :


Vertex snapping does not work in the same object I am new to blender but not to 3D modelling in general. I am having a strange problem regarding with vertex snapping.
I have several objects in my scene. I am trying to translate one vertex to another location with transform tool. I would like to do it in one axis (preferebly Y axis). The problem is that, the vertex that I am trying to relocate doesn't snap to the other vertices in the same object. If I try to snap it to vertices of a different object, it does snap.
I attached a video that demonstrates this. I am also attaching the blend file for it. Could you please help me figure out what the issue is or provide a work around?
Screen Recording:
https://drive.google.com/file/d/1yf6soj9Kj8tVHbvwIm_9ZaxLr7-3Xx48/view?usp=sharing
Blend file: https://drive.google.com/file/d/1FTdDkCF6oEYSz_bBtCRi5ZrFfOODTwXj/view?usp=sharing

You have proportional editing enabled. Snapping to self does not work with it.


How can I select a point without selecting its reflected side I have on the mirror modifier and I only need to select a point one side without deleting the mirror modifier.  How does one accomplish such a task?

Your question conflicts with the Mirror Modifier purpose. It is used to mirror your model in a given direction to reduce workflow or give symmetry to your model, you cannot select a vertex of the mirrored part.

Simply apply the Mirror Modifier to your model, and then you can edit one side and it will not affect the other, because you applied the modifier and each side it's independent.


Accessing object names with Python - outliner has different names for the same object bpy.ops.object.lamp_add(type='POINT', radius=1, view_align=False, location=(1,1,1), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
new_name = bpy.context.active_object.name
bpy.data.lamps[new_name].use_nodes = True
bpy.data.lamps[new_name].node_tree.nodes["Emission"].inputs['Strength'].default_value = 3.0

I am trying to create a series of point source lamps (100s of them) using a script and then change the emission strength of each of them to a custom value - a different value for each light.

Most of the time the above code works. However, every now and again there seems to be a mismatch between the name of the object and some underlying object that it is linked to - see screenshot for example.

In this case my newly created object is called "Point.001", whereas it is linked to some object called "Point.038". Changing the node values for "Point.001" does nothing (as far as I can tell), I need to change the values for "Point.038". The issue is that I cannot figure out how to access the name "Point.038" via Python script. I assume since "Point.038" and "Point.001" are linked in the outliner, there has to be some way to traverse from "Point.001" to "Point.038".

An added wrinkle here is that each point source has a emission custom value, so I can't just cycle through every point light source object and change the value - I need to know that "Point.038" gets the emission that should be assigned "Point.001".

Use the object reference.

When adding an object via an operator, the new object is context.object.  The data part, the lamp in this case is context.object.data

import bpy
context = bpy.context
bpy.ops.object.lamp_add(type='POINT', radius=1, location=(1,1,1))
lamp_obj = context.object
lamp = lamp_obj.data
lamp.use_nodes = True

Ultimately if you are going to be adding hundreds of lamps with code suggest using API methods rather than operators which become slow.  Python performance with Blender operators

Test code below written and tested in 2.8.  See comments for conversion to prior.

import bpy
context = bpy.context
scene = context.scene
nlamps = 10

for i in range(nlamps):
    lamp = bpy.data.lights.new("Spot%d" % i, type='SPOT') # 2.8
    #lamp = bpy.data.lamps.new("Spot%d" % i, type='SPOT') # prior
    lamp_obj = bpy.data.objects.new("Spot%d" % i, lamp)
    lamp_obj.location.x = i
    scene.collection.objects.link(lamp_obj) # 2.8
    #scene.objects.link(lamp_obj) # prior 2.8


How do I attach rope to a mesh I am trying to make a pirate ship and am trying to attach rope to the sails. my rope is made using a path, and soft body physics. I can not find a way to attach my rope to the sail. and I can not use pinned vertices because this is not a cloth modifier.

You can use an empty and hooks.

Select the sail, enter edit mode and select the vertex at end of the rope that should be attached to the rope, then press Ctrl+H and select Hook to new object. An empty will be created at the same position of the vertex, so that if that if the vertex moves it will make the empty follow the movement

Exit edit mode and select the newly created empty. Press Shift+S and select cursor to selected. This will place the 3D cursor where the empty is.

With the Empty still selected, press Shift select the rope. This will make the rope the Active object but keeping the empty selected as well

To align the end of the rope at the edge of the sail, enter Edit mode, select the control point that should be controlled by the empty, press Shift+S and this time select selection to cursor, so that the end of the rope ends at the same place as the empty.

The next step is to parent the control point of the curve to the empty, to do that press Ctrl+P and select "Make Vertex Parent". This will make the control point be pinned to the empty, and in turn, be pinned to the vertex on the sail.

Now if you move the control point of the vertex it will move the empty and the empty in turn will move the sail. If the rest of the sail moves, the pinned vertex will remain in place.

Edit:

For this example the sail is a simple quad (just 4 vertices) with a subsurf modifier set to Simple.

Read also:
How to simulate a rope?


Blender for Chromebook How would I be able to run Blender on a Chromebook? The Rollapp is a farce that demands money for free software, and the whole reason I didn't buy a windows laptop is because I hate Windows 10, so is there another option?

If you hate Windows 10, there are other options. I know you asked about Blender on Chromebook, but you can find non-Windows 10 computers for very cheap or free. I got a desktop with Linux from my local library, and my tech teacher gave me a Windows 7 laptop for free. Try asking around.


Can I delete all materials of all objects in a scene quickly? Is there a quick way to delete all materials in the scene? I have a scene containing 20+ materials and all linked to objects. I'd like to remove all the materials from my blender file.

Yes, you can. Easy way would be:

Select all objects, keep one active, remove all materials on it by pressing the "-" button on the right-hand side of material slot list;
Then, from the drop-down list (below it), choose Copy Material to Others. Save the file.

All unused material data will be removed after saving. You cannot see them anymore after reopening.


When rotating, objects jump around the screen I don't know if this is related at all, but before when I was rotating the object strechted while rotating. Like the z axis scaled higher but everything else didn't. While rotating.

The half of an arm I'm manipulating has multiple children and is a child to the upper half of the arm.

EDIT: It was jumping around because some parts of it were overlapping with the main body mesh and collision was enabled so it jumped around. I'm still having the problem of scaling when I rotate the mesh. I can't find anything online, so I think I'm gonna rotate it so I have the scale I want then join all the different meshes together into one character mesh.


Duplicating object aligned with and on faces I'm trying to duplicate the cube in the image on the center of the faces of the torus facing inwards. I've tried a few things with curve deforms and array modifiers but couldn't get anything to work. Also I might want them to scale with the size of the face.

If this didn't change in the 2.8 (I use the 2.79), choose align to view on the editing preference

Then in edit mode choose the face you want your object to be aligned to
Hit shitf + 7 to get your view parallel to that face and shift D to duplicate the face (now extrude it and you have your cube.

If you need to extrude a face and have it's size to increase with the distance, do it with option + S (on mac)


What is the difference between a linear and angular motor (rigid body physics)? As the title asks, what is the difference between a linear motor and an angular motor in rigid body physics?

An angular motor rotates stuff (angular impulse), and a linear motor pushes stuff (linear impulse):


How to: High poly to low poly normal map + high poly texture + normal map of texture detail This is hard because I dont think there is a "correct" answer to this.
Basically I want to use a normal map of a high poly model on a low poly version of that same model. This I learned so far. But I can't find instructions on the following:

I would like to paint a texture for the high poly and use this texture on the low poly too.
On top of that I'd like to use normal texturing for the high poly texture e.g. giving it the small detail shading.

To sum it up:

High poly with (color and) normal texture
->
Low poly with the normal map of the high poly model + the color and normal texture of the high poly.

How many and which maps do I have to bake then and how many textures does one need for the low poly version?
Is the texture applied to the low poly version or its normal map?

To visualize this let's say we have a modeled brick wall.
We paint a color texture for the model, the texture has little cracks and sprinkles so we use normal when I assign it to the material of the model so that these small details are shaded.

Now that whole thing shall be put onto a simple plane (or a low res model).
Not just the normal map for the model but also the color texture plus the normal shading for the color texture.

I know this is like normalception and kind of confusing but I didnt know how to put it in words better with my noob knowledge.

Meanwhile I will trial and error my best, cheers!

You said you know how to bake a normal map from hi-poly to low-poly. It's the same for color texture.
If you use blender internal, bake textures instead of normals in the menu.
In cycles, you can choose 1 of the 3 diffuse maps (color, direct, indirect). The diffuse color should be what you need but if you want to combine the 3, you have to add direct to indirect and multiply the result with color.

About normal map : painting a normal map is a bad idea. Some softwares allow you to do it but if you want to paint details, use a bump map (B&W). I'm not sure about that but I think the normal baking adds the bump map inside the resulting normal map (blender internal). Else you'd better paint it on the low-poly mesh.


Make each Poly overlap and scale relative to the 0 - 1 space I am looking for a hybrid of these two images.
I want all UVs to overlap starting at the corner of the 0-1 range, but I also want all the polygons to be scaled relative to eachothers size. The first image was achieved by Smart Unwrapping each poly...one... at...a...time (not practical for large scenes.) The second image was accomplished by Smart Unwrapping all the polygons of an object all at once but this is not good for a repeating pattern. I intend to apply a repeating pattern across all polygons of a rectangle and I want it to repeat correctly no matter how big the polygon gets. The method for the first image would result in uneven scaling and take forever(very large scene,lots of objects), the method for the second image would not allow for a repeating pattern.

I want the polygons to overlap. It is efficient.

I've searched everywhere and can not find anyone trying to make a set of walls this way.

Make bottom LH corner of each UV (0, 0)

Script to move the closest uv coordinate of a face to (0, 0) and adjust the others accordingly. To run. Run the script in text editor to register operator. Create a UV map first, via smart uv unwrap for example, and then run the operator in edit mode.  (Using space bar, and search for "Simple UV Operator")

Script is an edit of text editor > templates > python > Operator Mesh Uv

import bpy
import bmesh

def main(context):
    obj = context.active_object
    me = obj.data
    bm = bmesh.from_edit_mesh(me)

    uv_layer = bm.loops.layers.uv.verify()
    #bm.faces.layers.tex.verify()  # currently blender needs both layers.

    # adjust UVs
    for f in bm.faces:
        uvs = [l[uv_layer] for l in f.loops]
        uvs.sort(key=lambda o: o.uv.length)
        duv = uvs[0].uv.copy()
        for uv in uvs:
            uv.uv -= duv
    bmesh.update_edit_mesh(me)

class UvOperator(bpy.types.Operator):
    """UV Operator description"""
    bl_idname = "uv.simple_operator"
    bl_label = "Simple UV Operator"

    @classmethod
    def poll(cls, context):
        return (context.mode == 'EDIT_MESH')

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

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

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

if __name__ == "__main__":
    register()

    # test call
    #bpy.ops.uv.simple_operator()

Note: I've tested this whilst using 2.8, and needed to comment out #bm.faces.layers.tex.verify() . Might need to remove # for versions prior.

If you want only to move to left edge only remove the x component of the uv.

uv.uv.x -= duv.x

Result on 2.8 after running op after smart project


Too Dark When Rendering - No Light At All I'm currently making a tree with branches and leaves etc., but for some reason, whenever I go from solid to rendering mode the textures that I applied come out extremely dark, which (I think) is caused by the lack of lighting. Can someone possibly help me? Here are some screenshots.

Here is the texture I applied to the trunk of the tree:

Here is the result after rendering:

Here are the nodes that I'm using:

With the sun you have added to your scene should be enough to at least see your scene lit. The thing is that you have it turned off on the viewport. Turn it on by clicking the eye icon right next to it in the Outliner.


Auto baking the indirect lighting of irradiance volumes with animation? I've searched forums, Google, and YouTube for a way to use Eevee's  irradiance volumes with animation (moving objects), and haven't found any solutions, or even a mention of this. Maybe I'm using the wrong search terms.

In short, when using irradiance volumes and Eevee, indirect lighting doesn't recalculate between animation frames when it's baked, and it doesn't render at all when it's not baked. Checking 'Auto Bake' in the Indirect Lighting tab seems to only have an effect when I manually change the settings on an irradiance volume.

Can irradiance volumes be used with moving objects?

Your help would be appreciated.

According to Blender at
https://docs.blender.org/manual/en/latest/render/eevee/render_settings/indirect_lighting.html in paragraph 3:

  As of now the light cache is static and needs to be computed before rendering. It cannot be updated per frame (unless via scripting). This limitation is being worked on and will be removed in future versions.


How does EEVEE work? We all know what Cycles is, at least to a first approximation: Cycles is

a path tracing engine [...] Specifically, cycles is a "backwards" path tracer, which means that it traces light rays by sending them from the camera instead of sending them from light source(s)

—from this community wiki

Understanding its implementation clearly requires some more technicalities, like the BVH, the specificity of volumetric shaders etc, but even without all those details it's pretty clear what's the "idea" behind it.
In short (Cycles): rays are traced back from the camera until they reach a source of light or the sky. Every time they "hit" something they have different possible routes -- each with its own probability, as described by the material settings: they can reflect at specular angle (specularity), bounce at random angle (rough diffuse), transmit through the surface (refraction), etc -- and during this route they accrue color, intensity etc. Since there are probabilistic choices along the route, multiple rays with different random seeds are cast and then averaged (samples) (1).
As for EEVEE, we know what it's for: it is a «modern, high-quality viewport that will perform better than the current Blender viewport» (link); we know what it is not for: it «uses approximations on the behavior of light and will not be as accurate» as Cycles (link). But I think it hasn't been written yet "what it does".
How would you shortly explain the workings of EEVEE to a friend (or to a class of non experts)? What are the main steps that go into the rendering process? Lit/shaded areas, occlusion, interaction with the materials, (possibly even subsurface scattering and volumetrics, that I guess must be somewhat tricky), etc...
My description of Cycles above (1) is the type of understanding I'd like to get about Eevee.
Thanks!

EEVEE is an engine that does rasterization (like Blender Internal or like game-engines), the key difference to ray-tracing (Cycles) is this:

rasterization is a technique where the scene's geometry is projected onto a raster of pixels:

Every pixel's color is determined with shader code based on surface normals and light positions (generally Blinn-Phong & Lambertian shading), edges are anti-aliased, occlusion is determined by using z-buffer values. To make the output look nice, additional "trickery" is needed: light maps, light probes, screen space ambient occlusion, shadow maps, blurred shadows, screen space reflections, distance-sorted transparency, ...
raytracing shoots multiple rays into the scene per pixel from camera, lets them bounce around the scene, rays obey laws of physics and if they reach light source they shade every surface they went through or bounced off with the light's color and energy:

Occlusion, soft shadows, anti-aliased edges, reflections/refraction, global-illumination, caustics, ... It all happens naturally, because light itself is being simulated (to some degree, spectral phenomenon of light is not simulated in Cycles for example, but in some other renderers it is implemented).

Eevee uses OpenGL 3.3 API to do its rendering, which is a set of functions that through drivers use GPU hardware to accelerate its computation (Blender Internal uses same way of rendering the scene as Eevee does, but does use its own code that runs on CPU and is not GPU accelerated).

This is how the rendering pipeline works (from top to bottom, non-programable steps in italics):

Vertex specification - takes input data (vertices with vertex colors, locations, UV coordinates, which vertices make polygons, etc.) and puts them into buffers on which next parts of pipeline operates (the GPU hardware can efficiently operate on these buffers in a parallel way).
Vertex processing

Vertex Shader - vertices go in, altered vertices go out. Here they are for example transformed in space (object transforms), code works on each vertex individually for efficient parallelization
Tessellation (optional) - patches of vertex data are subdivided into smaller primitives in 3 stages:

Tessellation Control Shader determines how much tessellation to do on each patch (face)
Tessellation Primitive Generator subdivides the input patch
Tessellation Evaluation Shader takes the subdivided patch and computes new vertices values (displaces them for example)

Geometry Shader (optional) - can create new vertices or delete them. Instancing is handled here, generation of multiple levels-of-detail for meshes or  outputting primitives in places of single points (particles) happens here.

Vertex post-processing - output of previous stages is collected and prepared for primitive assembly and rasterization. This includes:

Transform Feedback - output from vertex processing is stored into buffers so it is easy to re-use the transformed data multiple times.
Culling geometry outside the view frustum and by near-far clipping camera planes.
Viewport transform happens here - vertices are transformed into window-space - these are the coords that are rasterized.

Primitive assembly - meshes are divided into a sequence of triangles and sorted in such a way that it is efficient to rasterize.

Face culling is performed, faces that do not face the camera are discarded.

Rasterization - projects the geometry onto a raster of pixels and outputs a collection of fragments. Each fragment represents a segment (fragment) of a rasterized triangle (like grabbing french-fry cutter and slicing triangles into fragments with it) - the fragment size is related to the pixel area. Multiple fragments can come out each pixel (multi-sampling). Each fragment has a (x,y) window-space position, interpolated per-vertex output values (interpolated normal and UVs, vertex colors,..) and can hold other attributes.
Fragment Shader (sometimes called Pixel shader) - takes the fragments and samples colors and computes z-depth value for each of them. Takes care of how pixels between the vertices look.

takes single fragment as input and single fragment is put out (efficient parallelization)
colors are sampled from textures (albedo, roughness, transparency, normal, masks,...)
normal of each fragment is finalized (normal maps or bump maps)
fragment is shaded, see Blinn-Phong and Lambert shading models

Per-sample operations - fragments from Fragment shader are processed and written to frame buffer(s). These operations also include:

determining blending (transparency)
z-depth culling / depth test (it is performed per sample). This can be done before Fragment Shader too.
culling with Stencil buffer happens here - a stencil can be specified and fragments outside stencil are discarded (like the ones hiding behind UI elements). Also can be done before Fragment Shader.

A special stage that does not fit particularly somewhere in the pipeline are Compute shaders. They are generally not directly responsible for drawing triangles and pixels - they generate arbitrary data anywhere they are invoked in the pipeline. Current GPUs can run main pipeline and several compute workloads at the same time. Effects like screen-space ambient occlusion, soft-particles, volumetric effects, blur and depth-of-field and many others are usually implemented with Compute shaders.


Blender fails to import XYZ scanned model I'm relatively new in 3D Scanning world: I've scanned the model using XYZ 3D scanner saved as .OBJ file with *.mtl and .png texture file. No errors, nothing it just does not import the model. I have no problems opening it with Meshlab but Blender fails to import it. I've tried to convert it to fbx or ply with Meshlab - no success opening it with Blender. Tried use previous version of Blender - the same issue.
 Is there any compatibility problem between Blender and models scanned by XYZ 3D Scanner ? For example when I made the model using Autodesk 360 Recap from the pictures Blender has no problems opening it.
 Id there any workaround this ? Why Meshlab can open the model but Blender can not ? Really like Blender but unfortunately can not use it to edit 3D models scanned by XYZ Scanner.

Thank you,

Alex

Import is correct: change origin and shading mode

Once you correctly export the file to OBJ format, there should be no issue related to the source.

Blender is correctly importing the geometry in the scene while keeping the object's original coordinates (Meshlab doesn't). You con manually reposition your object or run the "Set Origin" operator (choose Origin to Geometry option) and then the "Clear Location" operator to move the object to the center of the scene.

Blender is also loading the texture, but they are not shown in Solid mode. You'll have to switch to Texture mode, or Render, or even Material mode (after simplifying the nodetree in this case). You can find a detailed explanation of the Shading mode for the 3D viewport in the Manual's page

.


Trouble with Distortion on UV Map of CSS Virginia I'm having trouble with some distortion on my unwraps on the upper hull of the CSS Virginia.

Initially, I tried using top down orthographic unwraps of the mesh, but in those attempts (one meant for a tiling texture, the second for more traditional texturing) there is some obvious distortion (especially near the top of the hull.

I've also used unwraps with seams, but they don't seem to make any difference. I'm quite stuck as to how to resolve that distortion.

I think you should try to increase the level of subdivisions of the Subsurf Modifier.

It may also be the matter of how you've unwrapped your mesh. I'll suggest you the way how to do it.
Add an edge as pictured below, select it and mark a seam (Ctrl+E-->Mark Seam)

Unwrap the mesh using Follow Active Quads method. Select the whole mesh (A), then press U-->Follow Active Quads-->Lenght Average-->OK.

The result of the unwrapping (after you scale the UV island) may be something like this.

Now you have quite even distribution of the texture and there is no distortion.


How to create dynamic clouds? Specifically dense clouds that move really slowly, just fast enough to be noticeable in a 15 sec animation. They'll need to be 3d, interact with some floating buildings and reflect the sky. I found the dragoneex plugin "dynamic sky" to be great but the clouds don't move. Should I just modify it? If so, how do I go about doing it?

First of all go here and read this answer: How to use Blender's dynamic sky add-on?

Go to Node Editor and switch to World mode.

In paragraph Night sky with stars (from the linked answer) you can see whole node setup for Dynamic Sky add-on. Find part Clouds/Stars and Texture Mapping node there:

Now you can animate any of the Location values to get clouds moving in chosen direction.


is it possible to paint diffuse and normal at the same time I have a brick texture with diffuse and normal image. Is it possible to paint an object with stencil brush that while left clicking mouse, diffuse and normal can both be painted onto object's base color and normal image?

It is possible with bpaint.
But on personal recommendation, if you need that kind of thing, you better use of MASK factors. That way you connect and arm your shader first, then you only need to paint black and white map to reveal "layers".


A shadow in a world without light ? Can you crack this riddle? I have a plane with shadow catcher enabled and there are no lights in the scene and no background lighting but there is still a shadow represented in my viewer ???

Just curious why that is ..

Thank you all !!!

I could be off base, but when this happens in my scenes it's usually because of either;

the object has flipped normals
or the scale is inverted (which is kind of the same issue)


How do I import an image as a plane after opening a new .blend file? In my script, I'm trying to open a new .blend file, then create a new plane and attach an image to that. I can run the script to create a plane mesh and successfully attach an image to that, but if I preface to that script the opening of a new blender file, I lose that ability. Here is a stripped-down version of my code rearranged so that it exposes the problem:

# Imports.
from bpy import context, ops
import os

# Demonstrate that you can attach an image to a plane.
ops.mesh.primitive_plane_add()
plane = context.scene.objects.active
plane.data.uv_textures.new()
if len(plane.data.uv_textures[0].data) > 0:
    print('We have UV Texture data')
else:
    print("We don't have UV Texture data")

# Where to get blender files.
blender_file_dir = 'D:\\Path\\to\\blend\\data\\folder'

# Object class.
object_name = 'CoDrone'

# Open blender file (needs to match the object name).
filepath = os.path.join(blender_file_dir, '{}.blend'.format(object_name))
ops.wm.open_mainfile(filepath=filepath)

# Demonstrate that you can no longer attach an image to a plane
ops.mesh.primitive_plane_add()
plane = context.scene.objects.active
plane.data.uv_textures.new()
if len(plane.data.uv_textures[0].data) > 0:
    print('We have UV Texture data')
else:
    print("We don't have UV Texture data")

Running the above code gets this output:

We have UV Texture data
Read blend: D:\Path\to\blend\data\folder\CoDrone.blend
We don't have UV Texture data

With hints from @rob that it's better to append the scene and destroy the old one, and code from How to delete a scene with its content? to destroy the objects in the old scene first, I finally got the results I expected. When you run this code:

# Imports.
from bpy import context, ops, data
import os
import random

def delete_scene_objects():

    # Get the current scene.
    scene = context.screen.scene

    # Remove objects.
    for object_name in scene.objects:
        data.objects.remove(object_name, True)

    return scene

def add_plane():
    ops.mesh.primitive_plane_add()
    plane = context.scene.objects.active

    # Add a UV texture layer to the mesh.
    plane.data.uv_textures.new()

    # Demonstrate that you can attach an image to the mesh.
    if len(plane.data.uv_textures[0].data) > 0:
        print('We have UV Texture data')
    else:
        print("We don't have UV Texture data")

def append_blend_file(blend_file):
    section_name = '\\Scene\\'
    object_name = 'Scene'

    directory_name = blend_file + section_name
    ops.wm.append(filename=object_name, directory=directory_name)

def add_blend_file():

    # Where to get blender files.
    blender_file_dir = 'D:\\Path\\to\\blend\\data\\folder'

    # Object class.
    class_name = 'CoDrone'

    # Open blender file (needs to match the object name).
    file_name = '{}.blend'.format(class_name)
    blend_file = os.path.join(blender_file_dir, file_name)
    append_blend_file(blend_file)

add_plane()
old_scene = delete_scene_objects()
add_blend_file()

# Remove old scene.
data.scenes.remove(old_scene, True)

add_plane()

You get this output:

We have UV Texture data
We have UV Texture data


How can I scale a subsection of a mesh created with the screw modifier? I've created a mesh that somewhat resembles a phone cord by following this tutorial.  Now I want to modify a subsection of the structure.  Specifically, I would like to scale down the "diameter" of the structure somewhere in the middle.

Is there any way to do this besides creating separate meshes for each of the differently-sized subsections?

If you are trying to adjust the Curve path in this case, you can follow this way:

Tab into the Edit Mode, select one or more points on the curve;
Then press AltS to loosen or narrow it as you want (or click Scale Feather button in the Toolshelf).


How to rotate only origin? how to only origin rotate ? The object will remain in place. I want it in the picture example.

If you want the origin to rotate 90 degrees on X axis, in object mode press R followed by  X then -90 Enter,  then Ctrl + A (Apply Rotation), then R followed by X 90 Enter.
replace X with Y or Z depending on what axis you need, -90 is the degree of rotation replace that too with whatever value you need.


How do you select one of several meshes created in edit mode Is it possible to select and edit a torus that has been added to a cube?

Start Blender
Go to Edit Mode and select a cube face.
Shift-S and "Cursor to Selected"
Create a Torus.

This produces a torus that is half-in and half-out of the cube.

Is there any way to select the newly added torus to scale, rotate or delete as a whole.  No entry for the torus appears in the tree view.  Is it considered a part of the cube?

In edit mode select any vertex, edge or face of the torus, then use Ctrl+L to select linked. All of the vertices (edges or Faces) of the torus will be selected, and given that the cube and the torus are not linked, or don't share any common vertices, none of the geometry of the cube will be selected.

If at that point you want to turn the selected vertices as a new object you can press P and choose separate selected. A new object will be created and can be transformed independently.

What you call "tree view" is the outliner window. To understand the difference between objects created in edit mode and those created in Object mode please read:   Why can't objects in Edit Mode have their own name?

If you are just starting using blender I recommend that you read trough the links on the following page: Resources for Blender


Confusing Volumetrics I have a simple glass exture applied to this bulb and a circle inside with an emission texture on it w/ the strength about 30. How do I get this emission texture to fill the bulb?

Here is my node setup for a light bulb, I hope it helps. It worked well for my scene.
You can use this for the bulb only, if you want, or you can keep the emmission sphere, and use the glass settings.


How do i slow down physics? I want to know how to slow down physics simulations or at least the explosion modifier.

I want to know this so i can render out the explosion with a high fps but over a longer period of time so i can slow it down and still keep the animation smooth.

If you are using Rigid Bodies, you can just decrease Speed in Rigid Body World settings under Scene tab:

You can also increase Step Per Second and Solver Itarations to get smoother and more detailed simulations.


Is Blender 2.81 able to pack Animated Textures? I want to be able to pack like a .mp4 as an image texture, but last time I did this in 2.8, it wasn't possible. Is it a feature yet in the lastest update?

From the Blender Manual:

Not all external files can be packed
Some typically heavy external files, like video ones from the Sequence Editor or Movie Clips, cannot be packed in a blend-file.

Consider what would happen if you did pack those files in. Every time Blender makes a backup save (which it does by default), it'd have to make a copy of all the data, including the video files. If you're considering uploading your project to a render farm, some allow for video files to be sent in an accompanying zip file.
If you're just transferring the file from computer to computer, consider using Relative Paths and keeping all your files in organized folders.


Strange Normal Baking I'm sure this is a tired question on here, but having scrubbed through a few on here I haven't find an answer directly for this issue.

In baking a normal map, the content bakes perfectly fine but it's perspective is skewed.

The first image is the original object, the second is the low poly with baked normal/AO.

As you can see, the second picture appears to have baked an orthographic perspective that is NOT perpendicular to the normal of the face, it's as if it's coming from the top left of the frame. I'm wondering HOW this came about, as the Normals are perpendicular, the UV isn't skewed and the bake is just done as any other object. What caused this?

Courtesy of Lemon!

Distorted bakes

This resolved the issue. I applied an edge split as per the post, but am still unable to really understand WHY that worked. There were no hidden or squashed faces, the face in question is planar (scale y 0 and apply scale changed nothing) and yet it still baked as if it weren't. Odd for sure, but at least there's the solution.

Thanks again!


Reset Rotation , Translation and Scale of bones through Script Like we do it by using shortcuts

ALT + R to reset all rotations,
ALT + G to reset all translations,
ALT + S to reset all scales.

Is there a proper way to clear the pose through script.
Below is my code, I know how to select specific bones, but am not sure about a way to reset the rotations , translations and scales of those bones.

bpy.ops.object.mode_set(mode='POSE')
arm = bpy.data.objects['Armature']
bpy.ops.pose.select_all(action='DESELECT')

for pb in arm.pose.bones:
    if "Spine" in pb.name:
        arm.data.bones[pb.name].select = True

Thanks in Advance

You can:

import bpy
from mathutils import Vector, Quaternion

arm = bpy.data.objects['Armature']

for pb in arm.pose.bones:
    #Set the rotation to 0
    identityQuaternion = Quaternion((0, 0, 0), 1 )
    pb.rotation_quaternion = identityQuaternion
    #Set the scale to 1
    pb.scale = Vector( (1, 1, 1) )
    #Set the location at rest (edit) pose bone position
    pb.location = pb.bone.head


How to use the Blender ID in a third-party add-on? Blender 2.78 came with a perhaps overlooked feature with the Blender ID authentication add-on. It's very strait-forward to use as long as you have registered a Blender ID, but I don't see how it can be very useful to third-party developers like the release notes claim.

  Blender 2.78 features the official Blender ID add-on, which allows you
  to be logged-in within Blender so that other (3rd party) add-ons can
  provide you with a more tailored experience.

I can't find any material about how to incorporate this into a third-party add-on (except for the Blender Cloud add-on which really isn't even third-party).

The readme file in the blender cloud add-on gives more direction. This page discusses the simple way to use the Blender ID with your own add-on.

  Using the addon from another addon The following functions can be used
  from other addons to use the Blender ID functionality:

  blender_id.get_active_profile() returns the BlenderIdProfile that
  represents the currently logged in user, or None when the user isn't
  logged in:

class BlenderIdProfile:
    user_id = '41234'
    username = 'username@example.com'
    token = '41344124-auth-token-434134'

  blender_id.get_active_user_id() returns the user ID of the logged in
  user, or '' when the user isn't logged in.

  blender_id.is_logged_in() returns True if the user is logged in,
  and False otherwise.

As is mentioned there, you have access to the user's username (email) and whether or not they are logged in.

This is simply a module that you can import:

import blender_id

# returns True or False
print(blender_id.is_logged_in())

# user's email username
print(blender_id.get_active_profile().username)

Here is a mini demo in Blender's console:


Can't see textures outside of texture paint So I'm trying to paint textures, and I can see them all just fine in the texture paint view, but in object mode in order to be able to see them
have to
1. Paint the object
2. Right click a different object (which puts me back in object mode)
but if I click back onto the painted object it turns plain white. Has anyone else had this problem? And do you have a solution?

You can switch the viewport shading from "solid" to "texture"


Is Bridge Edge Loops in Sverchok possible? Is there something like Bridge Edge Loops in Sverchok (possible)? Or can I perhaps easily (using a ScriptNode) call LoopTool's Bridge, Circle, Curve, Space, etc.?

Here's a less obvious alternative if you want to add faces / edges to skin a sequence of edge loops and interpolate the shapes.

Some of this layout exists just to generate the sequence of edge loops (shapes), the real work is done by Vector interpolate MK2 and UVConnect. This layout works under the reasonable assumption that the number of verts in each loop is identical and that the indices of consecutive shapes already line up (so there's no excessive twisting).

Here's a more practical example for naval architecture, using BezierCurve input

Here the Bezier Object is made from a certain number of "sub curves/splines", each spline in that example is represented by 13 vertices. The Objects-in Node just makes a flat list of the resulting vertices, that's why we List-Split on size 13 to get the individual spline data.

blend of the hull


Help to combine three render layers I'm using composition but I can't combine my render layers: can anyone help me?

https://www.youtube.com/watch?v=mdGv-rcTJn0

You are not using transparency in any of your render layers.

Without an alpha channel the Alpha Over operation will not work!

Turn on Shading > Alpha: Transparent.


How to Copy ( CTRL L ) Object Data to Many Objects while keeping all their Transforms ( Location Rotation & Scale ) I'm trying to build a roof with shingles.

I start with one shingle, and make 3 modifiers: 2 arrays and 1 mirror.

To reduce file size and mesh vertex I apply the modifiers, then I want to copy Object Data from the main object ( shingle ), to all the other identical objects ( object instancing ).

The problem is that it copies the location, therefore it piles them all.

When I test with simple cubes, see blend file.

The main object is the RED cube.

The array cubes are the BLUE ones.

and a new created cube is the GREY one.

It works fine when I copy Object Data from the main object, to the GREY. The grey object stays in its location.

but when I do the same thing with the BLUE objects, they pile up.

I tried to APPLY all transforms, and same thing. ( CTRL A ).

How could I "reset" the BLUE objects like if they were newly added?

I saw a similar question here but based on what I just said, there should be an easier solution.

If you want blue cubes to stay in their position after you link their mesh data to the gray cube, you need to reset their origin to their individual centers.

You can use that devil shortcut Ctrl+Alt+Shift+C for that.

I hope it is what you are going to achieve :)

Here is your .blend with this "fix" applied.


How to import VMT (valve materials) to blender materials? i need to import or reproduce VMT to blender materials.
i know how to deals with texture but i dont know, for exemple, $bumpmap
does there is an actual documentation how to reproduce valve materials into blender?

From what I gathered, PhongWarp seems to be either Specular or Metallic, Phong is how strong the PhongWarp is. PhongExponent seems to be roughness, with the non-texture variant being how strong/bright it is. BumpMap is just a normal texture.


Moving only one vertex of the edge I searched for this, however I'm probably not familiar with the terminology, so could not find what I wanted. Is there a way to move only one vertex of the edge? Example:

I've added a cube, then subdivided the top and bottom edges and added two edges from the top-left and top-middle vertices to the bottom-right vertex. I want to move only the "left" vertex (top-left to bottom-right - selected on the left-most cube) to the bottom-middle vertex, so I arrive at either of the two right-most configurations below.

I understand I can delete the edge and create another one (which is what I did to demonstrate the above anyway), just wondering if this can be done to save time when moving several vertices at once.

I guess the main reason is to be able to manually refine things such as using Alt+F to join a cylinder and a cube, getting this:

So it would be easier to move the three selected ones to the bottom-middle vertex, instead of deleting them and then creating the three new ones.

Of course, regardless of the above question, there might be an easier way to do what I showed in the lase image - open to suggestions here. The point is to join two faces together so that the join is smooth.

You can use AltV for Rip fill.

Normally you could just press G with the vertex selected (or GG if you wanted to slide a vertex along the edge).
However, since the vertex you want to move has other edges connected to it, you must create a new, separate vertex with the one edge attached (Rip, V), and then fill in the newly formed hole (Fill, F). The Rip Fill tool does these two operations automatically.

I assumed that there is only one vertex at the corner. If you have multiple vertices in the same place (doubles), then you need only to press G with the right one selected.


Bizarre Hair Render In Cycles I'm trying to do hair in cycles and everything is fine until I render.

Before:

But After a render:

The hair goes wild

I tried raising the hair off the scalp but it still goes wild, no idea what settings triggered this.

Try re-baking your particle cache. You may need to click 'free bake' first before 'bake' will become available.


What happens if I chose CPU, but with a GPU specified in settings? I have Lenovo Legion Y7000 with a Graphics card of 1060. In the System, Settings that you can chose what you want to render with CPU or GPU, I chose GPU, then on my right hand side are those tabs are a Camera Icon, under if you look for it, it says device. Under Render, Animation, and Audio. There's a drop down menu, choices between CPU and GPU. What happens if I chose CPU, but in my settings its as GPU.

The option in the preferences controls which OpenCL/CUDA compute device will be used when the GPU option is chosen in Properties > Render.

Why this is arranged so confusingly is due to history. Originally cycles only had CUDA support, and so was a natural assumption that the "compute device" chosen in the preferences was a GPU (or GPUs). Since OpenCL can work on CPUs, it's possible you could end up using OpenCL on your CPU when GPU is selected in Properties > Render.


how to rig the eyebrows which are separate from the head? I imported character from makehuman, and rigged it using rigify, but the eyebrows and eyelashes are separate objects, I don't know how to rig them. should I join them to the head, or parent them to head bone or what.
I am stuck, need your advice.

We can do both, either select the separated eyebrow and parent it to the eyebrow bone, or join it to the face mesh using Ctrl+J and rig the face as usual, and then weight paint the geometry. However, in terms of proper deformation I guess the second option might provide more control.


Can I link a .blend file instead of separate object? If I link objects separate, I have to link all new objects one by one if I change the original file, isn't it?

if I want to link a file which has 3 objects, I have to link 3 objects separately, I can't just link the .blend file, isn't it? But if I add another 5 objects in the external .blend file, I have to link those 5 objects one by one into the .blend I'm working in, they won't be added in the .blend I'm working in automatically, because I didn't link them before. Is there any way to let them be added automatically?

No, as their name tells you: links are... A link between two files. You make a link between something in an external .blend and the .blend you're working in.
No matter what you have linked, it will update once the changes are saved in the linked file and the link reloaded (or the entire working blend reloaded).


Finding neighboring mesh faces I'm quite new to Blender and I'm trying to write my first Blender/Python script. I'm implementing an algorithm that is looking for the lowest (z-value) laying neighboring face for each mesh face.
I have been trying to find a way to efficiently find the adjacent faces of a given face, but so far without any luck.
Is there a built-in function for that in Blender? Or do I have to loop through all faces and check if they share edges with the current face?

Cheers!

The bmesh module

Suggest for working with a mesh use the bmesh module.

Test script. Assumes a face is selected and active in edit mode. For each edge in a face, look at its linked faces, and select if other face.

import bpy
import bmesh

ob = bpy.context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)
# have a face selcted and active
face = bm.select_history.active

link_faces = [f for e in face.edges
              for f in e.link_faces if f is not face]
# select them
for f in link_faces:
    f.select = True
# update mesh
bmesh.update_edit_mesh(me)
me.update()

Growing face selection by verts, (uses a set, includes original)

# from verts instead.
link_faces = set(f for v in face.verts
             for f in v.link_faces)
# select them
for f in link_faces:
    f.select = True

To find vert with lowest global z in linked faces. Could grab the minimum. I have started to lean towards sorting, since all or any of the rest may have same min as first.

verts = set(v for f in link_faces for v in f.verts)
# order by global z
mw = ob.matrix_world
sorted_verts = sorted(verts, key=lambda v: (mw * v.co).z)


texture paint : how to switch between texture stencil and solid color paint When i do texture paint, i can draw with solid color , then when i want to draw using texture (stencil mode) i will add texture to the brush. Now if i want to go back to draw using solid color how can i do this? i ussually have to delete texture from the brush. And if i want to use texture stencil again  , i can't do it in tool property, i have to go to texture tab to select previous texture brush. This is silly to go back and forth these tabs. There must be a faster way . Anyone can help ?

You can make as many brush presets as you want.


Objects transforming with mouse movement I create an object in blender and when I hit S to scale etc the object scales madly with the mouse movement. Same goes with rotate and other transform options.
The 3D widget simply changes to a circle, not the normal symbols.
I've reset the interface and even did a reinstall, but makes no difference.
Its make blender unusable because you try to transform something by a a few degrees or scale and it does what ever it wants.
ANY IDEAS or is this just a bug.  I noticed it only started doing this with the 2.78 update.  I also noticed that panels have move around as well but thats another story.

It matters where your mouse is relative to the pivot center before you start the scale. If you start far away from it, it will scale slowly, but if you start very close to it, it will scale madly.

You can change the pivot point in the 3D-Editor->Header->Pivot Point

And the 3-D Manipulator widget can also be changed from translate/rotate/scale.

You can switch the rotation mode from the regular to trackball rotation simply by hitting r a second time.


Rendering does not reflect the new rotation of my character after using Blender's Python API's rotation_euler function Want to render a character in different direction using scripts, set the character standing on a plane, and use the code like following:

for i in range(0, 8):
    model.rotation_euler = (0,0,2 * pi * i / 8)
    bpy.ops.render.render(write_still=True)

But in rendered image the character is lying on the plane, why is that?

Update your scene using bpy.context.scene.update() and you should get the result that you expect.

So your code should look like this:

for i in range(0, 8):
    model.rotation_euler = (0,0,2 * pi * i / 8)
    bpy.context.scene.update()
    bpy.ops.render.render(write_still=True)


Completely removing scene (including all objects/materials it contained) I'm working on a Blender addon that will render multiple versions of a scene by altering node input parameters. To leave the scene unchanged, I want to render a copy of the current scene, which I successfully do. The problem is that when doing a full copy of a scene using ops.scene.new(type="FULL_COPY") it creates a copy of everything that existed in the original scene. When I later delete the new scene using bpy.ops.scene.delete() all those copied objects and materials still exists! How do I remove a scene and everything that was contained in it?

Maybe you can consider starting with a new blend file (empty), then you pass to addon the source blend file. The addon can link the scene/collection from the source file, render and remove linked. Then repeat the process.

Or, to follow your initial setup, you could put the whole scene in a "root" collection and then call bpy.ops.outliner.collection_delete (hierarchy = True). In theory with hierarchy = True it should delete all the objects contained.


Smoke not showing up in render but shows up in materials (I'm using my cpu) As you can see it works perfectly fine in materials

But in rendered view and in render nothing shows up

The problem was that the mesh that I used was colored and not transparent and that caused problems beacuse I set temp. diff in domain to 0


Cycles image renders in black and white I'm trying to make an image in Blender using the cycles engine. When I choose rendered in the view port shading menu, there's color. But when I actually render it, it's in black and white. What do I do?

What are you trying to do with the dilate/erode node?

That is what is turning your image into B&W.

Remove that node and your image is fine:

The Dilate/Erode node expects an input of a single channel (not RGB), and will output a single channel as well: a single channel will be a Black and White image.

The Dilate/Erode's node is mostly used is to expand or contract the edge of masks.

To work with a color image (RGB), you would need to split the channels of the image, and use dilate/erode nodes on each of the channels of the image. Then the channels can be recombined, as in thid example from the blender manual

But I suspect that you are looking for a way to create some glow... Use the Glare node instead.


Shows a cached image when I try to render I'm trying to render and all I get is the same cached image, whether I choose Cycles or Blender Render. I can hide and move objects, but the cached image is all I get when I press the render button. If I remove the images in the output folder, I just get a blank render screen and no rendering happens at all. What do you think is going on here?

Cegaton's link held the answer:

Came back to a blender file, now not rendering

  The Compositor and Sequence settings are enabled by default, so if there is any data in the compositor or the sequencer blender will
  render from that instead of the scene.

  Disable Sequence in Render Settings > Post processing or remove the
  sequencer strips and it will render the scene instead.


Uneven movement on camera following a path. I render a short movie. I set the camera to the circle curve to make it fly in circle. The problem is after render, the camera is a little shaky. Can anyone help me? Thanks first.

The resolution for the circle is way too low, increase the resolution for the Active Spline:


How to use loops.foreach_set and polygons.foreach_set to add faces to a mesh I have problems getting my head around it:

I have two arrays:

verts = np.array([1, 1, 0,
                  2, 1, 0,
                  3, 1, 0,
                  1, 2, 0,
                  2, 2, 0,
                  3, 2, 0,
                  1, 3, 0,
                  2, 3, 0,
                  3, 3, 0])

faces = np.array([0, 1, 4, 3,
                  1, 2, 5, 4,
                  3, 4, 7, 6,
                  4, 5, 8, 7])

The mesh (me) is prepared with the 9 verts from array "verts" in it already. Now i want to add the faces but the explanations i found were scarce at best.

So, how do i add faces using (an explanation would be great):

    me.loops.add() #should be 4 loops per (4-sided) face, right?
    me.loops.foreach_set("vertex_index",) #no idea...

    me.polygons.add(faces.size / 4) #4 Faces in this case
    me.polygons.foreach_set("loop_start",) #no idea...
    me.polygons.foreach_set("loop_total",) #not sure... number of loops per face in a list: [4, 4, 4, 4] in this case?
    #me.polygons.foreach_set("vertices", ) #needed at all? List of vert coordinates if they were no verts in mesh already?

I would be very happy if anybody could shed some light on it for me.

EDIT
After some investigation of "from_pydata" code in "bpy_types.py" as suggested by batFINGER i am a bit further but still not fully able to create the correct mesh.
I now have most of it right i think but because i have shared vertices for some of the loops and edges i am now pretty sure I need to use:

me.loops.foreach_set("vertex_index", vert_idx)

i thought i would need to add two verts per loop (start and end), so:

vert_idx = (0, 1,
            1, 4,
            4, 3,
            3, 0,
            1, 2,
            2, 5,
            5, 4,
            4, 1,
            3, 4,
            4, 7,
            7, 6,
            6, 3,
            4, 5,
            5, 8,
            8, 7,
            7, 4)

or "faces" but both leads to a crash, like everything else i tried.

Got it, what was missing was not:

me.loops.foreach_set("vertex_index", vert_idx)

but correct:

me.polygons.foreach_set("vertices", ...

i tried it before and it crashed all the time because i forgot to ravel() the numpy array i used.


Using sensor data as alternative for Motion tracking I am not really sure, if am right here, but maybe you can help me out.
I am curious to know if there is a way, e.g. a smartphone app which tracks various sensor data while filming, so one can use them later on in order to create a 3D path in Blender or similar programs. That path could then be used for the virtual camera.
There should be enough gyroscopic data and acceleration data etc. to create such a path.
In theory this should greatly reduce the effort needed to create accurate motion tracking for visual effects.
Is there anything already out there for smartphones or potentially any tools for professional environments?

While this sort of a concept is a seductive idea, it has yet to see practical CGI usage. The reasons are complex, but in essence, as with the seductive ideas for keying, sub-pixels will always resist your effort like guerrilla warriors.

That is, the margins for error of data are so small, so thin, so slight, that capturing spatial data will always slip, slide, judder, or other such things because the image is never quite 1:1 with the data.

To practically achieve these sorts of things, several witness cameras tracking camera position can be combined with scanned / surveyed set positions, 3D point cloud scans, and footage tracking / bundling, etc. Accumulating camera data could be used as aids in this, but never a sole source of camera positioning.


No file output after rendering? I usually am able to render successfully to the c:\tmp folder, but when I came into work today, I rendered out the image on my work laptop, and everything seems to work, but I'm not getting an output to the tmp directory.

Does anyone know how to make this work?

As an extension of Keavon's answer, Blender does not write still renders to the hard drive by default in the GUI. Command line renders are written to the hard drive automatically, and there is an addon which adds this functionality in the GUI. (see this post).

There are a few ways to work around this:

Render a one frame animation as in Keavon's answer.
Save the image manually from the UV/Image editor after the render is complete (press F3 with the cursor in the image editor, or select the option from the header):

For 2.8 Use the Image Editor, and select Image > Save As (or press Shift+S)

You will be taken to the File Browser with options to set the format and location of the saved image:

Render by running bpy.ops.render.render(write_still=True) in the Python Console. The render will be written to the output path.
Use a File Output node as mentioned by Matt:

This will create a file /tmp/test.png. Note that the File output node has format and output path settings in the Properties region (N) which are separate from the scene settings.


How to make an object transparent In the render result, I'd like to be able to see the DNA inside the football.

How can I make the football transparent so that the DNA is clearly visible inside?

To do this in Cycles, choose cycles render and open node editor.

Create your base material for the football (this should be what it should look like if there wasn't any transparency on it.

Then mix this with a transparent shader, and make any necessary shader tweaks to give it the appearance you're looking for.

The cylinder is positioned inside the sphere, the cube behind it

Please keep in mind that if you prefer to use the Blender Internal Engine, that's perfectly fine, this is just a way to do it using Cycles.


other objects push on bone controlled surface? I have made a basic cardboard box model, and I'm trying to use bones for control/as a hinge.
is there a way to make other objects push on the flaps controlled by a bone or must I animate this effect manually?(i.e. dropping a bowling ball onto a close box and having it move th flaps out of the way on the way down)

Here, I've set up a simple box that is weight painted so the main bone only influences the flap.  The tip bone is there for the IK setup.(not sure I did this entirely right since I'm still just learning this as well)

Anyways, here are a few pics.  First you can add a loopcut to the edge of the flap to limit the weight paint so the bone does not affect the rest of the box.

Now the weight paint setup.

There is an Empty added near the tip of the IK controller bone which is referenced in the IK constriant which I added to that bone as shown next.

I also added rotation locks to both bones so they can only move in one axis.  The image shows 2 places where this can be done.

Next is an animation showing the result of moving the Empty.


How to correct Blender "physics visualization" inconsistancy with base mesh made of quads I have been investigating building some terrain for a blender game engine project, I already have a camera worked up that can follow a mesh with the static physics type. The camera works. However I noticed that the camera started clipping through the terrain at some points.

I believe there is a disparity between how the physics engine calculates collisions with quads and the physical topology of the base mesh. You can see the physics visualization shows every triangulated quad has an edge drawn between the bottom left and top right corner, it doesn't accurately describe the surface.

I have here, same exact same mesh explicitly triangulated with the triangulation modifier. This DOES accurately represent the base mesh. When I apply the modifier the camera works perfectly. The simulation follows the terrain perfectly, no clipping, no looking through the terrain.

This would be great, but I plan to use benj's lodshader.py to add a much more detailed simulation surface at close distances while maintaining a low density surface at a distance to preserve performance. This script requires a square base mesh. How how can I get accurate terrain collisions with a square base mesh?

EDIT:

Hopefully these pictures will better illustrate the problem

This is the base mesh made of quads from an angle

This is the base mesh with the incorrect physics visualization overlay

Base mesh in wireframe

This is the triangulated mesh in wireframe

The same mesh in solid surface

And finally the solid surface mesh, with the triangulation modifier shows the proper physics visualization that follows the surface of the mesh and doesnt allow clipping of the camera through the terrain. I need blender to do this without using the triangulate modifier

It is always a bad idea to use quads... especially when it comes to games where you have physics and collision calculations. Everything will get converted to triangles anyway, for optimisation and accuracy purposes.
I couldn't exactly understand what the exact problem was, but whatever it is it would have something to do with the quads.
Always triangulate before you use your mesh for simulation.
And if it is just because of this guys script that you keep a quad surface, then either edit the script that it takes in a triangulated mesh, or find a different LevelOfDetail (LOD) script.
PS: I am pretty sure he would be converting to trinagles somewhere in the script anyway, as it is not possible to get continuous LOD with quads


Can't install Bledner GIS addon, Mac Blender 2.80
Mac OSX 20.15.1
Python 2.7.15

Trying to install Blender GIS using edit > prefferences > addons > install.

Addon installs:

Modules Installed (BlenderGIS-master) from '/Users/rider25/Desktop/BlenderGIS-master.zip' into '/Users/rider25/Library/Application Support/Blender/2.80/scripts/addons'

but will not activate, returning:

Traceback (most recent call last):
  File "/Applications/Blender.app/Contents/Resources/2.80/scripts/modules/addon_utils.py", line 351, in enable
    mod = __import__(module_name)
  File "/Users/rider25/Library/Application Support/Blender/2.80/scripts/addons/BlenderGIS-master/__init__.py", line 69, in <module>
    from . import geoscene
  File "/Users/rider25/Library/Application Support/Blender/2.80/scripts/addons/BlenderGIS-master/geoscene.py", line 32, in <module>
    from .operators.utils import mouseTo3d
  File "/Users/rider25/Library/Application Support/Blender/2.80/scripts/addons/BlenderGIS-master/operators/utils/__init__.py", line 1, in <module>
    from .bgis_utils import placeObj, adjust3Dview, showTextures, addTexture, getBBOX, DropToGround, mouseTo3d, isTopView
  File "/Users/rider25/Library/Application Support/Blender/2.80/scripts/addons/BlenderGIS-master/operators/utils/bgis_utils.py", line 7, in <module>
    from ...core import BBOX
  File "/Users/rider25/Library/Application Support/Blender/2.80/scripts/addons/BlenderGIS-master/core/__init__.py", line 14, in <module>
    from .basemaps import GRIDS, SOURCES, MapService, GeoPackage, TileMatrix
  File "/Users/rider25/Library/Application Support/Blender/2.80/scripts/addons/BlenderGIS-master/core/basemaps/__init__.py", line 2, in <module>
    from .mapservice import MapService, TileMatrix, BBoxRequest, BBoxRequestMZ
  File "/Users/rider25/Library/Application Support/Blender/2.80/scripts/addons/BlenderGIS-master/core/basemaps/mapservice.py", line 34, in <module>
    from .gpkg import GeoPackage
  File "/Users/rider25/Library/Application Support/Blender/2.80/scripts/addons/BlenderGIS-master/core/basemaps/gpkg.py", line 26, in <module>
    import sqlite3
  File "/Applications/Blender.app/Contents/Resources/2.80/python/lib/python3.7/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "/Applications/Blender.app/Contents/Resources/2.80/python/lib/python3.7/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: dlopen(/Applications/Blender.app/Contents/Resources/2.80/python/lib/python3.7/lib-dynload/_sqlite3.cpython-37m-darwin.so, 2): Library not loaded: /Users/brecht/dev/build_darwin/deps/Release/sqlite/lib/libsqlite3.0.dylib
  Referenced from: /Applications/Blender.app/Contents/Resources/2.80/python/lib/python3.7/lib-dynload/_sqlite3.cpython-37m-darwin.so
  Reason: image not found

Any help would be much appreciated :)

This issue has been resolved by downloading the latest build (2.82-a) found at:
builder.blender.org/download/


Looping Video Question I am making an simple 10sec background animation for an intro video for a website using Blender's particle emitter. The particles are rotating and collisions are turned on and I've used a slight brownian force on the particles to give them a bit of motion.
The scene is simply a shot of the particles using depth of field for visual effect. I would like to loop the 10 sec video for continuous play.

With that in mind, I am trying to make the transition of the loop seamless. I am thinking of using a cross or gamma cross effect to make the transition appear seamless.

Is there a better way for to achieve what I'm after, or will this approach even work?

If your video sequence has transparency such a png, then the video sequence editor VSE, can layer the video with alpha transparency setting.
There is always the simple fade to black and start over with alpha transparency.
The particles themselves can fade to black in a more random fashion with the particle info node.


Animation nodes nested loops I would like to replicate the following python code in animation nodes:
a = [1,2,3]
c = []

for i in a:
    for k in a:
        c.append(i*k)
print(c)

The output is [1, 2, 3, 2, 4, 6, 3, 6, 9].
However in animation nodes I can not make this work. Below is my current nodes setup:

(I know that this could be done in AN in a simpler way however I need something like this for a more complicated project.)


Modeling a sword handle - Problem smoothing it out I am currently trying my first steps at modeling and currently trying out a sword.  I progressed well so far by modeling the blade and good part of the crossguard.  I decided to model half of the handle to have a good idea of the proportions I want.

Here is the work so far.

I am quite satisfied with the bottom part where the handle connects with the crossguard.  However, I would like the upper part to finish in a circle as the reference.  I still have not added no bevel, multiresolution or subdivision modifiers in these pics.  Nor any object shade smooth.

I have already experimented with the above modifiers but the results did not change nearly anything of the model.  No modifier seems to have an effect.  Why is this so and what can I do to smoot up the upper part of the handle?

You can use to sphere operation to make your selection in to sphere.

Once you start the operator, drag your mouse left and right to change the intensity.


How to bevel correct way I have made the svg file and imported and then converted to curve.
As i have make with the red is my original mesh and the below is unmark bevel mesh.

I want my mesh to be bevel from the center and it should not created space or gap as seen the below mesh. The mesh should make bevel from the center mark in green.

Im i doing correct way or is there any other way or how should i make the bevel without creating gap or space in middle of mesh.

As the mesh is present same shape should be bevel from the center.

result

Reference image

You want to make sure that when you are using bevels you don't want any ngons  on your model. These are faces that contain more than four vertices.

In this situation sense you are trying to only bevel the center of the model try using the inset tool.

This can be accomplished by the "I" key while you have the desired faces selected.

Here is a link for how to use the inset tool from the Blender documentation.

https://www.blender.org/manual/modeling/meshes/editing/duplicating/inset.html


The Model doesn't appear when rendering....? UPDATE I'm sorry for my last question I wasn't know what I have to upload to make my question clear also I'm a beginner ...

I have finish my tracking then try to render using F12 the result as shown in the screenshot
it show only a shadow

and as you asked I will upload .blend file

https://www.mediafire.com/?x5d1n0z99iufle3

please help me with this problem ..Thank You

I believe it is because you are using the multiply node in the compositor. The multiply node is kind of like mixing two things in a way so that the brightness value is the factor (sorry if this doesn't make sense, there are lots of better explanations out on the internet). When you multiply the Suzanne and the movie clip, since the suzanne is white, it doesn't show through.

I made a few changes to your composite setup. First I checked the Object Index pass under the Render Layers tab. I assigned Suzanne a pass index of 1 and the ground a pass index of 2. I wasn't able to get a good picture so I'm attaching a link to the .blend file but essentially, I masked out everything but the Suzanne and then used the mask to mix the head back in if that makes sense. Here's what the render looked like. Of course you would replace the color grid with your video.

Hope this helps! Good luck!


How can one change the size of a sun lamp in Blender 2.79? I can't seem to find out where to change the size of the sun lamp. When I look under the sun lamp properties, it only displays "Energy" instead of "Size". Can someone help me with this?

Sun light size has now been replaced by an angular size, which makes more sense for this type of light source.

You can control it from Angle property in the Object Data panel in the Properties Window.


Combining two IMAGES so they fade into one another in a gradient or transition I've checked all the other threads on this question and there are ones similar but not quite explaining the effect I'm looking for.

Essentially in cycles, I want to fade a sand unit into a clay unit gradually transitioning from one to the other. The image shown has a harsh, unrealistic change that makes my already amateur equipment look appalling!!

I've set it up with two planes (1 Sand (below) and a similar Clay 1. Intuition says I should probably be using only one plane to get the gradient I want but this is what I have so far..

Thanks for any help

I'd say your intuition is correct, you don't even need to remake your materials.
Just use a single plane, and use a gradient texture as a mix value in the Factor socket of a Mix Shader node to fade between the two.

Then copy paste your two materials into the same shader tree and mix them together.

You may use a color ramp node to control the transition.


can textures and bumpmaps be "baked" into a single texture? In Blender it seems bump maps tend to take longer to render, so I was wondering if it was possible to merge those into an image such as a UV map.
is there a way to do this or a way to make bumpmaps render quicker?

Just make a full bake

Note: this does not work for animation


Uniform Texture Page Repeat I am looking for a simple way to repeat part of a texture page uniformly over a large model. On the right you can see my texture page which I am using for multitexturing. On the left you can see the selected faces I have.

What I would like to do is unwrap the selected faces and have them collapse into a square that can fit correctly into the grass area. I also want the texture to repeat and flip horizontally and vertically. I do not want to unwrap it to some other shape and then scale it because this requires that I upsize the texture which is what I've done in other areas and the texture is now 10mb's as a result and far too inefficient for loading into any engine. The reset option under 'U' for unwrap comes close but the edges of the texture do not align properly but it does make a perfect square similar to what I want.

The game engine this is targeted for is GameMaker which does not support multi-texturing and I therefore must use a single combined texture. If there is a way I can achieve this without manually moving the texture coordinates and pinning them it would be really helpful, even if I could write a script or a plugin that could accomplish this to save me from having to do it by hand. It's theoretically possible but I doubt at this point that Blender has such built in features.

Edit: A clearer indication as to why the U->Reset feature does not work 100% notice towards the farthest left the edges of the triangle fan are not mapped correctly.

With the faces selected use U Unrwap to open the unwrap menu and chose Reset:

Result:

After that you can scale S and move G the uv as you like, use Circle select C to select all vertices in a corner and align them with your texture.
Of course you can also align individual vertices.


Bevel (modifier) each individual vertex Is there a way (addon or similiar) to bevel vertices individually. The Bevel modifier clamps all vertices the same, I would like it to clamp each vertex individually.

This is the behaviour I would like to have.

This is the current behaviour. (The position of the edge loop on the left change the bevel on the right edge.) How can I avoid that?

Trying to word it better:
How do I avoid dense geometry limiting the amount of bevel on all parts of the model?

I would try other non-destructive methods except the bevel modifier as well.

You mention bevel per vertex but then you proceed to illustrate beveling per edge.
Not sure what you really want to achieve, sounds like what Bevel Weights are for.
Add a Bevel Modifier to your mesh object, for ease of mental calculations set its Bevel width to $1.0$, then proceed to turn off Clamping and set the Limit Method to Weight.
Then in Edit Mode on your mesh, select desired edges and press Ctrl+E Edges > Edge Bevel Weight to control the bevel width on a per-edge basis.
Edge weight acts a multiplication factor over the bevel distance, if you set bevel distance to a round number like $1.0$ it will facilitate adjustment. If now want a bevel of $0.5$ units just set the weight to $0.5$, if you want a bevel of $1$, $2$ or $3.7$ just set the weight to $1.0$, $2.0$ or $3.7$ respectively.


Draw rectangle around active window (C or Python) I would like to try coding a simple Blender modification: to have the active window (i.e. The one beneath the mouse cursor) outline in orange, with the title bar also lighting in Orange.

Is it possible to do this from the Python level, or is it necessary to go down to the C level?

It should be done in the C code, there's already something to highlight the active area.

With Python, you're pretty limited to draw handlers, which are attached to regions:

import bpy
import bgl

def draw_callback_px(self, context):

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

    r = context.region

    bgl.glBegin(bgl.GL_LINE_STRIP)
    bgl.glVertex2i(lw, lw)
    bgl.glVertex2i(r.width - lw, lw)
    bgl.glVertex2i(r.width - lw, r.height - lw)
    bgl.glVertex2i(lw, r.height - lw)
    bgl.glVertex2i(lw, lw)
    bgl.glEnd()

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

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

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

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

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

        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        if context.area.type == 'VIEW_3D':
            # the arguments we pass the the callback
            args = (self, context)
            # Add the region OpenGL drawing callback
            # draw in view space with 'POST_VIEW' and 'PRE_VIEW'
            self._handle = bpy.types.SpaceView3D.draw_handler_add(draw_callback_px, args, 'WINDOW', 'POST_PIXEL')

            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "View3D not found, cannot run operator")
            return {'CANCELLED'}

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

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

if __name__ == "__main__":
    register()

    for area in bpy.context.screen.areas:
        if area.type == "VIEW_3D":
            bpy.ops.view3d.modal_operator({'area': area}, 'INVOKE_DEFAULT')
            break


How to align 6 cameras fast, 2 on each axis facing each other? Imagine 6 cameras, 2 on each coordinate axis facing each other. This is what I try to achieve.

However when I first added 6 cameras, chose the first, clicked onto numpad 1 to get into frontview and ctrl + alt + 0, this camera indeed aligned well, but when I chose the second camera and tried to position it somewhere else by ctrl + alt + 0 , the first camera got aligned again, not the second how I expected.

You must make the second camera the active camera and then align it to the view.

You can make a selected camera the active camera by pressing CTRL+0

You can also access this functionality from the 3D view header View menu.

  View -> Cameras -> Set Active Object as Camera