How to fix irregular cross section and shape-stretching while curving a mesh? I am trying to create a finger ring made of connected hexagons. The steps I followed were:
1. Create a mesh of 7 connected hexagons lying side to side
2. Bend that mesh using simple deform around a central point
3. Convert that mesh into a curve
4. Use another bezier circle curve as the bevel object to create a cross section for the hexagon curve
5. Convert the hexagon curve into a mesh again

There are 2 issues I am facing here:
1. My hitherto, regular, equal length-sided hexagons have now got stretched after the simple deform modifier, so 4 sides are much longer than the 2 sides
2. The cross section of the mesh is not uniformly circular (and looks a bit twisted)
3. The mesh at the junctions is protruding

Is there a relatively easy way to fix this or should I consider a completely different approach? If the latter, would be great if you can explain the new approach. I have lost a fair amount of hair in trying to figure this out so would greatly appreciate your help.

Thanks in advance!

Ayan

You could do it this way:

Create a torus with 6 Major Segments. Rotate it 90° on the X axis and 30° on the Y axis. Apply the rotation with ctrlA.
Duplicate it and keep a half somewhere.
Cut the 2 extremities with the knife (K to activate, Z to cut through, C to cut perpendicularly), separate in the middle with V, move one half and create an X.
Give your shape an Array modifier with a Count of 7, activate the Merge and First Last options.
Give it a Simple Deform modifier / Bend mode, with the angle you want, for example 280° if your final shape is not closed.
As you will want to smooth it with a Subdivision Surface modifier, add some edge loops to your mesh to sharp the edges.
Give it a Subdivision Surface modifier, smooth it.
Keep a copy of your object somewhere. Apply the Array and Simple Deform modifiers on the original.
Bring back the half torus you've created at the beginning and stick it to each extremity of the shape with the help of the Snap option / Vertex mode and Automatically Merge Vertices option.
Go in Edit mode, select all and W > Remove Doubles.


Animate a mesh using bones rotations instead of shape keys I'm using the mesh found in this link
which is animated using shape keys. I'm wondering how I can do the same animation but using bones (armature) instead? So if anyone could please advise.

You can drive those shapekeys with bones, this is actually the preferred way of doing facial animations. This video explains in a detail how to setup the drivers and hook the bones to the shapekeys. In the first part he creates all the face-expression shapekeys and in this second one he drives them with bones.


Text cursor turned into horizontal cursor, how to undo this? Maybe a silly problem, but a real one. Suddenly my text cursor turned into horizontal one:

How can I set it back to a regular one?
I've tried many shortcuts to undo this, I also can't find anything in text editor options... I would be grateful for some help.

Press the Insert key.  The horizontal cursor means you're in "overwrite" mode, which can be toggled on and off with this key.


How can i Unfold UV in one axis (horizontal) like Maya Unfold Can i unfold UV directly in one axis? Not scale.

Just in case this makes a difference, forgive me if I've missed the point..

'Follow Active Quads' refers to active quads in UV space.

Here's an object that produces non-orthogonal UVs when unwrapped cylindrically:
(The cylindrical projection is view-dependent, you want the poles aligned to screen Y and the equator along screen X)

The quad at the bottom left of the UV has been straightened, by scaling or snapping, and left active.

Now going back into the 3D View and U unwrapping again, with 'Follow Active Quads' and the 'Even' option, aligns the UV.

This could have been a selection of faces, rather than all of them, if that's what's needed.


How do I move a parented object hierarchy to world origin I have carefully created and parented object hierarchy. I did this for ease of moving the ensemble of parts in the scene. But I am pulling my hair out doing what I thought was a trivial afterthought: move the ensemble to world origin.

What is the magic incantation for something so simple?

Select the parent of all the hierarchy, and in the object panel, manually set its location to 0,0,0. The shortcut is Alt+G.

It should keep the position of the children relative to the parent.


Positioning of Particles I am doing this tutorial where CG Geek shows how to build a realistic city. After about 45 minutes the city has basically been built. And now a few small buildings are created on a separate layer and a Hair particle system is created to grow the small buildings (as a group) out of the roofs of the high rise buildings

Not all of those small buildings are placed within the boundaries of the roofs. How can I control the positioning of these hairs so that all small buildings are neatly placed at the roofs ?

You can achieve this with several different ways:

A) Don't have the wrong particles (Chose one or more)

Make the houses smaller
Make less houses
On rotation, check "normal". If you made your normals right, the houses should align along the faces decreasing the probability of going of an edge
Adjust the seed until all houses fit in the areas visible in the final render

B) Cut them in particle edit

Go into the particle edit mode
Cut all wrong placed houses

C) Vertex groups

Add a new vertex group
Assign all faces where a house is possibly allowed to stand (leaving a maring of the maximum size of a house in every direction) to that group
In the particle settings -> Vertex groups, select this group under "density"

D) Texture (Cycles only)

Create a new, empty image.
Go to orthographic top-down view of your city.
Select your mesh.
Go into texture paint mode.
Paint the areas where houses are allowed.
Go to particle settings -> Texture
Create a new texture and go to texture properties
Link that texture to the image you painted
Under influence uncheck all but "density"

E) Remove them manually

Apply your particle system.
Delete wrong houses
Select the remaining ones and join them (optional)

That's about all the possible ways I could think of. Chose the one you like the most! If I missed a good way, please add it. If something is unclear or you need screenshots, I can add them.


Blend file size is huge After adding image as planes and use as a particle, size of File and used by ram is increased from 35MB to 568MB.

Ram used 350MB to 10GB

Even if i add ivy file size is 35MB.

Only 3 textures are used (5MB).

Your computer needs to save every single particle position, rotation, scale, physics, etc. in order to properly display them. For a single particle, this isn't much- but it adds up, especially with thousands of them.


try to create multi-files Add-on, install fail with Error: module 'bpy' has no attribute 'props' I have created an addon written in multiple files.

if "bpy" in locals():
    import importlib
    importlib.reload(operator_add)
else:
    from . import operator_add
    from . import operator_create

import bpy
import bmesh
import os
from operator_add import OBJECT_add

I got error message when trying to activate the add-on

AttributeError: module 'bpy' has no attribute 'props'

in the operator_add.py I have the class as follow:

class OBJECT_add(bpy.types.Operator):
    bl_idname = "myops.addthings"
    bl_label = "Add Base Mesh"
    bl_options = {'REGISTER', 'UNDO'}
    bl_description ="Add Base Mesh"
    #the error comes from this line:
    objectsToAdd = bpy.props.StringProperty()
    #this is trying to get the property from the UI draw() in the __init__.py

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

https://github.com/JacquesLucke/code_autocomplete

Here is a blender add-on that lets you create multi-file add-ons in blender easily. Just download the repository .zip and install the add-on. Next enable it. Now in the text editor click view > properties You will now see a couple new panels one named Addon Development then you will see a text box. Simply type in the name of your new add-on and click the button that pops up that says new addon multi-file Once this is done it will create a multi-file add-on automatically for you. Remember to click save all filesoften and also when you load blender back up and want to work on your add-on again just click the eyedrop tool and you will see a list of all the add-ons you are currently working on and click the one to load and it will. Hope this helps :)

Also in operator_add.py do you have import bpy? Maybe thats the reason?


outliner : to cycle the find result in outliner I have objects which is part of multiple collections. If i select the object in 3d view and want to find it in outliner, i will type '.' . The outliner will scroll and the selected obj will be highlighted. But it only show the one stored in top most collection. If i link this object to many collections. I want it like cycle the result (something like 'find next' function ) to reveal from other collection as well. Maybe like typing the '.' for the second or third time will show the next found object.
So far i have to copy the name of the object and paste it on the search bar.
I prefer the fancy and faster way by cycle the result.

Not exactly a 'Find Next' .. but there's a dropdown next to the Filter checkboxes which can restrict the outliner display, to, among others, only selected objects.
I've assigned that dropdown to the Numpad / key, analagous to isolating in the 3D view. 'Selected' restricts the outliner view to (all) references to objects selected in the viewport.


