How can I reassign or move vertexes of a vertex group How can I update/modify the xyz coordinates of a vertex group.
I can get the vertex coordinates of the vertex group. BUT, what I want to do is reassign or move the vertex coordinates to a new list of coordinates.

I'm completely lost. It seems that I have the right context and data, but then I cannot figure out how to update/change the coords of the vertices. I've tried a number of things.

So here is the code raw. I first get the coords of the target vertices which are selected in the viewport (object), then I 'get' and print the vertices of the vertex group that I want to update coordinates to (see code).
BUT I can't figure out how to update the vertex coordinates. It's probably a noob easy-do but I can't figure it out!! Any help thanks!!! I'm going crazy here trying to figure this out.

import bpy
import bmesh

obj = bpy.context.active_object
objdata = bpy.context.active_object.data

vertices = obj.data.vertices
vertstarg = [obj.matrix_world * vert.co for vert in vertices]

# coordinates as tuples if needed
vertstargtup = [vert.to_tuple() for vert in vertstarg]
#print(vertstarg)

#bpy.ops.object.select_all(action='DESELECT')
for obj in bpy.data.objects:
    obj.select = False

#holy cow. have to make the object active before selecting. makes sense now.
bpy.context.scene.objects.active = bpy.data.objects['crvface.001']
bpy.data.objects['crvface.001'].select = True

obcage = bpy.context.object

bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_all(action = 'DESELECT')
bpy.ops.object.vertex_group_set_active(group='cagefacepts')
bpy.ops.object.vertex_group_select()

vgVerts = [ v for v in obcage.data.vertices if v.select ]

print(vgVerts)

#Ok so clearly I can access the vertices of obcage.data vertex group,
#but how to I update the coords from objcage.data.vertices to the list from
#vertstarg, which is a list of vector coords [or tuples if needed]???

tuples are read only you cant reasign its value.
try to use to_list() instead... i think.
[list(vert) for vert in  vertstarg]
then seems like you are doing nothing to your verts but selecting

grab the header bar down (the file menu) to see some info from operators. or go to de scripting window, there is on the top also.
almost every thing you do inside blender is shown on that "console"
see https://www.youtube.com/watch?v=2j75AM1Mttc


What causes a face to be created only partially? Trying to create a face Make Edge/Face F doesn't create the face completely.

Why remains this triangle unfilled?

.blend file

There are a lot of double vertices around the face, which meant that the selected edges around the missing triangle were not actually connected to the rest of the selection.
To fix this, select the vertices around that area, or select all (A) and press WR to remove doubles.
You seem to have a lot of doubles, it removed 305 vertices for me. Perhaps an accidentally applied edge split modifier or edge split operator (CtrlE>Edge Split or D)? It's possible to split edges without.
Identifying doubles:
You can tell that the upper left edge is not connected to the selected vertex because the orange gradient that normally appears along selected edges is not visible.

After merging the double vertices with Remove doubles it looks like this:

Now fill will work as expected:


Can't animate Z movement for camera For some reason, I opened blender this morning and created a keyframe via moving the camera higher (z axis). However, when I play the animation, nothing changes from the keyframe before that one to that one. It was working perfectly earlier yesterday. How can I fix this? Thanks.

EDIT: Here's the .blend file:

You have converted key frames to an Action Strip (AS):

NLA Blender documentation

Disclaimer: I'm not so versed in the AS.

EDIT for clarification : From the doc:

  The NLA editor can manipulate and repurpose actions, without the
  tedium of keyframe handling. Its often used to make broad, significant
  changes to a scene’s animation, with relative ease.

You convert key frames to Actions for easy reuse. Instead of key framing again or copy and paste keys (for example) of a running animation that need to repeat a couple of times, you repeat the cicle N times using the properies of the Action. Also you can Link Duplicate (Alt+D) an Action, this give you the ability to modify the original Action and all the successive Actions will be modified as well.

end EDIT

It means that all the key frames for the camera are now one Action Script, if you want to modify or add new keys you need to edit the Action Strip be selecting the AS and press TAB, now you can add a new key frame or delete them too.

I remember that the AS will override any key that is not in an action script in Tweak Mode. If  you want to add a new key but not in the same AS, your new key need to be converted to an AS in order to override the last AS. Or look at the properies to define if an AS last key is permanent.


Update Edge Info when using script in Edit Mode I'm editing a mesh using a script, while in Edit Mode. I need to display the Edge Angles while editing, but these don't get updated until I leave and re-enter Edit Mode.

Is there a function I can call to force updating the displayed Edge Angles while staying in Edit Mode?

