Working with meshes in meter scale? I am now trying to do all my modeling in meter scale.  The reason is that a new standard is in development called WebXR.  When using this in mixed reality mode, on high end devices like Microsoft HoloLens, or Magic Leap One, as you move or rotate the scene camera also does.  This camera movement is in meters.

The small default 2 x 2 x 2 cube is the size of a closet.  I can scale anything down, but an object the size of your finger (scaled in meters), is really difficult to model.  It can disappear with ease as you move about it.

I am using a 64 bit version of Blender 2.80.  Is there some setting which makes this easier?

For Blender 2.80, you need to adjust The clip start down.  This is found in the View section of the transform panel.


Move Bone Tail to a certain location I have an armature where Automatic IK is enabled. I want to move my bone in pose mode using python instead of grabbing it using mouse. I tried the below but it didn't work as it says tail location is a read only. How I can move the bone's tail to a certain location in the scene without stretching the bone and in pose mode not edit mode?

import bpy

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

ob.pose.bones['Bone.002'].tail = bpy.context.scene.cursor_location

I've also tried selecting the bone in Pose Mode then using ops.transform.translate but it didn't move the bone to the cursor:

bpy.ops.transform.translate(value=bpy.context.scene.cursor_location, constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1)

As shown below I can do this manually by selecting the bone and grabbing it to the correct position while auto-ik is enabled without resizing or stretching the bones:

Here is a solution using a temporary IK constraint:

The principle is to:

Set an empty at cursor position
Add a IK constraint to the bone targeting the empty
Get the resulting transformation
Remove the constraint
Assign the previously obtained transformations

The commented code:

import bpy

#Bones and its parents
def BoneAndParents( bone ):
    yield bone
    while bone.parent:
        bone = bone.parent
        yield bone

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

bpy.ops.object.mode_set(mode='OBJECT')

#Add a temporary empty
bpy.ops.object.add()
empty = bpy.context.scene.objects.active

bpy.context.scene.objects.active = arm

bpy.ops.object.mode_set(mode='POSE')

bone = arm.pose.bones['Bone.003']

#Add IK constraint and update
constraint = bone.constraints.new( 'IK' )
constraint.target = empty
bone.constraints.update()
bpy.context.scene.update() #Important: update the scene

#Get the bones and transformation due to the constraint
bones = [b for b in BoneAndParents( bone )]
transformations = [b.matrix.copy() for b in bones]

#Get rid of the temporary constraint and update
bone.constraints.remove( constraint )
bone.constraints.update()

#Assign transformation
for b, t in zip( bones, transformations ):
    b.matrix = t

#Remove temporary empty
bpy.ops.object.mode_set(mode='OBJECT')
bpy.context.scene.objects.active = empty
bpy.ops.object.delete()

#Back to pose
bpy.context.scene.objects.active = arm
bpy.ops.object.mode_set(mode='POSE')


Gizmo missing in version 2.90.1 I'm in version 2.90.1 and my gizmo (manipulator) is missing. Does anyone know how to get it back? I checked and the check box is checked. Restarting didn't resolve anything.
Does anybody have a clue how to get it back?

Use this button to toggle gizmos off and on.

You can choose the kind of manipulator you want to enable:

Note that the gizmo will show at the origin of the selected object. For multiple objects the gizmo will show at the median.
To move rotate and scale, a different kind of gizmo will appear depending on the chosen tool.


How can I position the object origin precisely on a specific axis? I'm a newbie and again, I'm here with my stupid question as usual.

As you can see here I try to make a door right, and I trying to move the origin point of this door into the middle of the bottom of it. I successfully snap it to the X and Z axis by following some random Youtube video. But my problem is I don't know how to make it into the middle of the Y-axis.

You can directly move the origin point by checking Origins in the Tool tab > Transform.
To snap it precisely to axis, enable Absolute Grid Snap.

Example of moving origin point with and without snapping


how do you convert this code to nodes? So I have a list if vector4 values here [-4.571429, 12.142858, 0.35, 0.35] that need to be used as remapping values for a roughness texture i have. But here is the thing, my friend doesnt know nodes at all, only code. Vice versa for me. But he has given me this to attempt to turn it into a node group in the offchance i can get it worked out:
float remap_with_clamp(float remap_input, float min, float max, float zero, float one)

            {
                            vec2 xform = vec2(zero, one - zero);

                            float in_value = remap_input;
                            return clamp(xform.x + xform.y * in_value, min, max);

A note he also gave me is: "Your float zero and float one is the values like the -4, 12. The remap_input would be the image that is being remapped. The min and max is your clamp values. Another thing to mention this is all happening in multiple shader nodes as a float value at runtime we combine all 4 of the floats into a vec4 to save on code."
Any help i can get on this will definitely be appreciated

Your question is very specific. However, converting code into nodes is precisely what the Dynamic Maths Expression / Node Expressions was made for (download it from https://github.com/baldingwizard/Blender-Addons/wiki/Dynamic-Maths-Expression).
Once you've installed the add-on you should have a new Maths Expression option in the node 'Add' menu.
Create a new text block and paste the following code :
outputs(output)

xform[] = combine(zero, one - zero)

in_value = remap_input

output = combine(clip(xform[x] + xform[y] * in_value), clip(min), clip(max))

(NOTE: The above text is translated directly from your sample code, almost line for line)
Name the textblock something meaningful (eg, 'mycode'), go to the Node Editor and add a new Maths Expression with the text TEXT:<name> (replacing <name> with the name of your text block - eg, 'TEXT:mycode') and the add-on will interpret your code and generate a new node group containing the relevant nodes to implement the code.
Obviously your coder friend will need to produce code in the correct syntax for the add-on to interpret.


Why does my mesh flatten on the X-axis in the game engine? I have a little lizard with a bone structure. Currently it has no animation and no game logic set. However, when pushing P, in game logic mode on the mesh, the mesh renders as a very squished version of itself, squished along the x-axis.

Also, none of the armature movements are visible, instead it's just what it was at default.

After pressing P, I get this:

Select your object and press CtrlA -> Apply Scale. This will set scale of both objects to 1.0, 1.0, 1.0.

Before you applied the scale, you must have scaled the objects along the X-Axis at one point. This will change the dimensions of the object, but the scale will be something like: 5.0, 1.0, 1.0. This won't change much in the 3D view, but BGE will reset all scales to 1.0 which (as you noticed) causes issues.


Explosion/fire not showing up after bake in viewport or rendered I was following an explosion tutorial for 2.82 on youtube and he did a bake and after that, the explosion showed up, but when I do it the domain changes sizes but the explosion does not show up, I have tried clearing my cache folder and restarting my computer and blender but nothing happens still.

I was having this issue even after baking the data. And It finally started rendering after I baked the noise as well.


ImageViewport.refresh() seems to do nothing / how to re-render in BGE before taking a screenshot I made this toy example to demonstrate the problem i have. I am trying to use BGE to make screenshots of a rotating object for a report.
 I use a script on the cube to rotate and capture that uses logic to run on the object (e.g. deleted the cube and added a rotated cone - to which I applied the rotation, so in the screenshot it has rotation 0):

import bpy
import bge
from mathutils import *
import numpy as np
import math

cont = bge.logic.getCurrentController()
own = cont.owner
new_q = np.random.randint(4)
if new_q == 0:
    q = Euler((0.0, 0.0, 0.0)).to_quaternion()
elif new_q == 1:
    q = Euler((0.0, 0.0, math.radians(90.0))).to_quaternion()
elif new_q == 2:
    q = Euler((0.0, 0.0, math.radians(180.0))).to_quaternion()
elif new_q == 3:
    q = Euler((0.0, 0.0, math.radians(270.0))).to_quaternion()
own.worldOrientation = q
fname = 'e:/temp/q_{}-{}.png'.format(new_q,int(np.random.random() * 100000))
ivp = bge.texture.ImageViewport()
ivp.refresh()
print ('saving {}'.format(fname))
bge.render.makeScreenshot(fname)

the script rotates the object and then captures a screenshot:
However, when I compare the screenshots, they are not acurate. E.g., files starting with q_0 randomly point to all axes...

Is there any way to enforce a new render so that the saved images have the exact rotation they are supposed to have?

I also tried saving on the next frame (e.g. saving to the global dictionary a flag, and then on the next time the script was called, save then) No joy there either... :S

BGE API:

  bge.render.makeScreenshot(filename)

    Writes an image file with the
    current displayed frame

Your changes to the scene will be rendered after all logic of the current frame completed. Regardless what you do and in what order the rotation will not be part of the already rendered output of the last frame.

Your idea to perform logic (rotation) in one frame and call makeScreenshot within the next one is correct.

I strongly suggest to separate these two operations. Rotating an object and making a screenshot are two separate operations. As they need to run at different time points running it from the same controller makes the design unnecessary complex.

As you want to create the filename dependent on a previously chosen number I suggest to transfer this number somehow to the other processing. In this case I suggest to send it via message. This serves two puposes:

tells when to make a screen shot
provides information necessary to create the file name

I would not send the file name as it is the responsibility of the saving operation to care this detail, while the rotation processing cares just the random selection (it selects an option not a file name).

Randomly Turn

turnRandomly

import bge
from mathutils import Euler
import random
import math

controller = bge.logic.getCurrentController()

if all(sensor.positive for sensor in controller.sensors):
    owner = controller.owner
    new_q = random.randint(0,3)
    if new_q == 0:
        q = Euler((0.0, 0.0, 0.0)).to_quaternion()
    elif new_q == 1:
        q = Euler((0.0, 0.0, math.radians(90.0))).to_quaternion()
    elif new_q == 2:
        q = Euler((0.0, 0.0, math.radians(180.0))).to_quaternion()
    elif new_q == 3:
        q = Euler((0.0, 0.0, math.radians(270.0))).to_quaternion()
    owner.worldOrientation = q

    for actuator in controller.actuators:
        try:
            actuator.body = str(new_q)
        except AttributeError:
            pass
        controller.activate(actuator)

Assumptions:

all sensors needs to be positive (AND behavior)
should have a message actuator (otherwise there will be no error but make screenshot will not be triggered)
all actuators will be activated

Make Screenshot

makeScreenshot

import bge
from datetime import datetime

controller = bge.logic.getCurrentController()
if all(sensor.positive for sensor in controller.sensors):
    for sensor in controller.sensors:
        try:
           bodies = sensor.bodies
        except AttributeError:
            continue

        for body in bodies:
            option = body
            filename = 'e:/temp/q_{}-{:%Y%m%d-%H%M%S}.png'.format(
                option, datetime.now())
            print ('saving {}'.format(filename))
            bge.render.makeScreenshot(filename)

assumptions:

all sensors needs to be positive (AND behavior)
non-message sensors will only be checked without any further processing
all bodies will be processed (e.g. several messages arrive at the same frame)
the screenshot will use a timestamp in name (rather than a non-unique random number)

As the message will trigger one frame later, the screenshot will be made a the right frame.

Be aware these operations do not need to be performed by the same object.


Low resolution problem during rendering a particle i made an simple explosion simulation for creating sprite sheet to my game.
but when i start to render animation at 1920x1080 resolution, explosion still looks low quality.
Here is an example:
Thanks.

Your gas domain needs a higher resolution.


Blender 3D-View: Objects aspect ratio off I'm using Blender 2.73a at the default startup with the cube.

Using Perspective or Ortho, the length and width of the Cube is clearly dependent on the current aspect ratio of the Element HDTV elefw231 screen that I'm using.

If I set the objects scale I can counter and the cube looks like a cube and not rectangular.

Of course then I have to remove it. This is on my ATI Radeon HD 4650 Graphics. My Laptop is not like this.

Set the resolution to 1366 x 768 pixel, your (weird) screen's native one, if your graphics card allows it.


How to set cameras type to Orthographic with python scripting I'm trying to add some cameras to my scene that are orthographic. For this I am using:

add camera
bpy.ops.object.camera_add(view_align=False, enter_editmode=False, location=(-12, 12, 12), rotation=(0.0, 0.0, 0.0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, ))

 make the camera of type orthographic
bpy.data.cameras["camera.001"].type('ORTHO')

I want all the cameras to be Orthographic, but i don't know how. I cant get this to work. I know that it is an ENUM, but i dont know what to do with it.

How can I set these to be orthographic?

Orthographic can be set with:

bpy.data.cameras['Camera'].type = 'ORTHO'


How do you apply a texture to select faces of a mesh I have build a basic house but I would like to use different textures for the roof and walls. Here is what I have now.

The brick texture is on the roof when i want it to be a different texture

The simplest way if the texture isn't UV-mapped, is to assign each face to separate materials in Edit mode:

then assign appropriate texture to each material, as needed. Otherwise if the texture uses UV map, just separate the UV maps for both sections of the object:

then paint each sections with the appropriate color (the roof is the top section, in this picture).


Can I switch off the Auto Manipulation when using Transform Hotkeys? I'm new to Blender and one thing I'm really bothered by is when using the Transform Hotkeys (G,R,S) it immediately starts manipulating my selected object with the mouse movement. Coming from Maya and C4D this behavior is rather different and not something I can see myself needing too often. Is there a way to change it so that when I press one of Hotkeys it just changes to that tool without the manipulation?

You can use the native shortcuts for setting the tool to move rotate or scale. If you hit alt and release it and immediately after that hit the key for any operator, you will likely select the matching tool. This works with many things like b for border select, or ctrl+b for bevel in edit mode and so on, and it includes g,r,s as well.

Warning! This may contain some amount of personal opinion from this point. :) But I think there is some logic in it as well.

In general I would recommend to try and see if you can get used to Blender's way with features that are different from the package that you are used to. This is not because they would be better in any way or something like that, but because they may work better together with other parts of Blender because some workflows may differ from other software and you might be pleasantly surprised after you get used to them. Of course there will be things that you will want to customise and there is nothing wrong with making them as they are in other packages, I would just like to recommend not to rush too much so you know for sure that it's going to be more efficient for you to work in one way or another. I was surprised with many things when transitioning from Maya and am glad I gave them a chance for a bit longer than I wanted at first.


creating more randomness in texture image Lack of better wording so im creating like a red clay roof that i made by creating a root object to apply to a particle system. Now i applied a texture image to the root object which in turn applied to the rest of the shingles. The issue i dont know how to get passed is how can i work it so i can create randomness within the texture so that every shingle doesnt look exactly the same?

In general for image texture randomness you need to offset texture in X, Y axis for each object. For that you will need also seamless texture to prevent edge texture appearance.
Random Location
One way to randomise location can be done with Object Info node > Random plugged into Mapping node > Location

Random Color
similar way you can be randomise a color of tiles

Random Rotation
... you can randomise rotation as well, but directly connected Random to Rot cause "shearing", because texture would be rotated in all axis. To prevent this result use Separate XYZ node and Combine XYZ and connect only Z axis. To rotate more or less you can add between Math node and increase or decrease value.)