How can movement speed be set for simple object movement? I finally decided to start actually animating stuff and followed This YT tutorial. Unfortunately I need my object to remain at a constant speed through its movement (No acceleration/ deceleration.  I.E. start at frame 0 with object moving at 1 foot per second and end with it still moving 1 foot per second.  Currently my only idea is to have it start way out of the scene and end way out of the scene and crop the timeline for the actual animation.

if you want the speed to be linear, select the animated object, open the Dopesheet window, enable the little arrow button on the horizontal menu bar so only the selected object keyframes will be displayed, press T to set the keyframe interpolation and choose Linear. You can also do it in the Graph Editor. Is it what you want?


Is it possible to snap 1 or more vertices on a face? I´m fairly new to Blender and currently model a scope. Now I have the following situation.

I have angled faces and a cylinder. I want the vertices marked in the first picture to snap on the faces marked in the second picture.

I tried it with "g" and selecting the vertices of the face(s) with "a", but then the vertex is positioned either inside the scope or not touching the face at all.
Thank you!

You can do this with the snap tool.

First, modify snapping behavior to Snap to Face like so :

 (toolbar on the top of the viewport screen)

In edit mode, select all the vertices you want to snap to the faces.

Then go into orthographic mode (numpad 5), align view to the "x" axis (numpad 3)

Type G (to move the vertices) and X to constrain to the x axis, and move your mouse to the right a fair bit, Hold CTRL (to force snapping), then click. You will not see any change in the viewport but if you orbit around your objects you will have this result :


Modal operator to: (A) Create surface (B) create vertex on surface Would like to find some tutorial and documents for blender 290
about python vectors, raycast and modal.
i am doing my best trying to create this tool,
right now i can only create new object, add them some vertex and edges but i am really far from using a modal and snap the coordinates on the surface..
i would like to change quite often the "Target plane shape",
So i plan to have the event of the keyboard change from mode A to mode B
But i also worried about the existing shortcut , they fight with the modal?
Surface_target A  ( we can change this with every drawing A)
Sequence_Edges B  ( the edge you drawn remain there)

Thank you for your time
EDIT:
To "Draw" using the mouse, require the use of a modal to get the events of the mouse, and read the position and the clicks.
Making a modal and a tool is harder than i thought.
I posted a working basis to use a UITool and a modal to get and update the mouse events .
https://blenderartists.org/t/event-leftmouse-pressed-disturbed-by-tool-selection/1270882
Once understand the behaviour you can add some of the function of the template like,
Ray cast modal, to get the 3D location of the mouse .

This was really complex for me, its a bit messy but i share it anyway.
Hope will help someonelse XD
Its just a script, you paste it in you script and run.
A tool and a panel will appear in your 3Dview, follow instruction for play .
https://mega.nz/file/wz4VCaaJ#7TxFvZqyeQZOFy7syu56As5RionvmfhYuTs0JvhZ8h8


Where is the denoiser? Can someone tell me where this denoiser is? I know it's in the renderlayetab, but i can't find it i can only find view

Thanks

Looks like you are running Blender 2.75. The denoiser was added in 2.79, so you'll need to download a newer version.


Stretching Mesh When Bevelling I won't waste your time on irrelevancies.

I am trying to bevel along the edges of this heart.
However, every time I try and do so the edge clips through in an unpredictable course:

I assumed the issue was along the radical line of the two arcs so I took the liberty of merging the cleavage to a single point and removing the doubles, additionally creating a wider intersecting arc. This ajustment, however, was frustratingly ineffectual.

Here is the file.

Thank you for sparing your time to help.

If you eneable Backface Culling from the Properties panel you will see that half or your heart has its face normals pointing inwards.
Also the edges you are trying to bevel have duplicted Vertices.

To fix your beveling you need to do as M.ardito suggested:
With all of the heart selected Recalculate Normals and Remove Doubles
If you now select that edge and use the Bevel tool it will look alot better, but.... if you look closely there is still a little problem area.

To correct that anomalie Patdog has given the solution,

Select only the top faces of the heart and using the Insert tool (keyboard shortcut key I ), insert a inner edge loop on those faces.

Now you can go back to using the Bevel tool and it should bevel ok.
The extra edge loop on the top face can now be deleted ( X > Edge Loops )


How to make a curve segment perpendicular to a face? I need to make a curve that "exits" straight out of (perpendicular to) a face.

I can manually make it perpendicular by manually manipulating the handle (Bezier) or the first segment (Nurbs) but I assume there is a simpler way to do it.
I've been fiddling with this for over an hour but could not figure it out.
I did figure out how to make it exit parallel to the surface (by snapping the handle or segment to the face) but not perpendicular.

Can someone show me the way, please?

I'm interested to learn how to do it both with Bezier and Nurbs curves.

Edit:
I figured out how to do it when the face is aligned with global axes (snap a handle to the face, then translate it along the axis perpendicular to the face), however, I still cannot figure out how to do it when the face is not aligned with global axes.
I suppose I need to find out how to align to local axes of that face while editing the curve. Is that even possible?

Edit 2:
This is how it looks (and how I meant it to be) with Duarte's third method (notice the snap options and transformation orientation option being Local):

Unfortunately Blender isn't great for precision modelling as it currently stands, and it becomes even more difficult with bezier curves. That being said you can achieve most operations even if it is an involved and time consuming process.

You could try one of three methods

Enter edit mode on your mesh
Select the face you want to make the curve perpendicular to
Snap the cursor to it
Add a curve there
Enter edit mode in the curve
Make both handle types Vector
Move the starting point of the curve to local coordinate 0,0,0
Now exit edit mode of the curve and enter edit mode in the mesh
Extrude previously selected face (this is a temporary hack)
Now snap the cursor to the newly created face
You can now undo the extrusion and exit edit mode
Enter edit mode on the previously created curve and snap the end point to the cursor
Profit!

The con of this method is the curve's axis wont be properly oriented to be perpendicular to the face, only the segment, so you couldn't easily convert it to a bi dimensional 2D curve (if that is what you want).
Also it can be time consuming and become unpractical for many iterations.

This second method is my favorite and as the advantage to leave your curve properly oriented, however it can become inadequate if you only want a few instances.

Snap the cursor to the object whose face you want to make the curve perpendicular to (not the single face)
Add a curve there
Enter edit mode and make it's vertex start at 0,0,0 and end at 0,0,1
Now exit edit mode and parent the curve to the mesh
Select the mesh object and in the Properties Window > Object > Duplication > Enable Face duplication
Now make the curves independent objects with the operator "Make Duplicates Real*
Profit!

Third method is the simplest using snapping, but may give inaccurate results because Blender may average the normals of surrounding vertex

Turn on "Align the rotation with the snapping target" option at the bottom of the 3D view right next to the snap options
Switch to  "Snap to Faces" mode
Add a new curve
Move it with G and use snapping to align it to the surface normal as you move it around by pressing Ctrl while grabbing.
If you turn on "Project individual elements on the surface of other objects" option (also next to the snap options), the curve will orient itself to the surface (no need for pressing Ctrl).
Enter edit mode in the curve
Translate one curve endpoint to the face
Switch to  "Snap to Vertex" mode
Translate handle point (or second point for Nurbs) to the point from step 6
Translate the same point along the Z axis to get a perpendicular start/segment
Grand Total profit!


FBX export: object pivot is set to center of the scene Whenever I export my mesh to FBX format (for use inside UE4) its pivot is set to center of the Blender scene (0,0,0), not respecting the original object's pivot position.
Does anyone know why or how to solve this, so that once imported into UE4 object's pivot would be where it should be instead being way off because it is set to original Blender scene center?

So I found the correct answer myself: if you use File -> Import Into Level instead of the expected normal Import function, then the import process is a bit different.
It will automatically create Blueprint for you with the root pivot still at the bottom center at 0,0,0 but now every object in there will have its own original pivot as seen in Blender...and that's it!


Import Numpy = attributeError: module 'numpy' has no attribute 'core' I have been trying to load Animation Nodes, but can't seem to get Numpy to work, and have no idea how to install. I have done a clean install on latest version (and other tower works fine) but this particular machine won't work. I have not had to install Numpy on the working machine. The Numpy folder has been installed, I even copied it to the Modules folder, and it still won't work.

I really need to use these nodes.

When I try import I get:

Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
  File "C:\Program Files\Blender Foundation\Blender\2.78\scripts\modules\numpy\__init__.py", line 180, in <module>
    from . import add_newdocs
  File "C:\Program Files\Blender Foundation\Blender\2.78\scripts\modules\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Program Files\Blender Foundation\Blender\2.78\scripts\modules\numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "C:\Program Files\Blender Foundation\Blender\2.78\scripts\modules\numpy\lib\type_check.py", line 11, in <module>
     import numpy.core.numeric as _nx
  AttributeError: module 'numpy' has no attribute 'core'

Blender installation issue

Blender comes with numpy installed. Maybe something got wrong in your blender installation, if so you should not be able to import numpy directly from the python console:  (deactivate AN first)

If these simple commands do work, this means AN is the problem and you should create an issue thread on the github repo or contact Jacques Luke directly.
If they don't work, it means Blender wasn't installed correctly, and you should try:

to copy directly the site-packages folder at %version%\python\lib\site-packages directory. (Download the blender zip and copy the directory).
As I have not tried it myself, maybe the last method will create conflicts, so if it doesn't work, make a new installation of blender.


Solidified/Extruded text mesh errors I need an way to generate a text with some thickeness giving a correct mesh after convertion for boolean operations.
I tried two methods and both of them can lead to incorrect mesh:
Text extrude parameter:
This parameter allows to give some thickeness to a text object, but once converted to a mesh, each letter is in three parts, twice the letter and the rim, with duplicated vertices:

Solidify modifier:
With solidify modifier, the mesh is usualy better, but some character will sometimes be deformed, Especially the "T" , but also the "4" and the "t".

To reproduce this, Just add a text object with a solidify modifier (0.2 thick and offest to 0 in my case) and play with the size.
So my question is, is it a way to correct this? Sure there are workarounds, like
adding the solidify modifier after the convertion to mesh, or removing the double in the mesh after conversion in the first case, but i'd like to find a cleaner way to do that, keeping the ability to visualize the text with thickness before conversion.

I always find it easier to convert a flat text object into a mesh and to extrude the mesh. this generates a much cleaner geometry that doesn't really cause any trouble with boolean modifiers.

Here's an example:

import bpy

C = bpy.context
S = C.scene

# Add a new text object
t = bpy.data.curves.new( 'text', 'FONT' )
t.body = "Testing 1 2 3"
o = bpy.data.objects.new( 'text', t )
S.objects.link( o )

o.select = True
S.objects.active = o

# Convert to mesh
bpy.ops.object.convert()

# Extrude text
bpy.ops.object.mode_set( mode = 'EDIT' )       # Go to edit mode
bpy.ops.mesh.select_all( action = 'SELECT' )   # Select all mesh elements
bpy.ops.mesh.extrude_region_move(
    TRANSFORM_OT_translate={"value":(0, 0, 1)} # Extrude by 1 BU on Z axis
)
bpy.ops.object.mode_set( mode = 'OBJECT' )     # Back to object mode

# Test Boolean
cube = bpy.data.objects['Cube']
m    = cube.modifiers.new( 'Bool', 'BOOLEAN' )
m.operation = 'DIFFERENCE'
m.object    = o


Convert particle system to animated meshes I've started trying to make a 3D model that I will end up exporting to an augmented reality app but I've hit a problem in terms of the particle system. The app wants the 3D file in .dae(collada) format which blender allows, but it doesn't seem to export particle systems. I've read that blender doesn't support exporting particle systems at all so I'm now focused on converting the particle system to lots of meshes which will (hopefully)animate using key frames. Then I can export all the meshes and the particles will 'work'.

Currently I'm just using a standard particle system emitting small icospheres. I've tried a few different techniques, such as 'make duplicates real' and using a particle instance instead but they don't seem to animate. Instead it just freezes the current frame into an object(which exports fine but is not what I want). I've also tried recording the animation in the blender game engine but particle systems don't work with it so that didn't work either.

Any help would be appreciated! Thanks

I think the only way to do it is with some Python scripting. First select the object you want to show in place of the particles (dupli object) and then select the object with the particle system. Then run the following script. But be aware, it can get quite slow if you have lots of particles (for 5000 particles and Suzanne as dupli object, it took almost 4 minutes on my computer).

import bpy

# Set these to False if you don't want to key that property.
KEYFRAME_LOCATION = True
KEYFRAME_ROTATION = True
KEYFRAME_SCALE = True
KEYFRAME_VISIBILITY = True  # Viewport and render visibility.

def create_objects_for_particles(ps, obj):
    # Duplicate the given object for every particle and return the duplicates.
    # Use instances instead of full copies.
    obj_list = []
    mesh = obj.data
    for i, _ in enumerate(ps.particles):
        dupli = bpy.data.objects.new(
                    name="particle.{:03d}".format(i),
                    object_data=mesh)
        bpy.context.scene.objects.link(dupli)
        obj_list.append(dupli)
    return obj_list

def match_and_keyframe_objects(ps, obj_list, start_frame, end_frame):
    # Match and keyframe the objects to the particles for every frame in the
    # given range.
    for frame in range(start_frame, end_frame + 1):
        bpy.context.scene.frame_set(frame)
        for p, obj in zip(ps.particles, obj_list):
            match_object_to_particle(p, obj)
            keyframe_obj(obj)

def match_object_to_particle(p, obj):
    # Match the location, rotation, scale and visibility of the object to
    # the particle.
    loc = p.location
    rot = p.rotation
    size = p.size
    if p.alive_state == 'ALIVE':
        vis = True
    else:
        vis = False
    obj.location = loc
    # Set rotation mode to quaternion to match particle rotation.
    obj.rotation_mode = 'QUATERNION'
    obj.rotation_quaternion = rot
    obj.scale = (size, size, size)
    obj.hide = not(vis)
    obj.hide_render = not(vis)

def keyframe_obj(obj):
    # Keyframe location, rotation, scale and visibility if specified.
    if KEYFRAME_LOCATION:
        obj.keyframe_insert("location")
    if KEYFRAME_ROTATION:
        obj.keyframe_insert("rotation_quaternion")
    if KEYFRAME_SCALE:
        obj.keyframe_insert("scale")
    if KEYFRAME_VISIBILITY:
        obj.keyframe_insert("hide")
        obj.keyframe_insert("hide_render")

def main():
    # Assume only 2 objects are selected.
    # The active object should be the one with the particle system.
    ps_obj = bpy.context.object
    obj = [obj for obj in bpy.context.selected_objects if obj != ps_obj][0]
    ps = ps_obj.particle_systems[0]  # Assume only 1 particle system is present.
    start_frame = bpy.context.scene.frame_start
    end_frame = bpy.context.scene.frame_end
    obj_list = create_objects_for_particles(ps, obj)
    match_and_keyframe_objects(ps, obj_list, start_frame, end_frame)

if __name__ == '__main__':
    main()


Can you make Three-Dimensional games in Blender? I know how to make models and objects within Blender, and I was wondering if it is possible to make games using the models I have made? Is this possible within Blender or do I need to use Third-Party software? Also, If I must use a Third-Party software, which would be the best to use?

Blender itself has a built-in game engine, meaning yes it is not only possible but rather easy to do.
Right here is an excellent tutorial series explaining in detail the process of creating an operating and clean game using Blender Game Engine.
Welcome to Blender SE :)


