Blender Guru Tutorial - Part 5 - Coffee Cup I'm following BlenderGuru's tutorial Blender Beginner Tutorial - Part 5: Modeling

I'm trying to model a coffee cup. I started with a reference picture of the cup, added a cylinder, resized the base of the cylinder to match the cup, and resized the bottom of the cylinder to make the shape tapered.

However, when I add a loop cut to the middle of the cylinder mesh and scale that loop, the bottom edge loop becomes distorted and jagged for reasons I do not understand; it is no longer the nice ring that I want it to be.

What's going on?

You have Proportional Editing on with Random Falloff selected. You can turn this off by pressing O once or twice or by changing the menu manually at the bottom of the 3D Viewport.

A Gif to explain:

Proportional Editing can be extremely useful for deforming a mesh in a mathematically precise way. For example, with your coffee cup, I might loop cut the main cylinder several times and then use proportional editing with Smooth Falloff while scaling the bottom loop to create a loose conic shape. I then might use Sphere Falloff to widen the middle and shrink the top.


What is my PC Capable of Doing in Blender? What is my PC Capable of Doing in Blender?

Let me quickly display the stats of my current Laptop stats so you can understand what I am working with when I use Blender:

HP Pavilion dv7 Notebook PC
OS: Linux Mint 18.3 Sylvia
Processor: Dual core Intel Core i5-2430M CPU @ 2.40GHz
Memory (RAM): 8GB
Graphics: Intel 2nd Generation Core Processor Family Integrated Graphics Controller
GPU Resolution: 1600x900@60.12hz, 1920x1200@59.95hz

Now that you know what I am running, here is the issue I am faced with:

Because My PC isn't the greatest, I wanted to know if there is any way for me to do simple animations or rendering so that I can still create videos or scenes, just not like Transformers turning into cars type stuff (more advanced professional animations with LARGE areas to cover).

How do creators get around a problem like this? And if there is no solution to a problem like this, can someone recommend a PC Setup (Laptop or Desktop) that I can successfully use to do good looking (but not too crazy) animations?

It is really discouraging when you learn how to do something but you know your PC will have a nightmare of a time rendering it (or even creating it!). I like 3D Animation movies and sculpting, however I'm not sure if it is something that I am meant to do if a super computer is required to do cool stuff. Can someone please give me some insight on this subject because I really want to do amazing stuff with Blender with what I got, or at least without spending my life savings .

Well, First of all, your PC is perfectly fine for learning Blender. You can do everything and anything with it.

Even an EEEPC with 2x1.6 ghz and 2GB ram is enough to do that. You might want to run it under Linux but that's not a problem.

You can test the performance easily. Just make a cube with 10k faces and duplicate it until rotating gets sluggish. Sluggish means: stay below that. You'll find your threshold in the upper right. You can also hit SPACE and type redraw timer. That'll tell you how long Blender takes to redraw the screen with its current content.

Rendering: also, just make test scenes and find the stuff you still find bearable.

There's cool low poly stuff out there. Blender is also very cool for cutout animation. Check Monty Python and Terry Gilliam for that (well, or South Park). Watch a game walkthrough like Limbo, check a movie like Renaissance and you can see that it doesn't take fancy lighting, 50 million polygons and lots of reflections to create atmosphere. ASDFmovie is very successfull, too.

You could do a full 90 minute movie with your machine and the rendering wouldn't be excessively long as long as you don't try to do Pixar and know enough tricks. If the story is great and the acting is decent and the camera work is good, simplified visuals can even be a strength.

If you are frustrated with your PC being small, you are actually frustrated with your current income. The PC is only a symptom. That would be subject to strategic planning and lots of learning and practicing and daily focus on a course that financially makes sense and is sustainable.


Life would be easier if the Blender version was always visible in the interface so one can always know which version to use for tutorials This is probably the wrong place to submit this but anyway.
Sometimes the author of a tutorial mentions the version he used but very often they do not. I have been frustrated beyond imagination by this issue. It already says "Blender" top left corner of interface would it be possible to add the version number to this as well so one can know at a glance what version was used for a given tutorial?
Thanks and apologies if this is the wrong place for this post.

The version number is displayed in the bottom right corner:


How do I change the axis reference point of an object? I wanted to create a cone, but when I changed its dimensions, It randomly put the axis reference point at a weird location that makes the positioning of the object (using the numerical location tool) a bit tricky.

So I'd like to put the cone's local axis reference point at a more comfortable location, like the center of the circle base. How do I do that?

Thanks in advance.

You need to set the object's origin to the center of the circular base.

Go into Edit Mode (Hit Tab). In edit mode you can select vertices, edges or faces. To switch the mode to vertices, or edges or faces hit CtrlTab. Select the one that's convenient for you.

The goal is to have the center vertex on the circular base selected or a loop of edges around the circular base, or all the faces of the circular base. Whichever's center point is at the center of the circular base. Now set cursor position to selected. Use ShiftS. Select cursor to selected. Now exit out of edit mode. Hit Tab.

Now set the origin to 3D cursor. Use ShiftCtrlAltC. Set origin to 3D cursor. Now you can position the object in reference to the new object origin. Done. :-)


How to reduce edges and make a face out of it? Have lots of edges in my starship mesh, as shown in the red box.
How could I reduce them and make one rounded face out of it?

Just as Tainin said it is not possible to make a curved/bent/folded surface without joining two or more vertices with an edge. However you can make a low Poly model and use smooth shading (in tools menu) to give a more curved shade effect. Or perhaps the normal maps might help depending upon the purpose of your 'Ship'.


How do you stop an adjacent face from moving? I'm new to Blender, and really need some help.

I'm following a tutorial, where you have a cube, and you use extrude region on one side of the cube so you end up with two cubes next to each other. You then select the top face of one of the cubes and push it downwards.

In the tutorial the cube you don't touch remains as it was, so you have two cubes of different heights.

However, when I do this the top surface of the cube  I'm not moving, adjusts to my movement and slopes so the top half is like a triangle.

How do I stop the adjacent cube from changing it's shape when I adjust the height of the cube next to it?

I'm not sure if it would affect it or not, but proportional editing is disabled.

Thank you for any help you can provide!

Here is an photo of the part of the tutorial, it is from a magazine.

Step 8 says: You can move one face around independently of the adjoining face. Try pushing one of the adjacent faces downwards and notice that Blender fills the space between them with another surface.

For what it's worth : after using Blender for about a year, I have personally never encountered the behavior shown in that tutorial picture - that is to say, performing a "Sketchup-like" push and pull with an automatic fill.

A third-party add-on allowing for something of that nature has recently been released, but this is definitely not default. This probably means that this tutorial has been badly edited/proofread.


How to get rid of the jitter of softbofy rubber band I am currently trying to get a basic slingshot to work.

It consists of two simple poles and a softbody hooked in between as rubberband. It works so far.

But I cannot get it properly animated.
I just tried to use a basic collision object (which I had planned to make invisible later) to use it as a drag item. Strangely the rubber band acts as if the drag object was magnetic and gets pulled towards it. Additonally it gets crumbled very weird (jittering) during drag phase. I tried several settings in the softbody settings, but could not get it done properly.

I posted the same at blender artists where I could add the blend file.
BlenderArtists

Does anybody have an idea?

Alternatively, is there maybe a better solution to do this.

Thanks in advance

Slingshot - (Note, this was done in vers 2.77a.  It should work in 2.81)

See Blend file below

The difference between this and the longbow -

Is there a better way to make paths? Working on a string for longbow

... is the way the rubber is anchored to the yoke (Y piece) and the projectile holder/pouch.

The rubbers are made up of two straight curves instead of just the one to give it a sharper angle at the apex/stone holder but as it turns out, one piece (curve) would probably do it. (See layer 6)

3 hooks are added to control the rubbers' shape & stretch.  One at each of the yoke ends and the 3rd shared between the two ends that come together at the apex. (projectile end)

The hooks at the yoke are parented to it and this effectively anchors the rubbers' ends to the yoke.

Similarly, the shared hook at the apex, anchors both rubbers together.  When the hook is drawn back the rubbers' apex is drawn back with it.

When it's 'released' (animated)  it's this hook that's animated to emulate the retraction and the subsequent launch action, plus the oscillations that follow.