Why does the entire mesh move in this model? I am trying to create my first model in Blender using this tutorial (you can see the files of the model here).
In the video (04:25), when one vertex is pulled down, only some of the vertices of the ring-shaped structure are pulled down.

However, when I try to do the same, the entire ring goes down (see this video).

How can I make sure that when I pull down one of the vertices, only the adjacent vertices (not the entire ring-shaped structure) is moved down (like shown in the video)?
I am using the following Blender version:
version: 2.83.2, branch: master, commit date: 2020-07-09 05:50, hash: 239fbf7d936f, type: Release
build date: 2020-07-09, 04:24:13
platform: Windows

The problem is that you have turned on Proportional Editing in the Edit Mode. You might have either pressed O or selected the icon shown in the image by accident:

You can switch it off by pressing O again or just click the icon to disable Proportional Editing.
Notice the circle that appears when you move, scale or rotate the object controls how much of the mesh should move with the select edge, vertex or face so
it doesn't move the entire mesh with it.
To put it simply, usually the tool is used to get uniform curved surfaces. You can further control the tool by clicking on the drop-down menu nearby the icon. You can control the diameter of the circle by scrolling the middle mouse button up or down. That is used to control the amount of vertices affected by it. In other words: All vertices inside the circle will be effected by the function.


How to fix Normal Map Artifacts (Humanoid) After baking my normal map from my high poly humanoid model, and applying to my retopo'd model, I'm getting artifacts around the groin/thigh and fingers.
Without Cage:

Cage:

I'm new to this process, and have spent a few hours just messing about with the ray distance, margin, and even adding more edge loops etc. Also tried using a displaced cage to no effect.
Was really excited to finish my first sculpt in blender and was looking forward to using it in game on the low poly model, and artifacts happens... Any help here would be appreciated, thanks!
FYI: Newish to blender (tried it donkey years ago), and I got to say, I'm really enjoying 2.83. It's awesome!

Thanks to @mobin for prompting me regarding my cage, I did some further research and found out the proper way to do a cage.
My steps to resolve artifactings:

Duplicate lowpoly model, and name as Cage
Select all faces of Cage, alt s, to scale up the faces in normal directions
Toggle on mirror selection mode
Compare Cage to High Poly model, and push out all faces to completely surround the High Poly. i.e. Cage should be slightly bigger than the High Poly
Ensure there are no overlapping faces, i.e. tight areas like fingers and groin can be problematic, and require quite abit of manual adjustments
Bake for a perfect normal map


Exporting Vertices from Blender 2.8 to a .txt-File to import it in ArchiCAD as Terrain Hey I'm a total Beginner in Blender

I would like to model a certain Terrain in Blender with the Sculpting Mode and export the Vertices to a .txt-File to import it in ArchiCAD as "field surveyor datas" which gives me a Terrain.

I have no clue about programming and unfortunately there is no funtional Add-on for my problem. I've allready  searched in the internet but I haven't found anything helpfull.

Is it possible to Export the coordinates of the Vertices to a sequence like this:

0.0 0.0 0.0

2.0 0.0 2.0

1.0 3.0 1.0

(in each row are the coordinates of one point, every coordinate (xyz) is seperated by a space)

and save it as a .txt file?

Thanks for your help :)

blender uses python

if your terrain is meshable here's a snippet to reveal vertices for a mesh.

import bpy

def reveal_vertices(mesh):
    verts=mesh.data.vertices
    for i in range(0,len(verts)):
       print('vert['+str(i)+']: '+str(verts[i].co))

mesh = bpy.context.active_object
reveal_vertices(mesh)

about the storing-vert-coordinates-in-a-text-file part that would just be a
basic python problem but google is always a friend


How to properly render smoke on a transparent background? When rendering volumes with Film > Transparent enabled, the alpha appears to be the wrong type (premultiplied/straight).
In the 3D view it works as expected:

This is a known bug.

Is there any way to work around this?

It's a viewer issue only. Try compositing over a gray background using the alpha-over node.
If the result is correct, then your file output (without the gray background, of course) will be correct as long as you store it as EXR or any other format with associated (premultiplied) alpha channel, as it's the only way to store pixels that are both transparent and emissive (which is what fire is).
The resulting EXR will be fine to be composited over any background, and fire should look ok.


How to round a mesh? I have objects in Blender, with a limited amount of faces. Several of the objects have rounded parts (like on the screenshot below). When rendering this - even with smooth shading - the "rounded" parts look blocky. I would like them the be nicely curved. Obviously I could manually model some more faces. Given the large amount of objects, that's a lot of work. So I'd like to find an automated way.

I already tried the smooth modifier as well as subsurf (--> too much deformation). Nothing works.

Would anybody know how this could be achieved with e.g. a bit of Python code or so? I have a lot of Python experience, so integrating some Python source is no issue if that can provide a solution.

Thanks a lot!

The standard way to deal with this is to help out the subsurface modifier do its job. You can, for example

Mark your desired hard edges as creases prior to using the subsurf modifier.

Or

You can just create edge loops near your curves to control how sharp they should be, so that subsurf doesn't oversmooth them.

See this youtube video "Tutorial: Sharp Edges on Smooth Objects"
https://www.youtube.com/watch?v=HgzmSnQt0bQ

I'm not a Blender expert in any way, but I hope it helps.


Merging vertical with slightly larger horizontal cylinder properly without creating Ngons? I have a question.