Minimal example (slightly edited from "Bmesh Simple Editmode":

# This example assumes we have a mesh object in edit-mode

import bpy
import bmesh

# Get the active mesh
obj = bpy.context.edit_object
me = obj.data

# Get a BMesh representation
bm = bmesh.from_edit_mesh(me)

bm.faces.active = None

# Modify the BMesh, can do anything here...
bm.verts[0].co.x -= 1.0

# Show the updates in the viewport
# and recalculate n-gon tessellation.
bmesh.update_edit_mesh(me, True)

I'm trying to guess why you need to stay in edit mode. If it isn't critical you can add,

bpy.ops.object.editmode_toggle()
bpy.ops.object.editmode_toggle()

(both lines) before the call to update. This is essentially doing in code what you do manually in the gif - flipping from object back to edit mode to update the display of length values.

Updating the 3d view is also covered in this answer here


Undo isn't working correctly? When I push undo it seems to go back too far? How can I set it to go one step at a time? I don't belive I changed any settings.

Make sure you are undoing in the edit mode. Undoing in the edit mode will undo individual steps you made while editing your object (eg. moving vertices, extruding faces...). Undoing in object mode will undo every change made to that object while you were in edit mode.


Need help making an even slope. I'm new I'm looking to take the 4 vertices circled in red and raise them along the Z axis to create a slope with the same X axis coordinates as the slope with the green line such that all 5 faces create one smooth plane. I've been messing around trying to figure it out myself and I've tried searching for a solution but I couldn't find anything, or at least nothing that I could understand

With Pivot Center set to 'Active'..

in Edit>Face mode, select the face you want to flatten to
hit CtrlAltSpace to create a Custom Transform Orientation from the face. (Check 'Use After Creation' and, if you don't want your custom orientations to hang around in a list: 'Overwrite Previous')
in Edit>Edge mode, select the edge-loop around the hole
in Edit>Vertex mode (the hole edge-loop should still be selected, as vertices), also make one of the vertices on the orientation-face active, by Shift-selecting it last.
hit SZZ0, to scale the all your selected vertices to 0 along the normal (the local Z-axis) of the face defining your custom orientation, centered on the active vertex.


How do I bake a bone animation that has a constraint? I have a BVH where the leg has a wobble in the x rotation so I added a limit rotation constraint to remove the wobble.

How do I convert the bone's pose with the constraint to just keyframes of its position but without the constraint?

In Pose Mode go to menu Pose > Animation > Bake Action

Check: Visual Keying
Check: Clear Constraints
Bake Data: Pose
OK

The constraints will be removed from the bone but instead the bone will be keyframed to act as if the constraint is affecting its motion.


Can I "Paint" on my Objects? I hate to compare programs, but I am looking for a specific feature in Blender that is used in Maya. When in Maya, you can go to the render menu and use the "3D paint tool" to give color and texture to your objects. You can view those in real time, while editing, without having to render every single time that you move your object. Is there anything like this in Blender? Thank you in advance!!

Ethan

1: Select cube in edit mode with A and press Smart UV Project (Cycles blender mode).

2: In UV Image Editor press New Image and create your texture (P.S. don't forget save your texture with F3 save as a image).

3: In Node Editor press check box for use nodes (red box) and with Shift+A from texture menu select: Image Texture and your image.

4: Select Texture Paint and start painting.


How to make a shortcut key for switching to Texture paint mode? I cant find a key shortcut to use Texture paint mode. I wonder how can I make one cause it's a pain to have to change the mode using the menu back and forth.

There are no exact hotkeys for mode change. But you can assign custom keys by left-clicking on mode then click add shortcut and press key on keyboard to assign.

I recommend, before adding key as shortcut, go to user preferences->input-> change filter to keybinding then press shortcut to see what are assigned to it.

There is more related info in following link:
https://blenderartists.org/t/how-to-set-custom-shortcuts-for-mode-switching/626237


Reduce amount of noise on a material? I'm working on a Photorealistic 3D remodel of a room in my house, and i've run into a problem.

The wall and window frames are noisy to the moon and back. I'm not sure why exactly. I'm using the PBR Dialetric material Andrew Price made a video on for both the Window frame and Wall paint. The floor isn't using the PBR material and renders just fine. I want the wall paint to be yellow, and have a tint of glossy shader thrown in there.

Below you will find all my nodes explained to the best of my ability.

Oh, and here's the floor material:

Aaaaannnddd the lighting setup:

Any why not throw in the .Blend while we're at it?
The file exceeded Blend-Exchange by 1.1mb so I'll have to use Google Drive instead.

Your problem is your lighting. Since your only sources of lighting are the windows, Blender is having to compute a lot of bounces to get light the room, which results in a super grainy render. The first thing to do is to add light portals. These will direct Blender toward the windows for light.

Add an Area lamp. Position and rotate it directly behind your first window, pointing in, and size it just bigger than them. Change the shape to rectangle, and size it to fit the window. Check the "Portal" box.
Duplicate it and move it to the other windows. (For convenience, since they are all the same size, you can do a linked duplicate Alt + D.)

The above should help you get more light from your sun. However, you still don't have enough light overall in your room. I would add some other lamps either on the ceiling, behind your camera, or anywhere there is actually light (since you are replicating your own living room).

Also, since you are using an HDRI, enable "Multiple Importance" under the "Settings" panel in the "World" tab.

One last thing you can try is to increase the Max Bounces underneath the "Light Paths" tab. This will force Blender to calculate each light ray further, but this is very computationally intensive, and will do relatively little for you compared to other options.

EDIT: I just looked at the number of samples you are using, and those are crazy low. Crank those up! 50 at least!


No object or images found to bake to I tried to give a bake to make a texture from the selected object but it does not work. I've made a new image and you can even see it on the screenshot, image, .,Barrel.001" and tries to do it in UV editing or through the default layout selecting ,,tab'' and then ,,a'' to select the whole object but then I have the same error when I press bake.

it is kind of weird, but make sure the texture you bake to is present in your material node tree and make sure it is selected when you bake.


Theres something wrong with my viewport shading I'm a beginner and I was making a house while I found a problem. When I turn on the Scene World in viewport shading, weird shadow casts and my house turns black

The default in viewport shading uses an HDRI, which is an image that emits light from all angles, but your scene world has very low light, other than your area light that is pointing straight down.  The house "turns black" because nothing is lighting it.  You can go to the world properties and increase the strength of the world light or add an HDRI to your world.


Changing shape/size of green collision box Under the physics tab, when selecting "box" as collision shape, a green box appears around the object, which is presumibly the "collision box". Can this box be reshaped/resized, so that it becomes e.g. a bit wider than the object itself?

You cannot move or rescale them. From the Blender manual (emphasis added):

  Primitive Shapes

  These are best in terms of memory/performance but do not necessarily
  reflect the actual shape of the object. They are calculated based on
  the object’s bounding box. The center of gravity is always in the
  middle for now. Primitive shapes can be shown in the viewport by
  enabling Bounds in the Object ‣ Display panel.

Use a mesh shape to get more precision:

  Mesh-Based Shapes

  These are calculated based on the geometry of the object so they are a
  better representation of the object. The center of gravity for these
  shapes is the object origin.

You could, however, use a parent object with a collider if you want more control.


Two beginner questions about align correctly Aligment 1

So, I need this guy (left)

be perfectly alligned with this another one (right) by its angle on top, like this

That align isn't perfect as you see

Aligment 2

I need this other guy

Be perfectly parallel to the angle on the other object

Like this

I'll appreciate any kind of advices and methods, Thanks!

Assuming there are no predetermined measurements

Alignment I

In an empty scene create a cube and scale it down on the X and Y axis only to about half the original, by press Shift + Z.

Then in edit mode, switch to Right view by pressing Num3, select both the top and bottom edges and scale down on the Z axis by about 0.5.

Add three vertical loop cuts and adjust the other two closer to the middle one by select one of edge, then tapping G twice to enter Edge Slide Mode and sliding it closer to the middle loop.

Delete the faces around the middle loop. Then select the edges around the open part and create a face by pressing F for both the segments.

Alignment II

While still in edit mode, enter Face Select Mode and select the top face of the larger segment and press Shift + S and select cursor to selected to align the cursor to the point.

Then create a cube and scale it down to the desired size. Select only the newly created cube completely and rotate it around the X axis, while using the "face dots" to check your alignment. press P and select "By loose Parts".

Select that cube, and in edit mode, select Normal Orientation and select the top face and pull it using the manipulator along its normal Z axis. Repeat the same step for the bottom face till it is at the distance you want it to be from the other surface.

NOTE: If there are any predetermined measurements feel free to alter the scaling transformations as you see fit.

Hope this helped.


Create a Cube in Blender from Python I can't quite figure this out, so I am hoping someone can help.

In Python, I want to create an empty object, and add a Cube primitive to the object. After that I want to create a new material, and set the object to use the material.

# Create an empty object.
basic_cube = bpy.data.objects.new("Basic_Cube", None)

# Add the object into the scene.
bpyscene.objects.link(basic_cube)
bpyscene.objects.active = basic_cube
basic_cube.select = True

# Add a Cube primitive to the empty object.
bpy.ops.mesh.primitive_cube_add(location=(0.0, 0.0, 0.0))

basic_cube_mesh.update()

But this does not add the cube primitive to the object. It adds it directly to the scene.

Any suggestions on how to get this to work?

You have to create the object with an empty mesh first, as you cannot assign a mesh to an empty later.

Further: primitive_cube_add(...) is supposed to create an object, since it is the same operator called by Add->Mesh->Cube from the menu.

So you can use BMesh to create your cube later and assign it to the empty mesh:

import bpy
import bmesh

bpyscene = bpy.context.scene

# Create an empty mesh and the object.
mesh = bpy.data.meshes.new('Basic_Cube')
basic_cube = bpy.data.objects.new("Basic_Cube", mesh)

# Add the object into the scene.
bpyscene.objects.link(basic_cube)
bpyscene.objects.active = basic_cube
basic_cube.select = True

# Construct the bmesh cube and assign it to the blender mesh.
bm = bmesh.new()
bmesh.ops.create_cube(bm, size=1.0)
bm.to_mesh(mesh)
bm.free()


Extrude along normals, stuck going diagonally instead of inwards/outwards Folllowing a tutorial series and for the love of me can't get Blender to replicate what Alt+E > Region (Vertex Normals) does in their example.

Select all linked geometry
Alt+E > Region (Vertex Normals)

I negated this by using the thickness modifier to achieve the same results but given this is a tutorial series, I wanted to learn things the way they're showing.

In my Blender it extrudes diagonally only, can't get it to scale inwards like in the picture.
I've tried pressing x,y,z and middle mouse to possibly change the axis/way it is scaling.

Does anyone know why this happens?

Thanks.

The tool is Extrude Region and Shrink/Fatten.
Hit the Space bar and type the name, and move it a little bit (it's going to loock weird) and then select offset even on the tool shelf.

Good Luck


Baking of texture incorrect at the edge of the face I have a rooms with multiple walls. I only wanted to bake the interior of the room - the floor, ceiling and another 4 walls and ignore the windows and outer walls.
I selected all the objects that I would like to bake and go to UV Editing, create a new texture for baking and Select All then choose UV->Lightmap Pack.
I roughly go through all the triangles that sit on the texture and found no overlapping so I go back to Shading Tab, select only the floor object and select the image that I want to bake, hit bake button and the result is correct, but If I choose the 6 objects (4 walls, floor and ceiling) and bake again, it return me a result as shown in the image. I try to choose the wall and bake it, it return a correct results but it just don't work if I try to bake all of them together.
Some one please help me, Thanks in Advance.

When you unwrap with type Lightmap Pack you have to set enough Margin or lower Bake Margin value, because like now Bake Margin overlaps.

Unwrap Margin value is described in UV division, that I'm not sure what does that mean exactly, Bake Margin is in pixels. So just check if baked borders are between faces.


Cutting a mesh and preserve texture Good day

I have a plane with texture and normal map.

I want to cut it with the split tool and apply a volume with the solid modifier

but when cutting the solid, one of its cut parts shines and when exporting the textures they look of different shades.

the problem is when I want to separate the parts, with split "Y"

What could I do to fix this?

cut your mesh in QUADS

UNWRAP again

add the solidify modifier, and apply

after this do the following

Save you Blend
CTRL + A
Apply SCALE and ROTATION

to return the value of the scale to one

save your blend again to update all

separate PIECES !!

see the screencast key in the gif

Step 1

Step 2

Step 3
separate the pieces one by one until completing this

NOTE: it is very likely that you have to adjust your uv map of each of the pieces because you have separated them and you have added new faces, you can use the same texture just place the uv in the place where the part that should texture your texture is, worth phrase redundancy

Remember remove dobles before you separate the piece

Step 4
repeat the process in each piece until you complete everything

another way to separate the pieces

obtain this


Why does this Copy Loc contraint not work with this IK bone? I'm working on a (toy) VR kayak simulator, but have limited rigging knowledge. I'm attempting to have two IK rigged arms holding onto a paddle, so they will animate with the paddle's movement, like this:

My basic strategy is to create an empty (visible by the hand), and then use a copy location and rotation on the hand bone targeted at the empty. Here's my constraints tab for my hand bone:

The IK works fine, the copy rotation makes the hand rotate with the empty, but moving the empty has no effect on the hand, despite the constraint. Wondering why this is, if I can fix it.. as I'm writing this, I've found this answer:
Do some Bone Constraints only work with Root Bones?

...but I don't understand why I can't move this bone with a constraint, as I am clearly moving it when I pose it. I've also tried using an additional bone and a 'child of' constraint, with the exact same results, I get rotational tracking, but not location. I was also able to get a 'paddle bone' working as a child of one hand, but couldn't get it to affect the movement of the other hand...Thanks for your explanations! (how do I post the project?)

EDIT: Another method that I tried was creating two paddle bones meeting in the center, and then each separate paddle bone having a "paddle control bone" that was in the same location. I figured I could copy transforms for these control bones, and it would keep the hands a set distance apart.. but that didn't work either.

The issue you have is parenting. You would have the hand bone as a child of the lower arm bone, this parenting defines the position of the hand, preventing the location constraint from moving it. As the bone parenting doesn't effect the rotation, your rotation constraint can do it's thing.

You have the right idea with using IK, the IK constraint will set the location of the hand bone and move the arm bones to the right position to match it. What you need to do is remove the location constraint and set the empty as the target for the IK constraint.


why boolean not working 100% I have a cube and added some modifier on to it. When i add boolean 95% it make difference to some area its not.

Mark in red are the area where its not working. May i know reason why its ignoring that part. I remove doubles and normals yet its not working. Any suggestion or help.

Blend file

Wrong normals & overlapping volumes

Your geometry is not 100% with the same characteristics: the carving object has some elements with inverted normals right where the problem occours:

And some elements that are everlapping each other (next to the inverted normals element):

Al boolean modifier works best with enclosed volumes, you should avoid both situation. You can for example recalculate normals and gap the overlapping elements till there is a gap between them.

Result:

Side notes: apart the cases when you would like to create a particular effect, the edge split modifier is used once at the very end. You have three. those are splitting the faces, and this may reduce the success of boolean operations. Also the displacement is being applied on a big poorly subdivided N-Gon: you should provide proper resolution&topology for a good displacement effect.


Is it possible to change the colour of vertex indicators in Blender? I have to select some vertices that are very close together with ones I do not wish to select and its quite hard to see them. I was wondering if the little black dots (which indicates a vertex) can be changed to luminous orange or blue or whatever colour other than black.

I'm hoping it is possible , but googling didn't really link me to stuff related to what I want.

(nb. I hope this makes sense and I've used the correct terms, Im still very new to modelling. If you don't know exactly what I mean I could probably paste some screenshots to illustrate it.)

Go to File -> User Preferences then in the Themes tab select "3D View" on the left side and change the color of "Vertex".


How can I select something if the Gimbal is in the way? When I'm modeling with the gimbal in view, I frequently cannot select something if the gimbal is in the way:

Is there a way to select through the gimbal, rather than having to move so the gimbal isn't in the way?

Hide the transform manipulators (click the left icon):

You can also use CtrlSpacebar.


How to discover default values of properties via python script? I am still gnawing stubbornly on the concept "dump active object to python script," and gathering snippets that I think can be glued together into the tool I want.  But one piece of the puzzle still eludes me.  I would like to find out, for any property of an object, what its default value is.  I think if I were more familiar with Blender and/or Python this might be a no-brainer, but despite googling around a bit I still haven't found the clue.  If someone can throw a small snippet my way that shows how to discover the default value of some property such as, say, Diffuse Intensity, I think I can generalise to other cases.

To get all the default values of all properties defined on the context object.  Using the RNA (bl_rna) will apply to all objects in blender.

import bpy

context = bpy.context
obj = context.object

for prop in obj.bl_rna.properties:
    if hasattr(prop, "default"):
        default = prop.default
        print("%s (%s) default:" % (prop.identifier, prop.name), prop.default)
        # check arrays
        if getattr(prop, "is_array", False):
            default_array = [p for p in prop.default_array]
            print("default array", default_array)
            current_value = [p for p in getattr(obj, prop.identifier)]
            print("current value", current_value)
            print("is default value", current_value == default_array)

Also have a look at 2.78/scripts/modules/rna_xml.py  which creates xml from blender objects.


Does this flat 5 sided face count as a square? Is this a pentagon or does it count as an square for animation purposes?
It technically has 5 angles, but one of them is flat, so practically it should be a square with 4 sides, but I'm not so sure.
It also is flat on the Z-axis.

I'd generally leave it like is but I'm trying to up my game. Thank you

It is a pentagon or the more common general term in 3d, a n-gon. You probably want to avoid these for anything realtime such as games or animations since they do not deform or smooth well, make adding more detail cumbersome and games are more optimal with triangulated meshes.

As a simple flat object, it's fine if you are done with the model but again as a rule of thumb, try to stick with quads and tris.

To resolve, you can either:

Use the join tool (select both vertices and press J).
Use the knife tool (K, select a star point and drag to cut, use Enter to confirm) to create a tri from the extra vertex or create quads by continuing the edge flow downwards.


Animation nodes, join a list / group of objects into a single mesh just struggling with this one, the solution in the picture does what I need but builds up rather than refreshing each frame. This problem stems from my general lack of programming nous.

I essentially want a set of instances that I'm generating elsewhere to be one mesh so that I can easily perform other operations / modifiers on them as a whole,

cheers

Chris

When you use a loop, you need to know, that loop inputs list of something, and break apart this list into elements inside loop. Output makes reverse things - all elements join into one list, so you don't need to do this dirty joining work.


How to isolate emitted particles to a specific Curve Guide? I'm trying to get musical notes to guide along staff lines.

If I have only one emitter and one curve guide they follow it perfectly.
Good Image above.

As soon as I add a second curve guide (baby step before adding it's emitter), the notes follow a curve, but its not either of the ones I've put in the scene!

Problem Image Above.

Image B1. Nearly edge on to see the emitted objects adhering to the curve guide:

Click  image above to see detail.

Image B2 and B3. After enabling the physics Force Field, Curve Guide, on the top ("F") line of the staff notice how the the previously working emitted particle system no longer follows the "B" line of the staff's Curve Guide:

There's nothing special about my Curve Guide settings other than having scaled down the Minimum Distance value with the intention of not having neighboring emitted particles be impacted by this Curve Guide. Curve Guide and Emitter Settings are above.

I've tried a few approaches to get around this, like separating the emitter/curve guide pairs across the Y axis from other pairs to give space between influence of the curve guide on unintended particles, or putting force fields above and below the treble clef to "squish" the particles into the middle.  Neither of those approaches worked.

I tried keyed emitters, and that works sort of, with its own problems that would rightly be a separate question here.

So is there a way to tie the emitted notes to a particular Curve Guide?  Or do I need to think about compositing?

Try placing each curve with a force in a different group.
Then choose a different effector group for each particle system.

You can also consider a Follow Path constraint. Objects keyframes might well need a script for placement of hundreds or thousands.


How to make UVs islands perfectly overlap? As you can see from the image above, this UV is composed by 4 subparts, 4 rectangles. Each of them has exactly the same vertex number and the topology quite equal compared to the others so I could make them to perfectly overlap one over the other. Is there a way-out to do this automatically instead of repositioning all these vertexes one by one?

Here the file blend

Thank you!

Your 3D object looks like each arm is shaped irregular, meaning that the edge lengths won't be the same, meaning that the UVMap cannot be the same, if you want a map without stretching. However, if you just want each point to be identical, you can indeed achieve this by unwrapping in a strict order.

First, select one of the corner faces (remember which one!) on one of the four islands, and press L when the mouse cursor is over the matching island. Choose Seams as the limiting factor. Then, reset the UVMap. This will take each quad and set the UV coordinates to (0,0), (0,1), (1,0) and (1,1), no matter what the shape in 3D is.

Next, use Follow Active Quads as the unwrapping method. The active quad is still the one which was selected first, and its current UV position serves as the starting point for the follow active quad unwrap.

Next, select the corresponding face and island from the three other shells. I'm marking them in the GIF here before I unwrap the rest. This is important so the orientation of the resulting UV Map is identical to the others. The four resulting UV islands will have completely identical vertex positions, but, as stated initially, stretching for sure.

If stretching is not desired, all you can do is match up the boundaries of your map by snapping vertices. Snapping to vertices also works for scaling, as you can see in this little GIF here:


My mirror modifier doesn't mirror on x axis and rotation shows 0°, I applied rotation already Hello i have a problem with my miirror midifier it currently looks like this:

I don't know what's the problem on google it says that i have to applyrotation but i already did and doesn't fix this. You can see my rotation is all set to 0. I tried closing and opening blender thought it's a bug or something but it still doesn't apply the correct mirror.

I already did press SHIFT + S and set the cursor to the middle of the grid and then SHIFT + CTRL+ALT+C to change origin to cursor then mirror and it doesn't help.

What else can i do to fix this please? Thank you.

Delete Mod, In object mode/ on the menu bar under Object/Apply (or Ctrl+A) apply Rotate and Scale. reapply mod


Straighten Camera in Blender If I have a camera at 0/0/0 of the x/y/z and its heading is unknown.

How do I make it point in the direction of 1/0/0 quickly?

The fastest way if you haven't applied any transforms on the camera is to reset the rotation with AltR to 0/0/0 and then rotate it 90° on the X and -90° on the Z, RX 90, RZ -90.

If you have changed the transforms and can't reset it to 0/0/0, you can use exact measurements by using the transform section of the properties panel or the object tab in the properties view to rotate it 90° on the X axis, -90° on the Z axis and 0° on Y.


Blender 2.8 - Unwrapping VS Packing I am in UV Editor Mode, if I click unwrap (U) with a shell selected, it unwraps the shell correctly (following the seams) but at the same time it's packed in 0-1 space.

The tool is called "Unwrap" but seems it's doing "Unwrap and Pack". I can't figure out what I am doing wrong..

How can I unwrap the shell without packing it? Is it possible?

I try to show with an example:

Shell i want to modify

Mark the seam
Select the shell
Clicking Unwrap give me this:

What i expect is something like this(just unwrap and no repack):

Thank you

AFAIK the unwrap function always unwrap inside the 0-1 area no matter what.

If you want to unwrap again some parts of your UV without affecting the rest, you can pin what you want to keep before unwrapping.
Just select in the UV Editor, then click UVs → Pin or press P. Don't forget to unpin when you're finished with ⎇ AltP


Changing moment of inertia in rigid body simulation I'm trying to use the Rigid Body engine to simulating a rotating body. I want to change the shape of the object, e.g. shortening the length of a rotating stick, and see the change in angular velocity.
I initiate a simulation with a rotation using the Animation check box and keyframes. When the simulation runs I use shapekeys to shorten the box, but this results in no change in the angular velocity. Is there a way to make this work for instance by linking objects together and moving them relatively to each other to change the overall shape?

Ultimately I want to be able to simulate (crude approximations to) things like ice skaters' pirouettes and somersaults of gymnasts.

The moment of inertia of rigid bodies in Blender is currently determined only by their collision shape. In principle this could be defined separately from any collision geometry, but for most artistic purposes this approach is easier i suppose.

More importantly even, changes to the shape/inertia will not have any effect on the motion state of bodies, since the motion state is only defined by position/orientation and velocity and does not describe energetic state directly. After all it is called a Rigid Body simulation, which implies that the shape of bodies does not change over time.

This being said, you may have already given the answer: approximate changing moment of inertia by using connected rigid bodies. I've made a test using a symmetric set of secondary bodies (like the arms of the ice skater), which are connected to the central body with slider constraints. Unfortunately it looks like animating the constraint settings (x axis limits) does not work either, but perhaps there is still a solution.


I have finished rendering my animation into PNG files, how do I edit? I don't know how to make all the PNGs into one seamless short, via iMovie/Filmora

I use Hitfilm Express ( free ) and Openshot video editor ( also free ); both can import the set of .png's as an image sequence.

it is best to put them in a separate directory with only the image sequence as you need to select the directory.


Tentacle gets out of mesh Hello Blender community,

So I'm facing a weird problem where the tentacle/arm/extremity gets outside of the mesh when the armature moves it. I've attached a couple of pictures here below. I'm trying to look for some functionality to lock the tentacle in the main body mesh. When I see other tutorials, the arms never leave the main mesh. What could be causing my model to act this way? The movement seems decently realistic as long as the armature doesn't move too far from the mesh. But once I do, the tentacle actually gets detached from the main mesh. Would appreicate any help. Thanks!!

To me, your bone chain is inverted.

You can remark that when you move the bottom bone, all come with it, but when you take the top bone it is constrained by the bottom bone :

So you can simply invert the situation (apply rotations and scale to your mesh before that). I have separated a tentacle in order you see well :

Select the armature
Go to edit mode
Select all the bones
And rotate it 180°
Adjust the Z location
Go back to object mode
Reparent the tentacle

For a more complete model, add another "top parent bone". This will allow to bring all your tentacles together and also the jelly body.

The blend file :


Override range number buttons Many parameters have restricted ranges and if you input a value higher than the maximum, it'll snap back to the maximum value.

Examples include:

speed in a fluid simulation is limited to 100.
energy of a lamp is limited to 10.
etc.

Is there any way to override these restrictions?

In short, there is no way to override internal limits.

However blender has 2 limits per setting:

soft-limits: which is for number button mouse motion
hard-limits: allow you to type in more extreme values, but there still is a limit.

These let you enter lamp energy of 10000000.0 for eg.


Arm deformation problem My rig has a problem that makes it deform strangely when i try to move the arm from side to side, it also does this when i try to rotate it.

i figure it would probabaly be because i does not have enough edges adding loopcuts and subdividing is not working what should i do?

In Edit mode select the Arm_Top.R.001 (the left top arm) and set the Transform: Roll to 0.


How to make a triangular shaped plane I am relatively new to blender and I want to make a triangle shaped plane in blender. Not a pyramid, just a plane shaped like a triangle. Thanks in advance

Add a circle and set it to have 3 vertices.

Set the fill to Ngon or Triangle fan


Problem with casting rays from the camera into the scene for each pixel To retrieve information about the objects that lie behind each pixel, I have to cast rays into the scene for each pixel of a rendered frame.

My problem is that the ray directions which I calculate are not correct.

The eye rays that I generate do not match my image frame vertically (they either start/end outside of it, or too far inside).

For example here is the first direction(top left of the image space) that i calculate

And here is the last direction (bottom right of the image space)

I think that maybe my calculation of the vertical field of view might be off. But so far I have not been able to fix it.

#calculates the direction the ray has to take for a u, v coordinate
def get_ray_direction(u, v, position, direction, up, right, width, height):
    #mapping the u and v coordinates into normalised image coordinates
    x = ((2*u - width)/width)
    y = ((2*v - height)/height)

    direction = x * right + y * up + direction + position
    return direction

s = bpy.data.scenes["Scene"]
cam = s.camera
camData = cam.data

view_direction = cam.matrix_world.to_quaternion() * Vector((0.0, 0.0, -1.0))
up = cam.matrix_world.to_quaternion() * Vector((0.0, 1.0, 0.0))
aspect_ratio = s.render.resolution_x / s.render.resolution_y
right = mathutils.Vector.cross(view_direction, up)

up = up.normalized()
right = right.normalized()

#For the FOV I have to use the focal length and sensor size as base values
#since I will be given these values and have to set the camera accordingly
#I took the formula from: http://paulbourke.net/miscellaneous/lens/
fov_v = 2 * math.atan((camData.sensor_height * 0.5) / camData.lens)
fov_h = 2 * math.atan((camData.sensor_width * 0.5) / camData.lens)

up = up * math.tan(fov_v/2)
right = right * math.tan(fov_h/2)

height = s.render.resolution_y/1.0
width = s.render.resolution_x/1.0

#Starting top left, going row by row
for i in reversed(range(s.render.resolution_y)):
    for j in range(s.render.resolution_x):
        dir = get_ray_direction(j, i, pos, view_direction, up, right, width, height)
        ray_dir = dir * 10000
        ray_result = s.ray_cast(cam.location, ray_dir);

This is the code that I currently have in total, which contains some debugging stuff like empties that are placed at the ray direction

Here is the primary source I used (among others, but I found this one to be most comprehensible) for the generation of eye rays

A solution when you render in 3D View. Maybe something in here will be handy for you. This comes from transforming mouse coords to 3d so maybe its a bit more general than you need.

Getting camera frame corners in screen space (2d):

import bpy
from bpy_extras.view3d_utils import location_3d_to_region_2d

cam = bpy.context.scene.camera
frame = cam.data.view_frame(bpy.context.scene)

# Its in local space so transform to global
frame = [cam.matrix_world * corner for corner in frame]

# Transform into screenspace
region = bpy.context.region
rv3d = bpy.context.region_data
frame_px = [location_3d_to_region_2d(region, rv3d, corner) for corner in frame]

Now you know where exactly the camera frame is and how its panned or zoomed etc. Now you can start firing rays from every pixel in that frame like so:

from bpy_extras.view3d_utils import region_2d_to_origin_3d
from bpy_extras.view3d_utils import region_2d_to_vector_3d

def 2d_to_ray(context, point_px):
    region = context.region
    rv3d = context.region_data

    ray_origin = region_2d_to_origin_3d(region, rv3d, point_px)
    ray_vector = region_2d_to_vector_3d(region, rv3d, point_px)

    return ray_origin, ray_vector

Now you have a ray vector with origin all in global space for every pixel of camera frame. Here is also how to intersect such ray with a plane (I am using a parallel plane to camera view located at 3d cursor):

def ray_intersect_plane(plane_normal, plane_point, ray_vector, ray_origin):
    '''Does not work in Ortho view'''
    t = plane_normal.dot(plane_point - ray_origin) / normal.dot(ray_vector)
    return line_point + t*ray_vector

# This camera location will work also when there is no camera
# It will work for view-port rendering too
rv3d = context.region_data
cam_loc = rv3d.view_matrix.inverted().translation
cam_look_at = rv3d.view_location
plane_normal = cam_loc - cam_look_at

location = ray_intersect_plane(plane_normal,
                               bpy.context.scene.cursor_location,
                               ray_vector,
                               ray_origin)

If you want to know the pixel dimensions of current area (where the mouse is) for the view-port rendering you do it like this:

regions = bpy.context.area.regions

width = next(region.width for region in regions if region.type=='WINDOW')
height = next(region.height for region in regions if region.type=='WINDOW')

A solution when you render with F12

Don't transform the camera frame points to 2d space. Use the 3d global frame corners and render resolution to interpolate all the render pixels in 3d space.

From camera location and these 3d pixels get your rays. Else is similar.


How do I save a blend in the 2.79 format in 2.8? Files written in the 2.79 format are openable by Blender 2.8, but backwards isn't possible.

Is it possible to save a file in 2.8 in the 2.79 format so that it is openable by both versions?

I know one such workaround is simply to save in an exported format (ie. FBX or DAE) and then re-import it into the older version, but I was wondering if there was a way to keep it as the .blend file format?

This will seem crazy, but, select all of your object and CTRL+C on 2.80, open 2.79 and PASTE (ctrl+V) right on the viewport. I know right? I saw it on a blendCon


Export model to unity with multiple textures So I've searched a lot on this topic, but I simply can't seem to find a tutorial explaining how I can add multiple texture to a single model (different textures to each face of for example a cube) an export it into unity3d.

I've found outdated tutorials, where the controls has changed so you cannot do it the way they show.

All I'm trying to do, is add 3 different textures to a single cube and then import into unity3d with the textures.

As a Unity user myself i would say: avoid multiple materials on a single mesh at all times! You are adding unnecessary drawcalls! What you should look into is creating an Atlas, with some smart UV mapping you can avoid this all toghether. There are plenty tutorials for this online.

Otherwise, write a custom fragment shader, but that might be more work then you are looking for.


Best way to round off the edges in a rectangle I'm trying to model an indoor football field which is like a hockey rink...

I've been able to add the bevel modifier; but, I've read where there is a better way to accomplish this.  Can someone walk me through the steps and help me apply 20 to 32 segments...

I've created the rectangle and placed it in edit mode; but, I'm getting confused as to how to add the bevel to the corners and then knock out the middle of the rectangle for the raised border walls..

Thanks
Trey

If i understood the question

Shift+A Add Plane

Go to edit mode and make the shape rectangular

Come out of the edit mode and Press Ctrl+A Apply rotation & scale

Go to edit mode with the verts selected Press Ctrl+Shift+B Bevel it and scroll to add segments

With the rectangular rounded shape selected. Press I to offset the face

Now select the edge and extrude it and delete the top face. Select the bottom edge and Press F to fill the face


Can't save image while rendering I tried to do a test render and I cant save the final image. Does anyone know what causes this, and what ca i do?

There is another solution. I encountered a similar problem where it showed a red dialogue box saying image cannot be written. So I just made another folder in the same directory and saved it in that folder. It worked perfectly!
(solution for Windows 10)


Adding texture layer over stroke object (Grease Pencil) I add texture layer and I can clip texture to match underlying stroke object by clicking mask layer icon in the layer properties section.
There is an example in this video.
I can do this in Blender 2.80 and 2.82 but can't make it work in 2.83 (and 2.90).
Images before and after masking are below.
Is this feature removed in 2.83 or am I missing something?
Before:

After:

There is a Masks section below layer list in 2.83 and later versions.
Adding new mask in here and clicking mask icon on the related layer solved the problem.


How to have multiple unwraps for respective textures on one object? I am trying to add two textures onto one object with an add shader and want to control two different unwraps for them, but to my observation it's constrained to one unwrap which changes the unwrapping of the first texture when moved.

To use different UV Maps on one mesh you can simply do the following (suppose you already have a first map):

Go to the Object Data Properties (the green triangle) and under UV Maps hit the Plus symbol.
A new UV Map is created, usually named "UVMap.001" if the first one isn't renamed from "UVMap". In the UV Editor window you won't see a change, because the new UV map will automatically inherit the data from the first map.
However, in the UV Editor window you can now change the UVs to whatever you need them to be rotated, scaled etc.
In the Shader Editor you can add the different UV maps for example by adding Input > UV Map nodes and plug them into the Vector inputs of image textures etc. or maybe choose them in other nodes if they have UV options etc.


How to avoid objects intersecting eachother I have this structure:

I want to place some tiles between the poles. As you can see I already started.
I modeled a single tile, and I proceded to duplicate it and place it by hand until I got a section covered.

Now though, I obviously end up with sections of the tiles inside the mesh of the supports. I tried to fix this simply by erasing the exceding parts and trying to connect the remainings to the poles as best as I can. But I still end up with some intersecting mesh. When I render it it doesn't look extremely bad, but it's not exactly perfect.
And I'm also worried about texturing.

I was wondering if there was a better method to achieve this; To have the tiles connect to the poles but without intersecting or going so far as to have sections of tile inside the poles.

For the smaller poles intersecting the bigger ones I had the same problem, I resolved it with the boolean modifier. But it wasn't that easy since I ended up with lots of triangles on the meshes that I fixed by hand. I also have some disconnected parts, hardly noticeable though.

This is the blend file: http://www.pasteall.org/blend/33562

To summarize all this chat into a single answer:

Crate the tile pieces you need:

Add an array modifier and make the relative offset a bit smaller than the size of the tiles, so they overlap (I used 0.8 in this example) Use the "end tiles" as Start Cap:

Using the selected object press Shift S and select "Cursor to Selected" so that the cursor goes to the origin of your object.

Add a curve.

IT IS IMPORTANT THAT THE OBJECT AND THE CURVE HAVE THEIR ORIGIN IN THE SAME PLACE

Edit the curve to the shape you need.

Add a curve modifier after the array modifier, and select your curve as object and choose the deformation axis you want to use (in this example it follows the X axis).

The tiles array should bend now following the curve like this:

By alternating different arrays you get an idea of what the rooftop might look like.

By changing the count number on the array you should be able to follow the overall structure of the pagoda.

Getting the right number of tiles to fill the shape might take some trial and error. You might need to go back and re-shape the length original tiles to fit an exact count you need to fill the rooftop.

The edges of the tiles you can just hide on the overall structure of the roof. Like in the photo on this link.

or this image:

But for those purists who don't like shortcuts. You can do a bit of extra work and prepare a tile that is cut in an angle that follows the shape of the rooftop.


Why is the mesh deformed when sculpted with Subsurf modifier? I am creating a pillow for my couch.

But when I click on my base, it just deforms it like this:

Does somebody know how to fix it?

After ticking dyntopo it looks like that...

You don't want to use a subsurf modifier. If you apply it, it will be incredibly slow or far too low poly. For sculpting, use the multi-res modifier like this:

Otherwise, dyntopo is very easy to use (although the resulting topology is less than desirable). Here is a sculpting example with dyntopo:


How to render without evaluating keyframes? I've got some keyframes set up and don't quite like the way things look. I'm playing with some values to see if I can't make it look nicer.

When I render to see the affect of my changes, everything pops back to the keyframed (or interpolated) values. Is there a way to render the current state of the scene, regardless of any keyframes?

You need to mute all channel in current object's animation data. Muting Actions and NLA strips can be done by pressing LMB on speaker button at each action channels or NLA track.

A faster way if involving lots of channels/tracks is to press A with cursor placed atop channel list to select all channels (or select channels manually with Shift-LMB), then press Shift-W, and choose Mute:


Scripting an inspector/editor for custom properties I want to assign arbitrary data in the form of custom properties to a category of objects within my scene.
For the sake of this question, let's say that the arbitrary data is comprised of several named custom properties ranging from 0.0 to 255.0 in value, effectively several bytes of data.
Next I want to build a custom panel that will facilitate visualising and editing specific bits of an objects arbitrary data.
I've not had much luck finding an example of how to achieve this.
To elaborate on the question with some code, I know I can do this kind of thing:
class BM_PT_block_inspector(bpy.types.Panel):
    bl_idname = "BM_PT_block_inspector"
    bl_label = "Block"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

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

        # toggle a pre-existing setting
        self.layout.row().prop(obj, "show_wire", toggle=True, text="Wireframe", icon="SHADING_WIRE")

        # show custom property values directly in panel
        self.layout.row().prop(obj, '["my_prop_0"]')
        self.layout.row().prop(obj, '["my_prop_1"]')

but I would like to be able to render UI elements like checkboxes in the panel that will essentially act as toggles for specific bits of the data stored in the active object's custom properties.

This can be achieved with custom property getters/setters.
Use custom getters/setters to read/write to the desired data instead of the default behaviour.
def get_array(self):
    mc = self["blk_flags"]
    return list (map (lambda i: ((mc >> i) & 1) > 0, range (8)))

def set_array(self, values):
    mc = 0
    for i in range (8):
        if values[i]: mc |= (1 << i)
    self["blk_flags"] = mc

class BMBlockSettings(PropertyGroup):
    blk_flags : IntProperty (name="Bit Flags")
    blk_arr : BoolVectorProperty(name="Toggles", size=8, get=get_array, set=set_array)

class BM_PT_block_inspector(bpy.types.Panel):
    bl_idname = "BM_PT_block_inspector"
    bl_label = "Block"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

    def draw(self, context):
        self.layout.row().prop(context.object.bm_block, "blk_arr")

def register ():
    bpy.types.Object.bm_block = PointerProperty(type=BMBlockSettings)

def unregister():
    del bpy.types.Object.bm_block


Rig with joined objects I have followed some tutorials and created a nice cartoon looking shoe. That shoe has three different objects(shoe itself, shoelaces and lace holes). I joined them together and everything was fine until i wanted to test rigging. when i added some bones for testing those laces and holes doesn't deform with the shoe. what might be the problem?

Without Rig:

With Rig:

The problem are weights. each part of the mesh gets weights automatically by assigning the armature modifier, but these don't work with intersecting objects like yours. It's almost impossible to assign proper weight to cloth details like this manually.
To solve it, try to use Mesh Deform modifier:

make a very simple mesh around your model.
add Mesh Deform to your original model, bind it with your mesh.
add bones to your simple mesh.


Why doesn't my camera have curves in the graph editor? I've animated my camera but now I want to tweak the keyframes. However, when I select it and open the graph editor, there are no curves to tweak. Is there something else I need to do? I've used the graph editor with objects and had no issues, only now with the camera.

I figured it out—The camera was actually on a different layer than the one I was using.


Apply Texture only on parts of Object with nodes I'm trying to model a beer bottle and I'm almost finished now. The only thing I still need to do is to apply the labels to the bottle. In Cycles I already mixed the Shaders for the glass and the label. My Problem is that the texture is applied to the whole bottle... It looks like this:

I want to apply the Texture only to the body and the neck, because only these parts are unwrapped. I want the areas where usually no label is applied (in the image, you can see many tiny labels in these areas) , not to be textured!
this my node setup:

Hope you guys can help me. Thanks in Advance!!

You could achieve this in two different ways

Either use two very similar materials, one with a texture other without, then use two distinct material slots for each. One for the parts with the logo the other for the parts without.
Reset and clear your UV coordinates for all faces of the bottle you want to keep without images. just enter edit mode, select all the faces where you don't want your image to appear and clear the UV coordinates. You can easily set them to X0,Y0 for example, in the UV editor by setting the cursor to 0,0 coordinate by pressing . and scaling them all with a factor of zero.


How to bake all sides of a model on a cuboid? I want models to be low poly for mobile development. So I want to bake textures of highly detailed models downloaded from internet, to sides of a cuboid(that closely fits the original model). This will make the new model look almost alike and high detailed while reducing the polygon count. I have achieved some success with baking a "Full Render" on a plane (although I'm not sure why pink appears black, suggestions are welcome)

Note: I will use unshaded in jMonkey, so I don't want normal maps. I think "Full Render" is all I need. Suggestions are welcome.

Screenshot of jMonkey unshaded material properties:

My questions are as follows:

How will using a cuboid and baking all sides "Full render" of the model to its faces compared to using a more detailed retopo of the original model and baking textures to the UV unwrap of it??
How should I retopo the model (in this case)?
How to bake textures in one go to all sides of such cuboid/ retopo of the model.

I would be glad if someone could enumerate the steps in which I can achieve so?

1: When this object is not shown closely in the game, then it is good enough to use a cubeoid. Performace issue might be only noticable when there are multiple disks on the scene, but this is not certain. Pushing a mesh with 50 polygons to the GPU istead 6 polygons will only cost minimal time, and rendering it out might be the same speed.

2: When the disk is shown more closely, the retopo might add realism to it. This looks like a mesh easy to retopo. You should whach some modeling tutorials. Starting from a cube, loop-cuting here and there, deforming the sucface, experiment with it.

3: More deeply below.

You can bake simply the way you baked the plane. In the examples,
the low-poly object is set to be displayed as wireframe. You set
up a UV mapping, texture to bake on, and then bake. :)

Note: You should use the shown unshaded material only in case, the entity and lighting will be static. In this case you could bake textures and shadows and save them as separate images and put them in the proper slot for the material, but Full Render might be also good in this case.

When the object is dinamic, or the lighting, then you should not use unshaded. Mix (multiply) two images, an abient occlusion, and the textures, and use that with a vertex-lit shader. This would be still pretty good performing. I also add the image with the normals to be complete, although you said that you do not need it.


How do I make material like emission but not bloom? Do you have any idea how to make a material node likes emission but

Doesn't shine or bloom

It's still has a shadow

Doesn't catch any shadow on its surface

Just likes Default material + emission

IMPORTANT Node for Blender EEVEE

Is this what you're looking for?

I think Bloom is a post-render, whole-frame effect, and some kind of layering would be required to have some objects bloom, and others not, at the same intensity.

As an expansion on the above, BSDFs are closures, meaning they're programs waiting to be run later, which can be modified with various node operators but not read from in your material shader. (It helps us stay renderer-agnostic in our materials.) Bloom is a sort of post-processing effect, and involves ray tracing the light from surrounding geometry; but if you're looking for straight-up color and don't care about lighting, just hand it the color (or texture) directly and it will bypass light calculations entirely.


Text converted to mesh I was wondering how to convert text to a mesh? I have tried using a variety of keys including Alt + C but no Convert To Mesh option appears. (new blender noob user here)

To convert the text, press Alt+C in Object mode with the text selected, and select "Mesh from Curve/Meta/Surf/Text", this will convert the text to a 3d mesh and you will not be able write letters like before.


Cycles Material Texture not showing in render As the titles says. With a material like this one:

What I get is: In the "material" view, the texture shows up fine, mapped like I want it to be, but in the rendered view, it's rendered in an average of the color of the texture (it's not just black, I tried another texture, a wood one, and the result was a shade of brown averaged from the texture colors). As you can see, though, the preview of the material shows up fine.

Instead, with a material like this one:

I get this: In the material view, the texture shows up but it's mapped incorrectly, BUT, in the rendered view, it shows up, but it's mapped incorrectly (obviously).

ALSO: I unwrapped another object (very roughly), applied the same shader as the first one (with coordinates set to UV) and the texture renders fine. What gives?
And, it definitely is an average of the color, because I even tried to draw some red stripes on the texture, because I thought that maybe the render was fine and it was some lightning quirk, but nope, non of the stripes showed up in the render.

blend file

Your UV map is disabled.

Enable it in Properties > Object > UV maps by clicking the camera icon next to your UV map:


How can I add major geometry to a mesh in Sculpt mode? Let me clarify the question.  I've had this happen numerous times, so I need to find a way to solve this 'problem'.  I'll start with the default scene, everything deleted.  Blank slate.  Create a 'round cube' primitive.  Give it a multiresolution modifier.  Go into Sculpt mode.  Start sculpting on it.  Eventually, I realize I have a good head-ish mesh for something.  But.. I've already made major changes to the mesh, in sculpt mode.  Now, I want to give the head a body.  But, every method I've tried just.. flat out fails.  Using the grab brush eventually pulls out really thin shapes that just turn into ugly reversed normals and jaggy edges that I can never fully fix without just undoing the entire operation.  Adding geometry by adding more primitive objects, causes them to get affected by the modifier so when in sculpt mode they look horrible, and they do not join to the original shape, leaving a gap between what should be a connected head and neck/body.  What am I missing?

Using the Clay strips brush to build it up doesn't work, it runs out of resolution too quickly and Blender does not have a re-dynamesh option like Zbrush does, once you've begun sculpting.  Which is to say, I know there's the multiresolution modifier, but applying it farther just subdivides the ENTIRE mesh, which often produces unwanted results wherever you are not trying to work.  So really.. what can I do in this situation?  A lot of times the inspiration strikes to make something and I have to just get it into Sculpt mode as quickly as possible to get my idea out.. so I don't often have the luxury of going and blocking out an entire figure.

EDIT:  I guess it helps to add, I =cannot= use Dynamic Topology sculpting, on account of the models being intended for use with bone-based animations.  Triangle-covered surfaces don't tend to deform properly with bones!

Have you tried applying the multires modifier when you are happy with it? Then adding your primitives by joining (with all my desired mesh objects I wish to join selected I use Ctrl+J  to join them together)?

I enable dynotopo once I join my meshes to each other.

Depending on how rough/fine you want your sculpt to be at this point, will depend on how you set dynotopo's value. I personally like to use 5 or 6px.

I then lighten up the influence of my brush by setting it to near 0.0 with Shift+F and then dragging my mouse away from the center and click when I'm at my desired value.

Then I lightly cover my transition points between my sculpt and my primitives with my sculpt brush (If this is slightly above 0.0 it will seem like it is not doing much, however you are adding mesh density).

Then I hold Shift and go back over and smooth the transitions.


How to close render 'View Render' after the render by bpy.ops.render.render()? I would simply like to understand how to close the render window after it is finished and ready.
The save path is already set, so it does not require manual save.

Right now I use this system to render, and it works well:

bpy.ops.render.render('INVOKE_DEFAULT',animation=False, write_still=True)

I thought adding a simple operator to close the window, I found this in the blender documents:

bpy.ops.render.view_cancel()

But obviously it gives me a context error.

I don't understand what kind of context I have to overwrite to pass the right context, I think the rendering window has its context, but it is really difficult to get to this solution

How to use bpy.ops.render.view_cancel() to close render view?

Edit:

I am trying to reach the right context I think I have succeeded, now I no longer receive the error, but this operator does not seem to close the window, on the contrary, brings it back to the foreground:

for w in bpy.context.window_manager.windows:
    for area in w.screen.areas:
        if area.type == 'IMAGE_EDITOR':
            for rgn in area.regions:
                if rgn.type == 'WINDOW':
                    override = {'window': w, 'screen': w.screen, 'area': area, 'region': rgn,'workspace': w.workspace}

bpy.ops.render.view_cancel(override)

The new window has context after op call.

EDIT: Looked into this and remembered it did as expected using a timer.  Hence added a timer call in handler to delay the window closing.  Have run this numerous times with delay 10 seconds without any crashes.  Try with smaller delays.

Worth mentioning the behaviour of render operator depends on User Settings > Interface > Editors >  Temporary Windows  Render in new window being set.

If it is, the context is switched from old to new window when the operator is invoked.

Another way to get a new window would be to

windows_before = set(context.window_manager.windows[:])
.. operator ...

windows_after = set(context.window_manager.windows[:])

and get the new window via

new_window = (windows_after - windows_before).pop() # if there is a new window

Here in a test script, the render window is cancelled (closed with close operator) 10 seconds after, using a timer,  the render complete handler is fired..

This will go astray, prob a core dump because of removed reference to window. if the user manually closes the window.  Passing instead some info about the window eg it has one image editor  its index in window manager collection would be a way to alleviate this risk.  Also might pay to look at context.mode after render call, to see if it reveals anything useful.

Python console test, get its index, test is this the render window?

>>> C.window_manager.windows[:].index(C.window)
0
>>> len(C.window.screen.areas) == 1
True
>>> C.window.screen.areas[0].type == 'IMAGE_EDITOR'
False

Using the window close operator, i believe only requires having a window for context.

import bpy
from time import sleep

context = bpy.context
w = context.window
print(context.window)
bpy.ops.render.render('INVOKE_DEFAULT')
print(context.window, w == context.window)
c = context.copy()

def shut_window():
    bpy.ops.wm.window_close(c)
    return None

def render_complete(scene):
    bpy.app.timers.register(shut_window, first_interval=10)
    #shut_window()
    bpy.app.handlers.render_complete.remove(render_complete)

bpy.app.handlers.render_complete.append(render_complete)


Leg going through clothing Hi I have a simple model of a person and rigged it to make a walking animation. However, if I pose the skeleton, the legs stick out of the clothing as shown below:

I've tried messing with the weightings so that the clothing vertices respond more to the bone and the leg less so but this didn't work. Do I need to create more bones for parts of clothing or is there a more elegant solution?

Thanks

The basic idea is that any vertex of the cloth close to a vertex of the leg should have the same weights relatively to ALL bones involved (not only relatively to the closer bone, the upper leg in your example). This can be accomplieshed with weight painting tecniques, or using the vertex weight tab in the "N" properties panel (with a mesh in edit mode and a vertex weighted selected): you can select some vertices of the cloth, a close vertex of the leg (last selected is named active "active") and press the "file and arrow" icon: this will transfer all weights from active to selected vertices.


How to use multiple Effect Strips in Blender Video Sequence Editor? I noticed that adding a second Effect Strip to a video sequence negates the effect of the former Effect Strip, eg. adding by Speed, the result does not include the Transform effect.

What is the reasoning behind such behavior? Is there any workaround other than rendering the sequence with one effect and then re-rendering is with another effect etc? That would be very cumbersome.

Try using a meta strip. Select the layers you want to apply the speed to and press Ctrl   G (or go tho the menu Strip->Make meta Strip) That will create a new strip that contains the selected strips.
Then you set a speed strip (or whatever other effect you want) on top of the meta strip.

Quote from the wiki:

A Meta Strip is a strip which contain several strips. It's like a Group of strips, working the similar way as Nodes groups. It allows you to reduce significantly the (vertical) space used in the sequencer, and treat multiple strips as if it was one strip. You can move, resize, and edit properties exactly the same way strips are. (see Editing and deleting strips page for more informations.)
You can edit the content of a Meta Strip by pressing ⇆ Tab; It will unwrap the content temporarily and hide any other strips present on the workspace, allowing you to select, move and resize the contained strips, or edit their properties. Press ⇆ Tab again to re-wrap the strips into one Meta Strip.


Grass Particles don't show up I am trying to do the Grassy Meadow Tutorial from Blender Guru and I run into a problem right at the start: The grass particles don't show up in the render but are visible in the viewport.

I am kinda sure I did not miss to enable them anywhere with the camera icon and I am kinda lost at why this is happening. The cases I found through google didn't help me at all, I suppose I am just missing a tiny something or I accidentially enabled/disabled something I shouldn't have.

It would be awesome if someone could take a quick look over the file and tell me what the heck I did wrong.

https://www.dropbox.com/s/kpoo5xv494msrqs/GrassMeadow_%231.blend?dl=0

(I hope the link works, never used Dropbox before.)

The Big issue is Change the Engine type

From Blender Render to Cycles Render
Grass is to small
In the Particles -> Render -> increase Size.
Then render. Hope you get cool grass.


Eevee renders in gray and workbench renders in colors About render engines, when using Workbench, the rendered image is colorful. But when using Eevee, the rendered image is gray.

Why?

Workbench render:

Eevee render

Did you just set for Viewport Render Color in your mesh?

That is not how EEVEE and cycles retrieve color. They have nothing to do with final render in both render engine. It just change your viewport color which is faster and simple for easy render task. Instead of that one, you should assign a material to your mesh, and change the color of that shader (principled shader perhaps?). Then you will get the color in EEVEE and cycles.


Object as transparent mask in Blender 2.8 Workbench engine I want to archive this effect:
Create invisibility cloak alpha mask material

But I can't find the option for transparent mask in the material tab in Blender 2.8's workbench engine. I can make the object transparent (by changing the alpha in its color settings), but then it will not mask other objects in scene. Is there a way to do it?

Material with Holdout Shader (in node editor: Shift A - Shaders - Holdout). Add that material to your blocking object.


How to stop blender from rendering world I have an animation where some cubes are floating around on a pitch black world:

Since these are jpegs, you can't see that I chose blender to render the world transparent. But when I render, Blender will waste time rendering the transparent tiles. Even though it's only for a split second, it adds up to alot of time since it's an animation:

How can I stop this?

Short answer: you can't.

Cycles can't skip parts of a render based on what is/isn't there because it doesn't know what will be there until it has already rendered it.  So it can't skip tracing rays that only hit the world background since it doesn't know what a ray will hit without actually tracing it.


Where should Blender Download to? I am pretty new. About a month into this. Still learning so please excuse the noob question. I uninstalled it after my first animation. I thought it may be the reason for my Java problems. Not sure about that but that is fixed and I am back. I noticed this time when I installed it that it went into C://Program Files/Canon/Easy-WebPrint EX. That's my printer files. Is that normal? Do I move it out of there? Maybe that was the problem the first time. idk

This is not a question about blender really, you can determine, and should know, where your files download to, it's a setting on your browser. Having said that, blender can be used two ways,

One is installing it using the msi file, in which case it makes  no difference where you downloaded the file to, because once you run the install file it will install to your programs folder. At that point you can safely erase the msi file.

If you choose not to install blender, use the .zip file. You just have to unzip (uncompress) the file and run the blender.exe program from the resulting folder. Just make sure that you don't download and use a temp file that might get erased next time you open the computer.


Why are my render times 30+ minutes, but other people's are ~3 minutes? I am currently using Sheep It! to render my blend (built on v2.68c) on multiple computers, and I noticed something rather strange. According to the log on-site, the frames rendered from other people's blends were completing in 3 to 4 minutes. This was on an 4 core i5. My main rig (with an 8 core i7) was completing frames in no less than half an hour. How is this possible?

To clarify, these people's frames are very complex, often with very detailed textures. I have 2 objects in my blend. Below are the options I changed for my blend:

Aspect Ratio: 1000px x 1000px
Output: PNG
Clamp Indirect: 0.98
Render Sampling: 128
Min Light Bounces: 0
Max Light Bounces: 4
Cycles Render

Is there something in there that I should change to make it go faster? I can't really comprehend how it's going to quickly.

EDIT: To answer what @Duarte asked...

System Specs: i7-920, 3GB DDR3, GT 630, Windows 10
I have two circles, extended to form a sort of coin with a star on it. It is not complex at all.
I have Firefox and Steam running in the background, but not actively. I've been away from the computer for 8 hours and noticed this behavior. (I am running Blender from Steam.)
I made sure when I began rendering that the blend was set for CPU rendering.
Screenshots

And to answer what @pycoder asked, yes, I am using Cycles Render.

You have Square Samples ticked under your Sampling render settings. It squares whatever sample value you have setup.

You have 128 samples specified so 128^2 = 16384 so you are basically attempting to render with 16384 samples which is a lot.


What is Blender's maximum render size? What is Blender's maximum render (not scene) size? Like in either MegaPixels or a pixel length x width dimension. On my side it seems to be locked at 22000 pixels. Using the Cycles render engine to render TIFFs.

Thanks
JK

I don't think it is locked to 22000. I have personally rendered image 43000 + pixels in one dimension.

Biggest picture i rendered was around 30000x10000. All those was in multi layer EXR and .png

The bigger problem i found is saving those images. Blender crashed on me when i saved images this large. I have to render it in parts and compose whole image after.


How to make an object switch from a animated animation to a dynamic animation in Blender Game Engine? I am having a problem trying to make a bullet type animation where a Sphere (The Bullet) flies forwards really fast with keyframe type animation, then converts to dynamic animation, and shatters a vase.

The Sphere works fine in Cycles Render but has issues in Blender Game. Press P to play the animation, and you'll see what I mean.

After it shoots forward it suddenly stops, instead of going into Blender Dynamics it, slowly falls, and even goes through the floor.

If you need more information please ask.

Make sure you unzip the file. Thank you!

Due to an issue with recording the animation of the sphere I couldn't provide any animation or video.

I change the physics of "Plane.001" to no collision, delete the action actuator and add a python controller, finally apply force on the bullet.
from bge import logic
logic.getCurrentController().owner.applyForce((0,7000,0))

Press P and see it!, you will need to take care of when the vase broke.


Low Poly Model Creation Workflow Hi from a new total newbie blender user. I want to learn how to create at least “fine” low poly models, something like here.

I have heard that some people create high-poly models and then create low-poly models from them. Other people go straight for low poly.

Can you give me some links or just explain me a basic workflow for low poly model creation, please?

As far as I understood, low poly modelling means that you model your meshes using a very low number of polygons (not that you optimize your high poly model).
In this video you can see the workflow, it's very simple and fun:
https://www.youtube.com/watch?v=YALV3HqfdLY
Basically this is the process:

start with a basic shape, go to edit mode and edit it
you can extrude, inset, bevel, loop cut, knife..
proportional editing is also useful sometimes
looptools' relax could be also a nice tool to learn
color (with a simple palette)
done!


Using multiprocessing to speed up multiple sound bakings What I wanna do is bake sound with different frequency ranges to different objects. It is done pretty simply using Python scripts. However, I am seeking for a way to speed this process up by utilizing multiple CPU cores. As far as I understand, it is done with multiprocessing module in Python. Here's what I tried:

import bpy
from multiprocessing import Process

FREQS=[(1000,2000),
(2000,5000),
(5000,20000)
]

def soundBake(lo,hi):
    pass
    print("soundBake started")#debug
    bpy.context.area.type = 'GRAPH_EDITOR'
    bpy.ops.graph.sound_bake(filepath="/tmp/001.mp3",low=lo,high=hi)
    print("soundBake completed")#debug

scene = bpy.context.scene
objects= scene.objects

processes=[]

bpy.context.area.type = 'GRAPH_EDITOR'

for i, obj in enumerate(objects):
    pass
    bpy.ops.object.select_all(action='DESELECT')
    print("i ", str(i))#debug
    obj.select = True

    lo=FREQS[i][0]
    hi=FREQS[i][1]
    print("lo",str(lo),"hi",str(hi))

    p=Process(target=soundBake,args=(lo,hi,))
    processes+=[p]
    p.start()

    obj.select = False

    break#debug

for proc in processes:
    proc.join()

bpy.context.area.type = 'TEXT_EDITOR'

bpy.ops.object.select_all(action='DESELECT')

print("\n")

And I get this error:

i  0
lo 1000 hi 2000
soundBake started
Process Process-37:
Traceback (most recent call last):
  File "/home/highstaker/blender-2.73-linux-glibc211-i686/2.73/python/lib/python3.4/multiprocessing/process.py", line 254, in _bootstrap
    self.run()
  File "/home/highstaker/blender-2.73-linux-glibc211-i686/2.73/python/lib/python3.4/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/home/highstaker/Dropbox/3d/blender_projects/!Tests/bakingSOundsMultiprocessing.blend/Text", line 13, in soundBake
  File "/home/highstaker/blender-2.73-linux-glibc211-i686/2.73/scripts/modules/bpy/ops.py", line 189, in __call__
    ret = op_call(self.idname_py(), None, kw)
RuntimeError: Operator bpy.ops.graph.sound_bake.poll() failed, context is incorrect

So, I presume that setting a context using
bpy.context.area.type doesn't help.

Is there a way to make the operator run in a subprocess so I could split them to several CPU cores? And how do I set this context for the subprocess?

I'm using Blender version 2.72.

I'm sure someone will school me if I'm wrong (please do!):

The Python multiprocessing module allows one to run concurrent python code, this makes sense for processes that don't rely on each other to reach a conclusion. What you want to do is get Blender to concurrently perform the sound bake function (C code). As far as I'm aware calls to that function are blocking Blender from doing anything else until the function ends and control is returned to python.

If that's right, then A solution could be the one I offered in the comment s:

use Popen or subprocess and instantiate multiple Blender threads with scripts, and  append the F-curves from each resulting .blend into a final .blend.


How to get the value of face area using python I know how to display face area using 3d view port. However, I could not find a way to return the value of the surface area. Does anyone know where Blender stores face info? Thanks so much in advance!

#

Thank you, Lemon! Sorry, I cannot leave comments because of low reputation. I actually tried bm.face.calc_area() before, however, what it gives me is different than the area value showed in 3d view port when I choose a non-flat face. It works if I choose a flat face. Does bm.face.calc_area() returns face area on uv map?

#

Thanks for all the replies! Martin and Lemon, you're right, I ignore the triangulation. When I calculate the face area of a quad face, it's 0.0002683, which is different than the value given by face info 0.0002705. Then I convert quads topology to triangles, I saw the sub tri areas of the quads are separately 0.00014476175 and 0.0001255185, which can be added up to 0.0002702. If I keep dividing my quad face, I think I will the value very close to 0.0002705.  Thanks so much for solving my problem. And sorry for my bad wording, I'm working on a human face model, the flat face can be considered as the forehead area, while the non-planar face can be found in nose area.

Can I ask another question? Since the 'calc_area' gives me the face area in 3d view, how can I get the face area in uv mapping. We know that there is distortion caused by unwrapping a 3d object to 2d. If I get the areas before and after uv unwrapping, I can calculate the distortion. Any idea on calculating face area in uv mapping?

I also tried 'ob.data.polygons', which gives me the same result as 'bmface.calc_area'.

Thanks a lot in advance!!

#

[What I'm trying to do is to calculate the face areas before and after uv unwrapping and see the distortion from 3d to 2d. I know blender provides a visualization tab to display the distortion degree, which is 'stretch' in uv panel. After applying 'stretch' on uv map, I can see colors from dark blue to red, representing the distortion between uv and 3d coordinates. However, I cannot get the data deciding these colors, that's why I want to get the areas before and after unwrapping. Thanks a lot in advance!!]

#
I decided to calculate face area on uv mapping according to the vertices on this face, I share my code here:

import bpy

me = bpy.context.object.data

uv_layer = me.uv_layers.active.data

uv_area_ls = []

for poly in me.polygons:

coords = []

for loop_index in range(poly.loop_start, poly.loop_start + poly.loop_total):

    uv_coords = uv_layer[loop_index].uv

    coords.append((uv_coords[0],uv_coords[1]))

if len(coords) == 4:

    coords_new = [coords[1],coords[0],coords[3],coords[2]]

if len(coords) == 3:

    coords_new = cords

area = PolygonArea(coords_new)

uv_area_ls.append(area)

(Note that: I used PolygonArea function in this post
https://stackoverflow.com/questions/24467972/calculate-area-of-polygon-given-x-y-coordinates)

You can use bmesh to do that.

The code is fully commented below.

Using mesh triangulation

The only non intuitive part about bmesh and uv access is you need to get it using face loops.

Face loops are elements that can be indexed by the corresponding bmesh loops layer so that you can get the corresponding value in the loop (last line in the code before the print).

Note also that uv 2D coordinates are converted to a 3D vector so that tri_area function can work. This is a facility. You may want to write a more specific calculation for 2D tri area.

import bpy
import bmesh
from mathutils import Vector

# 3D tri area ABC is half the length of AB cross product AC
def tri_area( co1, co2, co3 ):
    return (co2 - co1).cross( co3 - co1 ).length / 2.0

# Get the object
obj = bpy.context.object

# Construct bmesh
bm = bmesh.new()
bm.from_mesh( obj.data )

# Triangulate it so that we can calculate tri areas
bmesh.ops.triangulate( bm, faces = bm.faces )

# Ensure faces access
bm.faces.ensure_lookup_table()

# Get the uv map
uv_loop = bm.loops.layers.uv['UVMap']

# enumerate the faces
for face in bm.faces:
    # Get the face area (can also be 'face.calc_area()')
    face_area = tri_area( *(v.co for v in face.verts) )
    # Get corresponding uv area
    uv_area = tri_area( *(Vector( (*l[uv_loop].uv, 0) ) for l in face.loops) )
    print( face.index, face_area, uv_area )

Using triangulation on the fly

The interest is to have the final result at the polygon level so that areas can be directly compared to the mesh as it is.

The principle is nearly the same but we use bm.calc_loop_triangles() which gives us several loops of tris each referencing the initial faces.

As the areas for each face will be obtain by part (one tri at a time), we use a dictionary to cumulate the results (nothing gives a guaranty that each face is cut continuously in the resulting loop).

import bpy
import bmesh
from mathutils import Vector

# 3D tri area ABC is half the length of AB cross product AC
def tri_area( co1, co2, co3 ):
    return (co2 - co1).cross( co3 - co1 ).length / 2.0

# Get the object
obj = bpy.context.object

# Construct bmesh
bm = bmesh.new()
bm.from_mesh( obj.data )

# Ensure faces access
bm.faces.ensure_lookup_table()

# Triangulate it so that we can calculate tri areas
triangle_loops = bm.calc_loop_triangles()

# Get the uv map
uv_loop = bm.loops.layers.uv['UVMap']

# Initialize face entries
areas = {face: (0.0, 0.0) for face in bm.faces}

# enumerate the loops
for loop in triangle_loops:
    # Get the face
    face = loop[0].face
    # Get current areas
    face_area, uv_area = areas[face]
    # Add tri surface area
    face_area += tri_area( *(l.vert.co for l in loop) )
    # Add corresponding uv surface area
    uv_area += tri_area( *(Vector( (*l[uv_loop].uv, 0) ) for l in loop) )
    # Set the result in the dictionary
    areas[face] = (face_area, uv_area)

# Print results
for face in areas.keys():
    face_area, uv_area = areas[face]
    print( face.index, face_area, uv_area )

Note: triangulation calculation is not trivial and several algorithms may give different results, so for coherency in all cases we need to ask Blender apis how the triangulation must be done.


Hotkey to go DIRECTLY to vertex, edge, face edit mode? As a long time user of other prominent 3d software, I'm used to being able to be in object mode and press 1 hotkey to go directly to vertex, edge, or face mode.

I'm using 2.8 and love it, but for the life of me, I can't get used to pressing "Tab" before I hit 1,2,or 3.  To make things worse, those keys (in object mode) hide and unhide collections.  It's driving me crazy.

I just want a smart hotkey that allows me to press 1,2,or 3 in object mode and automatically puts me in edit mode.  Pressing "Tab" would behave as it already does - toggling between object or edit mode.

Is there a way to do this?

Thanks,
Chris

The operator for this is bpy.ops.object.mode_set_with_submode(). It allows you to create custom shortcuts that both switch to edit mode and enable a combination of vertex, edge and/or face select.

The keymap can be edited through Edit > Preferences > Keymap. As shown in the screenshot below, you need to set the Identifier to object.mode_set_with_submode, select Edit Mode and choose the desired Submode.

The complicated part is the choice of shortcut though, since the number keys are already used in Object Mode. You'd either have to remap the shortcuts for hiding collections to e.g. CTRL + ALT + the number key or use a different key combination for your new shortcuts that don't involve the number keys.


Weight-painting mesh containing only vertices I created a mesh that has only vertices and converted it to a particle system representing the stars of the Hipparcos catalog.

I used image textures to control the colors and brightnesses of the stars, with each pixel of the textures encoding the color of each star by vertex index. I accessed these indices using a Particle Info node in the material for the dupli object (a simple sphere). This seems to have worked.

I want also to control the sizes of the individual stars, but for that I can't use nodes (or at least it doesn't look like it). All the posts I came across suggest that I should either weight-paint the mesh or generate an image texture and assign it to the particle system. I did the latter, partly because I don't know if I can weight-paint a mesh that has no faces or edges.

But it seems that I need to mind the mapping between the texture and the mesh. I suspect this is the reason I haven't succeeded at controlling particle size with image textures. I don't know how to go about doing the mapping, because it's just vertices, so I'm now considering weight-painting as an option.

So my question is... can I weight-paint a mesh that has only vertices and use those weights to control the sizes of 119,617 dupli objects in my particle system?

I know the challenge is the same—it's just vertices and how do I assign each a weight or a spot in an image texture to control particle size... I guess I'm just putting one foot in the weight-painting option in case it turns out to be doable.

Many thanks in advance for helping if you can!

Yes you can. Weights are all stored per vertex and have nothing to do with edges or faces.

That said, without faces to shade, you will have trouble visualising what the weights are, so with 119,617 points, this is going to be very difficult to manage without just having a script set the correct values automatically.


Why does it look like the skin of my character model is peeling when I join the hands to the mesh in Blender 2.82? I'm nearing the end of my first male base mesh sculpt in Blender 2.82, but when I either boolean or just join the hands to the arms there's a sort of skin peeling effect. This continues all over the body if I try just using the smooth brush over the affected area. It looks like a normals problem, but I can't tell for sure.

I've tried deleting all but a tiny bit of the intersecting meshes to simplify the joining operation, I've tried dynatopo sculpting over this peeling seam then smoothing, and it does not work.

I feel that I've tried everything short of sculpting the hand again from the end of the arm. If someone could explain what is happening and save me the trouble of having to do that, I would be ridiculously grateful!

It looks like you've got two nearly identical, superposed meshes.

Since you used a boolean, make sure to Hide the boolean target (the one you selected in the Object field of the modifier)


Linking Mist pass to OutputFile Node Image cannot be performed using Python API? When attempting to link the mist pass output of a Render Layer node to the input image content of an Output File node, I found that no matter how I tried to connect the mist pass output, nothing would attach to it via the Python API. Manually, through the Blender GUI I could link the two fine, and get results as expected. The code to generate these nodes is as follows:

## Link shaders
tl = bpy.context.scene.node_tree.links

# Link raw image render layer to switch
tl.new(n_image_rl.outputs[0], n_switch.inputs[0])
# Link depth from raw image to depth file output
tl.new(n_image_rl.outputs[3], n_depth_out.inputs[0])
# Link image segment render layer
tl.new(n_img_seg_rl.outputs[0], n_alpha.inputs[1])
# Link field segment render layer
tl.new(n_field_seg_rl.outputs[0], n_col_key.inputs[0])
# Link color key node
tl.new(n_col_key.outputs[0], n_mix.inputs[1])
tl.new(n_col_key.outputs[1], n_mix.inputs[0])
# Link mix to alpha
tl.new(n_mix.outputs[0], n_alpha.inputs[2])
# Link alpha to switch
tl.new(n_alpha.outputs[0], n_switch.inputs[1])
# Link switch to composite output
tl.new(n_switch.outputs[0], n_comp.inputs[0])

This is the node linking received when the script was run, from within the Compositing Nodes window:

Any advice on how to resolve this issue would be appreciated!

It's weird. Might be a bug. It does not work with the output specified by it's index, but if I name the output, it works correctly. Try using:

tl.new(n_image_rl.outputs['Mist'], n_depth_out.inputs[0])


Why Scene Lights are not displayed in Eevee render? I am a beginner modelller. I started learning Blender in August but I still can't figure out texturing. I just barely figured out using materials. My problem is: In the viewport the preset world material is being displayed. But I want to see it in my rendered view too. But In my render picture the lobby is completely black despite the lights. Please help what is wrong with my file? Why I can't see this preset scene light in the render picture and how can I make it being displayed? ( sorry for bad english ) My file is downloadable here >
How it should look like:

How it looks like after render:

Your scene is not lighted by the scene lights, but by preview environment texture, as "scene world" is unchecked here:

To get the same light in your scene world, you can setup the world material like this:

"studio.exr" is stored on your Blender installation path, under "datafiles\studiolights\world".


How do I get the Color value from an RGB node with Python? I'm a seasoned programmer, but fairly new to blender and 3D-modeling in general. So to get an understanding of different properties I want to write  python scripts to create multiple renderings with different settings of various values.

In the example below I have figured out how to change the Volume Absorption Density, ex:

bpy.data.materials['MyMaterial'].node_tree.nodes['Volume Absorption'].inputs['Density'].default_value = 100

But not the RGB-node. It seems I cant even get the current values out of it. Some things I have tried:

bpy.data.materials['MyMaterial'].node_tree.nodes['RGB'].color
bpy.data.materials['MyMaterial'].node_tree.nodes['RGB'].color.r
bpy.data.materials['MyMaterial'].node_tree.nodes['RGB'].color.outputs['Color']

How do I get and set output values of the RGB-node in py python-script?

Welcome to Blender.SE, UlfR.

Finding out a property in Blender is relatively easy. Make sure, you have python tooltips enabled (in the user preferences).

Then hover your mouse cursor over the property (in this case the color). A tooltip containing the python command will appear.

The property you seek seems to be outputs[0].default_value.

def_rgb = bpy.data.materials['MyMaterial'].node_tree.nodes['RGB'].outputs[0].default_value

It is a bpy_prop_array by default, so you may want to convert it to a list.

float_values = list(def_rgb)


Problem with UV MAP and Unwrap I Created a low poly barrel with three cylinders. The first one I created is  the barrel shape, the other two are the rings around the barrel.

I have one problem with the UV MAP (Blender 2.82), when I select all vertices, Blender automatically creates streched a UV Map with 2 circles and 16 faces. I don't want this UV Map but I can't delete it.

I marked the barrel top, barrel bottom and all edges from one side with "Mark Seam" and after this I unwrapped my model. Unwrap creates something like 2 UV Maps in one, one over other, the first with 2 circles and 16 faces stretched and the second correct but I can't delete the first one.

How can I solve this?

Pressing u and clicking unwrap should give you your new mesh with the seams that you have defined. You don't need to "delete" that one.


Why does "render layers" selection not influence the rendered scene in this blend file? I have my blend file at pasteall.

Whenever I try to render the scene with no render layers selected, it says All render layers are disabled and then does nothing.  This is as it should be.

However, whenever I try to render the scene with any render layers enabled it seems to utterly ignore the render layers and render whatever is visible in 3D view instead.

Better yet, the point light I've put in does . . . nothing.

I'm actually working on a real piece, and I did this experiment in parallel with it (I want to do some symbolic artwork about the internet/information exchange using Blender.), and I'm afraid of something like this happening to actual work.

Thank you very much to anyone who can illuminate this!

P.S.: I have this idea working in several other blend scenes, it's just this one with which I've made a problem for myself.

The reason that your point lamp has no effect is that the plane below it is 100% glossy. Lamps will not appear in reflections if they do not have multiple importance sampling enabled. Also see How do you make a lamp light up glossy surfaces?

The other objects have emission materials, which will appear shadeless (will not be affected by light sources).