No Light in final Render When I look at the render preview it shows up lit and I have the lamp active on the same layer. I don't know what happened and it seems that all the settings are the same as a new file.

Here's it supposed to look like in texture mode.

You haven't assigned materials. Light power (emission) is not high enough. Try 5000 as emission/power.


How to check if two meshes intersect in python with BVH Tree? In addition to this discussion:

How to check if two meshes intersect in python?

I would like to know if the new mathutils.bvhtree module may help to detect intersections of two meshes.

yes, overlap in mathutils.bvhtree does show pairs of polygons that are intersecting if any.

You will have to create 2 bvh trees, for each mesh, using one of the methods given in the api (from Object, from Bmesh, from Polygons), then use those as pairs = bvhA.overlap(bvhB)

So a basic check would just see if that list is [] or something. Or may further use the pairs of poly to do something.

Note that there are some limitations

it does not account for other info, if one obj is inside another, normals etc, only if they touch
it does not work for coplanar poly well, for example 2 blender default plane objects, one slightly shifted x (not reliable on this)


How to easily draw a grease pencil on top of an image I use the Compositing workspace in Blender 2.8 to overlay images with grease pencil objects. (Alpha Over node taking an image as the first input and the View Layer as the second input.)

When I create those objects or move them around in the Viewport, I would like the Backdrop (which shows the objects on top of the background) to update and reflect those changes. However, it doesn't until I hit F12 to render :( Is there a way to solve this?

Furthermore, I make use of keyframes to fade in the objects. Is it possible that the backdrop listens to changes of the current frame and updates accordingly to display only those objects that have a positive opacity at the corresponding point in time?

Maybe I am just doing it completely wrong - in that case, please point it out ;) I'm still very new to Blender.

[EDIT: added second way, easier method]
So, you want immediate feedback since you want to draw something on top of an image. There are 2 ways:

Draw while having background image activated on your camera (while also in camera mode obviously):
Select your camera, go to the Camera properties, check the Background Images, then Add Image, then open file manager icon and select the image you want.

Tweak the settings of the background image, it's straightforward and you can see the result on your camera. Note that the default frame method is actually stretch, but I change it to fit to show you the white gap on the sides of the image from the camera since the dimension output is not the same as the image.
This background image is only reference, so you still need to composite the image and render output in compositor, next step is make sure you know what you're doing around the image size difference (if any) in the compositor.