A circle "Nav Empty" is what 'bolts' (parents) the whole thing together and localises the hooks and separate parts.  The Nav-Empty can be angled, rotated and moved about the scene and everything will come with it, including the projectile. ( before it's launched)

The stone or projectile uses a 'Child-of' constraint, the parent being the holder or pouch.  This will force the stone to follow the pouch and rubbers as they retract to the most forward location, whereupon  the constraint's influence is switched to zero between two adjacent frames.  This frees up the projectile, allowing it to be animated freely along it's trajectory.

Physics was experimented with here but it introduced complications that frankly, cancelled out any perceived advantage.

The projectile holder or pouch is another (separate) bevelled curve that's expanded to be larger than the rubber and that's also parented to the rubber's apex hook.  A thinned down cube shaped as a piece of leather would look better.

The holder is forced to follow the apex hook but after the launch frame, some rotoscoping (frame by frame alignment and keyframing, using it's own hooks) was deemed the best way to keep it aligned.  There's only a few frames involved.

-=================-

Info -

An interesting observation here is that once a curve's intermediate or inner control points are removed so there are only two remaining, one at each end, then replaced, they lose the ability to curve gently or biologically as before.  Deforming their shape after that, ends up with 'vectored curves' that are much sharper.

This proves ideal for anchoring the rubbers to the yokes.  A control point at the yoke end and inside the yoke's mesh, plus one just outside, provides a solid anchor for the rubbers.

Both rubbers were therefore stripped of their inner or intermediate control points.

The single segment remaining within each is subdivided once so we end up with 3 control points in each rubber, one at each end, and one that can be slid along their length near the yoke end. This acts as a corner guide which is animated to ensure the rubbers don't penetrate the yoke, but sit snugly at the surface at the yoke's corner edges.  This is particularly useful when oscillating the apex hook after the launch.


How to install box cutter if it isn't found in add on? I have installed blender latest version 2.90.1 and I need box cutter application but it is not available in add on. Now I am helpless because I have no idea to get the box cutter in blender. I have searched for it many times on YouTube but not a single video exactly matches with my problem.

https://blendermarket.com/products/boxcutter
Once purchased, Follow the guide to install into blender. Boxcutter is a paid addon and cant be installed from the default addon directory.
Manual: https://boxcutter-manual.readthedocs.io/en/latest/


Change nodes position through scripts I'm Creating some nodes through python script. The problem is that all the nodes are overlapping each over. I just wanna programatically re position those nodes. How to do this?

 imgtx1 = nodes.new('ShaderNodeTexImage')
 imgtx2 = nodes.new('ShaderNodeTexImage')

Just consider these 2 nodes as of now. Thanks in advance!

Every node has it's own size/location properties that are accessible in the node itself.

import bpy
from mathutils import Vector

imgtx1 = nodes.new('ShaderNodeTexImage')
imgtx2 = nodes.new('ShaderNodeTexImage')

#location
imgtx1.location = Vector((200.0, 400.0))

#or
imgtx2.location.x = 100
imgtx2.location.y = 200

#size
# only width changes are allowed within the values of
# node.bl_width_min and node.bl_width_max
imgtx2.width = 200
imgtx2.width_hidden = 100


Cycles: object is invisible if Shader Add uses 2 Transparent Shaders I'm creating ice material, and it works fine, but only in viewport or with background (i.e. disabled Transparent in render). Here is my Nodes with result in the viewport:

But it isn't drawn in render:

However, if I skip last Add Shader and use one of Mix Shader, it somehow works:

Also, as I said, it works fine if I disable Transparent in Film section of Render tab:

But I need transparent background! With all the nodes working. In addition, I figured out that the problem is due to mixing 2 Transparent shaders, they somehow affect not only colours, but the following nodes. But I believe if it works fine in the viewport, it is possible to solve for the render. How can I achieve it?

Additional info:

I have an HDRi environment.
I use orthographic projection.

You need to be very careful when using the Add shader as it is not physically accurate and can produce some unexpected results - as you have discovered here. This is actually “expected” behaviour when you understand how the Add and Mix shaders actually operate.

A shader effectively defines how light hitting a surface contributes to the light leaving that surface - some will be absorbed, some will be reflected, some will pass through. This occurs for each of the Red, Green, Blue channels and, also, in the case of ‘transparency’, for Alpha.

The Mix shader takes any teo such shaders and ‘mixes’ them together proportionately. For example 50% of one and 50% of the other, or 30% or one and 70% of the other, etc., but, importantly, always adding up to 100% (an unconnected input socket effectively counts as pure black).

When you use the Add shader the same ‘safeguard’ of only ever having 100% of a shader contributing to a surface no longer applies. This means that you can have more than 100% of any element present in the resultant surface.

In the case of transparent shaders, one could contribute, say, 50% Tranparent and 50% Diffuse at 30% grey - in ‘RGBA’ terms, this would be (0.3, 0.3, 0.3, 0.5) - ie, transparent grey. Mixing between this shader and another would produce consistent results... but, Adding this shader to a sinilar shader would add the corresponding contributions... so this could result in (if the second is also 30% grey to demonstrate) RGBA values of (0.6, 0.6, 0.6, 1.0) - ie, it has now become 100% transparent!! (But only because the shader is infront of a 100% alpha background - ie, the transparent environment).

Using other values can actually result in values that are greater than 100% and this can produce even stranger results when combined with other shaders.

The upshot of all this is that you should be very careful of using the Add shader unless you have a very good reason - for example, adding an emissive glow or combining Scatter and Absorption shaders. Normally just use a Mix shader.

See also Why adding transparent shaders don't result in transparency?


How Can I Subdivide Only Part of a Grease Pencil Stroke (Ver. 2.92.0)? When in Edit Mode for a Grease Pencil object, I can go to the Stroke menu at the top of the screen and select Subdivide. But this will always subdivide the entire Grease Pencil object. How can I subdivide only part of one stroke within the Grease Pencil object, specifically between two particular vertices? In the included picture, there are not enough vertices between the circled ones, but I can't figure out how to add vertices only to this area. What's worse, even if I give up and simply opt to use the blanket Subdivide option (hoping to get more vertices where I need them even as I'm forced to add more of them where I don't), it seems that vertices are still not being added in this specific region. Why is this? What am I failing to understand about how Grease Pencil geometry behaves?

Select only two points where you want to subdivide, and select Stroke > Subdivide.

Or just right click on the context menu and select subdivide.

Note that you can modify the settings for the tools and the post processing for the draw tools to get better detail and optimize how control points are distributed on the drawn lines.

For more information read the manual https://docs.blender.org/manual/en/latest/grease_pencil/modes/draw/tools/draw.html#tool-grease-pencil-draw-draw


Blender rendering black screen when light out of interior I'm pretty new to blender and for starting wanted to create my room. I just wanted to make render in middle of work to see how is it look like without noise and all that laggy stuff.

I started it and all I see is black screen(on preview it works fine). Render takes a while, so at start I thought that final result will show something else but still(rendered in cycles but EEVEE shows the same).

After some research and trying some stuff nothing helped. So I tried to put light inside of room and it worked, but light shouldn't be there.

Blend file

Ok guys, now i know the reason of this.
Thing that caused it is boolean modifier and cubes which I used to do this blocked any light no matter hiden it or not.

My solution was to make them invisible for render in visibility tab


How do I set the origin to the center of a mesh? I have tried to set the origin of a mesh using "Origin to Geometry", "Origin to Center of Mass (Surface)" and "Origin to Center of Mass (Volume)".

None gave me the correct result.

Here is the blend file.

What am I doing wrong?

Thank you.

Because your mesh is fatter at the bottom than it is at the top, the center of of mass by volume and by surface are toward the fatter end of your mesh.

Your best bet is to position your 3D cursor where you want your origin to be, and then set the origin to the 3D cursor.

In Edit Mode, select one vertex on each end of your mesh. In your case this is easy because you have conveniently centered vertices.
Hit SHIFT + S and choose 'Cursor to Selected'
In Object Mode, set the Origin to 3D Cursor.


use same smoke cache in multiple domains I am trying to render a scene involving 128 or more rockets which each have their own smoke domain. To achieve the quality i want, any of the smoke domains take considerable time to bake, and the externally saved smoke caches takes up noteworthy disk space, and furthermore all the different smoke simulations look as good as identical.
Therefor i would rather not bake and save each every 128 smoke domains individually, instead i would rather bake a limited number of smoke caches (for instance 16) and use these smoke caches in multiple of the smoke domains (which all have the same mesh).

Simply setting the same external file path, index number and frame range for the different domains under the Smoke Cache tab (in the properties panel), does however not seem to make different smoke domains able to use each others smoke cache.

My question is therefor: is there any thinkable way to make multiple smoke domains use the same smoke cache (and thus have identical smoke – linking the smoke simulations so to say) provided that the smoke domains have exactly the same mesh? And if this is possiple, how can it be done?

I think any instancer can do this job. Like ...

with Particle System

bake a few diferent Smoke Domains and Group them (Ctrl+G)
add Plane, assign a new Particle System to it
in Particle Properties set Physics=None, Render=DupliGroup
(if you need manually position instances, let emit from vertices)

with Duplivert

add a Plane, subdivide it
select baked Smoke Domain, then select plane and Parent them (Ctrl+P)
then with plane selected, go to Object Properties > Duplicates and choose "Verts" (keep domain in the same layer as plane)

Disadvantage of dupliverts is - you will have to repeat this process for each baked domain

Advantage - you have precise control over WHAT type of domain and where this specific type of instance (domain) will appear in a scene.


Where is radius parameter for sun lamp in newer version of blender 2.8? I usually do sun's radius to zero for sharp shadows but can't seem to find that "radius" parameter in newer version of 2.8 what did they change it to? thanks:)

The size of the sun is now "angle"

The tooltip describes it as

  the angular diameter of the sun as seen from the earth.

Making that value smaller will make the shadows sharper (a more defined umbra), and making it larger will result in softer shadows (or less penumbra).

Do a search online the concepts of Umbra and Penumbra.


Dyntopo Sculpting: How to carve out (like a boolean) instead of push in? I'm faced with a sculpting challenge. I want to carve out large chunks from meshes as if it were booleaned out, but instead of simply subtracting, every brush I've tried just pushes the geometry.

Example:

From the angle the gouge was made from it looks good:

But from the opposite angle unwanted geometry is jutting out:

Since I'll be creating many nicks, scratches, chips, and gouges in meshes it is obviously impractical to create these using booleans. I need to be able to "carve out" with Dyntopo using sculpting brushes. I've tried making custom brushes and tweaked many many settings, but can't seem to get a proper subtractive effect.

I needed something similar for cutting a mesh in half. After trying all of the brushes, I found that Clay Strips is the cleanest, with little to no pushing in the back. It works for gouging out a surface just as well. These are the settings I used:

Brush
Strength: 1.500
To save time, you'll want to adjust this depending on the level of detail and the radius of your brush. On average, this is the value I find works best in my case.
Autosmooth: 1.000
This setting is a necessity when trying to make any sculpt brush cut through a mesh, but it weakens the brush's effect on lower resolutions. In your case where you want to gouge, this isn't as important. But if you're trying to cut something in half, not using Autosmooth will take longer and cause backface clipping.
Sculpt Plane: Area Plane
Area Plane is much quicker than View Plane in this case. Also, keep the button next to this setting unlocked so the geometry can be carved properly.
Plane Offset: 0.000
The Clay Strips brush will need to act on whatever surface you use it on, without offset. Keeping this at 0.000 will help prevent distortion, and allow the geometry to be carved properly.
Trim: No
Front Faces Only: No
Direction: Subtract
Accumulate: Yes
Like Autosmooth, Accumulate is another necessity for a cutting brush. It simply allows the stroke to continue without having to re-click, which is especially important here to save space in the undo history.

Stroke
Stroke Method: Space
Spacing: 10%

Result


How to undo the "join" command without pressing control or command Z? How can I "un-join" curve objects that were joined with the Join command without having to convert them to mesh objects? If this is not possible, why hasn't it been implemented?

You can separate selected splines into new curve objects.

Go into edit mode ↹ Tab of the curve object. Select the part which should be separated (linked selection L is useful here). Press P to separate.


Blender 2.8 Zoom to mouse position I've just started using Blender - been meaning to for a while but figured I'd wait until there was a somewhat stable 2.8, so I wouldn't have to relearn things.

I'm trying to figure out how to set it so when you zoom using the mouse scroll wheel it will zoom to where the mouse position is instead of making everything go off the screen unless its perfectly centred, as it is infuriating, and annoying having to scroll across after zooming every time.

Doing multiple searches all yields the same result - there's an option in User Preferences under Interface. Except it's missing in 2.8, and it's not under the Input > Mouse section either.

I'm sure it's something simple but can't find any 2.8 documentation.

Preferences > Interface > View Gizmos > Zoom to mouse position

You were using a newer version of the 2.8 beta than I was :)