I am trying to find a way to merge a horizontal and vertical cylinder, and have a bevel on the edge where they end up merging.
I tried this with a boolean cutting a hole in one of the cylinders, then merge the objects and bridge the faces of the 2 different cylinders together. But I can't manage to do that without creating a whole bunch of Ngons or distorting the shape. Any method to properly do this?

This is the result I managed to get so far.

Yes. Use the knife tool k to add these loops, while dissolving the one you already had and the triangle.

Remember to use c for 45 degree cuts and z to cut through to both sides.

Ideally when using cylinders I work with no more than 16 verts or it gets very messy and hard to keep the shape if you need loops to run parallel.


Exporting artefacts with high detail trimsheet w/ booleans Exporting my high detail trimsheet as an fbx/obj to send to Marmoset for baking, but the output is coming out all whack. I don't know how export writing works, but I guess the result of the triangulation is causing major differences compared to the in-editor model.
https://ibb.co/Z6xc732

I am using all standard export options. Booleans are done using Bool Tool. Boolean and other helper objects are hidden, I select all, and export using "Only Selected".
Any pointers would be appreciated!

I appear to have solved the issue by adding a 'Triangulate' to the end of the modifier stack of any erroneous models. From what I understand every other program is free to triangulate how it wishes, which can be at odds with Blender expectations.
Doesn't seem to have affected how anything looks, I hope this helps someone!


Auto-Resizing objects in BGE when I press play? How do I fix this I was trying to make some custom guns for a little game project in BGE then when I would press "p" to play the guns re sized themselves. I have no clue how to fix this or if its even fixable.

Select the parent and hit CTRL + A and select "Scale"

EDIT: An explanation: This only happens when using a a vertex parent.

An ordinary parenting causes the child to follow scale translation and rotation of the parent's Origin point.

A vertex parent in blender game engine copies the same information, but from a vertex, not the objects origin point. For reasons i do not know, if you edit the location of the vertex in edit mode, the child doesn't appear to notice while when you press play, and only appears to update when you apply the location of the parent. That is a best of an explanation i can give, if you know more, then please edit this post and add your knowledge.


How can i create a piece of ground on a cylinder like the one on the picture without having random things happening on the sides? enter image description here

That's the final result i'd like to achieve but more round
Sorry, i'm starting with blender...

The following two methods might help to fix your problem:
Method 1
Scale down a cylinder to be the size of your current mesh. After that go in Edit Mode, select all of your mesh by pressing A, and then Subdivide. Set the number of cuts to three. Once that is done, add a Subdivision Surface Modifier and set it to 2 or 3 (Don't forget to add Loop Cuts on the top and bottom of the mesh by hitting Ctrl+R and then dragging. Otherwise you will get a very round mesh) If you are in cycles you can set the feature set to experimental and enable adaptive subdivision in the Subdivision Surface modifier and then in the material properties go to Settings and then set bump only to displacement and bump to save render times.
Then give that cylinder the same material you gave to your current mesh.
Method 2
If you want your current mesh to have the material, then your problem is that your UV's are stretched. Make sure you have given seams on the right places. To make sure there is no stretch, go to the UV Editing Workspace and in Edit Mode select your entire mesh. Then on the side panel on the left, go to Overlays and press display stretch (The colours any other than almost dark blue like cyan or green mean there is stretch).

If there is any stretching, you will have to first go to Object Mode and then press Ctrl+A and click Apply Scale. Come back to Edit Mode, then select your entire mesh and press U > Unwrap. If the stretching is still visible you would have to add more seams at the right place and then hit U > Unwrap again.


How to add an origin point without adding anything else? How to add an origin point without adding anything else?
For example this could be done if you add a cube, go to edit mode , delete all vertice and you are left with an origin point but is there a faster way?

This function is already delivered with Blender, just not enabled. Go to File > User Preferences > Add-ons > Add Mesh and enable Add Mesh: Extra Objects. Now if you press ShiftA in 3D View and go to Mesh > Single Vert you'll have an option called Object Origin Only. This will add an object origin in edit mode and you can start editing.


What is this view mode and how do I go back to the default one? I pressed some button accidentally while trying to do something else and now I have dots everywhere. It's kinda useful since I can see through the object, but I kinda just want to go back to the default view. How do I do that?

It's called X-Ray, and can be toggled with Shift+Z.

Here's a screenshot of the preferences window where I found the keyboard shortcut:

Thanks to @lemon. :)


Unify the direction of a normal curve I want to have the same direction of the normals. I can not do it manually because I have 900 segments and it impossible for me to selected one by one the segments that have the same direction before reversing! there is a way to do this quickly?

Blender File

Here is a script that changes direction based on the difference  of angle between first and last spline points and the x_axis.  Run in edit mode.  You may need to change based on which direction to "unify" to.  As is it unifies all curves in the test file you posted to run right to left.  Change either the angle test or the x_axis direction to make all go left to right for instance.

import bpy
from bpy import context
from mathutils import Vector
from math import degrees, radians
curve_object = context.edit_object
x_axis = Vector((1, 0, 0))
# deselect all
bpy.ops.curve.select_all(action='DESELECT')
for s in curve_object.data.splines:
    v = (s.points[1].co - s.points[-1].co).xyz

    angle = v.angle(x_axis)
    print(degrees(angle))
    if angle > radians(90):
        for p in s.points:
            p.select = True

bpy.ops.curve.switch_direction()


Python Registration Error I have been using Blender for a bit, I have made an animation, rendered images and many other things. I was using Blender 2.8 Beta and it worked great for a long time. However, it stopped working now, I can't use hotkeys or the mouse while in Blender but everywhere it works. I have done a clean reinstall, repair, removing user preferences. However, nothing works.

I have heard it is a possible Python Registration Issue. I am not sure what that means or how it happened. If anyone knows please help. Blender is literally unusable right now.
Below are images of some of the error codes I receive, as well as a screen shot of the keymap preferences because it is empty for some reason.

If you go in edit / preference / keymap you should be able to reset the mapping left or right mouse selector it and put back the left click.

(translated with google)


UV's not on top of texture in UV Editor - How to repeat texture? I would like to change a UV map of a model. The problem is that only the texture of the head is on top of the texture. Is there a way to repeat the texture so that I can work on other parts as well?

Sure, just go to: Sidebar > View > Repeat Image


Is it possible to tell viewport Ambient Occlusion to ignore edge lines in edit mode? How can I get rid of that weird shadows for edges in edit mode with viewport Ambient Occlusion (Properties Panel > Shading) enabled?

AO disabled

AO enabled

Disable Faces Overlay

Because the way viewport's AO is currently built (2.77), everything is drawn in the 3D viewport is taken into account.

What you see is probably the projection of adjusted faces that comes from the unmodified mesh. Basically, as in edit mode you see two version of the same geometry (even with "Adjust cage ..." enabled, it's only projected upon the modified mesh), you get AO from both meshes.

If it is suitable for your workflow, one possible workaround could be to disable the Faces option in the Overlay section of the Mesh Display panel in the Property of the viewport.


Copy Paste uv from one object to a different object I'm working since few days with blender. I would like to copy the uv of one object (flat object : raster image) to other objects with different mesh.

Like you can see on image, I would like to send the uv of France to all the little object of provinces.
How can I do this ?

You could just unwrap your mesh from top view(Numpad 7) and move and resize your image in UV editor by pressing S for scale and G to grab.  Your mesh might give you some trouble when you unwrap it depending on your mesh. You might have to manually create islands using smart uv project and move them into place for each province after unwrapping.  Hope this helps.

The fundamentals of unwrapping can be found in this video https://www.youtube.com/watch?v=scPSP_U858k&t=763s


Cycles selective reflection I have bottle, "table" and it all lit by environment texture (HDRi). How to setup scene so that the world texture affect the bottle but is invisible (doesn't reflect the table)? The only object reflecting in table should be the bottle. I've tryed the Light Path node for the table, but without luck.

There is no simple way for doing this because blender doesn't have proper ligth linking settings. You can try uncheck glossy from the ray visibility of your world,
but that's not ideal.

What you can do is put your HDR on two sphere objects, instead of world.
One of them with glossy uncheck from visibility rays.

Have two render layer one for the table the other one for the glass and exclude the reflective world for the first one.


How would i curve panels like this? How would i curve panels on a surface like this?
I am making a lobby for a building and i am trying to model this in a cleaner way.

You may do it using a Spin Tool. In right view add a single vertex and extrude it creating the arch's profile. In Object Mode press Shift+C to place the cursor in the center of a grid. In Edit Mode grab the profile and translate it along the Z axis. Press the Spin button in a tool shelf. Your arch is ready.

You can model a niche in the same way. After spinning it divide it using loopcuts (Ctrl+R). Then extrude single segments downwards as pictured below. You have a clean geometry to add creasing loopcuts for the Subsurf Modifier.

Finally join the meshes with Ctrl+J, remove doubles and give the object a Mirror Modifier.


Flat faces in cycles On evee works. Shadesmooth is on. It looks that's broking my uv idk...

It was the normal map. Always use color space on non color...


Mesh not following bone (weight painted) Searched many tutorials / forums in order to understand the problem but couldn't find one that solved it.
Long story short:

Mesh parented to the armature with automatic weight.
Weight painting completed after.
Vertex groups all set, only for deform bones (as want to integrate to Unity).
Works perfectly for the character except for 3 fingers.

The problem occurs with fingers: middle, ring, and pinky starting in the middle of the 1st one, as seen on the 1st image.

I checked if there were any differences between the index finger (as the index works perfectly) and the middle finger but couldn't find any.
There is no problem with the parenting / weight / vertex groups and I am out of solutions.
I am up to anything (logical, of course :)) that you can suggest.
Thanks!

There were problems with your rig. I had to create the Rigify rig over from scratch. First, it wasn't clear that your final rig had ever been generated, because I couldn't find any character controls. Yet there were two versions of the rig, both the meta and the regular. So I found it strange that no controls were visible. I checked the layers, and half of them seemed to be missing. No idea how this happened. At this point, I realized that there was no solution but to restart.
Another issue is that your mesh was bound to the metarig. You don't want that. The purpose of the metarig is to act as a temporary stand-in for the fully featured final rig, so that you can shape it in accordance to your character mesh. Then you generate the final rig from the metarig using the "Generate Rig" button under the Object Data tab of the Properties Panel. After that, you should see your new rig appear, with all the needed character controllers. You should see this new final rig, complete with its controllers before ANY binding is undertaken. After the new rig is generated, you need to remove the metarig, because you are now done with it. In my version of your file, I have moved it aside, rather than deleting it. Some consider it a good practice to keep the metarig around in case you need to source it again later for whatever reason. This way, you won't have to reshape it all over again. But you should still probably hide it. I left it visible so you can see that it is still there, but not in use.
Finally, the topology of your model is problematic in places, particularly in the fingers. You may find that this leads to bad deformations. I recommend downloading Makehuman and using the models it generates. They are really good, the program is free, ridiculously easy to use, and it's designed to interface with Blender well. You can always reshape a model it creates to suit your artistic tastes. And it saves SO much work.


Why is my object getting clipped when I render? Im trying to render a tree but whenever i render it, the background seems to clip the tree.
Heres what im talking about: By the trunk of the tree is where the error is.

Here is the blender file: tree.blend

There is a plane that is hidden from the viewport,
but is enabled for rendering.

Delete it or disable it for rendering.

Just as a reminder:

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

The Arrow Icon toggles selectability.

The Camera Icon toggles rendering.


Does Blender 2.79 fully support 3D mouse? Considering purchasing a 3D mouse, but I'm unsure (even after extensive Googling) as to whether or not Blender is fully compatible. Sculpt mode is apparently a yes, as is Object mode (please correct me if I'm wrong!), but what about Edit mode?