Import image as plane (bundled add-on): enable this add-on first (if you haven't already) from Preferences > Add-ons > search "import image", check to enable.

Now there will be new option: Add > Image > Images as Planes. If you have selected the image, change the settings first: Material Settings: Shadeless, Align: Face Camera. this way you don't have to rotate the plane to match the camera.

Now, match your image size with the output dimension: scale the plane until its 2 sides match one of the camera width, then adjust the Y accordingly.

or even better PRO TIP: if you don't know the image ratio, or the image is too big and you want just smaller size for the render output, you can input math into the input field. For example, if the image is 3687x2142 px (landscape), but you only need lower than 1500px for the each side, you can input 3687/3 in the X resolution, and 2142/3 for the Y, resulting in 1,229 x 714 px.


Low-res texture blurry I unwrapped a simple plane and applied the following 80x80 pixel picture:

Yes, it's quite small. The problem is, the result is all blurry, like so:

How do I make it accurate to the pixel?

If you are using Blender Internal Render Engine:
In the Properties Window > Texture Tab > Image Sampling Panel > Filter
change it to Box.

Have in mind that this will not have any effect in the viewport preview, but it won't appear blurry in your final render.

If you are in Cycles/EEVEE Render Engine:
In the Node Editor, under your material node tree navigate to your image texture node and set the second pull-down menu Interpolation to Closest


How to extrude rounded and smooth? I have a following problem: I have a sphere and I want to extrude particles out of it like so:

But I want the extrusion to be rounded like in this picture:

What kind of settings do I miss please?

You can't apply a subsurf to part of an object, but you can control the way it subdivides.  Consider this object

If I apply the subsurf I get

It solves your problem by rounding, but it rounds where you don't want it to. There are several ways to fix this, depending on your need.  Here are a couple.

You can bevel edges and control how the rounding happens, perhaps making it less obvious

Select edges you want to control

Enter CTRL-B. The cursor will change.  Moving it controls the width of the bevel. Rotating the scroll wheel controls the number of steps

You can use the bevel modifier to accomplish the same thing but with more control.

You can create edge loops.  Consider the base of the extrusions. Enter CTRL-R. Place your cursor near the base of it until a red line appears around the extrusion

Left-Click and then move the line where you want it

Left-Click again.

My example would require a lot of edge loops or a lot of bevels. Here's a version with all of the edge loops selected.


How can I join multiple objects automatically in groups determined by how far away they are from each other? So I have a big level I made in blender intended for a game but I need to join models so that they become one. But there are 1057 objects in the scene and for me to join all of the objects together manually would take a while, and I don't want everything to be a single object. I basically need to join the stuff so that it becomes about 200 - 250 objects without me having to manually select equal amounts of objects to do that.

The reason I say "determined by how far away they are" is because it would really help if the things I joined were within a vicinity of each other, so the things joined are logical and in chunks instead of just "all the objects that share a material" or something.

Any addon or methods will help.

Make a Grid of view3d region and join via Border Select

Made an operator that splits the 3d view into an i x j grid. Joins all the meshes in each grid sector using border select.  Note this is a 2D approach, and assumes that looking at your level in top view and assigning a grid will suffice.  If your objects are spread more randomly in all three dimensions each joined selection would look more like a column.

After running script below, find in view3d > object > Grid Join menu.

Did have the View All operator in the operator, but decided it may be better to let user choose view, and zoom into all objects wishes to join.

Divide visible screen area into a grid with 16 x segments, and 9 y segments and join those selected by border select in each.

import bpy
from bpy.props import IntProperty

class SimpleOperator(bpy.types.Operator):
    """Join objects based on View3d Grid"""
    bl_idname = "view3d.grid_join"
    bl_label = "Grid Join"
    bl_options = {'REGISTER', 'UNDO'}
    x_segments = IntProperty(default=16, min=1)
    y_segments = IntProperty(default=9, min=1)
    @classmethod
    def poll(cls, context):
        scene = context.scene
        return len([o for o in scene.objects if o.type == 'MESH'])

    def execute(self, context):
        scene = context.scene
        joined_obs = []
        bpy.ops.object.select_by_type(type='MESH')
        #bpy.ops.view3d.view_all()
        region = context.region
        print(region.width, region.height)
        w = region.width / self.x_segments
        h = region.height / self.y_segments
        for i in range(self.x_segments):
            xmin, xmax  = i * w, (i + 1) * w
            for j in range(self.y_segments):
                ymin, ymax  = j * h, (j + 1) * h
                #print(xmin, xmax, ymin, ymax)
                bpy.ops.view3d.select_border(
                       xmin=xmin,
                       xmax=xmax,
                       ymin=ymin,
                       ymax=ymax,
                       deselect=False,
                       extend=False)
                for o in context.selected_objects:
                    o.select = o.type == 'MESH'
                if len(context.selected_objects):
                    scene.objects.active = context.selected_objects[0]
                    bpy.ops.object.join()
                    context.object.hide = True
                    joined_obs.append(context.object)

        for o in joined_obs:
            o.hide = False
        return {'FINISHED'}

def menu_draw(self, context):
    self.layout.operator("view3d.grid_join")

def register():
    bpy.utils.register_class(SimpleOperator)
    bpy.types.VIEW3D_MT_object.prepend(menu_draw)

def unregister():
    bpy.utils.unregister_class(SimpleOperator)
    bpy.types.VIEW3D_MT_object.remove(menu_draw)

if __name__ == "__main__":
    register()

    # test call


Please help me understand the various ways that textures need to be linked to images I'm having a lot of trouble understanding how Blender handles textures.  It seems to require linking them in multiple places.  Look at the following screenshot:

So here I have a mesh with a cloud texture (texture.002) and a texture in the UV window (untitled.png, saved to disk, which my fumbling suggests matters).  Neither is displaying on my model.  Untitled is not showing up in the texture list.  And texture paint is giving me a warning that there is no texture.  (FWIW, textured display in object mode gives me yet another appearance, which appears to be white.)

I have specific issues-- visualizing my UV mapping, getting a blank texture assigned for AO baking so I stop getting the no object or image error-- but I'm hoping for a more general understanding of these issues.

In order to paint on a texture, the texture must be of type "Image or Movie":


Scale object to match bounding box python I have two objects, one of them is an armature and the other is a mesh. I want to scale the mesh using it's bounding box so that the bounding box y length matches the bounding box y of the armature object using python.
This is the mesh and the armature:

This is what I want to do where the mesh object was proportionally scaled using the bounding boxes y dimensions:

My .blend file can be found here:

The bounding box corresponds to a property named 'dimensions'.

So, take the dimensions of each (eventually converted to world coordinates as in your blend file, objects are rotated), calculate the ratio and scale Suzanne by the ratio:

Edit following the comments:

We don't use the world matrix directly, as we only need the rotation part, because the dimensions are already scaled (as said by batFINGER in the comments). So we keep the quaternion.

The abs() is used because the rotations may return a negative value (and we don't want that for dimensions)

Script for Blender 2.79 and below

import bpy

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

#Convert to world coordinates if you want to use world Y
suzBound = suz.matrix_world.to_quaternion() * suz.dimensions
armBound = arm.matrix_world.to_quaternion() * arm.dimensions

ratio = abs(armBound.y) / abs(suzBound.y)

suz.scale *= ratio

Script for Blender 2.80 and above

import bpy

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

# Convert to world coordinates if you want to use world Y
# We now use @ instead of * as per https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API#Matrix_Multiplication
suzBound = suz.matrix_world.to_quaternion() @ suz.dimensions
armBound = arm.matrix_world.to_quaternion() @ arm.dimensions

ratio = abs(armBound.y) / abs(suzBound.y)

suz.scale *= ratio

End of the edit

Just for your information, note that we are talking about bounding boxes here. If the object were rotated differently, that is different than talking about their size along an axis.
For instance, this size:


How to reference a particular Panel used in the ui? I want to change the category value of a panel. And I can get all bpy_class of a module like this:

import bpy_types
typemap_list = bpy_types.TypeMap.get(__name__, ())

for cls_weakref in typemap_list:
    cls = cls_weakref()
    if cls.bl_label == 'My Panel'
        cls.bl_category = 'New category name' # changed here
        break

But is it possible to get the right class without needing the loop?

You can get the panel in a single operation but not by label, since panels labels aren't necessarily unique, you should use the panel name.

eg:

cls = getattr(bpy.types, "VIEW3D_PT_view3d_display")

Note that bpy_types.TypeMap is part of Blenders internal logic which you're not meant to touch! :)


Displacement distortion By some reason displacement became directed and to perpendicular to normals. Tried to kill user preferences and check it in new scene - same thing: it's always distorted.

Please, HALP

That's interesting. Iv'e used stable 2.79 and looks like back then it automatically added Displacement node between shader input and map output, and 2.79+ doesn't do that. After adding it manually everything started to work how it supposed to. Even with old preferences. Yay!


Mesh Part deforms without Weight painting being applied to it After parenting an armature with my mesh (using automatic weight), a part of it deforms when an unrelated bone moves even though that part of the mesh is not weight painted (its completely blue).

What could be the reason for this?

I have successfully rigged many models created by other people with no problems so maybe something is wrong with my model.

Select a vertex which has unwanted movement and check in the "N" properties panel which are its weights, then clear out the unwanted weights, even if they look "blue" in weight paint mode.


Joining 6 .stl files together to make 1 file to go to a comercial printer Firstly let me say I have never used Blender before so I'm a total innocent.
I have 6 .stl files for 2 Pi camera housings made up of 2 and 4 files each.
I have been told if I can incorporate the files into 1 or 2 it will make the process much cheaper,as I'm using a commercial print company. So my question is can I start a new project, import each file individually and join them together to make 1 .stl file.

Yes, you can.   Use Blender to import and position all of your stl files.

Group select all of the objects (so that they are highlighted).

Use Object -> Join to make all of the individual items one object. The Object menu option appears at the lower left of the Object Mode screen -- if you are in Edit or another mode, you won;t see it...

Making sure the object is highlighted, use File -> Export -> Stl

You'll end up with an STL composed of multiple non-connected parts. Whether this is cheaper or not is an issue for your printer: It might take as long to rip and print, and will certainly require the same amount of material to output -- infact, maybe more.... since I am not sure whether the method you are using will add supports or connected sprues between the separate items that were originally the separate stls... But this process will give you an stl with multiple 'pieces'.

Shout if I can assist.


How to switch rendering engine via python script I managed to compile Blender as a Python import module. When I do bpy.ops.render.render(write_still=True) it renders with cycles. How can I render by using Blender internal renderer instead?

You can set the engine before rendering like this:

bpy.context.scene.render.engine = 'BLENDER_WORKBENCH'

Its possible multiple scenes are involved in the render so you may want to do...

for scene in bpy.data.scenes:
    scene.render.engine = 'BLENDER_WORKBENCH'

Note: If you select the Scripting screen, then change the engine, the code to do this is printed at the top of the screen (called the Info view), eg:

bpy.context.scene.render.engine = 'BLENDER_WORKBENCH'
bpy.context.scene.render.engine = 'CYCLES'


key "w" toggles though selection typs I accidentially found out that if you press the key "w" multiple times it toggles through selection types "Box-select, Circle-select, Lasso-select..."

I opened the preferences and wanted to find that behavior in the keymap. So I changed the filter-method to keybindng, typed in the letter "w" and in the result there was nothing that matched.

I have no clue where to find this behavior. Can anybody help me out?

thanks in advance
daniel

You can find this in the keymap under 3D View > Set Tool By Name. You can search for specific shortcuts by selecting Key Binding in the dropdown in front of the search box.


How to make a 2d cloud texture more "stylized"? I've figured out how to render out cloud textures to a sphere for an easy way to make hdris for ue skies.
This Is what I have done now. It looks alright but it's far to realistic for my needs. The video tuts I've seen always end with a cloud mesh or some sort of volumetric effect. I specifically do not want this to be 3d, I need a simple 2d cloud texture.
Any blender masters here are able to tell me some tricks or tips on how to make this more stylized? I'm a noob so I'm not aware of very many texture nodes or things I could potentially do to make the texture better.
End result would hopefully be something similar to ghibli or the witness or some indies title. Any help appreciated, thanc.
With Christopher Bennett's settings I got this

I'm not sure exactly what you're going for, but you could try something like this.

The general idea is that I made the cloud "clusters" by using a Noise texture to slightly warp the input vector of a Voronai Texture. Doing this, and choosing the distance output of the Voronai texture can create "warped circles", which can be more tightly defined with a ColorRamp. This only makes the spaces where the clouds will go - to get the slightly fluffy look, I used a different Noise Texture to "fill in the gaps". This gives more (and separate) control of the cloud look, without affecting the edge detail.
To achieve the final look, I tinted the dark values from the Noise Ttexture to be the same color as the sky, and then added the values to the sky color, using the Voronai "warped circles" as a mix factor. You can control the detail of the clouds using both the Scale and Detail values of the Noise Texture, as well as through manipulation of the ColorRamp(s).
You can then render the image and take it into the compositor and apply a filter. "Sharpen" or Shadow" seem to be a good place to start.


How does squared samples "make tweaking easier?" According to the documentation, the new "squared samples" feature in the render settings can "make tweaking easier from an artists point of view," but it's not clear what this settings does, or how it would make tweaking easier.

In short, what does the squared samples setting do, and how do I exploit its powers?

All it does is square the specified number of samples. So 10 samples becomes 100 samples.

From the commit log:

  Cycles / Sampling UI:

  Add a "Squared Samples" option to the UI, to use squared values for ease of use. This can make it easier from an artist point of view, to weak settings.

  With this enabled, all Sample values will be squared. So 10 Samples become 100 Samples.
  For the Non-Progressive Branched Path integrator: 4 AA Samples * 5 Diffuse Samples would become 16 AA Samples * 25 Diffuse = 400 in total.

Also see this related post and this thread on the bf-cycles mailing list


Make an object's visibility controlled by another object or an empty I'd like to use a non-rendering object (say, a filled-in circle, empty, or a sphere) to control the visibility of another object (say, a grid floor). See image below made with Photoshop. The size of the "mask" object controls how big the visible area of the floor is when rendered. Yeah, I know I can do this in post quite easily, but I want to be able to do it within Blender using cycles nodes.

If you only plan to use a circular mask you can use the Object option of the Cycles Texture Coordinate node to use any independent object as mapping origin for any texture.

This will allow using that object's position and transforms to control other material or texture through its position relative to the objects said material is applied to.

To do so just create a circular mask (you can do this easily with a Gradient texture set to Circular) and use it as mask to mix between two shaders. In your case mix whatever shader you liek to floor to be with a Transparent one to make it invisible outside a certain radius.

Use a Texture Coordinate probably set to Object coordinates and use the Object box to pick the desired empty - or sphere - to drive its positioning or scale. You can adjust the radius of the opaque part by scaling the empty.

You can achieve other "mask shapes" easily as long as you can recreate them procedurally with the available nodes. Otherwise you will probably have to use an image based texture for that. You can also try Dynamic Paint if you need the mask shape to actually follow some random object shape intersecting with the ground plane.


Cycles: Apply gradient to light cone setup with spotlight lamp I created a simple light cone using a mesh which uses a node setup with Subsurf Scattering and Transparent. The mesh is lit by a spotlight lamp.

The result is fairly ok for a quick setup (noise is ok as it is just a quick preview :-)), but I would like to add a gradient, so that the very top of the light cone is brighter and near the ground it gets more transparent and you cannot see the lowest edge.

I tried to setup a mix of Texture Coordinate/Mapping/Gradient Texture/ColorRamp and plug it into the Subsurf Scattering node but I did not get the values right. The best I got out of this is:

But as you can see the cone is all in all much smoother but I did not achieve the top-down=bright-transparent effect. These are good reference examples as for what I would like to achieve:

Any ideas?
(Before I tried this setup I also tried to plug the gradient nodes into a Volume Scatter node and this one into the volume of the Output and the Transparent node into the color of the Output: This setup made the desired bright at the top effect but the bottom stayed black/dark and not transparent at all))