In the latest version its Preferences > Navigation > Zoom :


Problem rendering at the end of rigid body animation with script I am working with a rigid body sequence consisting of a number of objects (leaves) that fall on to a plane. I want to loop through a number of different starting locations and rotations of the leaf set (among other changes), so the result (final frame) should be rendered to file before starting again with new leaf parameters.

My code uses bpy.ops.screen.animation.play to create an animation sequence, then I have tried to render the result (last frame) to a file using bpy.ops.render.render(write_still=True).

I can play and stop the animation, but when I then call bpy.ops.render.render(write_still=True) it renders the output of Frame 1, and doesn't show the animation playing in real time in the viewport or the timeline.

I can, after running the script to play and stop the animation, call bpy.ops.render.render(write_still=True) in the Python console and it succeeds in rendering/saving the final frame. However this makes the looped multiple sequences harder to manage if I need to use the Python console after each (~3minute) render sequence.

Basic code for running animation and attempting to render/save final frame to file below, thanks for any help! I feel that a handler is useful, perhaps?

import bpy
import os

filepath = bpy.data.filepath
directory = os.path.dirname(filepath)
print(directory)

for scene in bpy.data.scenes:
    scene = bpy.context.scene

def stop_playback(scene):
    if bpy.data.scenes['Scene'].frame_current == bpy.data.scenes['Scene'].frame_end:
        bpy.ops.screen.animation_cancel(restore_frame=False)

def start_anim():
    bpy.ops.screen.frame_jump(end=False)
    bpy.app.handlers.frame_change_post.append(stop_playback)
    bpy.ops.screen.animation_play()

def write_image():
    filePath = bpy.data.scenes['Scene'].render.filepath
    bpy.data.scenes['Scene'].render.filepath = os.path.join(filePath, 'BOB' + "_")
    bpy.data.scenes['Scene'].frame_set(bpy.data.scenes['Scene'].frame_end-1)

    bpy.ops.render.render(animation=False, write_still=True, use_viewport=True, layer="", scene="Scene")
    bpy.data.scenes['Scene'].render.filepath = filePath

if __name__ == "__main__":
    start_anim()
    bpy.data.scenes['Scene'].update()
    write_image()}

I assume you are using Blender 2.79, it may not work.
But in Blender 2.80, this is how I would do:

if __name__ == "__main__":
    bpy.ops.screen.animation_play()
    write_image()

Does the issue persist with Blender 2.80?


Everything looks fine in edit mode, but distorted in object mode Disabling modifier in viewport does the thing, but I want to animate it, which isn't possible with the armature disabled (see this clip).

I look to some posts with the same issue:

https://blenderartists.org/t/model-looks-different-in-edit-mode-than-in-object-mode/561625
https://blenderartists.org/t/looks-fine-in-edit-mode-distorted-in-object-mode/577266

...and tried this:

Select Armature > Pose Mode > Pose > Clear Transform > Location (alt G), Rotation (alt R), Scale (alt S) (nothing's working).

Download the file here.

I downloaded the .blend file and can't reproduce the issue. Maybe disable some addons, get a clean install of Blender, etc. Here's what I did right after opening the file, everything seems fine to me, let me know if I missed something:


Problems with "simple-mesh" smooth shading I'm modeling a wooden elephant and using this method for cleaning the topology.

I'm having a little problem with a "simple" mesh, when adding a subdivision-surface-modifier and applying the Shade-Smooth.

As shown on the video, near the base of the legs and the "bridge" between the legs looks kind of pointy instead of smooth. It really confuses me given that in theory I have a simple topology.

I already recalculated the normals in various ways and the problem persists.

this seems to be something simple, I tried to recreate and this solution worked:

[select the face and click "X" or "delete" key and "dissolve vertices" (this will delete the vertices of the selected face without making a hole)]

the subdivision surface modifier use the edges distances to apply calculate smooth, if one edge is close to another, the modifier will less smooth.


strange artifacts in normal map I've got problems with Blender Normal bake.
I'm Trying to bake a set of High res (sculpted) Teeth to a low poly model of the teeth.

In the normal map I see some spots that stay purple, the normal map doesn't bake to this piece of the map.
I think it has something to do with the bake settings, but I need some help, how to control them.

And I get some strange colors like green and orange.

When I apply the normal map, as you can see it's really ugly.

Here is a link to the Blend file: teeth.blend

Using Cycles I was able to achieve the following result using the meshes from your .blend. Not sure why your image has the funky artifacts, but as far as I can see the result I turned out seemed okay? I'll add the steps of how I achieved the result below... :)

1. To begin, after deleting all previous mesh data (Materials, UV Maps, etc- helped me to start afresh) and with the multires mesh selected, add a new 2048x2048px image in the UV Image editor. Then create a new Cycles material with this image attached to the diffuse colour (as this image needs to be applied to the multires mesh in order to bake the normals, and plugging it to the diffuse colour will help us view it in Textured View Mode later on if need be).

2. Next enter edit mode and UV Unwrap the multires teeth mesh onto the new image.

3. Now we can head over to the Render settings in the properties panel and jump to the Bake tab. Change the Bake Type: dropdown to 'Normal'.

4. You can change the Margin to be '0px' and check the Clear box beneath it. This'll just make the normal map look a bit cleaner, you can leave it at higher values if desired, it shouldn't affect the normal map. Finally, hit Bake!

And there ya go! You can save the UV Map externally by tabbing out of edit mode, hovering over the Normal Map in the UV Image editor and hitting F3. Hope this helps! :)


Convert Houdini Matrix To Blender Matrix? I am trying to convert a Houdini matrix to Blender matrix so that when the matrix is applied in Blender the camera faces the same direction and is in the same place as it was in Houdini.

I am looking for some kind of "black-box" python function that will accept a Houdini matrix and return a valid Blender matrix. Like shown in this math image.

Thanks for the replies. I also got replies on BlenderArtists as well. I finally found a solution that works for me so I thought i'd post it here for others to use.

Run this code in the Blender default scene and the camera will jump from one location to another. The new location is defined by the string that holds the Houdini matrix.

import bpy, math
from mathutils import Vector,Matrix

def applyTransform(sMatrix, passedOb):
    if passedOb != None:
        tmp = eval(sMatrix)
        mtx = Matrix(tmp)
        passedOb.location = [mtx[3][0],-mtx[3][1],mtx[3][2]]        # Flip Z and Y axis.
        mtx.transpose()                                             # From BL Stack user.
        rot_x_neg90 = Matrix.Rotation(math.pi/2.0, 4, 'X')          # From Kastoria.
        passedOb.matrix_world = rot_x_neg90 * mtx                   # From Kastoria.

# Matrix string from Houdini object.
s = "[[0.900496, 3.27826e-007, -0.434865, 0], [-0.117881, 0.962558, -0.244102, 0], [0.418583, 0.271075, 0.866779, 0], [5.32776, 2.57303, 7.33473, 1]]"
ob = bpy.data.objects.get("Camera")
applyTransform(s,ob)


My textures won't show up in BGE I know this has already been posted but they are all old. I have tried many things but I can't make my mesh take a texture in the game engine. I have it unwrapped and everything. I've tried uploading the images/textures in several different ways, including; dragging and dropping it onto objects, going through the materials and texturing tabs. It looks fine on the blender render but nothing but a solid diffuse in BGE.
I'm not sure how to upload a file of it but i will if/when I figure out how to.

