How do I create texture that resembles texture of human body? Right now my human model looks way too smooth, in cycles render.  I prefer the bumpier look of Blender render, but I want to use cycles.  How can I create a bumpier, lumpier-looking human, something that looks more lifelike? Specifically, I want my good-natured wise man character to have a lumpy belly that ripples when he laughs! I am currently using diffuse BSDF node and a little bit of glossy BSDF node.  Thank you for help!

Edit:
In response to atomicbezierslinger: I wanted to go ahead and say that yes, I do mean a protruding round belly, with slight rippling and dimpling, just enough to look like lifelike. This is the closest I've come to finding a photo reference, I hope this is not an inappropriate photo.

Just slight dimpling and lumpiness.  I will see if i can find a better reference photo.

Since you mentioned it, I would also like to know how to create fat folds that move realistically; that would come in handy for another character.  I appreciate all help and I will look into the SSS Shader.

Since it seems you found it useful, I am re-posting my comment as an answer:

For the dimpling use a combination of a Displace Modifier and some bump in your material. For the skin material add an SSS Shader to your glossy+diffuse mix. A skin texture image into the Diffuse color input would help too. For the ripple you can use a Cloth sim like in this tutorial. or a Soft Body sim like in this tutorial. Finally here is a Soft Body tutorial specifically for belly ripple, lol - although it is in Spanish. Good luck!


Tapered 8-sided cylinder with smooth shading is not very smooth I have an 8-sided cylinder that gradually tapers in, as a cone would. I'm using it as a funnel. The issue is that the cone part is kind of choppy despite smooth shading being enabled. The funny thing is that the cylinder extruding from the cone itself is pretty smooth.
In the 8-sided cone, the faces are easily distinguishable from each other which is what I'm trying to avoid.

TIA for the help!

This is mostly due to lack of resolution in the mesh. Adding a Subdivision Surface modifier should fix this.


The Boolean modifier is additive rather than removing mesh I have tried to find a solution to my problem online, but nothing seems to be helping. I am trying to use the boolean modifier to cut complex shapes into my mesh, but it is merging the meshes rather than cutting one using the other. Any and all advice is appreciated. I have attached the file for your viewing.

I've already checked for doubles and inverted normals.

https://we.tl/t-DxevPVADhS

First of all, I suggest you work with a lot less subdivisions, and use Smooth shade to hide the hard edges (Right Click -> Shade Smooth). I reduced your number of subdivisions to 1 and the Boolean worked fine, you'll also need to apply the Mirror modifier first.

Also, try changing the geometry of that concave section (the top part of the "cutter") as it's producing very fine geometry when subdividing, I assume that was the problem here.


Curve very sharp after converting from mesh I have converted an edge loop to a curve. The edge loop itself was fairly low poly. I want the curve to look smooth so I tried to increase the resolution of it but it looks exactly the same.

Is there a way I can get the curve to be a smooth interpolation of the edge loop?

blende file

This is because the converted curve is a Poly spline.
To convert it to a smoothly interpolated curve:

Convert it to a Bezier or NURBS spline in 3D view > Tool shelf > Curve Tools > Set Spline Type:

Then convert all the Control Vertices to Auto (or something besides vector) by pressing A> Select all V> Automatic.

Now you can adjust the Resolution as desired to adjust the "smoothness":


Texture painting. Why not mark all seams and unwrap later? This is a rather general question. I started figuring out how Texture Painting works, the second time now to be honest. I don´t understand why to bother and mark certain seams, when you can just mark all edges at once  and unwrap them afterwards. It worked last time, when I was just using an existing texture without trying to paint. So what would be wrong about marking all edges as seams?

If you want a more simple approach to getting started with Texture Paint, then consider using 'Smart Unwrap' from the Unwrap menu - no need to mark any seams with this option, and you can get on to painting. If you decide you really need a better map, then you can create a second UV map with the correctly marked seams and then bring in the paint from the previous mapping to a new image with the Clone Tool using the second correct mapping.


Where are the theme options for the spacebar search menu? Where are the color options for the spacebar search menu background?

That would be Inner Selected and the color options can be found under Menu Back.

NB: Changing some of these values will affect similar popup dialogs.


Texture paint is purple I tried to paint but my cube is fully purple no matter what color I choose.

What should I doo to fix this ?

Maybe haven't applied any texture to your model... Purple skin usually mean no texture, so you can't paint over it... but you can apply material on it... and for that to show you will need to go to the Dev or Render tab


How to automate blender video sequencer Is it possible to automate the sequencer so that each time I render an animation into image files in a folder, the newly rendered image files would be inputted into the sequencer in a specific arrangement or something like this?:

Load images 1-300 and place in sequencer
Load images 1-300, again, and place after first image sequence
Apply backwards effect to the second image sequence

If not an option in blender, is there a way to create a script to do this? Often I will rerender the same animation with a different setting or something, but every time I have to manually apply what was described above. I'm not necessarily asking for a solution specified to this example, but for all examples like this. Is there something that would work to automate this process?

Any help is appreciated. If what I am describing is unclear I can further describe it.

Yes, blenders sequencer has full Python API access so it can be used to do quite advanced video editing both from the UI or in background mode (headless).
import os

from bpy import context
scene = context.scene

path = "/my_path/to/images"
files = os.listdir(path)
files.sort()

# create the sequencer data
scene.sequence_editor_create()

seq = scene.sequence_editor.sequences.new_image(
        name="MyStrip",
        filepath=os.path.join(path, files[0]),
        channel=1, frame_start=1)

# add the rest of the images.
for f in files:
    seq.elements.append(f)

# reverse if you want
seq.use_reverse_frames = False

# You may want to render the result:
render = scene.render
scene.frame_start = 1
scene.frame_end = 1 + len(files)

render.resolution_x = 1280
render.resolution_y = 720
render.fps = 25

render.image_settings.file_format = 'FFMPEG'
render.ffmpeg.format = 'MPEG4'
render.ffmpeg.codec = 'H264'

render.ffmpeg.constant_rate_factor = 'HIGH'
render.ffmpeg.ffmpeg_preset = 'BEST'

bpy.ops.render.render(animation=True)

The rest I'm sure you can work out as you may want to tweak encoding, frame rate... etc.


Bone heat weighting: failed to find solution for one or more bones (tried all "solutions") So I've been trying to create this mesh for a while, and the rigging is the only problem I've had so far. I'm trying to rig just the head of a dragon, and I keep getting the same error message over and over when applying the automatic weights "Bone heat weighting: Failed to find a solution for one or more bones". I have tried all the fixes for this I've seen, such as decimating and subdividing the mesh, making sure the mesh is symmetrical across the x axis, making sure the origin for the bones and the mesh is at the center of the mesh geometry. Is there anything else here I should try? If you would like to try for yourself, I can email the file to you should you be interested. Any insights and help is greatly appreciated!


Making faces with vertices When I want to create the faces between bottom of the handle and the body with manner that you select vertices and make faces, I get a problem that when I want to select the last vertices, the hole vertical vertices of that point get selected as you can see.

The vertices you selected can only be selected when you press Alt+Click so your might be accidently pressing Alt while selecting the vertices. To select multiple vertices, you need to select one vertex, press and hold Shift, select next vertex, and so on.


How can I render a cubemap with Blender Internal? I need to render a cubemap from a Blender scene.

Is this the correct way to do it?:

Set camera FOV to 90.
Have one camera facing up, one down, left, right, front , back.
Is that all to achieve a proper seamless cubemap?

If not, how then?

Regardless of which render engine you use, the process is the same.

It has been explained well here.

Personally I find rendering a single-image equirectangular environment map to be easier, but I understand you may have specific reasons for needing a cube map.


Not able to paint onto certain area Now this is a question i found allot, but pittily the answer that i found multiple times doesn't seem to apply to my problem:

I've got this model, and as we can see in edit mode, all normals are pointing outside as they should:

but when i try to paint the object, a part of the object is just white and refuses to be painted on:

I read multiple times that this is usually due to the normals pointing the wrong way, but it seems that isn't the problem!

Also it might be worth mentioning that trying to flip the normals in that part of the object (although that should turn them to the wrong side up) causes them to be black and unpaintable, while now their untouched neighbours tend to be white and unpaintable!
(no picture due to lack of reputation)

Thanks in advance for your help!

Further details:

As you may have guessed this object wasn't modelled as one object in the first place, but joined together for the purpose of being painted on and exported.
Due to the format i wish to export this to (and the fact that this is merely an experiment) the solution of trying to paint them separately would only be my last resort.

Make sure that the separate objects joined together are all carrying the same material, and that the texture to be painted on is in that material. Also, make sure that you are not also seeing duplicate objects that are persistent in the viewport - try moving the main object to another layer and see if anything is still on your main layer.


My cycles settings have disapeared for what i understand my cycles settings should be at the bottom of objects menu ,
but it´s no where to wound, i have cycles set as renderer, what could be the cause of this .
I have looked it ewerywhere but don´t findt it

As @Mr Zak suggests in the comments, the Cycles Settings panel does not show in the object properties menu if the active object is a Camera, Empty Object, Lattice or Forcefield; regardless of how many objects you have selected.

Although it is not 100% clear from your screenshot which object is the active object, it appears that you have several Empty's in your scene which may be the culprit, if not the camera.


Python in Blender 2.8 - testing if two objects overlap in the XY Plane? In Python is there a way to test if two objects overlap?

I am somewhat randomizing the location of two objects and I need to make sure that they do not overlap.

I have spent several hours (without success) trying to come up with my own algorithm, but I am now wondering if maybe I can use an existing function instead...

Thanks in advance for your suggestions!

There is a Python API to do that. BVHTree.overlap

It is nearly direct, we just need to convert objects vertices in world coordinates:

import bpy
from mathutils.bvhtree import BVHTree

# Get the objects
obj1 = bpy.data.objects["Cube"]
obj2 = bpy.data.objects["Suzanne"]

# Get their world matrix
mat1 = obj1.matrix_world
mat2 = obj2.matrix_world

# Get the geometry in world coordinates
vert1 = [mat1 @ v.co for v in obj1.data.vertices]
poly1 = [p.vertices for p in obj1.data.polygons]