As mentioned in the comments under your question, this can be achieved using an emission shader connected to the volume output of a material with a gradient texture controlling the strength.

You will need to adjust the coordinates for the gradient texture however, as the default gradient texture has the gradient along the x axis. Using a texture coordinates node with the generated output connected to a mapping node we can position the texture however you like. To get the gradient in the direction you desire you will need to set the Y rotation to 90, which will rotate the gradient texture on the Y axis by 90 degrees, making it look like you want. You can also adjust the length over which the gradient falloff occurs by adjusting the z scale (lower values will stretch the texture more) and the X location (to move it up and down). The reason that you need to use X location instead of Z location is the mapping node applies location, then rotation, then scale, so the 90 degree rotation on the Y axis makes the X location become the Z location.

As josh sanfelici did in his setup, you can add a math node set to multiply (between the gradient texture and the emission shader) to control the strength, however in many cases you can get away with only positioning and scaling the texture to suit your needs.

Here is a node setup that will do what you want:


How can I join the geometry of intersecting faces/planes and then remove parts? As a small example, I have two intersecting faces, both part of a larger object. Without destroying the textures, I'd like to connect them (so they share vertices) where they intersect. That way I can create edges and delete whatever sections I wish to remove. Here is a small example:

My cumbersome method so far is to subdivide an edge, slide the vertex to where it looks like it meets, draw new lines, delete original faces, create new faces, and remap the UV. Is there an easier way?

Below is a larger example. The following link is a small piece of my blend project of which I'm trying to do this maneuver on. In short, I want to remove all the green on the inside of the brown and all the brown on the inside of the green. I hope that makes sense :-)

http://www.pasteall.org/blend/29003

example2 http://www.pasteall.org/pic/show.php?id=70940

Separate, add Boolean Modifiers, then Rejoin

You can achieve this by:

Separating the different planes into different objects.
Adding a Boolean modifier set to either Union or Intersect on both of your planes, then applying both modifiers. The result is that both planes will have perfectly made edges where they intersect.
You can then Join them into one mesh and edit parts of each as you wish without disrupting the textures of either plane.

For example, here there are 2 intersecting planes, both part of one object:

Here's how you begin:

Select the object, enter Edit mode (TAB) and then separate each plane to be it's own object with the following method:

Select one plane → Separate (P) → Selection

Repeat this until each plane has been separated, then exit Edit mode with TAB.
NOTE: Do not move either plane from it's location so they will still be in the proper place when you rejoin them back to the larger object at the end.
Add a Boolean modifier to each plane:
Select plane → Object Properties panel → Modifiers tab → Boolean

Set the Operation to Union or Intersect
Set the Object to the other plane

For example, here is the modifier added to the "Blender Logo plane":

And here is the modifier on the "Blank plane":

Click the Apply button on both modifiers
Select both planes and the larger structure they were part of, then use Join (CTRLJ) to join them back into one mesh again

The result is you now have one mesh object with perfectly marked edges where the planes intersected, and you can edit the faces as you wish without disrupting the textures:

NOTE: I'm using 2.70a and there may be a bug in the Boolean modifiers: I noticed that sometimes when I clicked "Apply" on the modifiers, the planes disappeared sometimes, and other times they behaved oddly. If this happens, just use Undo (CTRLZ) to go back to before you clicked "Apply" and try again. Eventually it worked for me.
:)


Texturing help for elevator interior I'm extremely new to Blender. Just learned the basics over the weekend. Texturing is easily one of the aspects I'm worst at. I need some help making a texture for the inside of an elevator. The metal in elevators always has that unique reflective vertical strips look. I have no idea how to replicate it in Blender.

As it is a brushed metal you should use an Anisotropic node. It is a Glossy node but it stretches the reflection on a certain axis (Z by default but you can plug an Input > Tangent node in the Tangent socket if necessary). Also plug a b&w texture to give it apparent vertical lines.


Why does the frame around the camera flicker while running the BGE embedded player? Why does the black frame around the camera flicker when playing the game?

Here's a video showing what it looks like:
https://www.youtube.com/watch?v=7E5S9V1AtHI

I quess this has something to do with the transparency of the area out of the camera region. By trial and error, I figured out that the flicker dissapears when you set the passepartout to 1.0.

However, in my case some of the text objects in the UI still flicker.


Shade Smooth Render Lines I want to simply smooth out the circle faces on the object using the Shade Smooth render selection. However, all the faces are affected by the smooth render and I get a stretched lines look to the faces. I tried to select (in edit mode) the required faces I want smoothed out but with applying the Shade Smoother render (in object mode) the whole object is affected by the smooth render. Thanks in advance with any help to resolve this.

Of course you can smooth only some faces.

Manual way:
In Edit mode, select your faces and go to Mesh > Shading > Smooth faces.
this will only affect selected faces.

Automatic way:
Go to Object Data tab, and check Auto Smooth option.
You can set how sharp edges wil be affected.
Your object needs to be set to Smooth Shading for this to work.

You can still manually mark edges you want as sharp.
Just select your edges and go to Edge > Mark Sharp.


How do I make my textured plane into a cylinder? I want to make a tunnel with a texture on inner walls.

How can I make my plane into a cylinder?

Why so? Instead,  make a NURBS/bezier semicircle and extrude it, setting the desired value in the Geometry section. Convert it to mesh, solidify outside and texturize the wall inside.To do that give it a different material color.

or simpler yet

Add a circle mesh, remove half of its vertices and extrude. Then do as above.


Can't open a file in blender 2.79 I have two blenders on my computer I made a file in 2.79 and colored the model in 2.9 then I was about to start coding a game for the same file in 2.79 (as in 2.9 it doesn't have those many features for coding). But as I was open the file in 2.79 it didn't open and I was also working on some projects simultaneously they were also closed automatically.
pls, tell the answer :'(

In general, when you save or create something in a newer version of a software then you can't open it in older ones. If you want to keep working your file in 2.79 try opening that version of the program and on the top left corner go to File>Recover>Auto Save... I'm using 2.90 though but I hope that's the same in 2.79 as well.


Black plasma BPS rig skin glitch I have a problem with the blender BPS rig v2. When I give it a skin the skin is messed up. When I remove all second layers it is ok but then my second layers are gone. I guess the problem is that the skin version is for 1.8 and the BPS is set to 1.7.10 and arbiter made a video about that but it is for the old rig nit for the v2. And in the v2 there are no UV maps for the other version. Can you tell me how to solve the problem?

I solved the problem! It was mcprep! The function prep materials made the skin glitch when improve gui wqs activated


GPU along with CPU rendering performance Blender 2.8 has a user preference of using GPU and CPU simultaneously during rendering. So, when a scene is getting rendered using this preference and 4 threads:

Is it true that during the beginning of render, GPU renders 1 tile and CPU cores render 3 tiles?
And also, suppose that near the end of render, 4 tiles remain to render. GPU starts rendering a tile and CPU cores start rendering remaining 3. As GPU would finish its tile faster than CPU cores, will it become idle while CPU cores slowly finish their tiles? Or will it take control of another tile from a CPU core to finish rendering faster?

I have tested this by rendering BMW scene at 256*240 (with tile size 128*180). So:
 1. It is true that during the beginning of render, GPU renders 1 tile and CPU cores render 3 tiles according to MSI Afterburner, which shows 99% GPU usage.
 2. Near the end of render, GPU usage becomes 0% while CPU cores render remaining 3 tiles slowly.


How to apply two different materials in Blender Internal on front faces and back faces, *while involving transparency* Basically, I want to see through the transparent front faces to the opaque back faces. This isn't the same as flipping all normals and executing backface culling because I want the front faces to be slightly visible, using its specular highlights and/or ramped fresnel.

I made two materials, one a diffuse (though i have enabled the transparency checkbox just in case) and another a transparent material, and mixed them in the node editor with Geometry>Front/Back as the factor.

How to get the backfaces to show through the transparent front faces?

If anything plugs into the alpha output, it doesn't do the job, it makes an alpha blank space through the whole object.

How to execute a combined output without having two meshes overlapping?

Thanks in advance!