There should be an option within the render settings to display as either Multitexture or GLSL. To change this option, while your mouse is over the 3D viewport, press the "N" key. In the sidebar that appears, open one of the drop down menus (I believe it's the one labeled Display) and you will find an option that toggles between the Multitexture and GLSL rendering systems. Click GLSL if it's not already selected and you should see your textures appear.


Blender Doesn't Permit Indices in Drivers? I have a variable in a driver that I would like to be able to "switch on and off". To do this, I figured I could give this variable a power, another variable that would link to a custom property. I can then make the custom property 1, for enabled, or 0 for disabled - as a number to the power 0 is 1 and 1 multiplied by another number is just that other number.

I.e. x^y*z .

However Blender doesn't seem to support this. Here is the error from the console:
Traceback (most recent call last):
  File "", line 1, in
TypeError: unsupported operand type(s) for ^: 'float' and 'float'

Any ideas as to why this is? It seems like pretty standard math to me. If not, any ideas how to get around it?

As I said in the comments

Raising a value to a power is pretty standard math, something python can defiantly do.

Your trouble comes from a simple python syntax error. You are using ^ when the syntax in python is  ** for power of (^ is the bitwise XOR operator
).  As you can see here in the python docs ** is the the correct form.

You could alternatively use pow() function.


Blender on remote Linux machine via X server I am trying to get Blender to start on a remote machine via an X11 session. I have tried this in the past (circa Blender 2.6 ~ 2.69) and it has worked without problems.

The Linux machine (VM Running Ubuntu 18.04.2 LTS) is setup with all necessary libraries. glxgears (and a set of other programs that I need) starts without any complaints but Blender fails.

The failure paths are as follows:

Install Blender via apt-get

When you try to start it you get a segmentation fault.

Install Blender via a straight zip download from blender.org. In my case, blender-2.80rc1-linux-glibc218-x86_64.

When you try to start it you get a bunch of error code: 1, request code: 143, minor code: 34, error text: BadRequest (invalid request code or no such operation) that conclude with:

  Error! Unsupported graphics card or driver.
  A graphics card and driver with support for OpenGL 3.3 or higher is required.

(Fair Enough)

When you try to start blender-softwaregl (as I have been doing in the past), everything appears to be going well, you even get a window on the local machine titled "blender" but the errors are now error code: 159, request code: 143, minor code: 34, error text: 159 that conclude with:

  Xlib:  extension "MIT-SHM" missing on display "localhost:10.0".

xdpyinfo reports 23 extensions enabled, none of which appears to be MIT-SHM. (BIG-REQUESTS, DAMAGE, DEC-XTRAP, DOUBLE-BUFFER, Extended-Visual-Information, GLX, MIT-SUNDRY-NONSTANDARD, RANDR, RECORD, RENDER, SECURITY, SGI-GLX, SHAPE, SYNC, TOG-CUP, X-Resource, XC-APPGROUP, XC-MISC, XEVIE, XFIXES, XInputExtension, XKEYBOARD, XTEST).

Is there an alternative way to get Blender running in this configuration that I may be missing here?

UPDATE 1:

Noticing that xdpyinfo does not make any reference to MIT-SHM when it lists extensions, I created a 20-enable_mit.conf in /usr/share/X11/xorg.conf.d with:

Section "Extensions"
Option "MIT-SHM" "Enable"
EndSection

I restarted the system but the extension is still not being reported by xdpyinfo.

Any ideas?

After quite a bit of trial and error, the latest version of Blender that can run through blender-softwaregl in the above mentioned configuration is 2.79.

There is nothing in the changelog of 2.79 or 2.80 to indicate any sort of reason for this.

Update:

The short answer seems to be that it is impossible to run Blender 2.80 over XDMCP in the described setup.

The longer answer is that Blender makes use of an X11 extension that is only effective when both the "client" and the "server" are running on the same machine.

In the client-server architecture, a process connects to another process and asks it to carry out tasks for it. This communication is governed by a strict "language" (the protocol). Usually, you don't think twice about who is the "client" and who is the "server". For example, internet browsers are clients to web servers and they exchange information over HTTP.

In the X Window System, the machine that should be considered as "the server", is the machine that shares its resources. As there can be only one mouse, keyboard, actual video output and so on, the server is the one process that "talks to them" and manages access of other processes.

This is where it might get a bit confusing. The typical way by which access is gained to a remote machine is through a Secure Shell connection.

This implies that the machine we are trying to connect to is running a Secure Shell Server and the connection is initiated by a Secure Shell client such as ssh in Linux or putty in Windows and others.

After authentication, we might try to start an application with a Graphical User Interface.

To do this, in this setup, the computer that executes the SSH client, needs to also be running an X11 server (the machine that provides the actual resources is not the one that is running the SSH server / Blender).

So, the complete round trip starts with the SSH Client (e.g. putty), connecting to the SSH Server, the user starts a piece of software (e.g. Blender) that uses the X Window Manager, it, in turn attempts to connect to a "display" server and initiates a connection back to the X Server that runs on the same machine that initiated the SSH connection (e.g. to something like XMing).

The end result of this is that the client process (Blender) does not run in the same memory space as the server process.

The MIT-SHM extension is an interprocess communication mechanism for the two communicating processes to share large amounts of memory.

When the extension is supported, the client might reserve a memory space through a "special" set of calls which ensures that another process (the X Server) has access to it too. This is to make the main connection less data heavy (and therefore faster). Instead of sending a huge amount of data over the connection, the processes might simply exchange the "handle" of the memory space which is just a number.

This makes sense for a heavy application such as Blender.

The XMing server does not support the MIT-SHM extension. This is the reason behind this specific error.

Even if the XMing did support the MIT-SHM, the client and server processes would run in different memory spaces and therefore this "handle" from one machine would not make sense to a different machine. This is why it is impossible to run Blender 2.80 under this setup.

Any attempt to force that feature off or circuimvent it would imply getting data from one machine to the other via the network (in one or another form), at which point, it would probably be equivalent to running Blender via VNC (if you can) where everything runs on the remote machine and the output is streamed back to the local machine.

Hope this helps.

Notes:

An X Server and an X Client are communicating via XDMCP
There are a few ways of trying to circumvent this MIT-SHM "limitation", but they basically imply running an X Server at the remote machine at which point, that remote machine would have to handle software rendering for Blender and streaming of the output. This is outside my use case and have not looked into it further but you are probably better trying to do this via a VNC type solution (if you can) rather than trying to "re-wire" X.

I don't know if there are ways to solve this via Distributed Shared Memory in Linux, but again even if it was possible (without starting a local X Server), the data that are supposed to be travelling between the two processes via the MIT-SHM would now have to travel over the network which, in the case of remote machines, is not going to happen faster than a VNC type connection.


How to turn generated mapping to UV Map Is it possible to turn this generated mapping into an UV Map?
If not, would it be possible to access the generated mapping by using bpy?

The problem here is that UV unwrapping simply assigns U (X) and V (Y) coordinates to the mesh, the W (Z) coordinate remains at 0 across the entire mesh.  Generated coordinates are based on the 3-dimensional bounding box of the mesh.

However, you can recreate the U and V generated coordinates in a UV map.

Just go into top view (Numpad 7) and hit U > Project From View (Bounds).

This will result in the same U an V coordinates as generated mapping.

For more on texture coordinates see my explanation of texture coordinates here.


How to get a list of edges of current face in bpy Blender Python question:

I have a list of faces and I need do something with some edges of the current face in a for-loop.

Actually, I need something like this, but with edges.
Thanks in advance.

Standard API
The active face's index is accessible in the standard API (bpy) like:
me.polygons.active

To get the actual polygon, you do:
me.polygons[me.polygons.active]

Note that the index is 0 (first polygons) even if there's no face at all, and it's independent from vertex and edge selection (a face can be active without its edges or vertices being selected).
There's no direct access for a face's edges, you can create a dictionary from the edge_keys however:
import bpy

ob = bpy.context.object

if ob.type != 'MESH':
    raise TypeError("Active object is not a Mesh")

# Get editmode changes
ob.update_from_editmode()

me = ob.data

if len(me.polygons) < 1:
    raise ValueError("Mesh has no faces")

# Build lookup dictionary for edge keys to edges
edges = me.edges
face_edge_map = {ek: edges[i] for i, ek in enumerate(me.edge_keys)}

# Get active face by index
face = me.polygons[me.polygons.active]

selected = "selected"
not_selected = " ".join(("NOT", selected))

for ek in face.edge_keys:
    edge = face_edge_map[ek]
    print("%12s - %r" % ((selected if edge.select else not_selected), edge))

You can also do without such lookup dictionary, may use less memory and perform better, 'since there's just one face we need to find the edges of:
for ek in face.edge_keys:
    edge = me.edges[me.edge_keys.index(ek)]

Bmesh module
You can access the edges directly using the bmesh module (for edge in face.edges):
import bpy
import bmesh

ob = bpy.context.object

if ob.type != 'MESH':
    raise TypeError("Active object is not a Mesh")

me = ob.data

if me.is_editmode:
    # Gain direct access to the mesh
    bm = bmesh.from_edit_mesh(me)
else:
    # Create a bmesh from mesh
    # (won't affect mesh, unless explicitly written back)
    bm = bmesh.new()
    bm.from_mesh(me)

# Get active face
face = bm.faces.active

selected = "selected"
not_selected = " ".join(("NOT", selected))

for edge in face.edges:
    print("%12s - bm.edges[%i]" % ((selected if edge.select else not_selected), edge.index))

# No need to do anything here if you haven't changed the (b)mesh
# Otherwise, flush changes from wrapped bmesh / write back to mesh
"""
if me.is_editmode:
    bmesh.update_edit_mesh(me)
else:
    bm.to_mesh(me)
    me.update()

bm.free()
del bm
"""


Can undefinied nodes be converted via scripts? I have a blend file that was made in a earlier version of blender and now a lot of nodes are labeled as "undefined". I don't remember what these nodes were, but I do know how to replace them. All of these Undefined nodes need to be converted into 'Mapping' nodes. Is there a way to automate this process of changing these undefined nodes into these mapping nodes?
In the pic below I simply manually added the Mapping node and changed the flow. Example file: http://www.mediafire.com/file/ypbtuinri3ntzmq/file

Very strange. I was the one who asked this question, but my account doesn't say I asked it and I cannot comment on the Ron Jensen comment chain. The solution to my problem was that I was using blender 2.8 and updating to 2.83 LTS changed the node from Undefined and back to Mapping.


texture painting color with wrong color I am trying to texture paint this pawn but for some reason it is not working correctly. Here i am trying to paint this orange but blender is painting it green. when i try to paint it blue blender paints in low intensity red.  I try changing materials, light, objects, normal no change.

Your blend type is set to mix. Change it to add.


Is it possible to render video sequence animations with network render? I would like to render a lengthy video sequence in the VSE faster using network render.

It works great for 3D animations but I can't get it to work with video sequences. The result is usually a blank screen with audio only. Has it been done before?

a possible workaround would be use dropbox or have the source .blend on the network file servers. Open on different machines and use the Star Frame: & Frame Skip: settings in render panel.

Computer#1: Star Frame 1: & Frame Skip: 5
Computer#2: Star Frame 2: & Frame Skip: 5
Computer#3: Star Frame 3: & Frame Skip: 5
Computer#4: Star Frame 4: & Frame Skip: 5

and so on, thats just a workaround, cannot find a addon for this either.


How can I close the neck gap between two seperate meshes for my detachable head objects? I want to have separate detachable models for each head on this body as if it were a hat so that I can swap between them and not have to need a completely new model and texture for each character (so they can be modular). So i have each head on a separate layer  and I've generated weights for the body and the head for the same armature but there is a distinct gap between the armature and the head  that also opens when the head is tilted.

I could try making the neck larger so it overlaps into the body but that wouldn't look as if the head is actually attached to the body and there'll probably be clipping issues when moving the head anyways.

If there's a way to have two separate objects act as if they are attached in the same mesh without actually having them be the same object that would be great. Otherwise I'll probably just have to have multiple body models that are more or less the same for each head which would be redundant.

Per my comment above, I've been trying to think about how best to achieve the same thing: introducing radical modularity into my models. I tried a few ways of precisely linking subsets of vertices across multiple objects with Hooks, Constraints, Vertex Parenting, etc, and found them all to be insufficiently flexible, and generally just very clearly not designed to achieve the intended goal. I even invested considerable time taking a mesh with one shape (a MakeHuman human head) and tediously building a ShapeKey that could deform it into an entirely different shape (a lion head -- the one you see below in this answer); that actually works quite well in some ways (you won't get unexpected splits when fitting an Armature to it!), but it also is severely limited in other ways that I found unacceptable (building an incredibly complex ShapeKey that would take hours to re-build forces you to avoid adding new Loop Cuts and similar edits that can alter the topological assumptions the ShapeKey has made, for example).