Yes, Blender is fully compatible. I use a 3Dconnexion SpaceNavigator with Blender both in Windows and OS X daily. It works great in all 3D views/modes but also in (for example) the Node Editor where you can pan around and zoom in/out.

Note: I haven't used the buttons much since there are only two on this particular model, but for navigating around it is really a time saver.


Copying materials doesn't work Based on a tutorial I should be able to copy material if I select all the objects, making sure that the object I'm copying from is active. And then right clicking on the material and selecting "Copy to selected".

There's two places where I can click on the material. In one of them "Copy to selected" can be clicked but does nothing.
In the other it's not even clickable.

Is this an error or am I just dumb?

Solution below, and no you are not, a little explanation first:

Regarding the menus you had there, the material index might be possible to copy to other objects, but i'm honestly not sure what that would do. The menu from the name, well the other objects would not accept the string value, as objects can not have the same name.

While right clicking on the Material in the list or the name underneath gives the option to "Copy to Selected", you missed another place that does the trick.

Solution:

The little "v" under the "-" on the right side opens the menu concerning the material with the function you want "Copy Material to Selected".


How to get the name of the object from its coordinates (in object mode)? How can I find the name of an object given certain coordinates?
What if there was more than one object with its origin at that point?

Thank you and I apologize for any errors: translated with PC!

All objects with origin within a tolerance of cursor.

Simple script to make a list of all objects whose origin is within a tolerance TOL of the scene.cursor_location.

import bpy

from bpy import context
scene = context.scene

TOL = 0.1 # get all objects within 0.1 bu of loc
#use cursor for location
loc = scene.cursor_location

obs_in_location = [o for o in scene.objects
        if (o.matrix_world.translation - loc).length < TOL]

print(len(obs_in_location), " at ", loc)
if len(obs_in_location):
    for o in obs_in_location:
        print("\t", o.name)


How can i bake a lightmap and use it in Blender Game engine I want to bake a lightmap and create a second UV channel between all my game assets without combining them then i want to use it in Blender Game Engine.

UV Mapping

Unfold your meshes that will generate your first UV Channel, it will be used for your texture and normal map. Make sure that the seams aren't facing the player too much. You can see your UV Map in the Data tab in the property menu represented by a face with three vertices.

You will need to create a second UV Channel that contains the UVs of every meshes for the lighting information but be careful make sure to apply any mirror modifiers.

To create the second UV Channel enable the Addon called "Texture Atlas", select every assets, in the Render tab scroll to the bottom you will see Texture Atlas, click on the "+" icon and name it this will be the name of the second UV Channel. The resolution option isn't needed you will set it with the image you will create.
Then choose the type of Unfold between Smart_UV and Lightmap:

_ The Smart_UV splits the UV based of their angle of orientation.

_ The Lightmap split every faces for the highest texel density (cover as much space/pixel as possible) but could create visible seams.

Then click on Auto Unwrap, at the right you can set the margin (space between UVs) by default 0.01 is too low, the seams will be visible, use 0.1 instead.

If you select an asset and hasn't renamed anything you will see in two UV map, the first called UVMap and the second TextureAtlas.

Baking

Use Blender Cycles, prepare your lighting, apply a material, use Ctrl + L to link it to all your asset. Do not use a texture use the default white diffuse with RGB at 0.8 each. A tip is to use a create several diffuse called for example: wood, stone, grass, etc. with the same color, change the color to see them then reapply the 0.8 color. This will allow later to directly import your textures on them and have the materials split. You can use some emissive material if you want to create area lights in your scene.

You will need to create an image to bake your lightmap, open the UV/Image Editor, create a new image, name it for example "lightmap" and set your image with a 2048 or 4096 image, if you want to work with Filmic color management you will need a 32 bit Float image, see this post: How can i use Filmic with Blender Cycles bake

In the node editor add an image texture node with the image you have just created and do not connected it to anything to use the image for baking. Use the same image for your emissive materials.

With all your assets selected go in Samples and adjust the render value, an higher value reduce the noise but increases the speed. You can set a low value like 10 to test if the baking works correctly.

Then go in the bake menu, for the bake type use Diffuse and enable Direct and Indirect you don't need color (to make the baking slightly faster). Adjust the margin, to know what value to use divide the resolution by 256, for example for 4096 we need 16 px.

Click on bake, to see the result switch in texture mode in the 3d view and in the "n" menu use Shadeless in Shading and Only Render in Display. Don't forget to save your lightmap.

Note: if you get a weird baking that mean that the bug haven't been fixed yet, you will need to duplicate and join all your assets to bake the lighting because the bakes overlaps each other.

Using the lightmap

Duplicate and move your assets to another layer, the duplicated assets will use Blender Render materials.

Switch to Blender Render or Blender Game mode. In the "n" menu of the viewport use GLSL and the Textured mode.
For each material uncheck the button Use Node (the icon represent two node attached) near the name an check Shadless in the settings.
In the texture tab import the lightmap in the second slot and use the second UV channel in the Mapping menu.

Here is what my scene looks like:

For the blend type use Overlay.

Then import your texture in the first slot and use the first UV channel, you can adjust the position and size by scaling and rotating the UVs of the first UV Channel.

To use multiple textures create a new material, select faces in edit mode and click Assign, use another texture and your lightmap for the second UV Channel.

Note: all your textures must use a middle value to have consistent lighting, you can fix that in GIMP by moving the Color > Curve to an high point in the histogram in the middle line:

Here i have applied multiple materials:

For your emissive shader just use a shadeless shader with a color, pick the color used in Cycles and apply it for the Blender Render/Game material, you wont need any texture.

You can bake a skybox switch to Blender Cycles, in the World tab in the property panel click on "Use Nodes", click on the dot on the right of Color and select Sky Texture then orient the sky. Create a sphere, invert his normal with w > Flip Normals in Edit Mode, use a Lightmap UV Unfold to cover the maximum UV space, apply a material and texture and bake in Environment bake type. You will need to bake your assets each time you change the environment to match the sky.


Bug report Python script Mail is possible? I compile little addon work fine but,
Question is: Is possible make "Report a bug" button in Addon preference link to my mail?

import bpy

bl_info = {
    'name': 'Add-on',
    'category': 'User'
}

class MyAddonPreferences(bpy.types.AddonPreferences):
    bl_idname = __name__
    def draw(self, context):
        layout = self.layout
        col = layout.column()
        col.operator("wm.url_open", text="Report a Bug").url="mailto:someone@somemail.somedomain"

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

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


Moving a character with a walk cycle on a path with these requirements? I have a Rigify character performing a walk cycle. I’ve been able to determine exactly how many Blender units the character’s root bone has to walk on the Y axis for a certain number of frames so that the character’s feet don’t slide (e.g. “for every 13 frames, move the root bone forward 0.25 Blender units”). I’ll call that value the “exact forward amount”. Using the “exact forward amount”, I can make the character walk in a straight line on the ground along the Y axis perfectly – the walk looks exactly right and there’s no floatiness whatsoever.
Now I want to make this character walk along a path. I’ve watched several Blender YouTube tutorials (some with what appears to be really terrible advice) and am not sure of the best approach to make the character walk along a path with these particular requirements:

I do not want to use the NLA editor. I want to use the Dope Sheet and copy/paste my walk cycle (and tweak it) as needed.

I want to move the root bone of the armature, not the entire armature object. In other words, I want to leave the armature object itself at 0,0,0 while the root bone moves along the path object.

I want to use the “exact forward amount” value to move the character along the path a certain amount between two frames. I do NOT want to have to estimate a value between 0 and 1 indicating the relative location of where the character is along a path object.

I do not want to start walking on frame 1. I want to control when I make the character start and stop walking on the path.

Bonus, but not necessary requirement: I would love to be able to have a character walk along a path, then leave the path (perhaps not following on a path at all), then start following a different path object when needed. This is a pie-in-the-sky sort of wish, though. I don’t know if this is feasible or relatively painless to do.

Any suggestions?

I figured it out. I wrote a Python script (pretty rough, but it works) where I set the name of the curve object, the distance for a full stride, how many frames it takes to go a full stride, the start frame, and the desired end frame. Then it'll print out the values needed for the Follow Path constraint's Offset parameter. If I put in too many frames and the calculations happened to overshoot the distance on the path (so much that the Offset value is greater than 1), then the script will show a different end frame where we are as close to under 1 as possible.
I've tested this and my character walks perfectly along the path -- no sliding at all. It's exactly what I was looking to do. As I thought about it, I could make the character follow different paths simply by reducing the influence of the Follow Path constraint as needed. (Of course, I would have to re-position the character so it would look seamless, but it would be possible. I may not end up doing this, though...it's probably more hassle than it's worth.)
I plan to improve this script, where it'll automatically insert the keyframes in the Follow Path constraint (as well as provide an option to not start at the very beginning of the path), but this is sufficient for now.
Here's the code in case if anyone finds it useful. Note that this expects to be run from Blender 2.8's Scripting workspace, where a Python Console window is present. I also used some code from MacKracken's Arc Length for the curve distance calculations.
from console_python import get_console
from contextlib import redirect_stdout
from mathutils import *
from bpy.props import *
import bpy
import math