An added bonus would be if such a material would work in the GLSL viewport, that'd have me just overjoyed haha.
(Also coming from a cycles material mix node background might be why this is so confusing to me. I know Blender Internal uses a MixRGB only, which is mixing the color values, and not actual shaders, and that's the problem. But I hope this is still possible in BI... maybe some BGE settings?)

I'm not having this issue.
Use the Backfacing output of a Geometry node to drive the Fac input of a mix shader. The top Shader input is what will show up on the front face and the bottom Shader input is what will be on the back face.
Also, I enabled Alpha Clipping on the front face material in the material Settings panel. Backface culling is also turned off for the front face material.


Trouble adding two normal maps to an object I'm having trouble adding two normal maps to a leather seat. I'm using the principled shader and each normal map has it's own uv map. When I add the second normal map it adds unwanted distortion.

This may not answer your question and I cant even explain what is going on but maybe this can help you.

Since I cant explain this answer I will take it down if I get yelled at or downvoted. lol

This is for using 2 normal maps (or more):

I have never plugged a normal map directly into displacement socket. I don't know if that is causing the problem or not.

I attached the .blend file so you can just append the node tree if you want.


Why my texture becomes black in certain regions? I'm trying to implement some kind of Ian Hubert style. I use a PBR texture for the wall, mixed a brick PBR texture with a moss PBR texture and used some other image textures for the windows and such. As you can see in the following image, the texture gets black for whatever reason:

The same thing happens in the viewport preview (it's a different version of the scene):

How do I mix the textures:

As you can see the texture becomes black at a certain angle. The blend mode is set to opaque:

Interestingly, there is no issue when using Eevee:

I don't get why is this is happening and what I can do to get rid of those artefacts. Can you guys please give me any advice or ideally some suggestions how to fix this in cycles?

in case several textures are overlaying - I assume the green parts contain an alpha channel - have you enabled the Blend-Value within the Render-Settings?


Are there any ways to speed up blender compositor? I have switched companies for a while, while in my last company we where using Fusion for compositing, in the new one we are using Blender.

I find it a bit hard to transition because of 2 main reasons:

The nodes look very messy because of all the squiggly lines and its sometimes hard to follow a path naturally.

The most important one:

Once you start adding a couple of nodes it becomes really slow, it seems to always be compositing something, if I move a node, it composites, if I make changes to a node that doesn't affect the final image, it composites. I like using the software but it can become very annoying.

You can change the lines to be straight by going to "File > User Preferences > Themes > Node Editor > Noodle Curving".

You can disable "Use Nodes" to keep it from updating until you are done moving.


How can i keep deformed skinned mesh and rigged bones after scaling them? i rigged a mesh with bones, an Eagle model i'been making, and then i scaled the wings by scaling the bones, but now i want to keep the mesh like that (bigger wings) plus the scaled bones, but everything as if it were the main, basic position of it, how can i do that?
If i go to object mode, the model gets smaller, but i want to keep the present proportions in Pose mode as the base one.

Thanks in regard.

Pose your model as wanted, select your mesh, in the properties panel - object mode  - apply the armature modifier, select the armature in pose mode, select all bones, Ctrl+A
 "Apply pose as rest pose", then select the mesh and readd an armature modifier, choose your rig as "object".

Be aware that the new rig will not execute old animations properly.


how to i add 3d textures to my model I am trying to make a robot model. im have created the model however I need to make the body look like its a cubulation of wires. this is the texture that I want my model to be similar too

this is the model that I am making. since for me it would be to hard to turn it into wires as a modeling standpoint. since there would be too much stuff and im making this for animation/ gameplay I need a kind of 3d texture in order to make it look real and looks good.

So the eventual answere to your problem is microdisplacements
It is a concept that if you have enough uniform geometry in your mesh , you can displace you mesh in different directions to form some interesting patters or designs , to use it , you can
Add a plane and subdive to get upto 10k faces
Add a displace modifier and select add texture
In the texture tab (bellow materials tab)
open your added texture(in modifier) and change it from image to cloud(for example)
Now your mesh has alot of bumps nd valleys , this is a simple example of micro displacements
Ususally this displacement is controlled by a image texture (in this case the cloud texture is a procedurally produced image texture) where darker areas result in deeper displacement and lighter result in higher
In your case a displacement map of wires can help , wher u can find , that can be solved by u
For more detailed informstion visit https://docs.blender.org/manual/en/latest/modeling/modifiers/deform/displace.html


What exactly does the Select Similar > Face Regions operator do? When I select a mesh in my scene and press Shift+G to Select Similar > Face Regions, it seems to select all meshes that are constructed the same. I can't seem to find any information on what this operation does exactly, other than what it appears to be doing. Can someone please enlighten me?

Select Similar Face Regions will select all faces similar with the topology of your selection.


How to use Ctrl-Mouse in ubuntu I use ubuntu16.04 for blender-2.79b. I have problems where I cannot use the Ctrl in combination with the Mouse action.
Examples are:

Ctrl-Scroll (scroll value)
Ctrl-Drag-LMB (cut node connections)

Ctrl-Keyboard, e.g. Ctrl-Z, works fine.

How can I resolve this?

I got this solved, in a kind of sad way.

The cause was that I had the mouse locator on. This over took the keyboard input of my Ctrl key.


At what point should an edge loop terminate? Apologies if my question doesn't make sense, I'm new to this!

Should the highlighted edge loops on my model continue to the end of the extremeties? If so, why don't they?

Here's the same model with the faces highlighted if it helps. As you can see, the upper and lower faces are joined at the knuckle. Is this correct?

Thanks

Face loops only works with quad polygons which always have two opposing edges. A face loop does not depend on the shape of the quads face, it will always follow the opposing edge to the next face.

Edge loops are a bit more sophisticated. If you loop select a free edge (one that only touches one face) the loop will try to find other connected free edges. This depends on the angles of the edges. If you loop select a closed edge, it will try to find the opposing edge at any vertex, which works fine if four edges meet but not if five or three meet.


Cycles option to merge multiple renders instead of one big render? From this answer: Why do fireflies increase with number of samples when using a hdri light source?

It seems like you can get much nicer, faster rendering with low samples, image merging. However, I'm rendering an animation and compositing each of the 250 frames 20 times simply isn't a realistic option.

Is there a way to do this automatically for animations?

The reason why the low sample image merging works, is that

  the 1000000 watt pixel will have to be 1, which is much easier to average with the corresponding pixel from another version of the image

(quoted from the article you linked to).

In other words, it clamps all of the bright pixels at one when you write it out to an image format like a PNG. This means, though, that if you wrote to an image format with an extended range, like HDR or EXR, this method wouldn't be effective.

When Cycles samples a pixel, it basically averages together the values of possible paths the light could take, not really any different than what you would do by averaging together low sample images with different seed values.

Therefore, all you are really doing is just what Cycles does anyway. When you write out to images like PNGs or TIFFs, you are clamping the bright pixels. You can get the same results, with more control, even, by adjusting the Clamp Direct and Clamp Indirect values.

When the clamping value is anything other than zero, Cycles will make that the maximum brightness of any pixel that it samples. This means that clamping can check for über-bright pixels every sample, not just every 128 samples, or however many you are using. This also allows you to clamp indirect and direct samples separately. This is useful, since indirect sampling is usually more noisy than direct sampling. Don't make your clamping values too low, though, or your image will become dark, which can make it grainy.

Example

Average of 4 images, each with 128 samples, total rendertime about 1 min 20 sec:

Single image with 256 samples, Clamp Indirect at 3 and Clamp Direct at 5, total rendertime 40 sec:

There is a better reduction of fireflies through clamping instead averaging together differently seeded images. Plus, the clamped one had a faster rendertime, since it had half the samples. You'd be better off clamping.

Here is the Blender manual page on clamping.


Animate objects following a grease pencil stroke? Hi there my question is can you animate something on top of your grease pencil stroke? Make it act like a train track and your default cube as the train. The cube element would just move on the grease pencil stroke from beginning to end? I know python I just needed to be pointed to the right direction to get started.

I don't think it is possible to use a Grease Pencil stroke directly as animation path.

What you could try instead is convert the desired grease pencil stroke to a Bezier Curve object and use it instead.

If you need the original grease pencil try converting a copy of it instead, so you can keep both intact.

This answer describes how you can do it in more detail.


Lock some directions (X,Y,Z) of transformation (scale, rotation, location) in edit mode? In the object mode we can lock some directions (X,Y,Z) of transformation (scale, rotation, location) for the object by using the locks. But can I do this for the vertices and faces in edit mode, too?

While in edit mode, with elements (faces, edges or vertices) selected, you can cycle through various translate/scaling/rotation restrictions by hitting the X,Y or Z buttons. While moving (hit 'g') a vertex (for example) with your mouse, hit 'X' once. The vertex will be restricted to moving along the world coordinate x-axis from its original location. Hit 'X' again, and it is restricted to the local coordinate x-axis. Hit 'X' once again, and the restriction is removed.

You may also use Shift with X,Y or Z. This would place restrictions on ONLY the selected axis. For example, 'X' allows ONLY changes along the x axis, while 'Shift-X' allows changes on the y and z axis but NOT the x axis.

Again, this applies equally to Moving (g), Rotating (r) and Scaling (s).


How do I make objects jump back to start within a given radius of an area after a collision to a specific object? How do I make objects jump back to start within a given radius of an area after a collision to a specific object?

What I am trying to do is make a rotating snow plain (who's texture is invisible) jump back up to its initial Z position and choose a random X, Y position within a specific radius. I would like for it to do this after colliding with a specific plain object that's been placed under the terrain.

[out of game snow]

[Edited version to better show what I need]
[]2

While I wasn't exactly able to get the effect I wanted using this method I found that I could take a UV sphere, or possibly an Ico-Sphere and set the texture to an alpha clip while also simply rotating them on the Z and X(y depending on which way you want it to rotate) directions. This gives a nice looking snow effect, and might even work with dust. The shape must always be close to the ground in order for it to give a desired effect.


Brushes Drawing Perpendicular Lines? All sculpting brushes draw two straight lines and out come two lines, each with an accompnaying perpendicular line. Any idea what's going on here?

Edit: I should also mention that it only happens in this singular location. No where else really. So I don't think it could be an issue with the axis.

Strongly suspect symmetry across x or y axis is engaged Martin! Many fun parameters located at bottom of 'Tools' tab of toolbox (shortcut T, or can be pulled out from tiny "+" at left edge of main 3d viewport).  :-)


Load and Retarget via bpy (Blender python) I successfully retargeted a makehuman mesh (mhx) with a bvh file in blender using the python script.

bpy.ops.mcp.load_and_retarget

Is there a way to specify the number of frames to be retargeted?
By default, it retargets only 250 frames.

My bvh has 880 animated frames. I edited the default value in props.py from 250 to 880 and it works fine. But this is not an authentic solution.

Could you please suggest a better solution.

According the manual you can use bpy.ops.import_anim.bvh operator to import a .bvh file:

  bpy.ops.import_anim.bvh(filepath="", axis_up='Y', axis_forward='-Z',
  filter_glob="*.bvh", target='ARMATURE', global_scale=1.0,
  frame_start=1, use_fps_scale=False, use_cyclic=False,
  rotate_mode='NATIVE')

As you mentioned, next step is to Retarget, but it seems bpy.ops.mcp.load_and_retarget only works for the length of the current timeline (250 active frames by default).

Unfortunately there is no parameter to set the length of the animation and adjust the timeline in both methods. But if you know the length of the imported bvh, you can simply assign the value to Scene.frame_end between the execution of both methods:

scn = bpy.context.scene # get the current scene
# execute bvh operator
scn.frame_end = 777 # set new end frame
# execute retarget operator

To get the length of the bvh animation and set the end frame dynamically, find the last keyframe of the imported objects via actions or animation_data, see this answers: How to find number of animated frames in a scene via python?


My object isn't showing up when I import it Whenever I import something, it doesn't show up. I have tried it with different objects but it still won't work.

As you can see in the picture, it looks like something is selected but you can't see it.

If your object has been imported without errors, you should be able to see it in the outliner:

If it's there, select it in the outliner (left click on its name).

You will be able to check its size in the "Number" panel at the right of the 3D viewport: if it's not showing, press N to open it. Look under "Transform">"Dimensions":

dimensions too small (smaller than 0.01) or too big (larger than 100) can be tricky to visualize. Scale your object up or down by using S and then moving the mouse until the dimensions are around 1.

You can also hit . to center your object into view.

If your object has dimensions of zero, there were probably some issues with the file format and/or the 3D information hasn't been imported properly. If that's the case, you should provide more information about the file format and the tools you are using to import it.


Make the wall of a UV sphere collide-able in untiy? i followed the tutorial in this answer to make the hemisphere.
but when i added it to unity and generated the colliders , the BASE of the sphere had a collider on it.
(imagine if hemisphere had like a cover under it).
i want the collider to just cover the thickness of the walls of the hemisphere , not the bottom of the sphere.

[edit] i just want to add that when importing it to unity and enabling to generate collision, it doesn't worth either, i have to enable the convex option for it to work.

For anyone still having the same issue, just simply go to blender, select all vertices while in the Edit mode, go to Mesh,Normals and then invert the normals.
and then import it in unity as an obj file.


Python script has no effect when running as background I'm trying to render some still images of a scene but switch the image texture using a script with the Blender command line. I made a script to set the image of an image texture node in the scene. When I run it within Blender with Run Script or run it with --python-text when launching Blender from the terminal the image is set correctly, but it has no effect when I run it along as GUI-less background with -b.

I'm still finding my way around the API so this is the extent of the script:

import bpy
import os

def set_texture_image(img):
    bpy.data.objects["Cube"].select = true
    mat_tree = bpy.data.objects["Cube"].material_slots[0].material.node_tree
    mat_tree.nodes["Image Texture.001"].image = img

new_image = bpy.data.images.load('//../../Pictures/cubes.png')
set_texture_image(new_image)

I was missing something obvious: I need to render from within the script after I make the changes I need. This exchange helped. Otherwise it renders the image with the command line arguments before the script is run. If I launched Blender with the script or ran the script normally I could run a render later and it worked.

Adding bpy.ops.render.render(write_still=True) worked. All the render settings are set within the scene with the UI.


Why is my smoke animating on preview but not on render? I am trying to do a simple smoke simulation using the Quick Smoke effect and the problem I am running into is that although my smoke shows and animates fine on preview, when I start rendering it just stays still, a big smokey blob around my emitter object. It appears to be simply rendering Frame 1 of the smoke in each frame.

I have tried to bake the animation in my Smoke Domain and my Emitter object ( because I don't honestly understand which is the one that 'owns' the smoke in this regard ) and save the project afterwards but that didn't change anything.

This is the only frame that appears to get animated. The behaviour is the same between Eevee and Cycles so I assume it is something I'm doing wrong.

My smoke domain looks like this:

What do I need to add or change in order for my animation to behave the same way in render that it does in preview?

This also apply's to fluid simulation. Do not change the file format it will cause more issues than you can count

There is one key reason why it will not show in render(Don't worry all the settings are fine) the reason is the "Type" under cache is set to "Replay".

The type replay is typically used for quickly making smoke simulation and finding laws quickly and will bake while the animation is playing in view port. But this is not like the old smoke simulation engine where just playing the animation thing in view port will bake it properly and save it to disk. Because the simulation data is not saved to disk when you go to render it it will have no information about where the smoke is or anything about it (you can say it's in ram but Blender won't use that). Therefore it will render nothing or the same data as the last one used(last frame con occur due to other things) it will normally render nothing.

There is an easy fix for this to set the Cache type to Modular ,or Final.

Modular = Independently bake everything, bake the smoke then the noise then anything else

Final = Bakes everything at once for this one simulation, I do not suggest using this because one issue in the actual smoke simulation can make you bake the entire thing again

Do not change the file format


How to create a curved road in blender I need to construct a track for a racing game. Can anyone suggest some good tutorials for creating a curved road.

You could do it this way:

Create your road section, subdivide it a bit:

Create your road profile with a curve.
In Edit mode, enable the normals display and make sure that the direction is correct, otherwise press W > Switch Direction:

Select your road section and put it at the same point as the curve origin (select the curve, then ShiftS > Cursor to Selected, then select the mesh and ShiftS > Selection to Cursor):

Give your road section an Array modifier, choose the amount of iterations (Count value), enable the Merge option.
Give your road section an Curve modifier, choose the curve as Object. The object will follow along the curve. You can add a Subdivision Surface and click Smooth Shading to smooth it.

Now let's imagine that you want a bumpy terrain:

Create your terrain, create your curve, subdivide your curve a bit:

Give your curve a Shrinkwrap modifier so that it follows the terrain relief. Apply the modifier:

Follow the same steps as before, create a road section and make it follow the curve:

Once you are about glad, apply the Array and the Curve modifiers and bring some corrections manually to make a correct topology and to make it stick nicely to the terrain:

Last possibility: You need the road to be flat on a bumpy terrain. In that case you can use a Shrinkwrap modifier on the terrain so that it sticks to the road, then smooth its topology in Sculpt mode, see here.


how i bake my node setup in cycles? as you can see in the screenshots i want to bake the same result of the viewport as new baked texture,and the same goes for the other nodes beside it, but i dont see anyway to do it, i tried with baking with diffuse and it bakes a black or white texture with shadows from the hdri lighting, also obviously i want my texture shadeless, which means none hdri lighting baked on it. and BTW how can i add a clearcoat as a texture which means more glossiness in the surface but in the red painted part only (tho i have to invert the textures cuz i want the red look like car paint and the metal less glossy than it is).

the texture that i want to bake just like appears rendered  full node preview

EDIT: i finally could bake this i just had to bake it with a diffuse shader which means i had to put my node setup in the color input of the diffuse node and then add other separate image with a new image created and just keep it selected and without plugging it in another node and then go to the bake settings, select diffuse, and uncheck direct and indirect button and then bake and wait until the bake was done.


Animate Glass BSDF Index of Refraction over Time? Is there a way to animate the index of refraction of a glass material so that it will change from say 1.1 at frame 10 to 1.8 at frame 30?

Have you keyframed them? Go to frame 10 in the timeline, set the IOR to 1.1, right-click the IOR, click "insert keyframe." Go to frame 30, set the IOR to 1.8, and insert the keyframe again.


Keyframing from properties panel and from 3d viewport creates different entry on Graph Editor I have Bone.001 Armature selected, and I want rotate it and set a keyframe.

If I try to set the keyframe by pressing I while hovering my mouse pointer over the rotation properties on the properties panel, the following entry is created in the Graph Editor, (the rotation turns yellow when the keyframe is set)

But if I try to set the keyframe by pressing I when the mouse pointer is on the 3d viewport and selecting Rotation from the context menu, I get a different entry in the graph editor,

Notice that in the first one, the keyframes are enlisted under "ArmatureAction" and in the second one, the keyframes are enlisted under "ArmatureAction > Bone.001". The second one makes sense to me because I am recording the transformation of Bone.001 so the transformations should be enlisted under the name of the object.

Question is, what's the usefulness of first approach?

Rather than the former being a deviation from the latter, the latter seems like an automation implemented for convenience reasons.

Channel groups can be created manually with Ctrl + G. When inserting a Keyframe on a property in the UI rather than with I in the 3D View, in my experience it's usually something miscellaneous like render settings.

The Samples and Preview Samples properties have only one instance per Scene, and the Scene already has an all-encompassing group element in the form of SceneAction.


Object properties for just a specific object with python? So i have an object properties panel but the values set are identical across every object. So for example I have an int value on a cube set to 2 but then all objects are now set to 2. How could  that value be set to just that cube as selecting another object will use the same value? Code:

bl_info = {
    "name": "Test",
    "author": "",
    "version": (1, 0),
    "blender": (2, 75, 0),
    "location": "View3D > Add > Mesh > New Object",
    "description": "",
    "warning": "",
    "wiki_url": "",
    "category": "New Addon",
    }

import bpy
from bpy.types import Operator
from bpy.props import FloatVectorProperty
from bpy_extras.object_utils import AddObjectHelper, object_data_add
from mathutils import Vector
from bl_operators.presets import AddPresetBase

from bpy.props import (StringProperty,
                       BoolProperty,
                       IntProperty,
                       FloatProperty,
                       EnumProperty,
                       PointerProperty,
                       )
from bpy.types import (Panel,
                       AddonPreferences,
                       PropertyGroup,
                       )

def initprop():
    bpy.types.Scene.IntCheckpoint = bpy.props.IntProperty(
    name="Check Point",
    description="Checkpoints to prevent skipping certain paths",
    min=-1, max=99999,
    default=-1) #-1 disables a check!

def delprop():
    del bpy.types.Scene.IntCheckpoint

class ObjectPanel(bpy.types.Panel):
    bl_label = "Hello from Object context"
    bl_space_type = "PROPERTIES"
    bl_region_type = "WINDOW"
    bl_context = "object"

    def draw(self, context):
        scene = context.scene
        obj = context.object
        layout = self.layout
        layout.label("First row")
        row = layout.row(align=True)
        row.alignment = 'EXPAND'
        row = layout.row()
        row = layout.row()
        col = layout.column(align=True)
        scn = bpy.context.scene
        col.prop(scene, "IntCheckpoint") #This needs to be changeable for each object
        row = layout.row()

# Registration

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

def unregister():
    bpy.utils.unregister_module(__name__)
    delprop()

if __name__ == "__main__":
    register()

The code should work in blender's text editor.

Your property is being created for the scenes, when you want to create it for the objects. So this:

bpy.types.Scene.IntCheckpoint

needs to be changed to this:

bpy.types.Object.IntCheckpoint

And then in your panel you'll change this:

col.prop(scene, "IntCheckpoint")

to this:

col.prop(obj, "IntCheckpoint")

So to create a property specific to a type, you have to use that type in your property declaration.


How do I set Maximum emission strength? Is there a way to set the Maximum strength of a material using nodes?, I tried this thinking it would make any values higher than 10 to be set to 10

so, with my logic this would "work" because the maximum value possible is 10 but the value is 76.3, and because it's higher than 10, then 76.3 gets converted to 10.

but clearly I am doing something wrong because it doesn't work :/

As the name implies the Maximum operations picks the maximum of the two input values, meaning it chooses the greatest of the two.

In your case by calculating the maximum between $10$ and $76.3$ you obtain a resulting intensity value of the highest input, hence  $76.3$.

From what what you describe you seem to want the opposite operation. If you set it to Minimum it will pick the smallest value of the two, effectively limiting emission to $10$, or whichever value is lowest.


Complexity versus NGons! New 3D enthusiast here with a very basic question: for game assets which is more desirable:

1). The complete lack of ngons? or
2). A reduced triangle count?

Here is a little more detail:

I am building a game asset, a vending machine, which is basically a big, bulky rectangular box (it will not be animated). But, because of the many details on it, it has a lot of faces subdivided, creating a large number of--seemingly--unnecessary faces that could easily be joined. This, however, would obviously create a lot of Ngons. So, I am at a dilemma. I really want to simplify the model by reducing the number of faces (it would not only make the mesh simpler to work with, but I assume the less faces also equal faster rendering, which is crucial for a game component), but I know this would create Ngons, which are supposed to be really bad (although I do not yet complete understand why).

Here is an image of my mesh:

Because I am a beginner, I do not want bad habits to take root in my workflow. I want to approach and learn 3D modeling the right way. That is why I ask this question from you guys with much more experience than myself.

Let's start with the question first.

Ngons' behavior in game?

It will become Triangle faces that support the ngons vertices, exactly same when you manually triangulate any face in Blender, with some algorithm you don't know or don't care.

So the answer seems to be clear: You need to know when will an Ngons behave as same you want

We could divide the situations in following:

1. The Ngons is flat

Then the algorithm matters, in Blender, most of the ngons can be easily triangulate:

But not all game engine use a good algorithm to deal with this thing, it might be confuse by the strange behavior, or the ngons corners is not always convex. And the UV coordinates might be messed up. You should better try it in the game editor to test it.

2. The Ngons is not flat

If the angle is small, it will be OK with the same issue in flat Ngons. But when the angle is quite big. Don't use that ngons. Quick example:

The face with 2 vertices in different height cause render engine confuse. When manually triangulate it, it might not be the thing you see in view port before.

conclusion

Don't keep ngons when you are not sure what will happen to it. Use CtrlT to make them triangle, especially when it is not a flat plane.

The rest of the things

And your mesh: Separate those detail mesh if doing it will keep the mesh clean

If you are creating the game asset, then you might want to bake those detail to bump and normal map, or even displacement map. And Ngons might not be bad if the ngons is flat, and clear to triangulate. You should try on rough attempt, export the object to game engine and see what will happen.

And also, it is not that evil to separate the mesh that should be one thing in real-life. If the object is craft in that way (traditional way, not CNC or 3D printing), then do the same thing in modeling.

You may need to decrease the vertices on the large object and use details map textures. But for the tiny thing like buttons and grips, make it separated help a lot in your topologies. Look at the mesh in your vendor machine, those checked edges are meaningless.

It won't cause large overhead using multiple mesh toward rendering. In fact, there is no any cost when the vertices is not connected, the shader(program who draw your scene) only care about the number of vertices, faces and of course the textures. On the other hand, a complicated, well constructed mesh will slowdown your shader by the large amount of vertices and geometry.

But keep in mind: The shader used in these separated meshes should be the same one. Otherwise, this object will be treated as multiple draw calls. That's why it is not recommend to add too much material(shader) to your game object in Unity or other game engine.


Tesselation vs. Displacement Mapping Just had a quick question, is there a difference between tesselation and displacement mapping?  On another forum I read this:

"Tessellation in itself only smooths out things by subdividing the polygons.
Displacement Mapping tessellates and deforms a surface based on a height map."

I also found this on wiki when looking up tesselation:
"Tessellation can also be used for implementing subdivision surfaces, level of detail scaling and fine displacement mapping.[4] OpenGL 4.0 uses a similar pipeline, where tessellation into triangles is controlled by the Tessellation Control Shader and a set of four tessellation parameters"

This would suggest that tesselation is a process that can use fine displacement mapping.  I am just seeing this come up in other 3D programs and want to keep all of the terminology straight in my head.

Thanks guys!

I think the most accurate thing would be to say:

Tessellation is the process of procedurally generating additional faces.  Such as subdivision, Catmull-Clark or simple.  There are other algorithms as well.  Procedurally as opposed to manually, although of course procedural tools are useful for the artist doing manual work.

Displacement mapping is technically the process of mapping vertices to arrays to specify displacements that a mesh should undergo.  Those "arrays" are just images (there's no difference, it's just in how you interpret the data.)  And the mapping, of course, is via UV coordinates.  But that's kind of pedantic and technical, and what we really mean is the process of displacing vertices-- of moving them a certain distance prior to rasterization or raytracing, as specified by our image/array, in a vector generally specified by the vertex's normal.

First, is there any reason to perform runtime displacement without tessellation?  Hell no!  You'd bake it into the model.  Why tell your video card to do math when you could precompute that math?  You'd just be wasting GPU cycles.

Is there any reason to do tessellation without displacement?  Well, yeah.  It'll improve the silhouette.  But once you do tessellation, you might as well start doing displacement too, it's not much more expensive, a texture lookup per vert is nothing these days.

So-- no, displacement mapping does not include tessellation, not necessarily.  (Try a displacement modifier in Blender without doing a subidivide first: possible, not recommended.)  Can tessellation be used for implementing displacement mapping?  Well, yeah, it's an important part of most displacement strategies, but it's not the same thing, any more than planting food is the same thing as eating it.

Does tessellation use displacement mapping?  No.  Not in the slightest.  (Try subdividing without a displacement map-- oh wait, there's not even a slot for a displacement map on the subdiv modifier....) It enables fine displacement.

Finally: I know you want to get organized, but words are just words, and what's important are the concepts, the meaning.  You'd think 3D programmers would have their terminology straight, but very often they don't, and the reality is that when you don't understand exactly how someone is using a word, it's always worth clarifying.  Yes, even if you're talking to John Carmack.  Good books will define their terms, and you should read those definitions, and the instant you pick up a different book, you should read its definitions and forget the old definitions (for the duration of reading that book.)  Even when speaking with a single person, we can use a single word in multiple ways.  Try to figure out what people mean by "specular map" someday, that's always a fun one.


Objects not showing in viewport on Solid view Greetings fellow blenders.

I got tired of looking around for a fix and writing here is my last resource. I updated Blender from 2.80 to 2.81, and surprise: All objects in the viewport are displaying transparent in both eevee or Cycles. I am able to select them, and the outline of them shows up (see images for reference). Here is the strange thing, even the start up document (the general default with the cube) opens messed up.

That is in object mode. Whenever I change to edit mode, the object appears and shows correctly (see image)...

I was thinking maybe it was related to the fact Blender 2.81 might no longer support my video card, but how come it shows using edit mode?

Am I missing something here?

Images for reference:

Have you tried updating your GPU drivers? If not, try doing it. I can't think of anything else than old drivers. If that doesn't help you - you can try installing blender again. If that doesn't help too, go and report it here. It can be a bug.


How do I toggle the view between perspective/orthographic with out a numpad in 2.8? In 2.8, I'm trying not to use the emulate numpad option since that replaces the [1,2,3] selection modes in edit mode.

So far the '~' pie menu is pretty quick for switching views, but there's no option for changing the perspective. It looks like the action still only responds to Numpad 5, is there no other way without emulating the numbers?

There are 2 addons bundled with Blender called UI Pie Menu Official or alternatively 3D Viewport Pie Menus (for both 2.79 and 2.8). When enabled they provide list of menus you can call through pie menu, View Numpad Pie as one of them. Both of them have Persp/Ortho switch, though in second-level menu (first you need to hover over View Menu and click it, then click to execute perspective switch).

Depending on the addon perspective switch will be either under another level of pie menu or submenu of the currently chosen pie menu item.
Only nuance is that in 2.8 position of items in pie menus changed, so that in 2.79 View Menu is on the left, in 2.8 - on the right. If you use both versions you might need to adapt to that.