I hadn't come up with a good solution yet, but reading your question got me thinking: why not drop the requirement that the two objects be separate, and use a Mask to control which head is visible? With this approach, in principle you should have full control using standard Armatures / Mesh Deforms as you'd normally like, and there should be no risk of meshes splitting in unexpected ways.

Here's a very crude first shot at this, which I think basically serves as a strong proof-of-concept that this can work...

First, I'll use this stylized female character I've been working on, and I'm going to set her up to switch between a lion(-lady?) & human-lady head:

Second, I have to join the two objects, of course. Here is what they look like in Rendered View (note that things will be rather ugly throughout this, as I'm not cleaning anything up, including making no attempt to make Materials consistent), where you can clearly see that she's got two heads:

Third, I'll add a Pitchipoy rig (from which I'll use a single bone as an example), make sure the two heads are both joined to the same edge loop, and start selecting the vertices I need to make four vertex groups (Lion Head, Lady Head, Lion, and Lady, where Lion is the Inverse-Select of Lady Head, and similarly Lady is the Inverse-Select of Lion Head):

Fourth, just to illustrate how this should work, I'll assign all the vertices in both Lion Head and Lady Head to spine.004 from the Pitchipoy model, to verify that there's no unexpected breaking of the meshes etc. Here, we see we can turn the Lion Head & Lady Heads simultaneously using the relevant bone in pose mode:

Fifth, I'll just check that it turns in the opposite direction, too. Nothing unexpected here:

Sixth and seventh, we'll now check that we can do similar rotations, but with our Mask modifier choosing whether to show Lion or Lady:

Lastly, here's just an illustration of what the Lion vertex group looks like, visually (and Lady is analogous, of course):

In short, I think this provides a workable flow for using standard tools (Armatures/Mesh Deform, notably) to deform a single mesh that has multiple heads (or other limbs).

However, a few caveats/issues I haven't explored or that need more attention:

I may have been moving a bit too quickly (maybe I had one of the two heads hidden at the time of weighting), so I'll go back and doublecheck this and update my answer, but in my crude test automatic weight assignment for the Armature seemed to get quite confused and only to apply weights to one of the two heads at a time. If this is the case, it should be possible to work around it by fitting each model separately before combining the models and their vertex group weights, I think, but that would certainly be an unwelcome complication (EDIT: On further tests I am unable to replicate this problematic behavior; standard Armature parenting/automatic weighting seems to work just fine on the multi-headed mesh. I don't want to delete this bullet point just yet, though, as -- being unable to replicate it -- I do not yet understand why my original Armature-parenting failed.)
In this test case, I was able to use Mask to select an entire character at once by just inverting the part of the model (whichever head) I did not want. This logic doesn't extend to the case where multiple limbs can be combined in modular fashion, though, or even just where there are more than two heads. I think a combination of Vertex Weight Edit/Vertex Weight Mix modifiers and more modular vertex groups (one on each torso, one on each head, etc) could overcome this (and, failing that, it could certainly be overcome with a custom Python script)
Stuffing everything into a single object like this overcomes the issues you asked about, but severely limits the options Blender provides for organizing your model. You won't be able to move the Lion Head and Lady Head (or Lion / Lady, of course) into separate collections, since they're part of the same object, and if you pursue this far enough, the single model could become so complex that you (or your CPU/GPU, more to the point!) would never want to display all its vertices at once. You'll mostly be limited to Vertex Groups for documenting/organizing what would normally be treated as separate Objects/Collections, and limited to using tools like Mask to avoid displaying too much of the overall mesh data at once

A modular workflow like this stuffed all into one model can make for an enormously complicated single model, so I'm sure there's more to be discovered about when/where it has limitations, but from what I can tell this is a reasonably flexible starting point for achieving the desired effect without troublesome splitting of the modular sub-components of the overall object/character.


Cycles shader colour: values above 1 A quick question about shader surface colour values in Cycles.

If you set the surface colour of a shader to values greater than 1, for example the diffuse shader in the image below:

Can it be said that this material is reflecting more energy than it is receiving? e.g. will the albedo of a diffuse shader ever be pushed beyond 1 by increasing the colour values above 1?

If you push your color values above 1 your render will become physically inaccurate. You should try to keep your color values at most 1.

Glossy Shader with a color value of 1 1 1 vs 50 50 50

Diffuse Shader with a color value of 1 1 1 vs 5 5 5

As you can see once you set the color value above one the shader are emitting more light than they are receiving. If you have no light though the scene will not be illuminated by the shaders because the shaders are not actually emitting light they are acting like a multiplier.

You will also notice that in the render output certain pixels have a color value above 1


Having changed the scene units and unit scale, how can I change the default size of new objects? I am using blender most of the time to model things for my 3d printer. So a default unit in "meters" is not really helpful!
Within the scene settings it is simply possible to set the units to millimeter and the unit scael to 0.001 so everything seems to work as I want it to work...

But if I add a new primitive it uses its old default sizes in meters... so a new cube get's 2000 x 2000 millimeters instead of 2x2 or whatever will be useful..  Same for all other new objects...

How can I change the default sizes of new objects permanently?

And how can I change the settings in the application templates? Right now using ctrl+u changes the "general" template - perhaps because I loaded it before...

Thanks a lot and best regards
Stefan

Ok... I just figured it out by myself...

The scale of new objects is related to the scale of the grid within the "overlays" section if the 3d viewport... If I change the scale in there from 1 to 0.01 all new objects get 100 times smaller than originally which is quite the scale I can perfectly work with: new cubes have 20 x 20mm now...

I do not understand why the setting is located at that place but it works as I want it to work...


How to get reference clip to start in middle of timeline? Cycles Render Vers- 2.79

I need to use a reference clip for the final action of my animation, but that action starts at frame 720, and the reference clip ends at frame 300. How do i get the reference clip to start at a desired key frame on the timeline?

Thank you.

Texturing a plane with a video/image- For a Background Image see Edit below...

I'm using vers 2.77a here so 2.79 might be a little different. Here goes -

Select your model first in the 3D window.

At the extreme right are the 'Properties panels'.  The one with a small brown sphere is the "Material properties panel"  Click on that.

Go to the Texture properties next.  That's shown as a tiny coloured checkerboard of
sorts.  Click on that.

Go down to the "Image" tab and open that.

Down near the bottom is a tick-box called "Auto Refresh".  Make sure that's ticked to
make the video play.

At the left of that is a pair of slots - "Start & Offset".

Click in the "Start slot and enter the Blender timeline frame-number that you want the video to commence playing from.

The Offset slot points to the frame number within the video-clip itself that it's to treat as it's first frame.  (like pulling a tape or film strip through a player and starting from there)

EDIT 27th April 2019 - re Movie clip as a Background Image -

The same applies in the bkd image's panel.

Press N to open up the Viewport's properties. Scroll down to the "Background Image" tab and open that.  Click on the image folder icon to open your movie.

In there you'll see the same tick-boxes and entry slots as mentioned above.

You'll notice the "Opacity" slider is set at half by default.  Wind it up to 100% for full opacity.


When importing svg from inkscape, losses of color and definition I'm trying to compose a cone in Inkscape, embedding text, image (after converted in vectors):

But, after importing in Blender, here is what I get:

You see then that something went wrong, but I don't know what.
Please your advise is welcome !

JF

Blender being a 3D modeling application doesn't really work like a 2D vector drafting application like Inkscape, there is no Z ordering or layers to tell what stays above what, like one would in an illustration program.

What you see in you image is not loss of color or definition, nothing is wrong with your shapes, what you are seeing it is simply the imported shapes overlappingeach other at Z=0 height and causing faces to glitch.

This is a well known issue with rendering 3D scenes with overlapping geometry often called Z-Fighting

Think how these shapes would be built in the real world, there can't possibly be two objects be occupying the same physical space. You simply have to "subtract" or remove the shapes from each other so there are no overlapping parts.

For example make a copy of your "yellow logo" part and joint it with Ctrl + J to the white "cone base" part, so there is a whole there with the same outline, where the yellow logo can be seen through. Same for all other parts, purple background should have a whole in the center shaped like the white cone, and so on.

Before you proceed consider this:

Are you planing to make this cone three dimensional with an actual cone shape?
Have in mind that you will have a very hard time doing that from a bezier curve object, or even from a mesh object created from those imported SVGs. Blender doesn't deal with that very well at all because of how bezier curve geometry is generated.

Consider exporting your design from Inkscape as a PNG image and using that as a texture on your cone instead. Model a cone from a mesh in Blender directly, it will be a lot easier and produce better results.


White "holes" in render I'm following this tutorial: https://youtu.be/CwJrb3vjAaA, but I have problems during rendering as white points appear (not visible in viewport).
Switching from GPU compute to CPU didn't solve, neither increasing samples from 100 to 200 (this made it worse, I think), or increasing light bounces from 3 to 12 (3 to 8 for diffuse and glossy).
Denoising doesn't remove them.
Source file here.

Image blurry due to motion blur.

Found the solution! I hadn't deleted the default light source! After deleting it the "fireflies" are gone.


How do I add arbitrary metadata to a .dae export? I am assuming that a basic python script can be written to achieve this. I am trying to add some information packed into my exported .dae that will include an UUID for use in an external application. My best guess right now is that I can use an "extra" tag somehow, like Blender uses for importing/exporting scene lights set up in Blender. I am going to be using this repeatedly for many exported files.
Thanks for any help you can provide! Let me know if you need more info!