###############################################################################
# Calculate Path Offset Value
#
# Figure out the Follow Path constraint's Offset value that we need in order to
# use a walk cycle along a path.

PATH_NAME = 'NurbsPath'                     # The name of the path we want to walk
FULL_STRIDE = 0.25                          # How far is our full stride in Blender units?
FRAMES_TO_GO_FULL_STRIDE = 13               # How many frames do we need to go per one full stride?
FRAME_START = 101                           # When do we start walking on the path?
FRAME_END = 520                             # When do we stop walking on the path?

###############################################################################
# Version History
#
# 1.0.0 - 2020-08-03: Original version
#

###############################################################################
SCRIPT_NAME = "calculate_path_offset_value"
###############################################################################

def add_scrollback(override, text, text_type): # Necessary for printing to the console
    append = bpy.ops.console.scrollback_append

    for l in text.split("\n"):
    txt = l.replace("\t", "    ")
    append(override, text=txt, type=text_type)

def print_msg(text): # Necessary for printing to the console
    con = stdout = stderr = None
    for area in bpy.context.screen.areas:
    if area.type == 'CONSOLE':
        hsh = hash(area.regions[-1])
        con, stdout, stderr = get_console(hsh)
        break

    stdout.seek(0)
    stdout.truncate(0)

    with redirect_stdout(stdout):
    con.push('print("' + text + '")')

    out = stdout.getvalue()
    if out:
    override = {'area': area, 'region': area.regions[-1], 'space_data': area.spaces.active}
    add_scrollback(override, out, 'OUTPUT')

#calcs a nurbs knot vector
def knots(n, order, type=0):#0 uniform 1 endpoints 2 bezier
    kv = []
    t = n+order
    if type==0:
    for i in range(0, t):
        kv.append(1.0*i)

    elif type==1:
    k=0.0
    for i in range(1, t+1):
        kv.append(k)
        if i>=order and i<=n:
        k+=1.0
    elif type==2:
    if order==4:
        k=0.34
        for a in range(0,t):
        if a>=order and a<=n: k+=0.5
        kv.append(floor(k))
        k+=1.0/3.0

    elif order==3:
        k=0.6
        for a in range(0, t):
        if a >=order and a<=n: k+=0.5
        kv.append(floor(k))

    ##normalize the knot vector
    for i in range(0, len(kv)):
    kv[i]=kv[i]/kv[-1]

    return kv

#nurbs curve evaluation
def C(t, order, points, weights, knots):
    #c = Point([0,0,0])
    c = Vector()
    rational = 0
    i = 0
    while i < len(points):
    b = B(i, order, t, knots)
    p = points[i] * (b * weights[i])
    c = c + p
    rational = rational + b*weights[i]
    i = i + 1

    return c * (1.0/rational)

#nurbs basis function
def B(i,k,t,knots):
    ret = 0
    if k>0:
    n1 = (t-knots[i])*B(i,k-1,t,knots)
    d1 = knots[i+k] - knots[i]
    n2 = (knots[i+k+1] - t) * B(i+1,k-1,t,knots)
    d2 = knots[i+k+1] - knots[i+1]
    if d1 > 0.0001 or d1 < -0.0001:
        a = n1 / d1
    else:
        a = 0
    if d2 > 0.0001 or d2 < -0.0001:
        b = n2 / d2
    else:
        b = 0
    ret = a + b
    #print "B i = %d, k = %d, ret = %g, a = %g, b = %g\n"%(i,k,ret,a,b)
    else:
    if knots[i] <= t and t <= knots[i+1]:
        ret = 1
    else:
        ret = 0
    return ret

#gets nurbs polygon control points on global coordinates
def getnurbspoints(spl, mw):
    pts = []
    ws = []
    for p in spl.points:
    v = Vector(p.co[0:3]) @ mw
    pts.append(v)
    ws.append(p.weight)
    return pts , ws

#calculates a global parameter t along all control points
#t=0 begining of the curve
#t=1 ending of the curve
def calct(obj, t):
    spl=None
    mw = obj.matrix_world
    if obj.data.splines.active==None:
    if len(obj.data.splines)>0:
        spl=obj.data.splines[0]
    else:
    spl = obj.data.splines.active

    if spl==None:
    return False

    if spl.type=="BEZIER":
    points = spl.bezier_points
    nsegs = len(points)-1

    d = 1.0/nsegs
    seg = int(t/d)
    t1 = t/d - int(t/d)

    if t==1:
        seg-=1
        t1 = 1.0

    p = getbezpoints(spl,mw, seg)

    coord = cubic(p, t1)

    return coord

    elif spl.type=="NURBS":
    data = getnurbspoints(spl, mw)
    pts = data[0]
    ws = data[1]
    order = spl.order_u
    n = len(pts)
    ctype = spl.use_endpoint_u
    kv = knots(n, order, ctype)

    coord = C(t, order-1, pts, ws, kv)

    return coord

def get_path_length(obj):
    length = 0.0

    if obj.type=="CURVE":
    prec = 1000 #precision
    inc = 1/prec #increments

    ### TODO: set a custom precision value depending the number of curve points
    #that way it can gain on accuracy in less operations.

    #subdivide the curve in 1000 lines and sum its magnitudes
    for i in range(0, prec):
        ti = i*inc
        tf = (i+1)*inc
        a = calct(obj, ti)
        b = calct(obj, tf)
        r = (b-a).magnitude
        length+=r

    return length

###############################################################################
# Main program
###############################################################################

print_msg('**********************************')
print_msg(SCRIPT_NAME + ' - START')

path_length = get_path_length(bpy.data.objects[PATH_NAME])
stride_length = FULL_STRIDE / path_length
total_frames = (FRAME_END - FRAME_START)
end_value = (total_frames / FRAMES_TO_GO_FULL_STRIDE) * stride_length

print_msg('  ----- RESULTS -----')
print_msg('    ' + str(PATH_NAME) + ' has a length of ' + str(path_length))
print_msg('    One full stride length for a Follow Path constraint Offset: ' + str(stride_length))

if (end_value > 1.0):
    print_msg('    *** WARNING! INPUT PARAMETERS OVERSHOOT THE OFFSET VALUE! ***')
    print_msg('    *** We are going to modify which frame where the animation ends so that we can end with a useable Offset value. ***')
    while (end_value > 1.0):
    end_value -= stride_length / FRAMES_TO_GO_FULL_STRIDE
    FRAME_END -= 1

print_msg('    FRAME ' + str(FRAME_START) + ' Offset: 0')
print_msg('    FRAME ' + str(FRAME_END) + ' Offset: ' + str(end_value))

print_msg('  -------------------')
print_msg(SCRIPT_NAME + ' - END')
print_msg('**********************************')
print_msg('Done running script ' + SCRIPT_NAME)


Tracking and Monitoring Shortcuts, Commands and Actions Is there a way to track what has been done during work? What buttons/shortcuts used, actions done, tools enabled etc. in sequential order.

In 2.7x the Object mode Tools include a History panel and clicking Undo History or History gives you the list of all your actions, with the most recent one on top. It doesn't include shortcuts. If you want a separate History editor you must wait for the next versions.


Cycles material with bump and image texture - scale only the bump map? What I'm trying to achieve is a smaller/finer bump pattern in the material while the image should remain at its current size. I tried scaling the UV map but then the image texture is scaled the same way.

Or let me know if you have a good material setup for wallpaper that also allows for an image texture.

Cheers!

You can use a Mapping node to adjust the scale of the texture. It would be placed between the connection of the Texture Coordinate node and the Image Texture node.


Rendering stuck at 99% When I render an animation it gets to the final frame of it but then freezes, I cannot save it or do anything with and when I come out of the rendering tab and back onto the blender layout the rendering bar underneath the keyframes menu is stuck on 99%. I am using the EEVEE rendering because I don't know if I can handle cycles but I have tried it and I get the exact same problem, can someone please suggest something that I can do.

Render your animation to png, not as FFMPEG. So you will have your single frame pictures on your hard disc. You can then make a movie out of it with video editing from Blender. If you are just missing one frame of your animation, you still have a 99% of a movie - instead of nothing.
If you want more help you should provide us your .blend file.
Reason for being stuck can be a lot. From you machine has to low memory until it is not stuck, but just calculating ...


Fixing rips on meshes Okay, so I'm a newbie at blender and I'm getting to know the modeling/ sculpting aspects of the program. However, I have run into a major problem, when sculpting, there will be rips created on the surface of my mesh. It is easy enough to simply merge points together or fill, but when I'm creating a extremely high ploy count image like shown below and have massive rips, it takes for ever to correct including the wait time for my computer to load every vertex on every poly.

I was wondering if there is a better way of preventing or easily fixing this problem.

Are you looking for the fill holes mesh cleanup tool? Select the area containing holes and go to Mesh ‣ Clean up ‣ Fill Holes.

You might also want to check out the limited dissolve tool based on your screen shot.


Any chance to achieve soapy glass effect? Well, I can't even image how to start doing it, ideas? Procedurally or not it doesn't really matter until I can modify it enough. Thanks!

That's a rather complex effect you're after, but let me tell you how I would go about it. The result looks like this:

First, I would define the components - in this case a "soapy streak" component, and a "clean wipe component".
For the "soapy" component, I used a Wave Texture with the Vectors normalized (so they point towards the center). Because you are looking for sweeping streaks, I went further and warped the (normalized) vector slightly with a Noise Texture. I added a MixRGB mixed heavily with white before connecting to the Vector Math node, to decrease the warp influence - the warp effect can be controlled by this mix factor.

To make the lines look more "soapy", I mixed the result with the darks from another Noise Texture:

To make the "wipe" effect, my first aim was to make a rectangular box (not pictured). I do this by using Wave textures scaled very small so they are only one band, picking one each from two perpendicular directions. To make the rectangle more sharp, I used ColorRamps set to Constant. I then mixed them, set to "lighten, so only the dark areas the two have on common appear in the final image (a rectangle). However, in this case, I added an offset Spherical Gradient Texture to the input vectors to warp (curve) the result so it becomes more of a curve. This is why the straight rectangle is not pictured, and I just show the already warped one instead.