vert2 = [mat2 @ v.co for v in obj2.data.vertices]
poly2 = [p.vertices for p in obj2.data.polygons]

# Create the BVH trees
bvh1 = BVHTree.FromPolygons( vert1, poly1 )
bvh2 = BVHTree.FromPolygons( vert2, poly2 )

# Test if overlap
if bvh1.overlap( bvh2 ):
    print( "Overlap" )
else:
    print( "No overlap" )


Blender renders solid color square instead of image I am trying to render an image on Blender but a solid pink square keeps getting rendered instead. I've been trying to figure out how to fix this. It is a simple scene with only one active camera. From what I've looked up, I have view locked my camera, turned off sequencer in post processing. In the viewport shading preview, the camera displays what I want exactly. Under scene properties, the camera is selected however, everytime I press render it switches to an element like a plane in the scene instead.My camera is in the right location and pointing in the right direction.

If anyone could help me figure this out it would be greatly appreciated!
THIS IS THE BLEND FILE. ITS FROM A POLYGON RUNWAY VIDEO I FOLLOWED :

I have attached the file because I see that there is something wrong going on when I do what Marty Fouts has suggested. However, I don't know how to fix it. As I am teaching myself to use Blender this month I have no idea what I'm doing. Thanks for everyones suggestions and help!

i would recommend to NOT lock the camera to the view, because then the camera is always changing its position whenever you move the view -> so uncheck this

in the shading preview you do not see what the camera sees. You see just your selected object. This view has nothing to do with the camera.

instead tap on this icon here (the most right one) -> this shows your camera view, if ...

you tap on this camera icon

and then this text appears: Camera perspective

then you see a frame ...everything in this frame is your "real" camera view.

Happy rendering!


Hair all goes weird once I change the mesh I have made this character, and I want to seperate the helmate from the body.
But soon as I delate, seperate, modify the helmate, the hair just all goes wild.
(Half of them would move to different place)

I used the body to make hair directly.

Someone save me please.

It's easy before going into edit mode go to particle system disconnect all hair system by clicking on "disconnect hair"
Edit your mesh and reconnect hair
NOTE: - if you have activated children of hair then first connect the hair and re-activate children
To re-activate Children: - go to children tab in particle group and click on "none" Then click on 'simle' or 'interpolated' by your choice.

Hope it's helpful to you.


The x-axis mirroring got screwed up during sculpting, is there any way to fix my topology? I must of clicked something wrong. Is there any way for me to re-sync the topology? Dynamic topo is on btw.

Go in Edit mode and click on the header menu > Mesh > Symmetrize:

Choose the right axis in the Operator box:


Texture doesn't show up I have a model, with a node setup that includes a texture. The problem is that the texture isn't showing.
How it should look (the little spot distortions are visible):

How it looks:

My node setup
Node Setup

The file can be downloaded here: https://mega.nz/#!N1hkWQKT!bKLTkcQFxjCWtEtSZgEdV89VmERzoF-ui3EmUqpWxCg

The image texture is set to non-color data , it should be set to color-data if this is your texture.

The output of the color ramp should be connected to the diffuse shader and not the glossy,also right now the color ramp is connected to the roughness of the shader,it should be connected to color.