The collada support built into blender is done using C++ code. I would suggest getting this collada-exporter addon and adjusting it to add in your extra data. You will need to look through the collada specs to see how an extra tag would be acceptable within the file format.

Unless you calculate the tag as you go, you can add a custom property to the object type to store the tag info, then use that in the export steps. You would define that in the addons register()

def register():
    bpy.types.Object.mytag = bpy.props.StringProperty()


Joined object not acting as its parent with a Curve Modifier I added this long band on the side of the main object, but when I apply a Curve modifier on both, the band acts weird... I don't understand why. They now have the same origin since they are joined.

The band doesn't have enough subdivisions to  be able to curve. Try adding some loopcuts along it.


Torus creation in 2.8 I really want to like 2.8 but every time I get into it,  I find something I don't understand. Today is creating a torus. I want to create a jump ring for a piece of jewellery. I want an inner radius of 1.5mm and an outer radius of 4.7mm, When I create the Torus, the smallest I can make either radius setting is 10mm for either of them. Set it to 1.5, you get 10. Set it to 3, get 10. Interestingly, setting it to 10 and 10, gives you a torus with an internal radius of zero not 10. What am I doing wrong?

You first need to change your working units because this operator won't let you input values < 0.01 meters (10 cm) in the fields if you keep working with meters.

The easy way

The hard way

For the sake of maths ..?

So, the major radius is the radius of the middle section of the torus, and the minor radius is the radius of the circle section of the torus if you cut through half of it radially.

We have

RM : Major Radius
rm : minor Radius
Re : Exterior radius (in your case, 4.7)
Ri : interior radius (1.5)

Ri = RM - rm

Re = RM + rm

<=> RM = 4.7 - rm = 1.5 + rm

<=> rm (minor radius) = 1.6 and RM (major radius) = 3.1

But you need to set your units correctly for this small a model.


Particle's material color only changes in Material View mode, and not when rendered I've set up a plane with a material that changes color from red to grey over the life of a particle. I also set up a particle emitter that's particles are duplicates of the plane. The color of the particles change in my material viewmode, but when rendering or in the rendering viewmode it just stays the first color. I've attached a screenshot and a .blend.
https://drive.google.com/open?id=0B01VEy3y5m1kTDIweWxvaEFueG8

The problem you are facing is mentioned on the manual page for the particle info node:

  This node currently only supports parent particles, info from child
  particles is not available.

Because you are only rendering child particles rather than the parents, you encounter this issue. If you Shift+Ctrl click this node to see all of its outputs, you will see that they all show up black in the rendered mode of the viewport. IDK why exactly it is showing up correctly in the viewport in material mode...

To fix it, you obviously just switch to only using parent particles in the particle system, or find some alternate way to achieve the effect you are seeking.


How to prepare model for 3D print? the problem is simple, I often work with models that are prepared for animation. So lots of planes, non closed object and so on. For 3D print I need to close all holes, make planes solid and merge all the object so there are no intersection. This is a hell of a proces when the model has about 200 pieces and you have to check them all and the process has lots of errors, is there something that makes this kind of automatic?

Have you tried the blender 3d printing add on?. If that hasn't worked, I'd suggest exporting a selection and attempting a different workflow. That article's goal is to create a mold, but the software it uses (Meshlab, Meshmixer) can help you accomplish some tasks. Some very complex models I have found hard to do everything automatically. Further, if you are working with slicing, I would recommend chitubox. It automatically hollows models and creates supports.


How to package my own CYCLES fork as an add-on for blender (as a .zip file) I made a fork of the awesome CYCLES render engine. I wonder, can I package my fork as an add-on for blender?

I know that there are many alternative render engines for blender (e.g. LuxCoreRender). LuxCoreRender can be installed as an add-on. Can I do the same?

Not easily, the way Cycles is integrated requires access to Blender APIs that are not available to addons. In principle it is possible to do all the same things through the Python API, but that would require rewriting a lot of the Blender to Cycles conversion code.

I got this answer here https://devtalk.blender.org/t/how-to-package-my-own-cycles-fork-as-an-add-on-for-blender-as-a-zip-file/1765


How do I update old blender projects to the newest version of blender? I have some unfinished projects I want to get done and I want to update to the newest blender version, but, when I install the new one, all my old files don't seem to update, they still say .81 when opening... I'm confused... and I don't know  how to fix it... because it auto updated when I went from 2.79 to 2.81, and I have tried uninstalling blender and reinstalling it, but to no avail.

You don't need to update your .blend file.
You just need to open them with a newer version of blender.
Uninstall older version of blender and install new one (you can also install a new version without uninstalling the older one).
Start new blender version (to open the newer version of blender go to the folder where you installed it and launch it), then open your blend file from the blender software.


I can only start 1 of my 5 animations I have several animations for this model that I was able to access previously in the action editor, but now I can only access my walking animation. Can anyone tell me why and how I can access my other animations again?

You have to select your armature:

Press Alt+H to make your armature visible, and select it
In the Dopesheet window, stay in Action Editor mode
In the dropdown menu, select the animation you want


How can I preserve texture details when viewed from a distance? I'm trying to achieve a scratched surface effect using a bump map, however it turns out the surface details are not preserved at a distance:

The first picture shows the metal part at high resoltion, the second picture is a down-scaled version of it and the third picture shows the same part rendered at a distance.

This surprises me actually because Cycles obviously does supersampling for the primary rays, however it seems that it downsamples the textures on the fly or pre-calculates mipmaps instead of sampling the textures at full resolution.

It seems that Cycles does not allow to disable texture filtering as of now.

My solution is to render the scene at an insane resolution, but also to reduce the sample count by the same factor, and then downsample the result. It works very well this way.

If I haven't overlook something, I think, this is an urgently missing feature. It basically makes all textures look a little bit blurry if rendered directly at the intended resolution (because mipmapping is visually inferior to supersampling—especially for bump maps).


Change diffuse color for all selected objects in scene with python So what I'm trying to do is use the "bpy.context.selected_objects" and get the material index from it somehow but I have no experience coding in python and I want to use that in "mat = (Here)" so I can then use "mat.diffuse_color" to change all the materials colors to the same color.

I know it's kinda like asking someone to write code for me but to me it only seems like I need help with 1 line and I don't want to learn a new language just to execute 1 script and likely never use it again. I just really need to change all the material colors because I have a large scene with over 1000 objects and all together there are over 250 materials so doing it manually is a very lengthy process as I have 8 more scenes similar to it.

Note: I can't make them the same material as they have textures applied to them.

You don't have to access the material index, since you have access to an object's active material. This will do what you're aiming for:

import bpy

r,g,b = (0.1, 0.5, 0.7) # Set color RGB value

# Iterate over all the selected objects
for o in bpy.context.selected_objects:
    # Set the active materials diffuse color to the specified RGB
    o.active_material.diffuse_color = (r,g,b)


How do I have two perspective views for sculpting? I am learning to sculpt in Blender and I ran into an annoying problem. The problem is that when I move the mouse, the tool moved in parallel to the screen. I was hoping that quad view would solve the problem. But you can have only one perspective view there. How do I sculpt working with different views seen from slightly different angles?

You need to put your mouse as on the picture below (on this narrow black line between viewport and editor type) and right click:

than you can choose between horizontal or vertical split and left click on the place where you want to split your viewport

now you can scuplt in both areas :)


Shading - How do I remove overlapping seams in X- and Y-direction while using vectors? While trying to create a pixelated effect, I noticed that using vectors causes overlapping lines in x- and y-direction. As far as I can see, there is no good solution to create pixelated faces...
Has anyone got good solution for this kind of problem?
The origin is in the bottom of the object.