Next, I bring the two "effects" together in such a way that only the white "suds" shows (minus the "wiped" area):

Finally, I use this combo as a mix factor between a white BSDF and a Transparent BSDF. The ColorRamp is to give further control over the transparent influence (I made it pretty strong so it shows up in my screenshots).

I realize that this example is probably not as "precise" as you require - such precision would likely require a sizeable time investment into "tweaking" the final look. Because I don't even know if you'll find any of this helpful, I won't invest the extra time myself, but I feel there's enough here to get you on the right path and you can further tweak it to your liking, if needed. More can be done to the end of the shader to make the whole "pane" reflective (minus the soap if necessary) - I just didn't include it for the purpose of this example. If it's something you need, let me know and I'll add it to the answer.
If anyone's interested in playing around with it, but don't want to rebuild the graph from scratch, I'll include attach the .blend file to this post. I managed to include both the reflection (including a roughness map of sorts) , as well as a very slight Bump Map effect to the soap.
File is here -


Why is my animation performing weird rotation from one frame to another? I have my armature working great on my mesh and I am performing some animations using keyframes(LocRotPos)

for some reason I don't understand there is a weird rotation going on for some bones between one keyframe to another.

I recorded a video with this issue:
enter link description here

if someone can give any directions I would appreciate it.

This answer is late because I completely missed your comment. Sorry about that! This topic is very large and can take a lot to understand all of it, so I will keep my answer as simple as I can to address the question.

There are two terms I will use in this answer and it is important to understand the differences: rotation and orientation. Orientation is the transform of the bone at any given point. A rotation is the action or difference of changing the orientation of a bone.

Euler:

Euler rotation math is a common cause of problems in animation, primarily because the underlying functionality of Euler angles is hidden from the user. This is something you're discovering for yourself. Euler angles are compound calculations. Each axis is calculated in sequence based on a particular order. In XYZ order, X is calculated first, Y second, Z third. Because of this ordering, axis rotations can counter each other. You don't need to know the particulars of gimbal lock, but when you get further into animation it is good to research. Euler rotations are advantageous when a bone needs to rotate on one axis continually or for long stretches of time.

Quaternion:

Quaternion math is a solution to this problem. When using quaternions, rotations are always interpolated as the shortest path between two orientations. This makes it easier for the animator to work in the 3D view without worrying about underlying functionality. There are no axes fighting each other in the math.

Conclusion:

If you are working in the 3D view, don't need the graph editor, and your bone is not rotating continually in one axis, your safest bet is to use quaternion mode for your rotations. If you rely heavily on the graph editor and you understand the idea of compound rotations, use Euler in one form or another.

For further education, I highly recommend Nathan Vegdahl's Humane Rigging training DVD on Youtube. The video in the link is the start of his explanation of rotation modes.


Material list pop-up menu Can a pop-up menu be made for this list ? I know how to make popup menus but I cant seem to find a operator that can be directly applied in the pop-up.

you can add anything to your pop-up

you should check this thread

here a little example:

import bpy

def draw(self, context):

    ob = context.object
    rows=4

    layout = self.layout
    row = layout.row(align=True)

    row.operator("object.material_slot_add", icon='ZOOMIN', text="Add slot")

    row.template_list("MATERIAL_UL_matslots", "", ob, "material_slots", ob, "active_material_index", rows=rows)

bpy.context.window_manager.popup_menu(draw, title="Material", icon='INFO')


How do I rotate in edit mode? Is there a way to rotate an object a specific number of degrees if you are in edit mode? When I am in edit mode, I can't find a tool to rotate.
Is there maybe a feature I have to turn on? I just started working with Blender.

In Edit mode, select all vertices using A, then hit R, (and possibly X or Y or Z to lock the rotation axis - if you hit it twice, it will lock to to local instead of the global axis) and the number of degrees you want to rotate.


Rendering mess? Must I do a clean install or is this a feature? In the 3D view is a red cartoon fox but rendering using blender render, cycles render, I get this mess.
Why is it doing this?
How do I fix it?
v2.78a

Solution: Select the entire character and all you want to keep hit ctrl+C to copy open a new Blender ctrl+V to paste. This will solve corrupt files most of the time.


The "register" class function (how to declare) The documentation on bpy.utils.register_class states:

  If the class has a register class method it will be called before registration.

How should this method be declared? What arguments will it be given?

A class method takes at least one argument - the class itself. Here, register (and its counterpart, unregsiter) do not take anything else, so you must declare them this way:

    @classmethod
    def register(cls):
        pass

    @classmethod
    def unregister(cls):
        pass

You have a good example of their usage in Cycles' propertie.py file:

class CyclesRenderSettings(bpy.types.PropertyGroup):
    @classmethod
    def register(cls):
        bpy.types.Scene.cycles = PointerProperty(
                name="Cycles Render Settings",
                description="Cycles render settings",
                type=cls,
                )
        cls.device = EnumProperty(
                name="Device",
                description="Device to use for rendering",
                items=enum_devices,
                default='CPU',
                )
        # ... and so on adding properties to cls

    @classmethod
    def unregister(cls):
        del bpy.types.Scene.cycles

That way, you can embed the definition of your propertygroup and handle its container’s creation and deletion inside the class, instead of having to create/delete bpy.types.Scene.cycles in the global (un)register funcs.


Where are my other video formats i update blender to 2.79 and the movie formats are gone

Select FFmpeg video and a panel named Encoding will appear. It may appear at the bottom, so it's possible you'll have to drag it to reorder. To do that, just grab the 8 dots at the far right of the panel caption, and drag it to where you want it.


Blender Game Engine Player Flies off When Parented I've been working on this 2D platform game in the BGE, and I'm working on a new feature that will allow the player to jump and grab a rope, and then swing with it.

So how I tried to do that was create logic that set it so that if the player collides with the rope, he is parented to it.

I tried it with the player set to Dynamic physics, and it worked fine. But when I tried it with the player set to Character physics, he flies away.

Personally, I prefer the Character physics, so I really want to use them if I can. So, what's the problem? How can I fix this?

Thanks in advance.

Physics objects disable physics when parented.

Basically they are excluded from the Physics Engine calculation as the Parent-Child relationship takes over the transformation processing (position and orientation calculation).

I have the feeling that Character physics is not a really a Physics type and does it's own "magic". It might be that it does not expect the object gets parented to something. This causes a feedback loop and let your object fly away.

Unfortunately I can't really help on this issue directly. maybe you can manually suspend Physics while parenting (see the edit object actuator Mode: Dynamic).


Array Modifier Rotation Problem The array modifier worked fine for me when I was creating a tire for my model. However when I used it again on this small cylinder, I expect the modifier will rotate the cylinder around the cursor and duplicate them, but it created strange figures as shown in the screenshot after I set it to object offset. Any help is appreciated :)

There are two issues here:

The duplicated cylinder is not the same size and orientation as the original. This is because you have not applied the scale and rotation on the first cylinder.
Your cylinders are not being duplicated around a circular path because the origin point of the cylinder should be where the empty is. Snap the cursor to the empty and then select the cylinder and click Object>Transform>Origin to 3D Cursor. Then once you rotate the empty on the Y axis you'll get the circular duplication you want.


How do I flip normals on this model? This is probably too many questions at once but my time is short as the semester is coming to an end and I really want to work this issue out before my class time is over.  Please humor me.

Yesterday I asked how to move the vertices so that they stitch together and got two answers that worked quite well.  At first though selecting the vertices that I needed to move to the origin of the "Y" axis and scaling them to "zero Y" left a split with parallel lines of vertices because I had not set up my mesh exactly correct from the beginning of my modeling effort.  When I moved the mesh so that they them moved to that "zero Y" point I found that I could not drag them accurately.  I went a little beyond that point each time so I then scaled them again to "zero Y" and things looked better.  It would help if I knew a way to accurately move the mesh to that point.

Today I find that I cannot flip the normals so that I can see the material on the mesh.  Supposedly, according to the book I am using in class I can find it in the Mesh Tools while in Edit mode.  That command may have been there in the release of blender that the text was written to, but it doesn't appear in my 2.72 Blender.

I tried selecting all the vertices in Edit mode as directed and pressing "Ctrl-N" as directed, but all that did was make the normals appear to face the wrong way on both sides of the Mesh.  Can you help with this?
Also, Please tell me how to make Blender have only one screen after I have split it into two vertically.  It is hard to get the Properties window to show up where I want it to be when I have two windows up.

Normals configuration shortcuts

Ctrl+N Calculates the Normals to face outside

Ctrl+Shift+N Calculates the Normals to face inside

The shortcuts can be used in Edit Mode on selected faces.

Alternatively you can use Flip Direction button within the Shading/UVs tab in Tools panel


Should the obj file always contain the keyword "mtllib" for textured models? I've exported a model out and trying to import it into Blender. However, the Texture is missing. I manually looked in the obj file to find something regarding mtllib, but a search did not find this phrase at all.

Must all textured obj files contain the keyword "mtllib" at least somewhere?


Subtract quaternions in python? how do you subtract two quaternions, in blender scripting?
I've  tried allot of things and none of them work, quaternion1 * quaternion2.inverted() does not work
inverted gives some random answer, instead of the reciprocal as I had expected
On a similar note, how do you get the inverse translation by a matrix? so Vector / quaterion @ matrix would translate it by the matrix, but again Vector @ matrix.inverted() does not give the right answer
i've been trying to get this to work for two days and i'm really frustrated by blender python right now

Rotation Difference.
Believe what you are looking for is rotation_difference ie the minimum rotation required to rotate from one quaternion to another
Python console code
Define a couple of angles using Eulers,
>>> r1 = Euler((radians(30), radians(60), radians(45)))
>>> r2 = Euler((radians(0), radians(60), radians(45)))

As quaternions
>>> q1 = r1.to_quaternion()
>>> q2 = r2.to_quaternion()

The difference
>>> qd = q1.rotation_difference(q2)

>>> list(map(degrees, qd.to_euler()))
[-30.000000834826057, 2.481181138556882e-06, -3.316504514323493e-06]