Normal map doesn`t show up on more complicated meshes The Normal map just won't work on my mesh (it's created using metaballs) but if I try anything simpler, for example, a cube, everything seems to be working. Could it be because of my computer capacity or do you know what else could be the problem?

Missing unwrap

By default image textures are mapped with UV texture coordinates. This means that , even if you don't see any input node for the Vector socket of your Image texture node, you should assume that your UV map is being used for spreading the colors around.

I wild guess that you don't have UV unwrapped your mesh yet, so there are no proper UV island to work with for your shader setup.

The default cube, as many of the primitive objects, comes with a proper UV unwrapping by default: that's why you see the texture there.

My suggestion would be to urwrap your mesh or use another texture coordinate system, like Object's coordinate with Box projection method.


Blender 2.9 Basic Extrude Issue Blender 2.9 official
Ubuntu
Basic scene - default cube - no transforms, global orientation
Edit - face select
Select face normal to Y axis - press e to extrude - working as I would expect.
However, if I select the face, then press E, then Y to extrude along the y axis, it goes in Z direction.
Is anyone else seeing this?
Short video of the issue at the link below:
Extrude Issue in action

This appears to be a basic change in behavior - now, when you want to extrude along a global axis you would need to press E for extrude, then Y twice.  Or open the on screen widget and change it from normal to global.

See the post on Blenderartists:
BA Thread


Bezier freehand draw curve is very coarse with larger errors When creating a freehand drawing of a Bezier curve i get very coarse angular line with an "error" of ~10 in the "Draw Curve" menu (see image).

When opening a new Blender window the curve draws fine (see second image):

Any ideas how to fix this large error in the first example? Note, This occurs after import of a raster image using the BlenderGIS plugin.

MacOSX
Blender 2.78

Looks like this is a small bug perhaps, I closed blender and restarted and it is no longer a problem.


Low CPU usage with simulation I am trying to do a simulation in blender in order to place some objects on a ground. During baking or simulation in real time everything is super slow (less then 1 fps) but CPU usage (6700K i7) is only ca. 30%. GPU 0%. I guess all simulations are calculated by CPU but why Bleder does not use it at 100%?

The simulation is likely only running on one core (with another core being partly used for scene updates).

Many (particularly older) physics simulators are single threaded, or at least some steps are. Multi threading in physics simulators is very hard due to all the possible inter-dependencies between objects, see also: Is Physics calculation multithreading possible?

Blender's rigid body engine is Bullet, which does support some multithreading, but I don't think that part has been integrated with Blender, and from what I hear, still has a fair bit of overhead.


How to Texture Paint on an Object using Local Symmetry of Another Intersecting Object? Watching a tutorial online for Substance Painter's new tools, I was intrigued by the way they can use a secondary widget to define the orientation of an object's symmetry such that they can move the widget and then paint a symmetrical shape on the object's surface. This is similar to how our paint system uses the optional X, Y and Z axis for symmetry painting. Is there a possible work around in Blender already that I have missed?

I saw a Kent Trammel video on youtube that partially gave clues to how this might be possible, so I set up a basic scene in 2.8 to try my hand at applying the sculpting workaround to Texture Paint. You can see the normal symmetry painting there in the first screen.

I then turn on Face select mask mode and select the faces I want to paint on.

I go to edit mode and shift-s snap cursor to selection(this is where we will bring in another object as a helper)

I then scale the Plane object down once we have it in place - the local coordinates of this object are what we will use to get our symmetry set up.
I modified the plane in edit mode to extrude after creating the two loopcuts - these will be a cross that will help see the center of symmetry.

Select your paint object and then shift-select your helper object(the plane) and join them(ctrl-j)You will lose subdivision modifier, and will need to add it back before painting.

In edit mode, select the edge of the helper mesh and select linked(L) to select all of it, and use separate by selection.

Set the Helper object to Wire draw type in the Object Properties, and you can also turn off ability to render it in the Outliner.

Select your paint object and return to Texture Paint mode (Face Select Masking on to avoid painting on the opposite side of the object) and paint your desired design - here i test with just a cartoon face, as if Suzanne has a poorly made tattoo on her face like a rap artist. Painting one side of the cross hairs gets me the symmetrical result on the other side based on the helper object's local orientation.

After you are done, you can turn off Face Select masking and go back to Object mode and apply Location, Rotation and Scale to return the object origin to center of the paint object.


Using manual offline Thank you. Once I made a copy of it all in a folder that was not related to My Documents, it works just fine. MY Documents would launch the index but take me to links in a temp directory which told me I needed to be online.

I open the index and genindex from blender.org and it launches Internet explorer. I can read the index page fine, but clicking on any sections tells me you're not connected to a network. In the address bar it shows a hard drive location. It won't open links to any sections unless I'm online

I can't get the manual to work on a pc without internet. It always launches a browser. I've downloaded the manual that says it's for offline use. Any ideas?

If you downloaded a zip file from here: https://docs.blender.org/manual/en/dev/ , then you can open it with your browser but you don't need internet for display the pages. So you can read it offline.
You can see the web address in the browser's address bar is pointing to your harddrive, not web.


Getting the real locations of curve point of animated curves with Animation Nodes? I can get the actual points or parametric  points of a curve using spline info and the spline evaluate nodes however none of these gives me the real point locations of a curve if the curve is animated with shapekeys or modifiers.

Is it possible to get such info with AN? I guess if that does not work I am ok with doing this in Sverchok.

Thanks

what curve do you mean?
There are at least two ways:
import gist to sverchok with copy this address and pressing import on sverchok import panel
https://gist.github.com/213c384b46a4a961f0d03300175ce6af


add a round reinforcement around the edge I wan't to do a box with rounded edges, so I try to use wireframe + subdivision surface or skin but it doesn't work, can you help me?

Sounds like you're looking for Bevel. You can Bevel your Mesh in Edit Mode by pressing CTRL + B, or you can just use the Bevel Modifier:


How do I "cookie-cut" my world texture only using my existing object? I have a scene with a world texture, light and 3D object.
To create a desired effect, I need to render the silhouette of my 3D object as a "cookie-cut" of my world texture. (Please see picture below)
I am trying to find out what is the compositor node set up to do something like this.

If you render your object with a transparent background, yuor render will have an alpha output in which the object will be white and the background black. In the compositor you can use this output in the input of a "Set Alpha" node which carries the background image you want (a render of the background sky  or directly the image of the sky).


Global (colour) variables I've found a few questions around this already, however none are quite satisfactory IMO.

Basically, my use case is to have

several materials on a quick switch panel for a number of objects to select theme variations - that works quite well with a custom operator that assigns the materials when triggered from the panel (if there's a better no-code solution I'm happy to look into that).
Those materials share (at least) one (base) colour that's globally settable, again e.g. from a panel. Now I could also add custom code for that I guess, updating all nodes for all affected materials when a new selection is picked, however,
the global colour value should also ideally be animateable, which is where the node-group trick doesn't work anymore (if I read that ticket correctly; outside of the shared node group the animation of course works again).

So, is there a better alternative than what I mentioned above already?  I had some trouble putting a colour as an object property - if that should actually work maybe you could point me to an example for it.

Start Blender from the console with the '--enable-new-depsgraph' parameter. The Nodegroup will work now.


Can't move any character in blender even when in pose mode I am a new to blender...any way. I have followed these steps to the T and yet still when I try to move Vincent (character from blender), I cannot move any part of him. Any idea as to what I need to do? (I'm using blender 2.8)

These are the steps I have followed from blender site:
1. Put your 3D cursor in the Origin of your scene. Choose File > Link and browse the character file
2. Go to the Collections and select CH-Vincent.high. Make sure "Instance Collections" is enabled. Press Enter.
3. The Collection should appear instanced in the Viewport. Select it. Choose Object > Relations > Make Proxy...
4. In the list, select RIG-Vincent.

I followed the instruction listed above and I haven't configured anything else. Can anyone tell how I can solve this issue and get my character Vincent to move (meaning arms, legs etc.)

PS:
I have Blend rig 5 installed.
I am in pose mode when I try to move him...but can't.
I am on Blender Version 2.82
I have also tried other  (pre rigged) characters from blender cloud but none of them can move.

after digging up in 2.82 I’ve solved it by clicking move in object gizmos (which was turned off by default)I have uploaded an image of what i am referring to for anyone who has or had this issue of the character not being able to move or pose at all. Enable the move checkbox ☑ in order for your move and pose your character


Weight paint not showing I having problems to see weight effect area in the viewport.

For example this file:
https://dl.dropboxusercontent.com/u/51093542/35-minecraft-char.blend (right-click and 'Save As' to download .blend file)

used in this tutorial:

https://www.youtube.com/watch?v=rkT92aoMpP0

Compare how its shown in the video (around 5:23) and this

In another test if I pose the object and try to weight paint on it:

So obviously the weights are being applied to the object, I just can't see it like its supposed to do.
Any ideas?

The file you sent seems to work fine for me (Running Blender version 2.75a):

Make sure "Custom Weight Paint Range" in the User Preferences under System is unticked:


Cannot set pivot point for circle I have a circle

This circle was created from long cube using a Simple Deform modifier.

The problem is than I cannot set pivot point directly to the center of circle.

I've tried all the set origin options, but none of them put pivot to the center. (Almost all of them put it as shown on the first pic) I assume that this is because of simple deform usage. Are there any ways to put pivot to the center of circle?
(Blend file of the circle - https://drive.google.com/file/d/1-6PGztAwS3kKmWvQFPws0XdZtyINKymS/view?usp=sharing)
Or if there are other ways how I can design circle with 4 edges with right angle between them?

In this non-destructive workflow, your object is still considered by Blender to be the original little cube: the Simple Deform just "happens" to it, and can be still tweaked, changed, removed. The circle is not really there, is just "computed" on the go from the starting cube every time.
This saves memory and allows "customizability", but requires you to think of the object as a little cube with some other thing happening to it. It becomes very clear if you enter in Edit Mode (Tab) and realize that you only have the original cube's vertices only.
If you want to set the transformation in stone, and have your actual circle with all its vertices, you can hit "Apply" in the modifier options. After doing that, you can use CtrlAltShiftC > "Set Origin: To Center of Mass" to correctly place the pivot to the object's center.

P.S. there are alternative ways to create a square-section circle: e.g. using the Spin tool or the Spin modifier, or using a Bezier Circle with a square Bevel object, or this one (I think it's the easiest) that starts with a torus:

Add a Torus
In the "new object" parameters (F6) change "Minor Segments" to 8
In Edit Mode (Tab) select the unwanted edge loops (CtrlShiftMouse Select)
X > "Dissolve Edges"

All these methods have the pivot in the right place


How to bake high to low poly normals for multiple objects on one normal map? Imagining I have multiple objects which make up a scene including high poly and low poly of each object and I want to put all of the baked information onto one map. What would be the easiest way to achieve this? Turn all of the objects into one or do a high to low poly bake individually or something else entirely?

It's actually very simple. no need for weird ways.
Simply uncheck "clear" (in 2.7) or "clear image" (in2.8) in your bake settings, then bake each object at a time, assuming they don't share UV space.

/!\ watch out for the margin, make sure to set it low enough it doesn't overlap with an other UV island


UVmap spills over onto unselected areas When upwrapping to make a uv map I did NOT select the edge, back or side faces of these objects and yet the image I'm mapping gets miniaturized and repeated to these faces as denoted in red.  Suggestions?

Mark Seam. Select [all] vertices. UV unwrap. Then move those islands that you desire to be [not affected] off the UV Map, to the side.
Set Mapping Mode to Clipped, Not Repeat.
You can see this How do I put a stencil-like texture across a sectioned object?
Know that no matter how you UV Unwrap all vertices have a texture coordinate. Even if you can not obviously see the vertices,  they still exist.  You may have seen where some mesh models have duplicate vertices that are difficult to see.  A similar lack of obvious problem can occur with UV Maps. UV Vertices can exist in the same location and be a vicious trap for the unwary Blender user.
You can identify the UV location of a face by selecting it. You can see this How can I tell what part of the model the UV map is from? (In Blender)
UV Map data Can be built with Multiple UV Unwrap user operations.  When you select [part] not [all] of mesh to UV Unwrap ... this really means ... take the explicit command for the current selection and do not change the other locations of the unselected vertices ... and use a default location for faces if the UV Map is entirely new.  Selecting part of a mesh to unwrap does not mean ...... the unselected vertices should be unaffected by the texture.


Deform Issue with Rig I am having a bit of trouble setting up this rig to the mesh. I have fiddled with the Vertex groups and weights to make the sleeve cuff not deform except inline with the sleeve but for some reason is continues to deform. The Cuff seems to deform with the hand rotation but it shouldn't. The sleeve has no vertex' in the hand deform or any of the finger bone deforms but still it deforms.

Any Ideas?
These are the vertex groups for the sleeve. the Weights at this point are set to max in attempt to figure out what is going on.

The vertex group for the Bicep area was for some reason also including the cuff region which is not very helpful. So there was an extra deform to the cuff that was messing things up.

Thanks


Problem with Grass Floating above Mesh - Grass Essentials Using Grass Essentials, I'm able to add grass to my scene and distribute it according to my weight-painted terrain. Everything looks great and the scene renders properly -- until you save and reopen the Blend file. Upon opening, the particles are suspended above the plane and have lost all appearance of grass. Not sure why it displays fine while editing, but saving makes it go wonky. Any help is much appreciated!

Fixed. Apparently there was a group handling issue with Blender 2.78 which, in the case of Grass Essentials, caused the grass to basically disappear. I upgraded to 2.78c and the grass displays accurately upon re-opening the file.


How to render a scene faster in Cycles? I have a scene of an office. It has chairs, tables, computers, and so on.
I would like to know how I can render this scene faster as I am planning to make animation inside the office and don't want the render to take forever.
I know of sampling, resolution and most things in render settings. I have also heard of render passes or rendering using layers.

You can't just "render faster" for the most part, there are really no shortcuts or magical tricks. You can optimize your scene, tweak settings, and adjust parameters. While these can under certain situations make a significant difference, they will most often lead to marginal speedups compared to the total duration of the process. These can add up frame upon frame when rendering long animations, yielding more significant benefits though, but don't expect miracles.
Rendering is by definition slow. It takes time, a lot of time and resources, rendering animations even more so; so be prepared to wait.
As a wise man once said

match your expectations to your hardware, or match your hardware to your expectations.

Time is money, if your are serious about rendering, if work depends on it, if you are making money out of it, or you are interested enough in your hobby invest in better hardware, or if you can't front the cash or prefer not to own it, rent computing power (a render farm, web services etc.).
Rendering speed is mostly a sum of variables like the performance capabilities of the infrastructure (computer, farm, available devices, among others), available resources, desired level of quality and scene complexity. Faster renders always come at a cost of sacrificing either render quality, money, or complexity of the scene.
That being said, for Cycles (and path tracing in general), there are a few setups that are slightly faster to calculate, and additionally there are numerous ways you can optimize your scene so it generates less noise. With less noise you could require less samples to achieve the same level of quality, hence taking less time to calculate, which results in faster rendering.
Generally speaking Cycles likes big and easy to find light sources. Path tracing is sort of like target practice, smaller or harder to reach or hidden lamps produce noisier output that needs more samples and takes longer to render. Things to avoid:

Lights

Very small light sources (spots, point lights or area lights with
small size or radius property)
Lamps hidden behind objects, in crevices or contributing indirect light to a scene
Lights behind or inside glass objects or refractive surfaces

Geometry

Very highly subdivided meshes
Mesh with Subdiv modifiers with adequate subdivisions for the viewport but very high rendering subdivisions value
Hidden or secondary objects with unnecessarily high quality meshes (generally speaking keep subdivisions and mesh density to the absolute minimum required for the desired quality and proportional to the objects importance in the overall scene)
Very dense meshes resulting from sculpting, 3D scans or importing from other CAD software

Shaders and materials

Very complex shaders trees or materials
Unnecessarily large image textures sizes
Lots of glossy materials and reflections (which cause fireflies)
Abusing bump maps
Small objects with emission shaders or illumination

Try searching the internet for "Reduce Cycles noise" or "Optimize Cycles render" and you will find plenty of tips about it like the ones bellow as an example:

How to avoid noisy renders in Cycles?
How to reduce fireflies in Cycles?
Will increasing samples reduce fireflies?
Blender Manual about optimizing scenes and reducing noise
Blender Guru tips about reducing fireflies
Noise reduction techniques YouTube Tutorial
..and more...

Modern versions of Blender now have multiple built-in options for denoising renders, which can cause blurry images and splotches when used incorrectly, but if used properly can help reduce the needed amount of samples save some rendering time. See:

How to properly denoise renderings?
Type of Denoiser built into Blender
Which denoiser is better?


How can I make indoor lighting less uniform? I will try and make this question as specific as I can. I have this room:

However, the lighting in this room feels very flat and lifeless. This should be a dark and sinister room - home to the occult and demons.

I attempted to light the room using multiple lights around the room

however this does not manage to create the sinister lighting I am looking for. I also tried using shadows where possible, which had a limited improvement.

Below is an example of a well-lit, occultish room taken from the web which has a similar atmosphere to what I would like to achieve.

What can be done to make the lighting in my room more sinister and less uniform?

I have decided to post my solution to the problem:

Always, if possible, make it so that something is occluding your light. That way, the shadows look nice.

From another angle:

Look at the bookcase in the bottom right of the image as a perfect demonstration of my example, as you can see the shadows intersecting from the lights either side of the bookcase.

Also, bloom and occlusion really complete the look. There is absolutely no way that the shot would look anywhere near as good without either one of them.


Help! Can not increase the text size in the Python Console I'm running Blender 2.77 on a MacBook Air with OSX 10.11.6 with just the built-in keyboard and trackpad (I mostly script stuff). When I type Ctrl++ it doesn't make the font in the Python console larger, it just shows a string of "===". I've tried all kinds of other two and three-key combinations, but the font never gets bigger.

I'll give a talk introducing Blender scripting to some Python programmers, and I'd really like them to see what's going on there. I'll take any kind of work-around that makes the text bigger without chaning the Python console window size edit: or changing the font size in all the windows at the same time.

I looked around in preferences and couldn't find an explicit font size for the Python console, but there may be some keyboard mapping I can do?

I bought the computer in the far east and it types in Traditional Chinese as well - I don't know if that influences the settings. Another person with same situation here (MacBook Air, OSX, Chinese Keyboard, Blender) had no problem with it.

above: Ctrl++ just gives equal signs

above: couldn't find anything helpful here

Go to user preferences

Look at the DPI setting in system, under general

Change the resolution


Weird flickering in my model when I rotate the camera and even if it's fixed I was working on this model and everything was going fine. After I finished making the hands I took a look at the full model and noticed this weird flickering. Naturally I tried merging by distance and recalculating the normals, but nothing changed, the flickering continued when I switched render engines.
I tried re-opening Blender and restarting my computer but the problem continued.
Here's video: Weird flickering in Blender 2.83
What troubles me the most is that it wasn't happening earlier today, I clearly made a mistake or pushed a wrong button in the process of modeling, but I have no idea what exactly.
EDIT: Google-Drive Blend File

This is likely because your mirror modifier is copying and mirroring each side independently without culling one side. Check you mirror modifier options and check bisect then check or un-check flip to choose which side to delete and which side to mirror.

Probably what you did was apply the mirror modifier at some point.


How can i make this thread model? I tried to make this model but did not get any success with the shape. I tried with the tissue addon. But did not get the shape. Any way to create the shape of the mode.

I tried so far. Any suggestion. Thanks

You first need to create one segment. Use a Mirror modifier to make it easier. It should look like that:

Give it a Solidify modifier, press AltD to link-duplicate in order to see if it works, make the necessary modifications in Edit mode:

Once you are good, give it an Array modifier in order to repeat:

Blend file:


New graphics card not rendering anything I just bought a new GTX 970 and ive tried to render some scenes I had to test the performance but everything I render with my GPU comes out blank, just transparent. If I switch over and render a scene with my CPU it renders fine, so I could really use some help with finding a solution to my problem.

As it shows in Blender Release notes, GTX 9xx series are supported from version 2.73.


Black marble Node material Hi I'd like to create a marble chessboard with white and black squares.
For the white Rectangles I use the material shown in the picture.
What I want to create now is a identical material for black pieces - probably just inverted somehow - I played around with the invert node - didn't work...
How to create a black marble material white white wave lines?

I came up with this - color ramp was the solution


Boolean Modifier Trouble I'm having trouble with the Boolean difference modifier. It isn't cutting out some pieces of the mesh:

With the difference mesh hidden (note the lack of the rectangular cutouts)

All the normals are in order:

The modifier is not showing any errors or warnings.
Paste all .blend link

In addition to any potential solutions I'm also interested in the description of situations when it happens and an explanation of the cause.

You can fix this problem by first triangulating the mesh you wish to carve holes into. The large ngons on the top and the bottom make it hard for blender to create these holes.

Go into Edit Mode, Tab
Select the mesh you wish triangulate, A or hover mouse of mesh and press L
Triangulate the mesh, CtrlT

You will notice that the error message under the modifier is now gone.


Crowdrender Install? Can someone walk me through how can I install the crowdrender add on in linux mint!
When I try to install it, it gives me an error.

Cheers,Frost.

James from Crowdrender here, apologies for the late entrance but i jst found this post today, amazing what you find when you google your own org's name :P

Ok, the error you describe means that for some reason a critical component can't be imported. This can happen sometimes if the version of python in blender is not supported by our addon. We have (hopefully) fixed this now and there is a new version (v017) available from our website. This version supports a much larger range of python versions that are bundled with blender.

https://www.crowd-render.com/download

EDIT

One other thing to note is that if you use a 32 bit version of blender, Crowdrender will spit a very similar error stating that it cannot import some of it's components, this is because we only support 64 bit and as a result, when a 32 bit version of blender tries to use Crowdrender, it will not be able to find the 32 bit components, simply because, they aren't there!


Cloth simulation glitch Im trying to run a simple cloth simulation in 2.83 but the result is like scrutched up and looks terrible, also it takes like 15 minutes to bake 60 frames. I don't know if it's because of the sewing force or self collision. If anyone can help me, I'd be grateful!

(Answer copied from Self Collision - Blender Cloth Sim shrinks mesh as can't flag as duplicate since it has no upvotes...)
Most likely your cloth vertices are self-colliding with their neighbours due to the Self Collision Distance being too large.
Firstly, when running a simulation always ensure the meshes are created at 'real world' scales - eg, for a bedsheet you might assume 2 metres a side (or 2 Blender Units). Ensure you Ctrl+A and 'Apply Scale' following any changes to scale - to ensure the simulation is using the correct scale.
Secondly, reduce the Self Collisions 'Distance' property. At Blender 2.83.2 this defaults to 0.015 metres (1.5cm). If your vertices are closer together you may want to reduce that value.


Opacity of Textured objects I have 2 objects in the scene red cylinder and blue cube. They both have a basic colour in the Principal Shader. How can I lower the opacity of the red cylinder so I can see the blue cube behind it?

OK I got there. Make the objects that you want to see through Glass then set blend mode to additive.....adjust roughness and shadows to taste......


What sculpting tools would I use to separate a jaw from the skull? I'm pretty new to sculpting and 3d modeling overall and just picked up blender yesterday. I modelled this dinosaur head and now I want to model teeth, but the problem is that my model is made from one mesh (except for the eyes) and there is no oral cavity. So I need to find a way to cut trough the lips so I can have the initial shape of mouth then sculpt it.
I've tried using a subtractive brush, but i couldn't cut across very evenly. I tried using the knife tool in another mode but it didnt cut though, not super sure why it didn't work.
What would be the optimal steps for separating the jaw from everything else?
or would I just have to cut my loses and use the subtractive brush
This is what I have so far:

There is the Boolean Modifier in Blender. It's can be used to separate, merge, and cut off parts of objects/meshes. In your case, you can easily cut the lips and create an oral cavity with it. Then use the Pose brush to open the mouth.
Separate the lips
First, create a "knife". For this, switch to Object Mode (CTRL + TAB). Add a plane (SHIFT + A). Add a Solidify modifier to add some thickness. (The modifiers are located on the right side. Click the blue wrench icon.) Add the Solidify modifier, adjust the Thickness, then apply the modifier (in Blender 2.9, you need to press the little arrow on the right side of the modifier's name). Then scale and rotate the "knife" so you can place it between the lips of your dino head. Use S to scale. While scaling you can (for example) press X to restrict the scale to the X-axis. Use R to rotate, and G to move it around.

Now cut the lips apart. To do so, place the "kife" right at the beginning of the dino's lips between them where you want to separate them. Select the dino's head. Add the Boolean modifier to the head. In the modifier's options select the plane ("knife") as Object value, use the default mode Difference to cut out geometry. Apply the modifier. After that, move the knife a bit further along the lips into the head, apply again a Boolean modifier. Repeat these steps again if needed until you have cut the full length of the lips.

Create the oral cavity
This is very easy to do. Still in Object Mode, just add a sphere, scale it and place the dino's head where the cavity should be. Then select the head, and apply a Boolean modifier with the sphere as Object value and mode Difference.
Open the mouth
Switch to Sculpt mode. Use the Mask brush to mask the upper jaw of the head. This prevents that this area is affected by brushes. Then use the Pose brush with big size to move the lower jaw down. This part is a bit tricky since it still can happen that some vertices from the upper jaw are dragged down. Try to hide the masked area or use the Pose brush at a different spot or angle.

In the Sculpt menu you can hide masked areas and reveal them again.
The added geometry (cavity) has a lower vertex count. Switch on Wireframe overlay or to Edit mode to check it. You can use the Remesh in Sculpt Mode, or activate DynTopo and touch the area with the Clay brush and a very low strength to add needed geometry when you want to sculpt details there.


How to modell this shape? I am trying to modell the shape on this image.

But as you can see the middle part on the image is more narrow than what would come out of the boolean operation in my modell. How do can I modell the shape on the picture above?

Here is a solution, maybe there is a simpler one.


Cloth bake: Certain parts of cloth deform very quickly and not consistent Sometimes, when performing a cloth bake, certain parts of the cloth "collapse" inward very quickly before the other parts have deformed. The screenshot shows what happens.

The top portion of the cloth has "collapsed" very quickly.
The preset used for this was "Denim".
Is there a certain cloth bake parameter(s) that could be tweaked to prevent this?
I am using the latest version of Blender.

Result 2: Chaning self-collision parameters. No change:

Result 3: Greatly increasing the mass. The results are now much better.
(The results seem to be the opposite of what I would expect. I would expect the issue above to happen if the mass was too high. However, the opposite effect seems to happen).

This was caused by numerous triangles which were not connected to each other on the head area of mesh. There were also duplicate vertices in the problematic area.


VSE rerendering whole video for just a simple effect sometimes I add very simple effects to videos (files are already in video format). For example I just add simple fade in / fade out effect in the beginning / end of the video like in the image below:

However this rerenders large portions of the video which haven't been edited at all hence adding these simple effects can be very time consuming. The frames between the gamma cross strips actually don't need to be rerendered.
So my question: Is there an approach to skip these frames in order to save some time? (As I said the file is already in a video format, no image sequences availabe)

Thanks in advance !

You are rendering out the timeline, so everything in the timeline is rewritten, therefore you cannot just do the new bits.

However you could render the portions with effects as seperate clips then use an external app to join them to the original. A program like ffmpeg will do this appending function, but I don't recall if you can alter the start and end time of the un-effected clip in the middle. Anyway ffmpeg is a faster tool but at this point you may as well use Blender too render it all as a single piece.


OSL component names for points, colors? (x, y, z, r, g, b) The Open Shading Language spec says

Color variables may also have their components referenced using “named components” that look like accessing structure fields named r, g, and b, as synonyms for [0], [1], and [2], respectively:
float green = C.g; // get the green component
C.r = 0.5;         // set the red component

It says the same thing about points and x, y, z components. This is not working for me in Blender 2.8. I get errors like:

error: type 'point' does not have a member 'x'

Is this not implemented in Blender?

The syntax was introduced in version 1.11 of the Open Shading Language (OSL) specification.

  OSL Language and oslc compiler:

  New syntax to reference color and point/vector/normal components as named struct components, such as C.r, C.g, C.b, or P.x, P.y, P.z. #1049 (1.11.0)

Blender 2.83 is using OSL 1.10.9 and thus doesn't support this syntax yet.


How to find all image coordinates of rendered object? I got my object and I need to know all pixels that are displaying this object in my rendered picture.

I read about a smiliar question here.

update
I tried this code from here:

def tocam(scene, ob):
    cam_vec = cam.matrix_world.to_3x3() * Vector((0, 0, -1))
    R = cam_vec.to_track_quat('-Z', 'Y').to_matrix().to_4x4()

    # scale based on resolution
    S = Matrix() # resX=resY
    # translate such that origin is middle point of image (and hence cam)
    T = Matrix.Translation((-0.5, -0.5, 0))

    ob.data.transform(ob.matrix_world)
    ob.matrix_world = Matrix()
    for v in ob.data.vertices:
        vec = w2cv(scene, cam, v.co)
        v.co = vec.x, vec.y, 0

    ob.data.transform(S * T)

    ob.matrix_world = R
    angle_x = cam.data.angle_x
    x = (0.5 /  tan(angle_x / 2)) * cam_vec.normalized()
    ob.matrix_world.translation = cam.matrix_world.translation + x
    if cam.data.type == 'ORTHO':
        ob.scale *= cam.data.ortho_scale

    res_x = 640
    res_y = 640

    # 2d data printout:
    rnd = lambda i: round(i)

    for v in ob.data.vertices:
        print("{},{}".format(rnd(res_x*v.co.x), rnd(res_y*v.co.y)))

when I plot the points I get this:

but my rendered image is this:

So you can see, that it is not on the correct position and also the shape is not really correct.

Can anyone help me on this? Thanks a lot!

Basically one can just render the masks of the objects as images, import them and generate the arrays. This process is the similar for materials (a mask for every material) and depth.

The script can be (at least) run in 2.8x and 2.79b, just adjust the code with the commented code. If you use 2.79b, put blender in the same folder as the your python.exe.

Master script:

import matplotlib.pyplot as plt
import numpy as np
import glob, os
import PIL.Image as pil
import subprocess

pathToSlave = r'C:\Users\YourName\PycharmProjects\bse\slave.py'

pathToFile = r'C:\Users\YourName\Desktop\segmentation.blend'
fileName = 'segmentation.blend'

pathToRenderOutput = r'C:\Users\YourName\Desktop\trash\\'
pathToBlender = r'C:\Users\YourName\AppData\Local\Programs\Python\Python36\blender-2.79b-windows64\\'

subprocess.call('{}blender {} -b  --python {}'.format(pathToBlender, pathToFile, pathToSlave))

images = glob.glob(os.path.join(pathToRenderOutput, '*.png'))
for img in images:
    arr = np.asarray(pil.open(img))
    arr = arr.sum(axis=-1)
    arr = arr.squeeze()

    plt.imshow(arr)
    plt.show()

Blender part: A mask is generated for every mesh-object

import bpy

bpy.context.scene.render.engine = 'CYCLES'
bpy.context.scene.use_nodes = True
bpy.context.scene.cycles.samples = 1

# For 2.8x
# bpy.context.scene.view_layers["View Layer"].use_pass_object_index = True

# For 2.79b
bpy.context.scene.render.layers["RenderLayer"].use_pass_object_index = True

tree = bpy.data.scenes['Scene'].node_tree
nodes = tree.nodes
links = tree.links
indexOBOutput = tree.get('IndexOB Output')

idMaskList = []
indexPass = 1  # 0 is the default pass

outputPath = r'C:\Users\YourName\Desktop\trash\\'

fileOutput = nodes.new(type="CompositorNodeOutputFile")
fileOutput.base_path = outputPath
fileOutput.file_slots.remove(fileOutput.inputs[0])

for obj in bpy.data.objects:
    if obj.type == 'MESH':
        obj.pass_index = indexPass

        idNode = nodes.new(type='CompositorNodeIDMask')
        idNode.index = indexPass

        links.new(nodes.get('Render Layers').outputs.get('IndexOB'), idNode.inputs[0])
        fileOutput.file_slots.new('Object_{}'.format(indexPass))

        links.new(idNode.outputs[0], fileOutput.inputs[indexPass - 1])

        indexPass += 1

bpy.ops.render.render(use_viewport=False)


Rigging up a model in a non-neutral pose for a given armature I am trying to rig up an existing mesh with some .BVH motion capture data, but the pose the mesh is in does not entirely correspond to the neutral pose of the skeleton contained in the BVH file. This results in awkward-looking results for certain parts such as the shoulders and head position, but editing the mesh manually to match the rest position of the armature would be very cumbersome.

From a mathematical perspective, there shouldn't be any additional difficulty in allowing the rest position to be edited or equivalently allowing a model to be reparented to an armature in non-rest pose (adjusting the vertex weights and bone matrices accordingly), but it doesn't seem like Blender allows doing this (as of 2.69).

What would be the best/least-effort workflow for rigging up a mesh which is hard to adapt to a given skeleton's rest pose?

You can change your pose and apply it as rest pose.


Why does Mesh Deform modifier stop animating after a number of frames? Im animating a jump cycle on a character and in order to circumvent cloth physics on a high poly mesh (for things like hair), im using cloth physics on a low poly mesh and then using a Mesh Deform modifier to bind that to the parts I want to obey physics. It works beautifully but only up to about 200 frames, after those frames, those low poly meshes with the cloth physics stop following the armature, they stop wherever they are in the world space and then because they are bound to the mesh create these stretched out meshes as the character moves.

They are properly parented to the armature, bound to the mesh, and it works fine up until those frames. Is this a hardware limitation on my end, or is there some setting I can change?

user sambler answered my question -
"I expect the clothe cache end frame needs to be increased"


Relative size for blur in VSE Is there any way to have relative size instead of absolute in Gauss strip?

Final output is 4K, while I am working with 30% preview. It is very annoying to switch between render sizes just for tweaking correct amount of blur.

There is no built in functionality for this. However, you might be able to achieve what you want using drivers. Use the Render resolution as the variable. Perhaps you could define a custom property for the total blur value?


Construct a cuboid as a minimum bounding box with native dimensions that work in a mathutils analysis I am implementing a visibility problem between a point and the sun, which I have described in my previous question. I am using the function mathutils.geometry.intersect_ray_tri() to test if there is an object between the point and the sun. However, these objects that are potential obstructions have many triangles (which are iterated and the function is run for each), so to speed up the computations I need to create a bounding box for each object, and test it first.

I have found some solutions, for instance this one, which involves creating the basic cube at the origin with the edge length of 2, and then translating it, rotating it and rescaling it with the following functions:

bound_box.dimensions = obj.dimensions
bound_box.location = obj.location
bound_box.rotation_euler = obj.rotation_euler

The box perfectly encompasses the object, but the problem is that its dimensions are not native because the cube is deformed into a cuboid to fit the object, so the function mathutils.geometry.intersect_ray_tri() still considers it to be a cube at the origin with the dimensions (2,2,2), and the results are very wrong (or I am doing something wrong in the process).

Other solutions seem to be similar, and the mathutils intersection function doesn't work. Is there a way to create a cuboid that serves as a minimum bounding box, and that it'd work in such analysis?

Perhaps another solution would be to fix the above described distorted cube, so that it works in mathutils.geometry.intersect_ray_tri() but I don't know how to do that.

I implemented a minimum bounding box algorithm as an addon that simply attempts to fit a box from many different directions.  It is not exact, however it is robust :-)

https://github.com/patmo141/object_bounding_box


suddenly right click selection does not work suddenly i cannot select anymore with right click (or example objects in object mode or faces in edit mode). I was doing this tutorial and they asked me to change a few things in user preferences and now i cannot select anything.

go back to the user preferences, go to input and change select with: to right


In the game engine is it posible to track to an object when only on the same layer? How do I make an object stop tracking to objects in other layers, but still have it track to those objects when they are in the same layer as itself?

Also, I need to be able to spawn the objects into the layer.  I tried moving them to another scene, but was then unable to spawn them.

You have a little misunderstanding of trackTo, layers and dynamically added objects.
Layers
Layers are only used when rendering (e.g. it influences the lighting of objects).
There are no layers regarding logic!
The logic knows about

active objects (residing in enabled Blender layers) and
inactive objects (residing in hidden Blender layers).

TrackTo
The trackTo Actuator will track whatever object you tell it to track. The object has to exist within the scene.
The TrackToActuator can track inactive objects (objects at hidden Blender layers .. see above). I guess this is that you do not loose your actuator configuration when toggling through the layers while working with Blender.
Remark: The TrackToActuator can even track the owning object. That makes not much sense but is possible.
Within the BGE the target object will be determined when loading the scene. For example: if the Object parameter contains "Cube" the BGE will look for an object with the name "Cube".

If there is none, the actuator will not refer to an object (and not track at all).
If there is just one object, the actuator will referred to it.
If there is more than one object with that name, there is no guaranty which one will be referred to.

AddObject
AddOject (regardless if using Python or the actuator) adds new objects with the same name after the scene was loaded. This also means the trackTo actuator is already configured. You can add as many objects as you like, the trackTo actuator will not care (It will care when you remove the object it tracks).
Solution
When you dynamically add an object and you want to track it, you need to dynamically set a specific target object at the trackTo actuator (via Python).
You need to know

the trackTo Actuator
the object to track

The important question is
WHEN to track WHAT object.
Unfortunately your question does not include the When nor the What. At least it is not unique enough. Therefore I can't give specific advice.
I hope it helps a bit to understand the BGE's logic
Update #1

Thanks. So would a better way to ask be, "how do i make one object
track to another object only when it spanws?

Yes, it is better. Answers:

when adding a target object
the latest added target object

Here we need to find out how to implement the answers into the code:
When is a target object added?
Only the adding object (adder) knows about that.
Suggestion: let the adder send a notification message. Any object listening to that message will know when a new object was added.
What is the latest object added?
A message is not sufficient, as it can only carry strings, but we need a game object. We could send unique criteria as string and perform a search. But I suggest we do it different.
Solution A
We assume the tracker knows the adder. The tracker asks the adder what object was added that it can use it for tracking. [This is not the best design as the tracker gets knowledge about the internal structure of the adder. You are also restricted to a single adder. But it is a simple design and shows you how you can proceed.]
import bge

adder = bge.logic.getCurrentScene().objects["Adder"]
addActuator = adder.actuators["add"]
target = addActuator.objectLastCreated

controller = bge.logic.getCurrentController()
trackToActuator = controller.actuators["track"]
trackToActuator.object = target
controller.activate(trackToActuator)

Run this code (as Python controller in script mode) when the tracker receives the message from adder.

Requirements:

the adder is named "Adder"
the adder's add object actuator is called "add"
the tracker's track to actuator is called "track"

When you want other names, then change the code snippet accordingly.
Solution B
We assume there is always just one added object. So we do a search by name over all active objects (which automatically skips the inactive original).
import bge

controller = bge.logic.getCurrentController()
messageSensor = controller.sensors[0]
if messageSensor.positive:
    targetName = messageSensor.bodies[0]
    targets = [o for o in bge.logic.getCurrentScene().objects
                if o.name == targetName]
    target = targets[-1] # last object in list

    controller = bge.logic.getCurrentController()
    trackToActuator = controller.actuators["track"]
    trackToActuator.object = target
    controller.activate(trackToActuator)

As a gimmick I let track the last found object. In my version of the BGE, this was the last added object (of that name). Do not rely on it. This can change anytime making the assumption incorrect.
The logic changed a bit.

Requirements:

the message contains a body with the name of the added object
the tracker's track to actuator is called "track"

Several adders (with different added objects) are possible.
I hope it helps


Can't change positioning of item after keyframe So I'm video editting and I keyframe a translation of an image. The property value turns yellow, showing that that frame is the keyframe for that certain value. However, when I go to any other frame and try to keyframe to a different value, the property value is green and I am not able to change the value at all. Whenever I attempt to change it, the value reverts back to the keyframed value. I don't know what to do or how to revert this issue. This happened randomly. Deleted and re adding the image doesn't help and this is happening to anything that I try to keyframe.

I've tried to insert new keyframes and clear the keyframes, but those aren't working... the problem keeps on happening as soon as I add the keyframe...

The issue is similar to the one posted here, except there is no solution to the issue that has worked:

What does it mean when a property is highlighted in green?

The keyframe fixes the property (in this case the position) not only for a certain frame but also influences the future ans past values of that property. By adding only one keyframe that value is fixed for all time on that property. (think of this as a piecewise defined function).

Your solution should be to add a new keyframe i on the frame you want to change the position. This should turn the property field yellow and you can set a new value for that frame. In the sidebar you can change the transition from one value to another over time.

No keyframe: the values are grey

keyframe on current frame (frame 0), values are yellow

frame 12 without keyframe, but a keyframe at frame 0 value is green (and cannot be permanently changed)

changed value and added new keyframe at frame 12. Values are yellow

frame 6 without keyframe, between frame 0 and 12, value is green and interpolated between these frames

Tldr: to have multiple values over time for one property you need multiple keyframes.


Low polygon modeling vs good topology In the picture above you can see two staircase. The top is modeled with 32 triangles to cleanly fill the gap beneath it. The lower is modeled with 2 triangles that are disconnected from the steps above it and serve to only fill the hole. When having a low polygon count is a requirement is there any reason other then not having clean topology to not create your models like the lower example?

If you care about the real time performance of your model, then forget topology and focus on removing every single unwanted face(poly). You may, when modeling keep good topology in order to expedite and simplify the process. At the end you can go back and remove the remaining extraneous faces before moving onto UV unwrapping and texturing. That is purely a matter of preference. If you don't care about the real time performance, then by all means focus on good topology.


How do i fit those eyes into my character mesh? I've created a mesh that doesn't work with round eyes, i tried using the lattice method to make the pupil rotates without moving the eye mesh, but it doesn't worked, even with this modifier the mesh behind the pupil someties moves out of the face mesh. I tried using the vertex thing at the lattice modifier to try to attach the mesh to the eyeballs, but it messed up the model, and didn't attached.
Is there a way to fit a eye into this kind of mesh? here is the file for download: https://www.mediafire.com/file/bdycrc8hqrfajlb/File.blend/file

Both your eye globe and your eye hole have irregular shape, so if you want to solve your problem you need to make them both as regular as possible.
Another way to create your eye would be not to move the eye itself, but to move the texture on the surface of the eye, using an empty as Texture Coordinate Object, like this:

Here is the material setup:

You could get a similar result with the UV Warp modifier as suggested by Lemon.


Strange effect on the solid color faces I'm trying to achive something really simple but I've got the annoying effect. I'm using Cycles for rendering. On some meshes I applied the solid color wihtout any special effects (just the Diffuse BSDF with the chosen RGB color). I have one point light and a surface shader set in World Properties. The area on which the strange effect appears doesn't have multiple faces, in which case some problems with normals might appear.
I even didn't know how to name this visible effect, so it was difficult to find the solution somewhere. It's something like a shades along the faces. If there is already an answer on this forum, sorry I didn't find it - please direct me to this answer.

Thank you in advance for any help. Probably it is something very simple. But I don't have much experience in Blender, especially in materials and rendering.

Mariusz

This looks like denoising artifacts. Denoising is active by default in newer versions of Blender, and a quite powerful tool. It smoothes the noise that you get when rendering, and can save some render times, but results in some "washed out colours" if rendering with too few samples. Try increasing your render samples, and try deactivating Denoising for testing purposes to see the difference.


How to transfer scale direction and magnitude of rotating object to another in world space with Animation Nodes or Sverchok I was trying to figure out the following problem.
If given two objects A and B, A is scaled non uniformly (i.e. scaled along Z axis), B have no scale transformation - can B object be scaled according to A worlds scale direction and magnitude, which additionaly can be modified by rotation.
I already did somewhat succesfull attempt using directly python, here is an example:
https://twitter.com/Syziph/status/903380750619299840
but I am curious if this could be done in Animation Nodes or Sverchok easily.
A little clarification

In the first state the scaling object (red arrow) has orientation 0 and scale of 1 i.e. it has no effect on the target object (black rectangle).
In the second state - the arrow is rotated 47 degrees CW and scaled by factor of 2. The rectangle is scaled in the direction of the arrow.
The third state is similar to the second just different orientation and scale of the scaling object.
Basically it is like Rotate object by angle X  - apply rotation - Scale object on single axis by given factor - apply scale - rotate back by angle -X - apply rotation.

I am not sure if there is a mathematical way to describe this transformation, but the closest I can think of is the Shear transformation.

Or translation of vertices based on the distance to the line perpendicular to some vector:


Turntable rotation with Y-axis up add-on Blender is hardwired to work with the Z-axis pointing upward, which is pretty inconvenient if one wants to import the game engine's physic simulation to a third party framework which happens to have the Y-axis pointing upwards.

While the vertices data can be exported to most 3d modeling formats swapping two axis with no problem, the game physics exporter doesn't allow to swap the axis.

One solution is to rotate the view to place the Y-axis up, whis is my approach, but it has the inconvenient to mess the turntable mode rotation, which main axis of rotation is aligned parallel to the Z-axis.

So it would be very handy to have a turntable rotation mode with the main axis of rotation aligned parallel to the Y-axis.

Update:

Most third party game engines, would need two files to be exported, the vertices data (.obj in my case), and the physics simulation data (.bullet)

Objects can be modeled independently of the axis pointing upwards, as long as the exported data have the right axis up, there wouldn't be any problem.

The built-in physics simulation can't be exported with the axes swapped, let's say it is Y up hardwired.

Then there is the third party game engine, which happens to use OpenGL's Y-axis up convention.

So my approach is to leave the third party game engine, and the Blender's physics exporter untouched, then export the vertices data as is, without any axis swapping.

The only problem (sort of) is that it would require to use blender with Y-axis up, which at this point means to be able to navigate "naturally" with Y up.

space_view3d_turntable_y_up.py
Enable turntable rotation with Y axis up.
space_view3d_turntable_z_up.py
Enable turntable rotation with Z axis up.
space_view3d_turntable_any_up.py
Enable turntable rotation with any axis up, the axis that is the most vertically aligned is the up axis for the turntable rotation until a new mouse gesture, i.e. until either the mouse button or the keyboard key modiffier is released.

All addons have the keyboard combination by default to
Ctrl+Left Mouse Drag because there is no need to install them all.

Neither disables the built-in view rotation, so that one can have both the trackball (built-in) and the turntable (addon) at the same time mapping them to diferent keys.


Apply modifier for unwrapping but maintain animation I have a spring created from a circle with a screw modifier.
I'd like to include the coil in the UV unwrapping. If I apply the modifier though, the keyframes from my animation of the coil moving up and down no longer work.
What's the best way to apply this modifier, while still being able to animate the coil?
For reference, I created an animation of the coil similar to what is in this video: https://www.youtube.com/watch?v=nXaVotL8DkY

Set the spring's skrew distance to the appropriate value for the desired resting position.
Run the script below after setting the sides variable to the number of sides of the spring.

import bpy

obj = bpy.context.active_object

sides = 8
steps = obj.modifiers["Screw"].steps
iterations = obj.modifiers["Screw"].iterations

bpy.ops.object.modifier_apply(modifier = "Screw")
bpy.ops.object.vertex_group_add()

group = obj.vertex_groups['Group']

loops = steps * iterations + 1
weight = 0.0

for loop in range(loops):
    weight = loop / (loops - 1)
    group.add( range(sides*loop, sides*(loop + 1)), weight, 'REPLACE' )

After running the script, the skrew modifier will have been applied and a vertex group added with the correct weights.

At this point, you can either use an armature or a control object (with a hook modifier) to deform the spring along the Z axis. In the example below, I have used an empty and a hook modifier to rig the spring:

I wasn't able to get the deformation to work with the armature modifier, but the hook modifier can use bones as well, which worked fine.


Assigning a python command to a mouse hotkey I am using an add-on called hexblender, which has some buttons that are useful for making meshes for finite-element models. I would like to assign one of the button's python commands to mouse button 4.

When I hover over the button, it says:

  Python: bpy.ops.hexblender.adjust_nodes_linear()

When I run the command from the command line, it does the right thing. Is there a way to assign this command to mouse button 4? I can assign other things to mouse button 4 but I cannot figure this out.

Any help would be greatly appreciated

open User Preferences -> Input
open some category and click Add New button
insert hexblender.adjust_nodes_linear into the input field
assign some keyboard shortcut
test the keyboard shortcut and if it works, use the X-Mouse Button Control application to set your mouse button action to trigger your keyboard shortcut


When I render, it just shows the render and it says it's finished, but there's nothing there When I hit F12 to render, a screen (see 2nd image) just pops up, and nothing happenes. It acts as if it's finished, when it's really not.

Is there something I've done wrong?

Overview:

  First of all, I don't know anything about Video Editing in Blender.

First option:

It seems that you have some Strip (4.) added to the project and this is blocking/muting rendering.

Go to Video Editing.
Select Strip (if you see transparent render result hit ESC).
Erase Strips.

Or modify it accordingly to your project.

Second option:

If you don't use VSE at all and made this Strip by accident you can always turn of Sequencer completely:


Cycles - How can I make a sphere see through? How can I make a sphere see through like this:

https://sketchfab.com/models/f38fd38470c3496cb7a9f5a76fae41a1

I tried the normals trick (flip the normals so they face toward the inside of the sphere) and I tried to use the transparent shader (connected node to surface input), but neither worked.
Could anyone give me some advice?

I think you are asking for front face culling. I have made the material in cycles since you didn't specify which engine you are using. The sphere contains a blue cube and the front faces of the sphere are not rendered. If it appears black you need to set up a shadow-less light or place lights on the inside of the sphere.

The setup:


Damp the movement of an animation curve I am quite new to Blender. I am writing a script for a scientific study. So I want to do it in the script change the angles of a motion in order to have quantifiable data. I have been struggling for few days to come up with a method to damp a motion of a predefined motion curve. For example:

The curves are in Quaternions. So far what I tried: Get a keyframe value w, x, y, z for the Arm and Forearm and generate a Quaternion. Then multiply each with a float value such as 0.5 (dividing by 2) to reduce the amplitude. Then update the Quaternion back.
Example:
newQat = 0.5 * (current_quat)

However, this did not quite for me. Working with Quaternion does not seem to give me the fully control the amplitude of a curve. That is at least my understanding.
Second attempt: Convert them to Euler and then multiply with a weight. For example, I want to damp the z angle of rotation of the Forearm. Then I simply, for all key frames of forearm, Get the w, x, y, z value, convert to Quaternion and then convert that to generate OldEuler. Then generate new Euler this way:
newEuler = (OldEuler.x ,OldEuler.y, 0.5 *OldEuler.z)

Then again convert back to newEuler.to_quaternion(), then update the curve. No great success on this method either.

I have found a solution to this.
#Retrieve the current roation

current_q = Quaternion((kf_w.co[1], kf_x.co[1], kf_y.co[1], kf_z.co[1]))

current_eulr = current_q.to_euler()

#Element-wise multiplication with a weight vector

new_euler = Euler((x * y for x, y in zip( weights,current_eulr )), 'XYZ')

new_q = new_euler.to_quaternion()


Texture Rendering Strangely When I render an image, the texture that is on my road plane changes. It doesn't show anywhere near as much detail as the texture 3D view suggests. I must have forgotten to check a box somewhere but I can't work out what I did wrong. Any ideas?

screenshots to show the difference:

As you can see I've put very low res stones in the dirt and a very basic grass texture, hopefully the picture size is enough to see it.

The stones are gone and the grass is missing its other shade.

There is also a strange green blend in the distance which isn't meant to be there, but I think that is probably another question.

Thank you :)

Ok I found the problem. I had forgotten to uncheck the 25 repeats.

I changed the base plane to be smaller and then use an array, but left it repeating the texture 25 times. Thank you for the answers :)

Also fixed the green in the background problem by selecting field in the texture panel.

Thank you for the suggestions Omar Ahmad and lemon.


Build a simple GUI that runs full Blender in the background? I have a Cycles-Blender model, which I want to release to the layman users who don't know Blender and give them some freedom to manipulate and explore the model a bit (simple operations like rotating the model around or setting visibility of a certain object, etc.).

For this use, I want to build a simple GUI that "wrappers" Blender inside. For example, I can add a button that sets an object invisible in rendering.

Another important feature I need is the user being able to drag/rotate/zoom in/etc. the model, and as soon as user interaction is done, the render starts progressively. It's the same thing when you are in Object Mode with Rendered as Viewport Shading.

Is there an easy/clean way of doing this?

I am a CS student and know how to code in Blender-Python. So if there isn't a clean way, please also teach me the dirty way to do it. ;-)

This question isn't the same as How to create a custom UI?, which wants to customize around the Blender GUI. Instead, I want to build from scratch, as the layman users really need super simple GUI's.

Sounds like you're trying to re-invent the wheel.

I'd imagine you might use Python for your GUI
to remain consistent with Blender scripting.

I'd look into PySide.
It's an open-source Python wrapper for the Qt lib.

PySide can access OpenGL via PySide.QtOpenGL calls,
so you'd have a way to view your model that way.

Then you'd most likely use a subprocess call to Blender
on the commandline for your final render.

If you need to access bpy and all those features,
you could compile Blender as it's own Python module:
https://wiki.blender.org/index.php/User:Ideasman42/BlenderAsPyModule

You might look into the Blender 101 Project first.
https://code.blender.org/2016/12/the-blender-101-project-and-you

It might do what you're trying to accomplish.

Contributing to that might be an easier way
for everyone to enjoy using Blender, even beginners.


Exporting mesh as CSV file I have been using this script to export my mesh to a CSV file. The problem is that every time I select a new object, the file is overwritten, so ideally when selecting a new object I need it to write a new CSV file, perhaps like this.  "mesh_001.csv", "mesh_002.csv" etc. Please could someone assist.

import bpy

outputFile = 'C:/My_Objects/mesh.csv'

verts = [ bpy.context.object.matrix_world @ v.co for v in bpy.context.object.data.vertices ]

csvLines = [ ";".join([ str(v) for v in co ]) + "\n" for co in verts ]

f = open( outputFile, 'w' )
f.writelines( csvLines )
f.close()

Use the name of the object as the file name

import bpy
import os

name = bpy.context.object.name
outputFile  = bpy.path.abspath("//csv_export\\" + name + ".csv")

print(outputFile)

If I save my file in D:\ and my object is named Cube, the outputFile will be D:\csv_export\Cube.csv.

Increase a suffix number for each export

import bpy
import os

index = 0
while True:
    path = "//csv_export\\mesh" + str(index).zfill(4) + ".csv"
    outputFile = bpy.path.abspath(path)
    if not os.path.exists(outputFile):
        break
    index += 1

print(outputFile)

In this script, we initially construct a path to a file with the suffix 0 => mesh0000.csv. While a file already exists at that location, we increase the counter.


How do I fit label precisely around bottle, specifically the circumference? I plan on wrapping a label around this bottle but the label gets distorted everytime, so I've concluded I need measurements to match. I've thought about making edge loops to get a specific height when making a selection and as for the circumference I can only think of counting all the faces and multiplying length times that. Am I on the right track? Let me know if there's a more effective way of achieving this.

To unwrap a cylinder in correct proportion:

Cut a vertical seam where you want it
Set an orthogonal view (poles or equator.. here, equator)
In edit mode, U unwrap  with 'Cylinder Projection' and settings as shown..

Oddly, in the 'Radius' field, entering pi*radius

.. which  doesn't make sense to me .. but there it is...


How can I "slideshow" between image textures on a plane? I have something like a slideshow I'm working on (essentially a shadow box that flips through images), and I can't find an easy way to change the image on a plane.

The two solutions I can think of are:

Copy paste the image plane for every image, create a new material for every image, and show/hide each plane throughout the animation.  Seems like a lot of redundancy.
Copy paste the image shader for ever image and create a vast network of mix shaders to move from one to the next.  This seems also like a lot of redundancy and huge ugly node graph.

What I wish I could do is change the image chosen for my Image Texture as a keyframe, but unfortunately insert keyframe does not work for the image path option.

So how can I do this?  Is there any way to do it that doesn't include a ton of redundancy?

Image for clarity:

You name all the images you want as a sequence, for example: image0001.png, image0002.png and so on. You can do this by importing them in Blender VSE and exporting all of them as pngs or you can do this using imagemagick.

Then in the shader, you import the first image.

You change the value from single image to image sequence and set the number of frames to your total number of images.

Now the image sequencer will play all the frames from frame 1 automatically. If you want total control, set the start frame so that the last image of the sequence is the first image in the sequencer.

Now you can keyframe the offset value and change it however you want. You can hold on a frame or let it run as a sequence.


How to create a superior mirage in blender I'd like to create a Superior Mirage.
Where by looking at object A, i can see object B, which is hidden behind it, as a reflection above A.

What Wikipedia says about it.
Other images from Google.

Q: Is there some way to do this using ray-tracing or something else?

I kinda figured out how to fake a passable mirage effect:

I don't think it's even possible to reproduce this phenomenon in Blender at the moment, so I went for a physically realistic depiction of it, not a physically accurate one. Any approach will need to use some tricks to fake it—smoke and mirrors. Well... mirror and mirror:

I did it with two planes, one behind the camera to capture what it's seeing, another behind everything to reflect the reflection of the first plane back to the camera.

If you set them up with the right constraints you can make them always face each other and lock positions and rotations with the camera so you don't have to do this manually. But making sure they don't fall out of sync with the camera is just the start.

Simply placing two reflective planes facing each other won't work because you'd see the back of the scene in the second one. You need to reposition the reflection in a way the real one gets occluded by the scene and only the reflection of the reflection appears. This can be done with normals.

I was most successful using the Incoming output of the Geometry node for this task. Here's what the manual has to say about it:

  Incoming: Vector pointing towards the point the shading point is
  being viewed from.

Once you have a vector input always pointing to the camera it gets easier. A Mapping node can be used to reposition it, even rotate it and flip it so it shows what you need.

The shader of the plane receiving this reflection is more complex. Superior mirages seems to always display at least an upside-down reflection over the object, often appearing as an inverted projection underneath a not inverted second projection. They're also pretty dynamic, being made of heated air.

To do this I blended a regular and an inverted reflection and used a noise node to create the air distortion.

The ending result is pretty convincing, and may be more than enough depending on your needs. There are a couple of limitations though I simply don't have the energy to sort out. The first one is the deformation caused by the Incoming normal:

Depending on the angle it's possible to straighten that arc with changing the rotation in the Mapping of the camera plane. It'll, however, deform any reflections far from the center of the image. Another limitation is not being able to compress and stretch parts of the reflection at will to better reproduce the distortions seen in a real mirage. The faked mirage may also seen a bit faded out under some circumstances, but that can be fixed  by using an array modifier to duplicate the plane.

Another serious limitation is accidentally catching the reflection of everything above the "horizon line", so setup your scene with this in mind; and the final one is about HDRIs: if you're not careful things get weird!

Here is the demo above (minus the HDRI) so you can play with the nodes:

Let me know if you find solutions to some of the limitations.


Addon object using PropertyGroup object attribute I'm working on adaptation some addon from 2.79 to 2.8x.
It uses property groups to fill other objects with recurring attributes.
TestProps:
my_float_prop: bpy.props.FloatProperty(default=3.1415926)

MyCustomNode:
my_float_prop: TestProps.my_float_prop

With 2.79 using = assignment addon works fine.
But 2.8x with pep-0526 I'm getting
AttributeError: type object 'TestProps' has no attribute 'my_float_prop'

I had created github repo demonstrates my problem with same project structure.

Using annotations rather than class properties
It is now defined as an annotation. They are added to a key value dictionary __annotations__ on the class on which they are defined. Try something like
TestProp.__annotations__["my_float_prop"]

There is a generic Namespace class where can
from argparse import Namespace
props = Namespace(**TestProp.__annotations__)

and then access them via
props.test_float_prop

Consider too using math.pi.


How can I get the rotatation with fcurves.find()? What I want is a way to take the rotation fcurves with the code fcurves.find(), is there any way to do it?

From blender 2.76 we can use fcurves.find(data_path, index) to get specific fcurves for an object. The fcurves for rotation data may be stored under several different data_path values depending on what rotation_mode was enabled when the keyframes were added.

Of the eight possible values for rotation_mode three different data_path values are used, one is rotation_quaternion, one is rotation_axis_angle and the other is rotation_euler that is used by all six permutations of XYZ used for euler rotation modes.

import bpy

obj = bpy.context.object
obj_fcurves = obj.animation_data.action.fcurves

if obj.rotation_mode == 'QUATERNION':
    w_fcurve = obj_fcurves.find('rotation_quaternion', index=0)
    x_fcurve = obj_fcurves.find('rotation_quaternion', index=1)
    y_fcurve = obj_fcurves.find('rotation_quaternion', index=2)
    z_fcurve = obj_fcurves.find('rotation_quaternion', index=3)
elif obj.rotation_mode == 'AXIS_ANGLE':
    w_fcurve = obj_fcurves.find('rotation_axis_angle', index=0)
    x_fcurve = obj_fcurves.find('rotation_axis_angle', index=1)
    y_fcurve = obj_fcurves.find('rotation_axis_angle', index=2)
    z_fcurve = obj_fcurves.find('rotation_axis_angle', index=3)
else:
    x_fcurve = obj_fcurves.find('rotation_euler', index=0)
    y_fcurve = obj_fcurves.find('rotation_euler', index=1)
    z_fcurve = obj_fcurves.find('rotation_euler', index=2)

For versions before 2.76 fcurves.find() is a generic find that doesn't work as expected, in this case you need to loop through the curves to find the one you want.

for c in obj_fcurves:
    if c.data_path == 'rotation_quaternion':
        if c.array_index == 0:
            w_fcurve = c
        elif c.array_index == 1:
            x_fcurve = c
        elif c.array_index == 2:
            y_fcurve = c
        elif c.array_index == 3:
            z_fcurve = c


Is there a generic custom data layer? Is there such a thing as a generic custom data layer in Blender that holds Strings, Booleans, and Enums? I'm trying to create a text box in edit mode that holds a user input note on a given mesh. Unfortunately, it seems that the note doesn't stay with the given mesh. When another mesh is in edit mode, the same note from the previous mesh is there.
Is there another way to do this other than a custom layer? Is this because the text is registered?

import bpy
from bpy.props import *
import bmesh

# ---
# String Properties
# ---

def initSceneProperties():

    bpy.types.Scene.StringType1 = StringProperty(
        name = "String1")

# ---
# Layout
# ---

class LayoutPanel(bpy.types.Panel):
    bl_label = "Test Text"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"
    bl_context = "mesh_edit"

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

        row = layout.row(align=True)
        col = row.column()
        col.prop(scn, 'StringType1', text="")

# ---
# Registers
# ---

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

    initSceneProperties()

def unregister():

    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

D. Skarn, I came up with something like this as far as to how it should operate. If you start Blender fresh, run the script and add a cube (named "Cube"), then add text to the text box, it will hold that data. If you create a second item (Cube), put it into edit mode, the text box will be blank and text can be entered. You can switch between both items and each object will hold it's text data. I just don't know how to make it so that it is more elegant and doesn't require actually naming the object explicitly. So I guess somehow detecting a new object and instancing the property data? Will property groups do that?

import bpy
from bpy.props import *

# ---
# String Properties
# ---

def initSceneProperties():
    bpy.types.Scene.naming = StringProperty(name = "String1")
    bpy.types.Scene.naming1 = StringProperty(name = "String1")

# ---
# Layout
# ---

class LayoutPanel(bpy.types.Panel):
    bl_label = "Test Text"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"
    bl_context = "mesh_edit"

    def draw(self, context):
        scn = bpy.context.scene
        layout = self.layout
        obj = bpy.context.edit_object
        objectOut = obj.name

        row = layout.row(align=True)
        col = row.column()
        if (objectOut == "Cube"):
            col.prop(scn, 'naming', text="")
            print(scn.naming)
        else:
            col.prop(scn, 'naming1', text="")
            print(scn.naming1)
# ---
# Registers
# ---

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

    initSceneProperties()

def unregister():

    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

Here is a little panel I took from my project. As far as I understood, that's what you need.

class WowWMOGroupPanel(bpy.types.Panel):
    bl_space_type = "PROPERTIES" # This defines where our panel should appear
    bl_region_type = "WINDOW"
    bl_context = "object" # This defines the mode in which it appears. In our case, it is object. However, could be "edit" or any other mode.and
    bl_label = "Wow WMO group" # Label and property ID name
    bl_options = {'DEFAULT_CLOSED'}

    def draw_header(self, context):
        layout = self.layout
        self.layout.prop(context.object.WowWMOGroup, "Enabled") # This makes the panel toggleable.

    def draw(self, context):
        layout = self.layout
        row = layout.row()
        self.layout.prop(context.object.WowWMOGroup, "GroupName") # This is our text input property

        layout.enabled = context.object.WowWMOGroup.Enabled # Enables everything in layout if checkbox is enabled

    @classmethod
    def poll(cls, context):
        # check if it is object and mesh
        return (context.object is not None and context.object.data is not None and isinstance(context.object.data,bpy.types.Mesh))

class WowWMOGroupPropertyGroup(bpy.types.PropertyGroup):
    Enabled = bpy.props.BoolProperty(name="", description="Enable wow WMO group properties")
    GroupName = bpy.props.StringProperty() # our string input!

def RegisterWowWMOGroupProperties():
    bpy.types.Object.WowWMOGroup = bpy.props.PointerProperty(type=WowWMOGroupPropertyGroup)

def UnregisterWowWMOGroupProperties():
    bpy.types.Object.WowWMOGroup = None

# After doing this you can adress your property as bpy.context.scene.objects[some_id_or_name].WowWMOGroup.GroupName


Cycles: Final Render differs from Viewport I'm attempting to use Cycles to render my procedurally generated planet, but the final render is different from what I see in the viewport. My clouds, generated using noise and a couple of other simple nodes, are reduced to a bunch of triangles of varying transparency.
Viewport:

Render:

Cloud Node Setup:

Link to .blend file: https://drive.google.com/file/d/1YWWlHg8np9970eA50umKagPwdwXuM12m/view?usp=sharing
Some things to take into account.

I have shaded all three, the clouds, atmosphere, and planet, smooth.
The sample amount for the viewport and render are the same

If any more information is needed, please let me know.

What just happened to your clouds mesh?

It looks awful, this topology is far from reasonable mesh.
I kind of know you're probably want to make it thick then a surface ball. That's not how most of the CG render do, if you are making thing in volume rather than surface, the material should connect to output, and also you should use volume shader rather than surface shader (eg. Principled Volume).
You can still use a surface ball to mock the effect with better control, and please aware the problem of "z-fighting" if you setup your earth to three different mesh with little difference distance.

If you still want the thickness of cloud and atmosphere, use solidify modifier instead. It will give you a better control and a more convenience method to manage your object.


Removing Animations in dopesheet action editor I opened up the dopesheet, and then the action editor. I pressed f, then 2, experimenting with it. But doing that made clones of the animation. How do I delete them?

Remove all the animations with the 'X' button. The active ones or the ones with the 'F' button enabled will be saved after reloading your saved .blend file.