As I wrote in the comments, some seams are inevitable. Even on a cube, if a side is 1.1 m long, and a tile is 0.2 m long, then 5 tiles will fit completely and half of a tile will be cut off in middle (giving an impression of a seam). What if you don't have a cube? Any non-vertical face will be visible from side as a diagonal line, which will not be compatible with squares that you look at en face.
Another way to look at it is this: if you were able to procedurally draw squares on an arbitrary figure without seams, it would mean you tessellate that figure with squares, which I think is fair to say is impossible - spheres in Blender are made either from triangles or from heavily stretched quads (and some triangles on top and bottom if you don't cast a subdivided cube into a sphere).
So while some seams (on the left) seem to be unavoidable, the seams inside NSWE, top, bottom sides can be avoided (on the right):

I came up with a basic setup like this:

By increasing Epsilons, you remove the inner seams by removing the normal-aligned axis information from the vector:

You will still get seams on areas between those "flattened" areas.
You could improve that node setup, or maybe instead create a black texture and use R/G/B information, and draw on that texture:

Best to draw in Add mode to add flattening (use the color of an axis visible on the gizmo: X:red, Y:green, Z:blue), and Subtract mode to remove flattening. I'd recommend falloff set to constant.
Perhaps a better idea is to make that information only offset the coordinates, so you're not forced to draw on an entire side of the object, and can just draw on a part of a square on one side of a seam.


How to obtain the following topology? My follow up question: How can I use a pivot circle instead of a pivot point

Question

At this moment, I have this:

What is the most efficient way to achieve a quad as cut section, where

all the faces as well as the unselected vertices are duplicated and
overlapping
but share the same vertices (selected).

The cut section would look like this:

Unless I've severely misunderstood what you're trying to achieve, I still think a torus with Minor Segments set to 4 is the easiest and quickest way.

ShiftA followed by M followed by T or Add -> Mesh -> Torus to add the torus.

After adding it and changing Minor Segments to 4, just scale along Z, S followed by Z, then type in the scale or drag the mouse, and finish with Enter or LMB.


Bake only set keyframes to .fbx file? Is there a way to only bake your current set keyframes to a .fbx file instead of generating a bunch of keyframes for every point of the animation?

Quick and dirty workaround: Save a copy of your file, delete the unwanted keyframes, and export.


draw_handler on top of Rendered shading mode I'm using bpy.types.SpaceView3D.draw_handler_add and the gpu/bgl/blf library to draw some labels in the 3D view. The handler is created like this:

self._handle = bpy.types.SpaceView3D.draw_handler_add(self.draw_callback,
                                                      (context,),
                                                      'WINDOW',
                                                      'POST_PIXEL')

This draws everything fine when in Solid, Wireframe or LookDev shading mode, but shows nothing when in Rendered shading mode - for both Cycles and Eevee.

Is it possible to draw on top of the rendered shading mode in python? Maybe using the new Overlays system?

Ok, I'm an idiot.

For future googlers, if you're using POST_PIXEL it should draw on top of all shading modes no problem.

The reason it wasn't working for me was because, hiding in my code, I had:

if context.space_data.shading.type == 'RENDERED':
    return

i.e. at some point in the past I deliberately prevented it from drawing on top of rendered shading mode, probably to be consistent with other overlays in Blender 2.7.


How to create a menu item as an addon that is displayed in the left side pane I want to create a menu item in the left side pane with a text box and file browser included in it. I know how to create a simple addon. But couldnt understand how to create a menu item.

Open Text Editor then choose Templates->Python you will find templates for simple menus and panels (Ui Menu, Ui Simple Menu, Ui Panel, Ui Simple Panel), run them and see how it goes, they should give you a very good understanding of what you can do.

Running the UI Simple Panel will show it under the object properties as shown below, the location of the panel is specified using these three class parameters:

bl_space_type = 'PROPERTIES'
bl_region_type = 'WINDOW'
bl_context = "object"

To put in the left side you change the values as shown below:


problem in baking normal map in blender, connecting edges appear in normal map I am a beginner, I am trying to bake normals for an object, after baking the normals normal map shows the connected lines. This is not happening for other objects, so I don't know what I did wrong. I am attaching UV map and baked normal map. enter image description here

this is the uv map

and this is my normal map

Your baking doesn't seem to be using your UV map at all. Maybe you have 2 UV maps and have the wrong one selected?


Sculpting Issue: Mesh disappears into another one I was doing the Andrew Price tutorial (doughnut) and i am stuck in the sculpting phase. I was doing just fine but I think I messed up in the modifier section of the icing. For some reason, when I get to sculpting the icing (with the inflate brush), the icing just disappears into the donut. I donnt know what I did but I do know I tried undoing it (Ctrl+Z) and it did not work, just as Andrew Price said it would. The icing seems to disappear into the donut whenever im in SCULPTING. The dribbles peak out the donut but that is it, the rest of the icing is somehow gone. Any help is appreciated guys. Ill leave the link for the video here if its of any help. Thanks!
https://www.youtube.com/watch?v=6OTX3ZdYvEA

In Sculpt Mode click Sculpt (to the right of where Sculpt Mode is shown) and now > "Show All".
For some reason, Alt + H doesn't unhide properly between edit-mode and sculpt-mode for me. So if I hide vertices in edit-mode and switch back to sculpt mode, the connecting faces are gone. Going back to edit-mode, pressing Alt + H reveals the hidden vertices in edit-mode, but they are gone again when I switch back to sculpt-mode. Only in sculpt-mode I can Show All to un-hide those vertices again.


Equirectangular projection and flattening horizon I have been given some equirectangular projections from blender to visualize in VR. The rendering was done from within some 3d model. The horizon is almost like an S, so when I project it onto a sphere the perspective seems a bit off. Is there anything the blender guy can do to produce a flatter horizon, like restrict attitude of the sphere etc)?

I could be wrong, but it looks like you haven't UV unwrapped the sphere. This tutorial explains the process well.


Removal of everything except mesh, or extraction of mesh from Blender file to a new one I want to have just the mesh part of the character I downloaded from here. I don't want any of the UV-mapping, materials, rigging, and stuff.
I'll add that stuff later with my own materials. In any case, I can't seem to delete everything. The old stuff is messing with the new stuff; it's like I have to go really deep to remove everything.

Open your downloaded file, create a cube, name it "onlyMesh", go to the mesh tab in the properties panel, switch the cube mesh to the character mesh, delete the whole original character, save, close, reopen your file.


Can Blender use Virtual Memory? I have 2GB of RAM and I just want to use this program. Can Blender use Virtual Memory?

Getting one image rendered takes like 20-30 seconds and it's not even on the full resolution.

All software uses virtual memory automatically. Operating systems usually take care of that. When you run out of RAM your storage devices are used. That is called paging. Storage drives are extremely slow compared to RAM so things slow down a lot when this happens. 20-30 seconds is extremely unimaginably fast for a render though. My renders, for example, would take 20 - 30 hours and even more per 4K still image if I rendered them on a single PC. Renders take lots of time. This cannot be solved by an answer on Stack Exchange I am afraid.


Real time mirroring of a selection of objects? Suppose you're working on a room containing lots of objects, and you need an exact copy that is mirrored. This can easily be performed by selecting all the objects, then duplicating and mirroring them with Shift D and Ctrl M.

In this case, any time I make a change to this room, I would need to delete the duplicate room and contents, then perform the Shift D and Ctrl M procedure again to ensure that the room and all its contents are the same.

To make things faster and more convenient, is there a way to automatically do this? What I'm looking for here is something similar to the mirror modifier, where changes to the original piece are mirrored at the exact same time, so that you don't have to do it yourself. Unfortunately, the mirror modifier only works on individual objects, and thus, a room with hundreds of items in it would be a nightmare to mirror individually.

Take all the objects that you want mirrored and add them to a Group. (Select them and use Ctrl-g).