Or other way
>>> qd = q2.rotation_difference(q1)
>>> list(map(degrees, qd.to_euler()))
[30.00000424992064, -3.4388197927083468e-06, 1.2883001108333913e-06]

And using this result to get back to q1 from q2
>>> qr = q2 @ qd
>>> qr
Quaternion((0.8223630785942078, 0.022260043770074844, 0.5319756269454956, 0.20056211948394775))

>>> q1
Quaternion((0.8223631381988525, 0.022260019555687904, 0.5319756865501404, 0.20056211948394775))

difference (within precision) is  pretty much Identity Quat (1, 0, 0, 0)
>>> qr.rotation_difference(q1)
Quaternion((1.0, -1.4901161193847656e-08, 3.4458935260772705e-08, -2.8870999813079834e-08))


Trackball appears when I select any object but not in Rotate mode I'm not in Rotate mode, yet the trackball appears in every type of select mode (Tweak, Select Box, Select Circle, Select Lasso). It's also there in every mode's own select tool (Object Mode, Edit Mode, etc.). I did stumble upon the same question on here but apparently it was deleted? How do I get rid of it?

If you've enabled it in the Viewport Gizmos panel it will appear whatever you do:


Lattice control of multiple objects without distortion what i am doing
: I am looking for a simple way to animate a cobblestone floor ripping apart in a specific and easily controllable way. I currently have broken down the floor into segments, each segment of bricks has a its own lattice which in turn is then linked to an overall lattice(animated with animall). seems to work fine, but its distorting the individual bricks a bit to much when I wish it could just increase the spacing between the brick for a more realistic look.
research
: I found one example where a parent object is made for each cobble and then using the "child of" constraint  to attach them to a vertex group. this kinda worked, but i could not get them rotate properly as to maintain their alignment to each other.
question
: what can i do to get a lattice type control of multiple cobbles without distortion?
side question
: am i going about this all wrong?

I would really appreciate any insight given.
edit:
test file https://gofile.io/d/powzGI

One approach would be to use vertex parenting.
Create a mesh containing triangular faces which are unambiguously closest to their corresponding cobblestones. You could create the cobblestones from the mesh before triangulation, (as I did here,)  or the other way round: create the mesh from a duplicate of the bottom faces of existing cobblestones. The mesh faces don't have to be connected to one another, in fact, it would be better if they weren't.
Give the mesh Shape-Keys for the intact and torn states:

You have to plan ahead a bit; leave yourself  a state of the mesh from which you can parent the cobbles cleanly, or parent before making the shape-keys, if doing so can create the right parenting.
If they aren't already, P make the cobbles separate objects, and, all selected,  ShiftAltX, send all their origins to their individual geometry.
From there, with the deforming mesh in a matching state, and active, with all cobbles selected too, in Object Mode, CtrlP parent the cobbles to the mesh,  using Vertex (Triangle). The Cobbles will each be parented to the closest vertex-triangle in the mesh.
You are now free to deform the mesh's shape-keys, however you choose to, and the cobbles will follow, without distortion.

Here, with some Rigid Body cut in after the initial separation:


How do I translate a UV set of faces keeping the vertical or horizontal axis fixed? How do I translate a UV set of faces keeping the vertical or horizontal axis fixed?
Tried with ⇧ Shift, ⎈ Ctrl, ⎇ Alt, no way: ⇧ Shift is for sharp movement, ⎈ Ctrl is for snap, both of them are not sharp enough, ⎇ Alt does nothing.

Press G for the grab command and you can constrain movement by pressing either X or Y afterward.


Can I use grease pencil in game engine Is it possible to draw and clear grease pencil real-time during/over blender game engine gameplay?

Since the game engine does not support drawing with grease pencil while the game engine is running, I made a script to draw on the camera in the game engine.

To use the script, enter it into the text editor and name it grease_pencil.py. You could call it anything, but it must end in .py to work as a module.

Add a Python controller to an Always sensor, with true level triggering enabled, on any object. Change the python controller's Execution Method to Module and set its source to grease_pencil.draw or whatever you named it only without the .py and followed by .draw (draw is the name of the function we are calling).

Press P, in the game engine, and click and drag to draw.

The complete script.

import bge

color = (.9, 0, 0)
lines = []

def position():
    scene = bge.logic.getCurrentScene()
    camera = scene.active_camera

    x, y = bge.logic.mouse.position

    vec = camera.worldPosition - camera.getScreenVect(x, y)
    vec = vec * camera.worldOrientation * camera.world_to_camera

    return vec

def mouse_just_down():
    return bge.logic.mouse.events[bge.events.LEFTMOUSE] == bge.logic.KX_INPUT_JUST_ACTIVATED

def mouse_down():
    return bge.logic.mouse.events[bge.events.LEFTMOUSE] == bge.logic.KX_INPUT_ACTIVE

def mouse_moving():
    return bge.logic.mouse.events[bge.events.MOUSEX] == bge.logic.KX_INPUT_ACTIVE or \
        bge.logic.mouse.events[bge.events.MOUSEY] == bge.logic.KX_INPUT_ACTIVE

def draw():
    if mouse_just_down():
        lines.append([position()])

    if mouse_down() and mouse_moving():
        lines[-1].append(position())

    for line in lines:
        prev = None
        for vec in line:
            if prev:
                bge.render.drawLine(prev, vec, color)
            prev = vec


Objects can be seen after turning off all lights : How to turn off ambient light in Blender/Cycles? I am unable to find the lighting option that would turn off the ambient lighting after turing off all lightings in the scene while using Blender Cycles.
What I mean is, if I turn off all the lights in a scene, the scene is still not completely dark - there seem to be still some ambient light.

Is there any way to turn this ambient light off so that it does not affect my lighting setup?

PS: I have noticed that if I use a HDR background for lighting and then disconnent the node from the world output - the scene becomes completely dark.

In Cycles, the Background is emitting light. This will affect all objects, which receive light.

In order for the ojects to not receive additional light, do one of the following.

Set the background color to black (0, 0, 0).
[or] Set the strength property of the Background BSDF to 0.0.
[and] Disable Ambient Occlusion.

If you don't want your background to appear black, the following node setup restricts the backgrounds visibility to camera rays.

You can also restrict the visibility of the background with the cycles settings. Uncheck everything except Camera under Ray Visibility and the background emit no light except to the camera.


Export noise textures as image I have made a sphere with multiple levels of noise to create a unique map.
What is the best way to then export this as a flat image to edit in photoshop. The goal is to further create height, texture and colour. Then bring back in to Blender and apply the changes to the sphere.

Create a default plane (2x2 BU), assign your material; in object mode, material tab, click on the number near the material name to create a copy of it, delete the diffuse shader and put an emission shader instead, take the displacer input and put it on the color input; select the camera, Alt G, Alt R, to reset its trasform values, move it up in z axis a little, set it to orthographic mode, orthographic scale 2 and 2048 x 2048 dimension (or whatever you need).

F12 with no lights.


Riggify deform error Can someone please tell me why it's deforming this way? it always deforms in the same sort of line wherever I rotate the head.

Check your neck bone influences: that line probably arise where vertices with "head only" weight are contiguous to vertices with "head and neck" weights. Use the smooth brush and the smear brush to even out the transition on both vertex groups (Head and neck). Check also if there are influences from vertex groups others than head and neck.


Text to mesh > remesh not giving smooth enough results I have followed every tutorial regarding text to mesh conversion and the topology cleanup but no matter what i try (remesh with smooth, solidify, shade smooth)
If i leave the bad topology, the mesh is smoothed very nicely:

Then I do the remesh, but no matter what values i try, it always looks as if the general shape didnt get translated smoothly:

Even if i turn on smooth shading and do the right click and go shade smooth, it still looks edgy

even though the mesh is quite dense:

No tutorial could help me fix this issue, all of them show the same procedure, is there a step in between I can add to fix this?
My goal is to turn and twist the mesh smoothly, so a dense mesh is not the problem for me, the non-smooth translation however is..
Anyone who can help?
EDIT Blend File:Text to Mesh Blender file
Appreciate your time!
Sincerely
Oz

Okay so I almost got it!
this time I did the following:

Remove all effects from the text (all bevel and extrudes).
convert to mesh.
add decimate modifier and select planar -apply it.
add another decimate this time select collapse and reduce just so u have the amount of letters in the face count e.g. if your word has 4 letters u want to end up with a face count of 4. this ensures that your have clean outlines for each letter.
go do edit mode, select all and extrude, make them as thick as you want.
while in edit mode, click on mesh > normals > recalculate outside.
Usually you only have to shade smooth now and it should look smooth but that where i am confused why the shading is still so weird.

I wanted to use this as a new starting point since this ensures the cleanest amount of faces to work with.
Any Ideas?

Use only bevel with very low amount, for example 0.003. Limit Method is set to Angle. For more precision use limit method "Weight", select edges and change weight for the selected. The weights are in properties shelf / Item / transform /edges data / mean bevel weight. To see it you have to be in editmode.


Render with openGL from the command line? Is it possible to use the openGL quick render for rendering from the command line?

e.g. something like blender -b <file> -E opengl -f 1

It is possible, in a round-about way. Operator render.opengl() needs OpenGL display context, i.e. Blender's window, to be opened. Hence, we can't do UI-less rendering using -b command switch. We'll need to do it through a script:

import bpy
import sys                      # read argument from sys.argv
from bpy.app.handlers import persistent

@persistent
def do_render_opengl(dummy):
    bpy.ops.render.opengl(animation=True, view_context=False)
    bpy.ops.wm.quit_blender()

bpy.app.handlers.load_post.append(do_render_opengl)

It is to be executed like this:

blender -P render_opengl.py <file>.blend

Executing wm.quit_blender() is necessary, because otherwise Blender doesn't automatically close when render finishes. We also wrap the rendering code in load_post handler, to make sure the right context is loaded up before rendering. This is especially important if the scene's name is non-default. Otherwise Blender creates new scene Scene and renders it, instead of the scene we want.

The script above is to render preview animation. To render preview image and specify frame range, modify it to read argument from sys.argv (I've written code that does it before) and assigning appropriate values to bpy.context.scene.frame_*.


How can I achieve this texture result in Blender? I've just received a job to make the photorealistic version of this chair. My approach is to model it like how it is made in real life. First I will model the metal frame, and then model the weaved bamboo stripes on top of it. But then how should I achieve the look in the image? I'm thinking of choosing diffferent brown shades for different stripes. Is it realistic? If not, what should I do to achieve that look?

Thank you for your time!

There are probably a lot of ways of doing that. You could just UV map the complex geometry. It doesn't seem like overlapping UVs would matter in this case. You could just select parts and project UVs from view how you need them. You can also use a multiple UV maps - maybe one for individual straps if they have some texture along the length, another for all of them(for the sides) based on camera views for the smooth bigger darker and lighter patterns.


Why does my render layer node not have the expected number of outputs? I should get this type of box when I go to compositing mode. I have seen this tutorial from youtube (Blender Guru) but the box I'm getting is different. Here is the picture box in the mean the name render layer.

Enabling this will give you all the extra input (e.g. Noisy Image, Denoising Normal...)


How do you export a blender file as an .avi file in Blender 2.74? I am working on a video file in Blender. I have saved it as a .blend file already, but I want to save it as an .avi file.

How do I do this? I have watched multiple tutorials and have no idea what to do. I am using Blender 2.74.

Thanks.

In order to export your video edit to a new AVI file, you need to:

Set your Render Settings to a movie format that supports AVI
Click the Render Animation button.

As long as you have the Sequence checkbox selected in the Post Processing panel, it should render out your video edit to a new video file.

There are a number of Movie formats that also support the AVI encoding format.

They include:

AVI JPEG
AVI Raw
H.264 (with AVI format selected)
MPEG (with AVI format selected)
Xvid (with AVI format selected)


Why isn't the texture in rendered view transparent but the material view is When setting up the alpha mapping for the wings I noticed the feathers were transparent in material view but not in the rendered view.

You're using the cycles render so you have to open up the "Node Editor" window and add in what is called a "Transparent BSDF" and a "Mix Shader".

Simply connect the transparent bsdf to the mix shader and then
also connect the "diffuse bsdf" (which should already be there) to the same mix shader.
Connect the mix shader to the "Material Output" (already there).
and finally connect the alpha channel of the image texture node (already there) into the Fac of the mix shader.

and thats it, super easy. In the event you're using principled bsdf node instead of diffuse bsdf then its the same steps but with the principled node instead of the diffuse node.

More thorough answer here - https://www.youtube.com/watch?v=AdrFMEgNgF4 starting at about 9:40


how to put a tracked model behind a person I have a video and a person walks in front of where I want to put the tracked model and I didn't know if you could cut him out so the model will go behind him like in AE or if that wasn't possible in blender.

It is possible, since blender has fully featured masking capabilities.
Here is a simple setup to show you how it works:

If you were able to shoot against a green screen, use this setup instead:

Note: If you need to feather a certain point on you mask, you can hit Alt-S. If you need to feather the whole mask, add a color ramp node after the mask node, you can then tweak the feathering.


Blender : can't snap to absolute grid I have a single vertex (point) in 3d space. Its position is random, somewhere in 3d space. Now i just want to snap it to any grid point (grid on ground level or Z=0). I activate  'absolute grid snap' , i move the vertex and press ctrl (turn on snap) but there's no way i can snap it to the grid point. Is it possible to do this in Blender ? should be very simple case.

video link : https://youtu.be/KRci5-L3ajk

When freemoving an object in 3D view, it doesn't respect traditional up/down/left/right.
It's keeping the same distance from your viewport camera, which can be confusing.

It's a consequence of navigating 3D space using a 2D mouse cursor/screen.
For precise movement you need to use the arrows.


Node setup for alpha and translucency maps There is a whole new set of photoscanned objects from textures.com: grass. Taking as an example the 3D Scanned Grass Atlas 11 set, one can find multiple tiff files that can be used in blender as image textures (those can be downloaded with a free account at low resolution):

albedo
normal
roughness
translucency
alpha

Here is my node setup.

I don't know if it is right (node editor beginner here). And what should I do with the alpha map?

Obviously, there is something wrong with my setup.

Albedo -> Color

Roughness (Non-Color Data) -> Roughness

Translucent -> Transmission

Normal (Non-Color Data) -> Normal (Tangent Space) -> Normal

Alpha is used on a mix shader to control the mix of the principled shader and transparency.


Shape key setting so that value slider doesn't work I have an object that when I make a shape key it doesn't go back to 'basis" when I tab out to object mode. The slider has no effect. I can change it between basis and the key only by selecting basis or the key.

I added a default cube and keys worked fine. I then compared for anything I could think of and nothing stands out. I've applied transformations (and not). It's not parented, no delta transforms, no constraints or axis locks on transformation.

Any suggestions would be greatly appreciated.
Regards,
Mark

If the slider is greyed out, it could be that you have accidentally pushed this pin icon:


Assigning texture and colour to object groups Hello,

Id like to make groups for the different faces of this structure you can see above, and then assign different colours to the faces. Would appreciate any help on how to group them and colour them efficiently.

Thanks!

Pranit

Your Problem seems to be linked Object Data. You need to make your Objects Local first and regroup them. First to make them local press U > "Object and Data", while all objects are selected. Then select your group that should always have the same color and press Ctrl+L > "Object Data" to group them.


Vertices disappear after doing a "disolve edges" I often end up with that problem. I must do something wrong, or I misunderstood the concept.
I don't understand why my vertex doesn't stay in place when I do a Disolve Edges in that configuration. Can anyone explain?
thanks

That's the way Dissolve Edges works by default, it also dissolve the vertices, but you can deactivate the Dissolve Vertices option in the Operator panel, I agree that it should be the default setting:


How would you create grooves in wood objects like this? I'm modeling a lot of wooden things at the moment and want to try and achieve the effect below. What methods would you use to create small notches and long grooves like this?


Baking physics doesn't display From what I've seen, to bake physics you have a rigid body object in the scene and go the the "Blender Game Renderer" and press P. When I do this, physics fall and everything properly. However, when I press Esc to go back to editing or whatever, the physics aren't there (when scrubbing through keyframes). Here's a video for help: https://youtu.be/I2S8cX7LVDY

Here's one of the cell fractures rigid body settings:

You don't need to do this in BGE.

In object mode select your physic object or objects then in the Tools Panel select Physics and Bake To Keyframes.

Blend file:


How can I get a new random seed for every object using the same geometry nodes? I'm making a small medieval city using geometry nodes in Blender 2.93, where each building is a separated object, but they all share the same modifier list (and the same geometry nodes). I added some randomness to the height of the buildings by using Random float node.
How to setup up the seed of the random float node, so that every object has unique seed, even though they all share the same geometry nodes?
I was thinking about using objects unique position, but I don't know how to get that value within geometry nodes.
I could expose the seed in the modifier stack as an input variable and add a driver to it that generates a random number (round(noise.random()*1000)), but it seems that it generates a random number every time a render is made, essentially changing the whole city between two shots.
Anybody has better solution?

The geo-node-network containing the random height functionality is executed only once per instance. So if you're instantiating the buildings from a single object mesh or collection instance it will be all based on the same random value.
I had a simular issue and solved it by creating a collection of instances and letting the point instantiate node pick random items from that list. I used the location of the instance to select a height value, but you can also use it as a seed value.

To get the position of the object within the associated geo-node-network:

Add an empty object at the world origin
Add an Object Info node to your network
Set the offset toggle to Relative
Add a Vector Math node and multiply the location by -1,-1,-1


Triangular faces when using bevel I have this model:

When I apply Bevel, these triangular faces appear:

What's wrong?

This seems to be a shading issue.
Try these things in this order.

Enable Clamp Overlap
Enable Harden normals
Enable Mesh > Autosmooth


How to export white/shadow catcher with filmic? Using the method described on stack exchange here to create a shadow catcher
and with Filmic render view under color space enabled, the background with shadows divided by a clean background with no shadows does not generate white.
Instead, a very light grey is created where there is no shadow.
This should be white so the shadow layer can be multiplied onto the composite.

However, when default render view under color space is used, the grey becomes true white, suitable to multiply with.

Therefore, I suspect there is some gotcha with exporting log color images out of blender and photoshop understanding them.

The foreground objects and the shadow layer both need to be exported to photoshop.

the background with shadows divided by a clean background with no shadows does not generate white.

If you are dividing any value by itself the result will be one: $\frac{X}{X} = 1$
The standard sRGB transform will display white when the scene value reaches 1
But "white" doesn't live there any more if you are using filmic blender's color transforms.
"White" is not equal to 1, 1, 1,
White is somewhere around 16.29174024 in scene referred values (and operations before the color management, like nodes in the compositor, are done with scene referred data. The color transforms to create display referred images out of that data are done at the very end of the pipeline).
Filmic blender uses a much wider dynamic range, Using the filmic blender transforms you need a much higher value to reach "white", most likely you would need to scale the result of that division by 16.29174024 with a multiply node to fall within the parameters that work with filmic blender.

To understand what filmic blender does and how it maps the scene's values to the displayed image please read the following link: Render with a wider dynamic range in cycles to produce photorealistic looking images
and https://github.com/sobotka/filmic-blender


Attraction between 2 rigid bodies I want to make two rigid bodies attract one another.
But I don't want them to attract the other rigid bodies.

In other terms I want in my scene :

Rigid Bodies A and B attract one another and get closer and closer.
Rigid Bodies C and D attract one another and get closer and closer.
But A has no influence at all on C and D.
B has no influence at all on C and D.
C has no influence at all on A and B.
D has no influence at all on A and B.

How coud I achieve this ?

Chears

Forces only have an effect on rigid bodies on the same Layer - so use separate layers for each set of independent objects and forces.

Essentially you need to do the following :

On one layer, create objects A and B. Create a 'Force' force field at the origin of object A (select object A, press Shift-S and select 'Cursor to Selected', then Add/Force Field/Force) and parent it to object A. Create a 'Force' force field at the origin of object B and parent it to object B. Set each of the force fields to a negative strength (eg, -50). You should now find that A and B are drawn towards each other.

Swap to the next layer and repeat for C and D.

Running the animation (with both layers selected) should now result in two pairs of objects attracted to each other but not the other pair.