Then create a single empty somewhere on the mirror axis, and scale its x or y axis by -1 (I edited the scale value in the properties but s x -1 would also work.  Now in the Properties > Object panel in the Duplication section change its duplication from None to Group and select the group you created in the first step.  There should be copies of all the objects mirrored along the axis that was scaled by -1.

When you create more objects that need to be part of the mirror group you can go into the Properties > Object panel and look for the Groups section and use the Add to Group button to add it to the dupligroup.


How to see Cycle's material transparency in 3D View I have two planes with the same node setup, but only one of them is transparent in Material Viewport Shading.

The one that works was created by the Import Images as Planes addon. The other plane was created manually and copying the addon's material setup into a new material.

If I set the addon's material to the "bad" plane it works, so the problem is related to the material itself (nor the object, OPGL or my hardware). I'm working on 2.73.

I have no clue about this behavior, here is the .blend for checking it out.

I think I've figured this issue out. I'm in Blender Cycles.

To see the transparency, make sure you're in the "Material" view in your viewport.

With your image-plane selected, go to the Material tab.

Toggle down "Settings" at the very bottom. Make sure "Viewport Alpha:" is set to something other than "Opaque". I find "Alpha Clip" and "Alpha Blend" worked well for the .png image I was using.

Hopefully this answers your question.


Distance constraints between objects/vertices/edges While precision modelling, I often encounter the need to use exact distances. Blender's keyboard input is fantastic for this. What I haven't figured out yet is how to keep distances between certain vertices/edges of different objects fixed while editing or transforming one of them.

Here's a pretend example:

We have cubes A, B, C and D. We need to keep the distance between A and B to 1, and the distance from B to C to 2. We don't care about any other distance (such as C to D).

Editing or moving A, B or C without further tools is a though proposition, since the constraints will be invalidated, and, in the worse case, you'll end up having to move all other cubes to make things right again.

Is there a way to keep these distances fixed while editing/transforming?

Note that I don't want to constraint the distances between the object's centers, but from actual vertices/edges - or possible the object's bounding boxes.

I know about parenting, but that only works in one direction (you can't have loops in the parent graph).

I also know about the object limit distance constraint, but there's no way to specify that the distance is aligned to an axis, so it ends up bringing the objects out of alignment. Also, having to create vertex groups is really tedious.

As you said parenting goes 1 way, but stil: you can parent an object to a vertice.
  Select 2 object.
  Go into edit mode. (This will be on the active object).
  Ctrl-p and select make vertex parent.

When creating vertex groups for the constraints, perhaps it will be a help for you to paint the groups in weight paint mode.


Text Game Properties in Blender (Python) In my version of Blender (2.71), i can add "Text Game Properties" to text. But if i have two objects that are text, both individual properties are called the same thing "Text". I want to refer to both of them individually in a script in python, but i don't know how to do it. Please help.

@sambler
This is the code i used, but it still won't work. Please help.

    from bge import logic

    def reload():
cont = bge.logic.getCurrentController()
own = cont.owner
txtVal = own['Text']
sce = bge.logic.getCurrentScene()
sce.objects['Refill']['Text'] = sce.objects['Refill']['Text']-(80-own['Text'])

A text object gets it's own button to Add Text Game Property. This button produces the same effect as the normal Add Game Property with the type set to string and name set to 'Text'. This 'Text' property of the text object gives the ability to get and set the contents of the text object during game play.

The 'Text' property can be accessed the same as other game properties, by treating the object as a dictionary and the property name as the key.

In a python script used as a controller that would normally be with -

cont = bge.logic.getCurrentController()
own = cont.owner
txtVal = own['Text']
own['Text'] = 'NewString'
own['prop'] = 25
own['prop2'] = 'a big long string'

Other objects in the game can also be accessed -

sce = bge.logic.getCurrentScene()
sce.objects['otherObj']['Text'] = 'something'
sce.objects['missile']['prop3'] = 356

Properties changed during game play only exist for the duration of the game. Values set in the Game Logic Editor will be in effect at the start of a game, with the 'Text' property being set to the contents of the text object set in edit mode.

EDIT: response to your code example.

While your debugging your scripts you will want to watch the console output. It can contain hints as to why your scripts fails.

In python scripts formatting is important, the indentation defines separate parts of code. Not sure if any formatting got lost copying your code across but it appears you have a function and the following code might be meant to be part of that, if so that code isn't going to run unless you add a function call at the end of the script. For this small script you don't need any functions.

The all important last line, you are mixing strings and integers which you need to convert to work as you want. int(strValue) will give you a number you can calculate with and str(number) will then give you a string to use for the text value.

import bge

cont = bge.logic.getCurrentController()
sce = bge.logic.getCurrentScene()

own = cont.owner
refillObj = sce.objects['Refill']

refillObj['Text'] = str( int(refillObj['Text']) - (80- int(own['Text']) ) )

It would appear that you may be trying to jump ahead of yourself. I'd recommend you spend an hour or so going over a python introduction tutorial to get more familiar with basic python concepts first. The official python tutorial can be a good start, even if you only go over parts 3 to 6.


How to extrude a circular shape out of an object I have some problems extruding a circle that I projected onto another object. The setup looks the following.

The circle mash was projected onto the object using the "shrinkwrap" modifier. Now I want to extrude it upwards to get an object that sits on top of the underlying structure. The same worked with a plane, as you can see on the right side of the picture. But with a circle, I have no N-Gon that I can extrude. Is it just not possible or how would a workaround look like?
Thanks for your help!

Add a circle, use Knife Project tool and extrude the result. I always do and it works well every time. Or, if you insist on using Shrink Wrap, add a circle and right after select filling, e.g. N-gon, in the Add Circle panel to the left


How can I output the Compositor result instead of the Render Result when rendering an animation? I have a File Output node in the compositor to output my composited images for my animation.  I put the same output filename (e.g. "anim_###.png") in the Output Properties area so that I can click Render -> View Animation from the menu to review my animation.  But when the animation renders, the Render Result overwrites the file from the compositor output.
As a workaround, I delete the filename in the Output Properties area, render the animation, replace the filename that I just deleted, and then click View Animation.  This works, but is tedious and error prone.
As an alternative, I would like to be able to simply view an animation using the output images from the compositor instead of relying on the Output Properties settings.  Perhaps I could just write a Python script to pull up the animation playback window?  But a native solution would be preferable.

I found a simple solution to this problem using Python:
import bpy

def render(rex_x, res_y):
    oldx = bpy.context.scene.render.resolution_x
    oldy = bpy.context.scene.render.resolution_y
    outpath = bpy.context.scene.render.filepath

    try:
        bpy.context.scene.render.resolution_x = res_x
        bpy.context.scene.render.resolution_y = res_y
        bpy.context.scene.render.filepath = ''

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

    finally:
        bpy.context.scene.render.resolution_x = oldx
        bpy.context.scene.render.resolution_y = oldy
        bpy.context.scene.render.filepath = outpath

The try/finally is to put back the original values in case of semi-catastrophic failure (which actually happened to me just now since my script is more complicated than the minimum version posted here).  In my case I also needed to alter the resolution, which cannot be driven using a Driver.  So, two birds and all that...


control camera sensitivity What am looking for is the ability to control, i.e, to increase or decrease the speed at which I can rotate, pan and zoom when looking through the camera.

This can be either with the commands or with the api. Any help is appreciated!

Rotating the camera:

press R to rotate at normal speed
press R and hold Shift to decrease the rotation speed
press R and hold Ctrl to rotate by 5 increments
press R and hold Shift+Ctrl to rotate by 1 increment

Panning and zooming the camera:

Enter the camera Fly Mode (Shift+F) and press:

E/Q to pan up/down
A/D to pan left/right
W/S to zoom in/out
hold Shift/Alt while panning or zooming to increase/decrease the camera speed (or do it using the Mouse Wheel)

These are the most common fly mode shortcuts. For more options take a look at the bottom strip after entering the fly mode.


Adapt Limit Location Constraint to Bounds of Mesh Object I recently asked a question here looking for advice on constraining a bone to within the internal space of a custom mesh object, using the default bone constraints available in Blender. I've been messing around with this issue myself since, and haven't been able to devise a suitable system or at least had an idea that might be workable - judging by the lack of response, neither has anyone else.

I've all but given up on doing this using the currently available constraints, though I still think that it is such an intuitive feature (at least in my view) that surely someone's come up with a method before? Instead, I think this may only be possible with coding. As someone who is completely new to coding using python and in Blender (though definitely keen to learn), this is quite a daunting task and I was wondering if someone might be able to give me a few pointers.

For anyone that doesn't want to check the link to see exactly what I'm after, I'll briefly explain what I'm looking for:

Essentially, I want to be able to quickly and easily (after the system's been developed, of course) select a specific mesh object such as a cube, sphere or other such arbitrarily shaped entity and make it so that the bone is unable to move outside of this object. It would be able to occupy any location within the object, and on its surface, but not exceed its surface.

In the images below I show the would-be constrained bones (in green) inside 3 different shaped objects (within the volume or on the surface), and 1 additional (grey) bone to show that a bone without the constraint would be able to be placed anywhere as usual (assuming no other constraint was applied). Hopefully this clarifies the problem.

In the original question I provided descriptions of exactly why the other most promising constraints fail to achieve this.

As I have said, I'm still very much open to ways to do this without using code, but I'm increasingly feeling as if that is not possible. I'm also not necessarily asking for some genius to go away and create this system for me (though by all means do so if you wish!), but I'm more looking for pointers about whether this is even possible and if so how someone might go about it.

My gut instinct is that it would be easier to adapt the Limit Location Constraint already in Blender rather than start from scratch, but I may be completely wrong in this assumption.

Any help is greatly appreciated.

With the release of Blender 2.8, there is now a solution to this issue within the mode type section of the Shrinkwrap bone constraint - called 'Inside', it limits the movement of a bone to within a specified mesh object. This is exactly what I was after. More info can be found here in an answer I wrote to the original question.


Textures won't work on some objects I am working on a scene, and am on UV mapping and texturing phase. I have managed to successfully UV map and texture a few objects, but for some weird reason now the objects I am trying to UV map won't take textures. In 3dview and render they are appearing pink, which I know means Blender isn't finding the textures, but I am browsing to select the texture images. The images are there. In one computer, after browsing to select the image, the node fails to show the name of the texture. On another computer, the name shows up but the texture doesn't get applied (same .blender file). Any ideas? I am using cycles render.

I have seen something similar when I have forgotten to UVMap an object to which I intend to apply an image texture.


Do Bones and custom bone shapes account for vertices/edges/ and faces? By that I mean do bones or custom bone shapes take up vertex or mesh data?

Just a simple yes or no answer is all I want.

Bone data is stored within an armature and uses data that is unique to an armature, they use points to define each end of a bone but have no vertices, edges or faces.

Custom bone shapes are mesh objects that are assigned to be the visual representation of a bone. They normally only use vertex and edge data, it is data that is kept separate from your visible models.


Custom property hops{} Blender 2.78c adds an object custom property hops{} which is labeled "API Defin" - can't be edited, won't stay deleted, can't find docs on it. Anyone know what it is and if it's documented somewhere?

Turns out it is something that the Hardops add-on is adding. Mystery solved.


I need help making a non realistic spider web so I can 3D print tokens for a game So I have this and need it to look like a cartoon spiderweb so I need to inverse each of the curves and I'm not sure how to. I'm very new to 3D modeling and blender.

I'd like it to look like this

You can use the Proportionnal Editing Tool for that. It's a tool that allow to move only certain vertices, but the surounding vertices are kinda attracted to them.

Select your ring and enter Edit mode (Tab). Select the vertices near every intersection. You can use the Circle select ("C") to do it easily.

Press the "O" key to activate the PET, and select a type of interpolation in this list (Sharp should give good results)

Now scale the vertices up with the "S" key. While you are scaling, you can adjust the effect radius of the PET whith the mouse wheel.


How do I get an object to stay put when keyframing child of constraint influence? I am a new animator doing some Minecraft animations. One problem I ran into was that when I keyframed influence at 1 and next frame at 0, it moves drastically when I move it to 0. Is there a way to stop this from happening?

Before I set it to 0 (sword):

After I set it to 0 (the sword moves drastically):

You animated the "influence" on your "Child of" constraint. On frame 0, it was set to Influence of 1.00, but then its influence goes all the way to 0.00 at frame 1.
This means that you must have accidentally animated the influence from 1.00 to 0.00 in the animation. So, just reset the Influence value back to 1.00 at frame 1.


Cloth doesn't bend enough on sharp edges I have a cloth sitting on a table. The problem I have is the cloth edge should be nearly as sharp as the table edge, but it's not, it's way too smooth. What is causing this?

Mesh and modifiers:

Please move the Cloth modifier under the Subdivision surface modifier

as shown below :


Fluid simulation not baking when an obstacle is present I've been messing around with this for hours now. When I have a fluid domain and a fluid object, it bakes just fine. As soon as I add an obstacle though, nothing happens when I bake. I've looked at several youtube tutorials and forum answers, but no one seems to be having this problem.
I have no settings changed other than slip and resolution.
I've heard that the fluid sim is pretty glitchy. Is that just the case here? The weird thing is, I've done this exact thing before and it worked perfectly fine. Now for some reason it's just not working.
Any help is appreciated.

Oh, I'm just trying to make a wine glass with fluid in it.

I think i figured it out. Messing with the Volume Initialization (Volume, Shell, or Both) seemed to fix the baking issue. Thank you Yohello 1 for the response!
I had the obstacle set to both, which wasn't working. Switched it to shell and it worked fine. Pretty sure volume worked as well, just not both.
Hope this helps others too.


How to close a pipe with a perfect hemisphere? I have a sort of pipe shape which I want to close with a perfectly proportional hemisphere. Problem is the pipe does not have a perfectly round cross-section. It is a little squashed, but still I need to close it with a nice proportional ideal hemisphere. Is it possible?

I tried to pull the middle vertex out with proportional editing, using smooth or inverse square falloff but the result is bad. I also tried to fit a hemisphere, and attach it to the end of the pipe, but the pipe is not a perfect circle.

Using the bevel tool is a simple way to do this. First remove all of the edge loops on the endcap so you just have a single n-gon like this:

Note that I scaled the cylinder to give it an elliptical profile and skewed the face so that it is not perpendicular to the axis of the cylinder. I did this because this is how it appears to me in your picture. If you make your endcap perpendicular to the profile axis you will get a cleaner (more spherical) result.

Be that as it may, I used the Bevel tool which is located in the menu: Mesh > Edges > Bevel with the settings shown on the bottom left of the following image:

Using 8 segments achieves a well rounded result, although as I previously mentioned, the dome shape is distorted because of the angle of the face in respect to axis of the profile. I found that the "Depth" setting worked the best in this situation because I was able to extend the bevel very close to the convergence point without getting overlap. You may want to experiment with the settings to get what you want.

Addendum:
Just to clarify what I mean about getting a cleaner, more spherical result by making the end cap perpendicular to the profile axis, here is a comparison: