text:
Blender crashes when started from the command line
I'd like to run Blender from the command line (like this) in Mac OS, but am running into an error which causes Blender to crash each time I run ./blender (from within /Applications/Blender/blender.app/Contents/MacOS):
Jamies-MBP:MacOS Jamie$ ./blender
ndof: 3Dx driver not found
Read new prefs: /Users/Jamie/Library/Application Support/Blender/2.74/config/userpref.blend
found bundled python: /Applications/Blender/blender.app/Contents/MacOS/../Resources/2.74/python
Fatal Python error: Py_Initialize: unable to load the file system codec
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/__init__.py", line 123
    raise CodecRegistryError,\
                            ^
SyntaxError: invalid syntax
Illegal instruction: 4

The OS also reports that 'Blender quit unexpectedly.'
The error seems to suggest that Blender is looking for Python 2.7, but I thought Blender would always use its own copy of Python 3? If I run which python I get /usr/bin/python, and if I run which python3 I get /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.
If I run $PYTHONPATH the output looks like this:
-bash: /Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg:
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip:
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7:
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin:
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac:
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages:
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python:
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk:
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old:
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload:
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC:
/Library/Python/2.7/site-packages:
/Library/Python/2.7/site-packages/PIL: No such file or directory

I'm not sure whether this is typical or not (there seems to be an No such file or directory error but I don't know if that's related).
What should I do to fix this or investigate this further? Do I need to add python3 to my $PYTHONPATH? This answer mentions other variables, such as $BLENDER_SYSTEM_PYTHON – do I need to change this?

Well the solution for me was to unset my $PYTHONPATH, which was configured to create the output listed above by a line in my ~/.bash_profile file.
When started from the Terminal, Blender now still loads the bundled Python:
found bundled python: /Applications/Blender/blender.app/Contents/MacOS/../Resources/2.74/python

But Python is now able to load the modules it needs. I guess that having $PYTHONPATH set was preventing Blender's Python from being able to load required modules.

I had a similar problem, but Python 2.7 path wasn't in my PYTHONPATH , but in in my PATH environnement variable. Thank you for pointing me the right .. path :P

This was one of the top answers for me when I had the same problem; here's what my issue was:
I made a hard link between my Blender download (which I put in /opt/blender) and my /usr/local/bin folder. With the hard link the executable isn't able to find the Python files it needs in its own subdirectory because it's looking for them in /usr/local/bin instead of where they're actually located, which is /opt/blender/3.0/python, etc.
First I had to remove the hard link:
sudo rm /usr/local/bin/blender
And then I had to remake it as a symbolic link:
sudo ln -s /opt/blender/blender /usr/local/bin/blender
The -s flag in the ln link command is what creates a symbolic link and it's the difference between the error OP gave and Blender starting correctly.
Pro tip, too: If you're getting Unity errors where Blender could not be launched after you've done this then you need to right-click the Assets folder in the Unity Editor and "Reimport All".

Check where your blender file is being invoked with which blender. The whole blender install shouldn't be at that path, which means that whatever result you get from that command should be the SYMOBLIC link. If you check it with ls -l /path/you/were/given and it doesn't show a link back to your Blender install then you need to do the steps above.


text:
How to do texture colors looking the same as in the jpg
I would like to create a texture based on an image that has the same color (in the viewport and in the render) as the jpg file. Independent from the light source. In 3ds max I used self illumination for that. Can anybody tell me how to achieve this?
So if there is #000000 color in the jpg pixel, I should see #000000 in the render and in the viewport. If there is #123456 color in a jpg pixel, I should see #123456 in the render and in the viewport.
Similar to emission but that's not 100% is the same as the original...
Thanks

You may be getting unexpected results because of the Color Management (in Render settings) - change the View Transform from Filmic to Standard if you want your render to match the input texture

Emission shader is OK, you can also get the same result without adding any explicit shader, just connect the texture node to Surface of your Material Output.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
The modifiers and what they do
I'm creating flash cards and I want to have flashcards on blenders modifiers. Can someone please list all the modifiers blender has and their functions? Keep in mind that I'm a complete beginner.

Hello :). All available modifiers are listed in the Blender Manual right here. Complete with extensive explanation and examples. Enjoy.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Workflow for developing add-on/script
I'm trying to figure out a good workflow for developing scripts and add-ons in Blender. Here's what I'm currently doing as I try my luck with a PyNode add-on:

Open blender
Create a text editor panel
Open my script (external text file)
Edit my script in a nice external editor
Reload the script
Save the .blend file
Run the script

Now that I can see what my code does, this Blender instance has been modified, so I can't (make changes to my script and) run my script again. So I do this:

Close blender
Open blender with the .blend from step 6 and repeat steps 4-7, over and over and over..

Is there a better workflow for this sort of thing?

Do you really need that nice external editor? What features of this editor are you missing in blender? I am asking because I can help to improve the text editor a bit so you don't have to go external..

@Jerryno 1. I don't know why, but writing code in the editor feels slow, 2. there are 1-2 bugs, which produces unexpected indent errors, 3. smarter code completion and suggestions, 4. simultaneously highlighting of the same variables for better Search and Replace functionality would be really nice.

Hmm I'll just post an answer with the text editor addon, might solve 1 and 2 but 3 no way and I thought about 4 but didn't implement it, though it wouldn't be that hard to add.

Did you put those two basic lines in the end?
if name == 'main':
register()

@Jerryno For me, I'm so used to Vim shortcuts that all other editors seem clunky :)

Save addon script in the addons_contrib folder
Use nice external editor to edit the script
Disable/Enable addon in preferences.

I find this the easiest for addons, by editing the script while it is in the addons folder you only have to disable and re-enable it in the preferences to reload the modified script. The preferences window can be left open to keep it easily accessible.
For non-addon scripts I often edit the file externally and copy/paste it into blenders text editor. I limit what I save in a blend file, only data to start testing, I will often run the script then reload the blend from recent files to go back to the start.
I use an addon by CoDEmanX to run scripts, I picked it up from a blender artists thread. This adds the text blocks to a run script menu in blenders python console, it is much easier to get feedback right there and after you run the script the script variables are available in the console for you to explore further.

related: http://blender.stackexchange.com/questions/13835/calling-python-function-from-console/13842#13842

Blender text-editor is not good for coding, but using external one is cumbersome because the code still needs to be debugged regularly in blender and the blender console and outliner dataview is also very usefull. Switching back and forth would be an annoying experience for me even if the codes (external, internal) could be synced (which they can be with scene_update handlers..).

There was couple years ago an attempt to improve the Text-editor (using Scintilla that many external text editors use), but it seems dead.

So some time ago I wrote this addon to improve some Text editor functionality so I don't have to go the external path. Nowadays I would code some of it's parts differently and better (especially the multithreaded minimap updating) so any feedback is very welcomed. Here are the features:

Start and End with right-click in any Text-editor window (it also ends with F8 because when scripting an addon you need to reload with F8 and that is not possible because this addon is a modal operator. So you need F8 + F8 + Right-click>Start_again )

When started it adjusts the text-editor to the addon preferences, so you don't have to set line_numbers, syntax_highlight, text_margin etc. every time you open new text-editor window (this is frustating blender behavior, these settings should be global..)

It follows blender theme colors. The default ones are bad, so here I give you a good ones so its usable:

It adds a scrollable and clickable code minimap with syntax highlighting, which fades out when window is too small. It is done in another thread and has lazy updating to not lag the text-editor (python is slow for this). It can be disabled in preferences with just setting huge Hide Panel threshold:

It adds markers to visualize indentation, and it displays the scope of defs and classes (you can see it above in the gif). The scopes could be minimized but this didn't make it into this release because when blender crashes you would loose the hidden code parts (the lines were removed from text and stored in custom property). You can see the toggle icons when you hover over line numbers.
Autocompletes brackets and "",'':

Use Alt+C for magic:

put things in lists:

evaluate expressions (it knows pi, e, phi(golden ratio) and g(grav accel)):

stringify words when cursor just after the word:

Correct Home and Shift+Home behavior. Will move to first letter of line or to the previous indent. Alt+Home now moves to the line beginning:

Make comments with Alt+D. (Remove with Ctrl+Shift+D - this one is not new):

With multiple text-files it displays tabs to quickly switch between (blender has tabs but does not use them where it should..)

All this was good enough for me not to use external editor. Multiple variables highlighting and multi-editing (like Sublime has) was planned but abandoned. Maybe if enough people will be interested I could further improve this. But I don't see Blender addon python api strong enough to do this properly, this should be done in Blenders code for performance (like that scintilla patch).

There is also this paid addon that does blender api autocomplete and is very nice.

In your workflow I don't see much room for optimization, except for auto-reloading your script with bpy.app.handlers.scene_update_pre handler. You should be able also to return to the start state with ctrl-z so you don't have to restart blender but that depends on what you are doing if that would work.

+5, if I could - a text editor I'll fall in love with ;) Thanks for sharing.

thx @poor, though I feel that it would have to have more useful features (like that auto-complete or code hiding) to be really a thing.

ctrl-z doesn't undo the kind of stuff that my script does..

My script registers a custom node tree type. I'm not really comfortable with the api yet, but I suppose what I should be doing is IF node tree is registered, then unregister/reregister ELSE register.. that way I might be able to modify my script and rerun it in the same blender instance?

@Jerryno I've tried this addon in blender 2.77 but it crashes blender as soon as I right-click and select Start Code Editor. Also I wonder if there are any updates regarding this script?

@Tak It won't work with new Blender - some of the python API was changed since then and I didn't write any updates as the project is abandoned for being a dead end. I would like to give it a new shot and do it differently and better, but to be honest I have problems finding free time.

@JaroslavJerrynoNovotny We're a couple people trying to make a push to improve the Text Editor, and came across your Code Editor. We where very impressed by it and in collaboration we have updated it to 2.81. I hope that's okay with you? You can get the script here: https://blenderartists.org/t/how-would-you-show-some-love-for-the-blender-text-editor/1163857/81 And please help us improve the Text Editor if you like.

@tintwotin Hi, it's nice the text editor is getting some more love, it's very ok with me if you use and improve the code:) The addon is a wonky workaround with serious limitations. The performance could be improved a lot, but some limitations still remain. The main one is getting rid of the modal operator the addon runs inside (this is to handle user input). Best to implement all these features and more (inspired by Sublime Text) in Blender's source.

I use pycharm to edit the python.  When pycharm loses focus it saves the file.  Then when I get over to the blender window the little red circle icon in the header of the text editor area allows me to reload the script.
How about after you run the script: do not save; instead use File > Open Recent ( or Ctrl+Shift+o ) and re-load the version you saved in step 6.  Once you have it open, you can load the latest version of the addon and try it again.
In my personal projects I try to code in such a way that I can run the script multiple times and it still works (either by deleting the old versions of the objects, or by updating them).
# edit: to provide an example of how to create an object, or modify it if it already exists
# since I didn't include one in my original answer
def fab_object_for(scn, u,v):
    name = "ball2 at %d,%d" % (u, v)
    obj = bpy.data.objects.get(name)
    if obj is None:
        obj = bpy.data.objects.new(name, bpy.data.meshes["Icosphere"])
    try:
        scn.objects.link(obj)
    except:
        pass
    obj.location = (u,v,0)
    rig_nlas(obj, u, v)

Sometimes I have a second script whose job it is to purge stale versions of objects to create a clean(er) slate.
scn = bpy.context.scene
for obj in scn.objects:
    if obj.name[:10] == 'active at ':
        scn.objects.unlink(obj)
        # optionally
        # obj.name = "discard"

This is a great suggestion too! I guess my problem is that my script (and the person writing is) hasn't matured enough to be able to do that. I still need to get comfortable with the API/environment

I added some examples of techniques for dealing with "stale" objects.

For an external workflow I suggest Script Runner. This Addon allows to execute external scripts (up to 10 external python files) in 3d View or the Text Editor.
Since every script is basically a button, you can assign a shortcut via Right Click:

I personally prefer Q, this results in the following workflow:

Edit the script in an external editor,
Save it and switch back to blender (Alt+Tab)
Hit Q in blender to execute the script

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Access Bone Coordinates using Python API
I'm trying to export bone coordinates using ob.find_armature().data.bones.
I made a test file that has two connected bones, and set these position values manually in the UI.
Bone 1 Coordinates

Head: (1, 1, 1)
Tail: (2, 2, 2)

Bone 2 Coordinates (connected to Bone 1)

Head: (2, 2, 2)
Tail: (3, 3, 3)

So I go to access the bone data in python, and here's what I get.
Bone 1 Coordinates

Head: (1, 1, 1)
Tail: (2, 2, 2)
I guess these are absolute world coordinates.

Bone 2 Coordinates (connected to Bone 1)

Head: (0, 0, 0) These must be relative to the last bone's tail.
Tail: (-0.00000, 1.732051, 0.000000) What are these?

Proof and test Blend file: https://app.box.com/s/olb6hzi3p0z4ejqbtyfk

Figured out that head_local and tail_local will give me the coordinates I'm looking for, but I wish someone could explain what those other coordinates are.

API docs:

head - Location of head end of the bone relative to its parent
head_local - Location of head end of the bone relative to armature
tail - Location of tail end of the bone
tail_local - Location of tail end of the bone relative to armature

Since Bone 1 has no parent, the vector between object origin and bone head is used.
Bone 2's head it at Bone 1's tail (Connected is ticked), thus Bone 2's head is at (0, 0, 0) because there is no distance between both.
Bone 2's tail is at (0, 1.732, 0) because it's given relative to its parent bone. Bone 1 and 2 face the very same direction, all it takes is the length of the bone to define its endpoint (Bone direction is on the Y-axis in Blender). Tail minus head is
(3, 3, 3) - (2, 2, 2) = (1, 1, 1)

and the length
sqrt(12 + 12 + 12) = ~1.732

How would I go about calculating an absolute location based on that tail vector?

Should be ob.matrix_world * bone.tail_local. Not sure how to do that for bone.tail, likely involved some fancy matrix math.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Cycles mist pass does not appear in reflection

I'm having a problem with reflections of objects in cycles, where the standard mist pass does not seem to be properly reflected. In the image I have uploaded you can see that the mist obscures only the three nearest cubes, but in the horizontal reflective plane many more cubes are visbile going much further back, whereas in reality the visibility should be the same. I've tried switching to volumetric mist but I'm doing a long animation and it takes far longer to render.
here is the setup for the mist pass - very simple and following tutorials

can you show how did you set the mist, reflections?

yes, it does the same on my 2.79... can't find a solution, let's see if others find something...

What about faking mist inside shader using Z-depth for object that needs reflection and use Mist pass for others?

The mist pass is not going to get the results you are looking for. It will only output the distance from your geometry to the camera and won’t respect your shaders’ reflectiveness.  That’s why it renders so much faster than the right way to get this look, the volumetric shader for the world.

That's good to know. I guess I'll have to live with the mist pass in this case then.

Enable Denoising Data pass

Render image out (high number of samples preferred for less aliased result)
Go to compositing, use Map Value or Normalize node on Denoising Depth to get the depth data needed

Result:


text:
Can anyone tell the difference in material setup for a chocolate solid and a chocolate liquid
I make chocolate using mix shader connected in a diffuse and glossy and a fresnel in the factor input.But that looks like a molten chocolate How can we make it look like solid chocolate

Could you post desired example of what you want? There are several different solid chocolates out there.

By pure speculation, I would think you want to turn up the roughness. This should make it less reflective and make it look more like solid chocolate. But like others have said, can't really help without references and screenshots.

The Roughness of the material is the only difference. Here I use the same material but only slightly change the roughness:


text:
Blender wont let me import .osm files
I downloaded the openstreetmap .osm importing addon (to let me import .osm files) and paid $5.90 for it.
I enabled the addon in user preferences yet when I go to file-import there is no option for "openstreetmap .osm" like everyone else seems to have.
This is super frustrating to me and -i don't know how to fix it. I dont wanna waste my money!
I'm using blender v2.79.
(downloaded from https://github.com/vvoovv/blender-osm/wiki/Import-OpenStreetMap-(.osm))

The addon GUI is located on the "osm" tab of the left side panel (also known as Tool shelf and toggled with the T key) of the Blender 3D View as shown on the image
https://raw.githubusercontent.com/wiki/vvoovv/blender-osm/images/tool_shelf_osm_from_server.png (the letter "h" on the image).
Please refer to the documentation how to install and use the addon: https://github.com/vvoovv/blender-osm/wiki/Documentation#installation

Your link brings to github page which describes the addon which is now commercial, and has to be paid in advance, as you said, but the addon code is not there (anymore).
After paying, you should (somehow) "get a .zip" file, and then follow instructions as here:
https://github.com/vvoovv/blender-osm/wiki/Documentation#installation
Did you follow all that and still not working? Try to close and reopen blender, just in case.
I had a previous free version, a simple .py file, and after just pasting it into the "scripts" folder, and restarting, Blender found it, and the import menu is there:

If nothing works, you should ask to the "vendor", maybe on github, adding an issue here: https://github.com/vvoovv/blender-osm/issues
Since we cannot have your .zip file, we cannot check if something is wrong with that...


text:
Rigid body physics problem even a torus acts like it had no hole in it
When i apply rigid body modifier after punching a hole in a cube for inserting a rotatable propeller so that it rotates only when something collides with it.
But when i run the simulation the propeller shaft pops out of the hole and the cube behaves like it had no hole in it, even after after selecting "mesh" for the shape of physics body.

Double check normals, apply transforms, also.

Also, rigid body physics doesn't work well for curved surfaces in close contact with each other - such as shafts and axles. If objects are constrained by each other in such a way, use Rigid Body Constraints. See https://blender.stackexchange.com/a/101880/29586 and https://blender.stackexchange.com/a/108843/29586

By default the shape of rigid body collisions is set to 'Convex Hull', if you want the the collision shapes to include holes you need to set the collision shape to 'Mesh':

However like it is indicated in the comments, if you need objects constrained to each other you should use Rigid Body Constraints, otherwise you might not be able to get a smooth simulation without errors.

You are correct. I missed that. It seems I cannot replicate the issue then. However if Convex Hull is selected as Collision shape everything matches the description of the problem perfectly. Maybe double checking that the correct objects have this setting is not a bad idea.

Missed it too at first: removed  initial comment that suggested same. Agreed, does pay to double check.

i had selected mesh for rigid body shape i know that it is set by default as a convex hull.

Please share a .blend file then. It works as intended no matter what I do trying to recreate the issue.

Problem solved when i scaled up everything .


text:
UV unwrap and get same coordinates
How can i uv unwrap but keep x and y coordinates of my vertices the same?

The transform coordinates are referred to the world coordinates, expressed in Blender Units, while the UV coordinates are expressed in pixels, with 0,0 left bottom corner, and 256 x 256 as default (size changes according to a selected image in the UV/Image window), so it doesn't make sense try to match the two values. If you want to mantain the shape use a square texture and select "project from view" as UV Unwrap algorithm.
A workaround can be using your texture as reference, create a "cage" with the dimensions of the texture, then inset the face you need, choose Unwrap "project from view (bounds), then delete the faces you don't need.

to do project from view, i have to adjust the view over and over, with is too slow.
or i can just copy and paste coordinates, but that is slow as well.
is there better way to do this?

@kaito why adjusting the view "over and over"? This is done once before unwrapping. Select face/-s, press Shift+Numpad 7 to align view to active face and press U > Project From View. This is one of unwrapping techniques, while there're a lot of others, see https://blender.stackexchange.com/q/38651/1245

@MrZak when i do that, vertice coordinates are not the same.
it also depends on how zoomed in your view is.

Maybe it's better if you explain us whta do you want to achieve, because the corrispondance you're asking for is not possible, as UV coordinates can't have negative values, while transform values can. So, probably, you can reach your goal with a different workflow.

here is what i am trying to do. i have texture 16x64 and have a face 80x64. when i unwrap that face, i want it to perfectly match that texture. that's why i want to get same xy coords in uv editor when unwraping. otherwise i have to scale and move that face in uv editor, with most of the time not matches the texture perfectly.

I updated my answer.

@joshsanfelici thanks, but that's not it. if i'm gonna do that, i still have to move vertices. this is what i want to happen when i unwrap. https://i.imgur.com/YzzILKF.png

@MrZak I just wanted to say that this is seriously the last time I ever use a new shortcut without saving my work. Shift+Numpad 7 COMPLETELY screwed the viewport. I can't even realign this now. For anyone else who reads this, do NOT press Shift+Numpad 7.

@Krythic Shift+Numpad7 alignment can be easily undone by pressing Numpad1 to enter front view and then pressing MMB to exit it and continue working with perspective (if Auto Perspective enabled). There're also addons to store 3d views if needed. Avoiding using alignment to face just because it shifts viewport is avoiding multiple useful ways to work.


text:
Distorted image texture on curved plane
I am trying to make a curved TV screen (plane) using the image texture node, but the image texture is distorted on the edges of the tv in perspective view. Although, in orthographic view, it looks like a normal image on a plane.

Curved along the edges

Looks like a normal image on a plane
And also, there are parts of the image texture that are going outside of the assigned faces for the texture.
Would love to see if someone has a solution to the problem, I will provide more information on the nodes or something else if needed.

The easiest way to fix this is to project the texture from a perspective view and then manually adjust the top and bottom edges to remove their curve. To do this press 1, as you are looking down the Y axis, and press the middle mouse button to exit orthographic view. Select the entire surface and press U then V to project from view. Then open the UV Editor layout. Select all the points on one of the curved edges and straighten them out by pressing S, Y, 0, and do the same to the other curved edge.


text:
Keeping the animation running in a Python script triggered by Always sensor in bge?
I am trying to create my own sensor block in Blender's Game Logic to detect a text file being created in my C drive by another program.
Is it possible to perhaps hack an existing sensor or to create a new one in which you can define where the text file is located?
I tried using the suggested answer method stated below, but the python code would only run once upon finding the variable in the test.txt file. Any ideas on how to keep the always loop running? Here is some sample code:
import bge
from bge import logic as GL #GL=GameLogic
import os
import re

# Get the whole bge scene
scene = bge.logic.getCurrentScene()
cont = GL.getCurrentController() #access the logic brick that the script is being called from and assign it to a variable
#logic brick is returned by getCurrentController() -this method is passed to the variable cont
own = cont.owner #accessing the Armature object that is the owner of the controller

#Sensors - now have access to the controller and to the object that owns it. The next thing to do is to retrieve the necessary sensors
AlwaysSensor=cont.sensors['Always1'] # sensors assigned meaningfully name variable
#Actuators -  retrieval of the actuators
box_action = cont.actuators["Action1"]
#Now all the necessary logic brick components are accessible within the script, and the code for the movement itself can begin.

#setting up Action - animations
box_action.action = 'upMovement'
box_action.frameStart = 1
box_action.frameEnd = 24
box_action.mode = 2 #play modes are represented by integers: 0 represents the Play play mode, 1 represents the Property play mode, 2 represents the Flipper play mode, 3 represents the Loop Stop play mode, and 4 represents the Loop End play mode.

print("writing read charcters")
#note text file is in blender file in C drive
text_file = open("test.txt", "r")#varialbe=parameterOpen(parameterFileName, r read)
#print (text_file.read(1))#prints the first character '1' in txt file
var=(text_file.read(1))

print ("var=", var)
if (var == "a"):
#if (text_file.read(1)) == 'h':
    if AlwaysSensor.positive:
        cont.activate(box_action)#run upMovement animation
        print("a found+animation run")

text_file.close() #closes the file once read

Here is a screenshot of the game logic blocks setup:

I would connect an always sensor into a python controller to run a python script that tests for the file and handles it accordingly.

Thanks sambler, I did this but the python code only seems to run once, then stops working. Is there a way to end the code so that the always sensor starts working again?

At the left of the always sensor are two buttons and a freq. You need to enable one of the buttons for it to repeat, the freq defines how often it is repeated (in logic ticks).

Sorry I keep adding stuff to the original question, but yes I did play with the freq options. When I start, the python code does run and the animation moves. The odd thing is the animation only activates once, however the System Console shows that the python scripts are running again, but the animations are not...

In the action brick turn on Add. Also your only reading one char but not deleting or clearing the file.

I have played with that function a bit too, not luck so far. Maybe the screenshot I added to the Q will help?

I think it is something to do with the priority of the action actuator logic blocks. The animations seem to play, but the game gets stuck on one with the higher priority instead of just going on to play the next animation that it is instructed to play. Any ideas on how to make any animation that is told to run take priority to run, regardless of the previous animations priority?


text:
What are these bluish/greenish edges in edit mode?
I created a 3d human face with 'Facegen Modeller' and I opened it with Blender, trying to adapt it to my needs. Inside the eye there is a bluish/greenish oval shape. What is that? When I try to mark it as seam, the color does not change. I removed that shape in edit mode and then created it again and now it seems to be marked correctly. Am I making a mistake?

You marked those edges as being sharp, possibly by accident.
It happens when you select an edge or edgeloop and press Ctrl + E > Mark Sharp
To remove it select the edge or edgeloop in question and press Ctrl + E > Clear Sharp

Or they could have been marked sharp by the other application. Good answer.

Thanks. Yeah could have happened by accident, or by mistakenly pressing some key combination or by some addon or tool.

what's sharp,in a few words ?

Sharp edges are used on smooth shaded meshes to create a break on an otherwise continuous surface, think a corner or sharp edge in the surface

authors: Николай Якунин


text:
How do I fill an area with vertices lined up in a grid over a complex surface?
I'm looking for an add-on or a short cut to fill fast and symmetrically a complex surface that needs to be closed with vertices. Doing it manually it takes a lot of time. I tried to do Ctrl+F and then Grid fill, but it didn't work. Neither F key works. Check the attached screenshots.
This is the surface that needs to be completed with vertices :

This is what happens when I try to use the Grid fill tool :

And this is what happens if I try to use the F key :

Bridge egde loops and/or F2 addon can do the job here. But i dont think any tool can automatically do it all in "one click" for you here.
Bridge edge loops : select two opposite edges parts (with same accound of vertices in each) then ctrl+E and validate "bridge edge loops" :

F2 is an addon to easily make faces (mesh_f2.py). A tutorial and download link here :
https://www.youtube.com/watch?v=ImSNOuvkKsw
https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Modeling/F2


text:
How can I change the X, Y or Z transform values of all a curve's control points at the same time?
I'm trying to change the X, Y or Z values of all a curve's control points at the same time (while I'm in Edit mode). What I do is to select all the curve vertex points and then on the X, Y or Z fields on the Transform / Median tab I change the value. When I keep selected all the points at the same time the value is correctly changed, but when I select each control point, I see that the old value is still there.
Let's take this post :
How to change location, rotation, scale and dimensions of more objects at the same time?
The user Jan Kadeřábek said to:

Select all the objects
Click the input field while holding Alt
Enter the value

I thought that it could also work in this situation, but it does not. Maybe because it was in Object mode, instead now I'm in Edit mode?

A common trick to align things is to scale to zero on an axis.

Select multiple control points
SX0 to align them on the x axis
Change the x axis value to the desired value


text:
What does 'Clear Origin' (Alt-O) do in the 3d view?
What does 'Clear Origin' (AltO) do? Someone mentioned it on our general chat.

It does different things, it depends on the mode (clear origin in object mode, toggle proportional editing connected/disabled in edit mode).

Select a child object of a parent, and press AltO (that is the letter O). It will move the child to the parent, while still keeping the parent relationship intact. The name Blender uses is "clear its origin".

Can the same be done with rotation?

AltO is ambiguous as it performs a different action depending on which view area you are in. In the 3d view, you can use it to clear the object origin, in the text editor, use it to open a text block, in the sequencer it clears strip offsets etc.
To see the full list, search by Key-Binding for Alt O under Input in user preferences.

In edit mode it enables proportional editing(connected)


text:
Export only the selected object to STL file in Blender 2.8x
How can I export only the selected objects out to an STL file.  I tried hiding from view and render but they are still included in the STL ile see images below.
My settings before exporting to STL format.

The image when it's imported

PS: I'm using Blender 2.83

First select the object you want exported, then begin the export process as normal, by going to File > Export > Stl, then under the Include section, you will see a checkbox for exporting only the selection.


text:
Proportionally editing an object using a given/exact angle
I can proportionally edit an object (see animation below) but if I want to alter an object to have an angle of 63.45 how can I go about calculating/doing this (I'm testing parameters/limits/tolerances for a 3D printer).
The measure tools are just giving a ball park range. I'm trying to be more exact and would like to type in the exact value needed to get the desired angle.

The measure tools are just giving a ball park range. I'm trying to be more exact and would like to type in the exact value needed to get the desired angle.

First, make yourself aware of the trigonometrical relations.
$height =  tan(\alpha) = tan(63°)$
In python you can express this as
tan(radians(63))

This is the desired height. Add a cylinder, select the top edge loop and type the equation into the Z field. Upon pressing enter, the value will automatically be calculated.

Scale the top edge loop to 0, add a half sphere, add appropriate loop cuts if necessary, then merge the top circle into a single vertex.

Using the UI to find the code to script it
The transform translate operator depends on a number of things, other than just the amount translated, including the type of falloff and the radius of falloff.

After running an operator go to the info window and copy the last command.  It will have the settings last chosen producing the shape we want, from the starting point of the default north pole vert.

Script below I've added an import and tabbed it out to clearly see the options chosen when translating  Note haven't made an effort here to choose good values for this example
import bpy

bpy.ops.transform.translate(
    value=(0, 0, 0.456083),
    orient_type='GLOBAL',
    orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)),
    orient_matrix_type='GLOBAL',
    constraint_axis=(False, False, True),
    mirror=True,
    use_proportional_edit=True,
    proportional_edit_falloff='SMOOTH',
    proportional_size=0.82,
    use_proportional_connected=False,
    use_proportional_projected=False)

With the same "context" ie the sphere in edit mode and the top vert selected can run this script in text editor and it will do the same again, that is will translate the selected vert up again by the same amount.  Vertices within the sphere of proportional edit size influence will come along for the ride.
Ok then, if we have a "fresh" UV sphere with the top vert selected we can be assured that the top vert is locally at the north pole (0, 0, 1) and the equator point chosen to measure angle is arbitrarily (-1, 0, 0) Will work in LOCAL coordinates
Similarly as also suggested by @Leander can work out our height, and henceforth the delta height to move based on the angle
dz = tan(angle) - 1

Zero when angle is 45 degrees.  Could stop here and type tan(radians(63)) - 1 directly into operator value z field as shown by @Leander
Have chosen the proportional edit radius of root 2  sqrt(2).  (ie affect all verts with coordinates within this radius from top vert.  Using root 2 will create a proportional edit  "sphere of influence" centered at north pole vert such that the equator of original is encompassed within (on surface)  Blender isn't that exact so to avoid some points on equator being in some out have added a tiny smidge to radius to allow for tolerance errors.)
A radius of 1 will produce a more pear shape.  Changing the falloff type to linear a cone, to constant a capsule, etc.
Here is a test script to run on a default sphere in edit mode with only the top vert selected which moves, with proportional edit all verts equator up using  the pole vert such that the zenith angle is reached.
import bpy
from math import radians, tan

angle = radians(63.45)
# for default sphere
dz = tan(angle) - 1
#radius = 1 # more of a pear shape
radius = sqrt(2)

bpy.ops.transform.translate(
    value=(0, 0, dz),
    orient_type='LOCAL',

    use_proportional_edit=True,
    proportional_edit_falloff='SMOOTH',
    proportional_size=radius + 1e-6,
    use_proportional_connected=False,
    use_proportional_projected=False)

The next step here could be to simply create a sphere, select its top vert in code before above, to create a shape based on the settings chosen.  I'll leave that for another day.

Result Left as posted, Centre radius 1, LINEAR falloff. Right radius root 2, SHARP falloff

Why + 1e-6? The center ring doesn't need to move, right?

I want root(2) radius to encompass the diameter verts (centre ring) in reality it doesn't .  Running with constant falloff root 2 radius (no tol)   just over half the equator verts "lifted", with the tiny tolerance they all are influenced.  Yeah Would go the other way and subtract it  to not move the centre ring.

Without the example for constant falloff, the necessity was unclear to me.

Think the left one is a bit f'd-up by this but rotated it so it doesn't show (lol)

Haha. Btw, are you british (cause "centre")?

No.  But part of the "Commonwealth of correct spellers"  in Orstraylya.

I dont think there  is a tool for this, but you could do the calculation to know how much your upper vertex has to move up, which you can type for precision, and arrange everything from there.


text:
How do I make a specular surface without reflections?
I have tried to make it with a Glossy shader node. But I either get glossy with reflections or matte surface with small reflective details.

Gloss is essentially the same thing as specularity.  Glossy means that rays reflect off the surface at the angle of incidence (specular angle), producing a reflection.
From the Wikipedia page:

Gloss is an optical property of a surface to reflect light in a specular (mirror-like) direction.

By definition, gloss (or specularity) will give you reflections, and thus “gloss without reflections” is a self contradicting statement.  So, short of some compositing tricks as sambler has explained in his answer, it isn't really possible to have gloss without reflections.
The roughness slider simulates miniscule roughness in the surface by scattering rays slightly away from the angle of incidence, giving the matte-like shading.

A glossy shader will show reflections of objects and lights around it. To remove the reflections you want to separate the object by using render layers and then composite it together.
The trick to what you want to achieve is to have the object on a scene layer by itself, then setup a render layer to show that one scene layer and exclude other scene layers.
Here layer 2 is enabled and layer 1 is excluded

Giving you this ball by itself

but the other layer still sees it so has reflections of the ball in between.

composited together you get a ball in the middle without reflections


text:
Cycles multiple material and multiple importance sample light
I'm having a problem with multiple materials and multiple importance sample options on the light.
I make a vertex color to assign the different material to the vertex. Node setup is in the screenshot. Also, I choose the multiple importance sample option on the sun lamp.
The problem is the shadow from invisible part of the prism.
I need to make a shadow only from a visible part. Also, there is no way to call a vertex group by name, only by color, right?

Make sure transparent shadows is enabled in Properties > Material > Settings, and that Shadows is enabled in Render settings > Light paths. Also note that you can directly assign separate materials to different faces, which might be want you want. See http://blender.stackexchange.com/q/9292/599

Thanks for your reply!
The problem was in zero difuse reflection bounces in Light Paths settings.

Yep, that would do it too. Glad you found the answer :) Feel free to post it in an answer below so this can be marked as answered, making it easier for others with the same issue to find. Thanks :)

The problem was that there were zero diffuse reflection bounces. This value can be set in the Light Paths settings.


text:
What is the quickest / best way of duplicating an object with children, so that the children are also duplicated?
What is the quickest / best way of duplicating an object with children, so that the children are also duplicated?
I am able to grab the parent object and move it around in the 3D View and the child follows fine, but unless I go into the Outliner and RMB click on the parent and choose "Select Hierarchy" to select the parent AND the children before I duplicate, only the parent gets duplicated. I would like to know the quickest and best way to grab the parent object and all children in the 3D View and duplicate it without too much hassle.
In other words, is there a way to Select Hierarchy in the 3D View instead of having to use the Outliner?

You can do this by using the 'Select Grouped' menu, triggered with Shift+G.

Select Parent.
Shift+G> Children.
Shift select parent (by default it will be deselected when the children get selected).
Shift+D to duplicate.

If you are doing this multiple times you can open the toolbar(T) and check 'Extend' after doing 'Select Grouped', so the parent remains selected when the children are selected. Any future selection of the children will respect this 'Extend' setting.

Extend was what I was looking for. Now I can just hit Shift+G,C and move quickly. Thanks!

2 and 3 can be done in a single keypress: Ctrl+]

@NicolaSap a) The shortcut is Shift+] b) that shortcut only selects the next direct children. It does not select the whole hierarchy (children of children) like this method does.

@RayMairlot my bad for (a). (b) you're right, but if the hierarchy is not nested it saves a click

I think hammering Shift+] a couple times is a handy trick for some situations.. My life revolves around workflows that minimize transitions between keyboard and mouse ;)

In outliner panel, you can make a right click to parent and "Select hierarchy":

Now ShiftD to duplicate entire hierarchy.


text:
Trying to bake feather detail onto a bird but result is pure Chaos, Help
As stated, I am baking feathers onto a bird's body but the result when baked looks like pure chaos.

I thought this would work out because it worked great on the wing. The feathers baked great to the 2d plane. I attempted to replicate this problem by using one face of a cube, and I noticed that the feathers bake straight through to the back.

I don't see where to correct this either and it may be part of the problem. I thought this would work but clearly I'm missing something or baking just doesn't work like how I thought it should. Any advice would be much appreciated. If yall need more specific info just ask. (hoping one of you can identify my error with just this)

Does the UVmap contains the whole mesh, or just a half of it with mirroring?

No mirroring here, and all the face normals have been recalculated. I tried baking with each feather its own object and joined as one mesh with same result. The problem is either with the body mesh or my baking method (which is just standard stuff, tho ive never tried baking with something as complex before)


text:
Add sharp noise to material
Hello I´m trying to add noise to a material with eevee and this is what I achieved:

The problem is that the noise is too soft and I can't find a way to sharpen it.
Here's an example of what I want, I made it with Cycles some time ago:

It should look a bit like glitter and use eevee

For your-actual-glitter, you might want to check this answer

The best way to "sharpen" noise is piping it through a Color Ramp. Where you can focus the values and change the gradient type i.e. linear, ease, constant etc


text:
No render output... why?
My rendering has no output, and I'm not sure why.
Here is the blend file:
https://drive.google.com/file/d/1nHG4czlHThpvDe4Zoi6kiDGLi3wHkhDw/view
And pictures of the output:
https://i.sstatic.net/y16f5.jpg

Disabling the sequencer seems to fix it... not sure why - https://imgur.com/vCaM1NC

Oh, OK, you got it yourself. I did not see the comment when posting the answer. You should generally post it as an answer even if it's to your own question if you find a solution...

It seems the output is there. It is black. It comes from your sequencer where there is a PNG file.. You need to disable sequencer or delete the strip with the PNG file.

It does not seem you have any lights in the scene as well.


text:
Say I irreversibly deleted my camera in my scene. Could I solve for its position, given a prior 2d render of the scene?
Given a still capture of a mesh, is it possible to solve for the position of the camera?
I know the camera's FoV, I just need its position and rotation.

https://fspy.io/ might help

Well you can import the previous render as a reference image and add a new camera, flatten them both out using (ctrl+R and then ctrl+G), then hop inside of your camera and raise it above your image until it fills out the camera borders correctly, and then lastly parent the image to the camera and turn down it's opacity.
All you would need to do from there is fly around a bit with shift+` and find your previous location. It would basically serve as an overlay guide to help you find your old position.


text:
VSE: Preview of current frame when dragging strip handle isn't working anymore
Two months ago I cut a music video in VSE with many movie strips laying synchronized upon each other (on different channels). I loved how the preview window always showed the current frame of the strip handle I was just dragging. This even worked when there were other movie strips located "above" the strip I was editing (I think the preview channel was set to "0").
Now I'm on vacation and want to cut another music video on my laptop (Blender 2.8), but somehow the preview window is just showing the frame of the channel which is set in the N-panel. Just a still frame of where the playback cursor (line) is located.
Am I missing an option which I do have to check?
Thanks for your help in advance!

Solution of my problem:
It had something to do with different Blender Versions. On my desktop PC I had not the official release of Blender 2.8.
Instead I had the version from 2019-02-14 07:01 // Hash: c6cbcf83d015.
To get the official Blender 2.8 release behave the same I exported the key configuration of the older version and imported them to 2.8.
Now it behaves the same.
What keeps me wondering is, that I can't find the corresponding command for this scrubbing function (which on offical 2.8 "Shift + R-Click, as rob found out (don't know why it was not working on my laptop...) in the Keymap preferences.
If this was the case one could simply redefine the right click function. One can deactive the context menu, but then of course the RMB does nothing.
However, with the workaround my problem seems to be kind of solved for now.

I found it! Search for "Change Frame" in the Keymap preferences and change from Shift+RMB to simply RMB.

Hold down shift and use the Right mouse button on the strip you wish to scrub.
Very non-intuitive.
Found about about it from the great Blender Frenzy who is investigating VSE in 2.8 after creating a great free series of videos on VSE in 2.79

Thank you so much for your answer. This is totally odd. I'm back home right now and on my desktop pc I just have to right click (without shift) on a clip and I can scrub through it. On my laptop even the shift + right click does not work.. I have no idea by what this behavior is caused.


text:
How to make a two-point perspective render?
Two-point perspective render is very popular for rendering architectures. In Yafaray, there is an Architect Camera to do this.
Is there any way to achieve this in BI and/or Cycles?

For BI or Cycles?

May I know both, if possible? Thanks!

It seems this is not possible to do the same way as Yafaray, however you can do it with camera positioning and tweaking the Shift values.
From the wiki:

 Two Point Rendering
Normal architectural
  rendering is called two point rendering; when vertical lines are
  parallel, and horizontals, if followed out to the side, converge on
  one point, and receding or depth lines converge to a second point.
Architects often like this Two-Point rendering, so that the sides of
  their buildings are completely vertical and don't appear to be falling
  inward. This is also quite nice for compositions and schematics, given
  that the lines of the paper you print on and the screen you view with
  are also straight.
Previously to get a 2-point perspective, you had to
  aim the camera level to the horizon, however this resulted in the top
  half of the building being cut off and the horizon being in the exact
  middle, which looks very boring. Architectural photographers use
  'shift lenses' to solve this problem. Shift lenses shift the image to
  another place on the film. Two Point Horizontal Render This technique
  works well for high buildings as well as for normal sized objects.
Most of the time, the two vanishing points are horizontal and depth
  lines, with the vertical lines parallel. However, some titles are done
  with the horizontal lines parallel, and the vertical and depth lines
  having the vanishing point. This dramatizes and exaggerates the
  massiveness and height of the title.
To get this effect, position the camera at ground level, centered,
  angle the camera upward, and shift the render passpartout down. In the
  example, the camera is rotated 30 degrees upward, at ground level with
  the title. A bright key light with a short falloff provides dramatic
  lighting that is bright in the middle and falls off toward the sides,
  further enhancing the depth.
To achieve 2-point rendering:

Use a short wide angle lens camera, say with a Lens Size of 10 mm placed close to the building, or a long lens farther away from the
  building. These differences affect the depth of the building render,
  with longer lenses making the building appear thinner and less
  dramatic or distorted. The example uses a 40mm lens.
Position the camera off to one side of the object, vertically halfway up the building to minimize distortion of the vertical
  building edges. You may alter this vertical (Z value) position to be
  slightly higher than ground level or higher than the top (if you want
  to see the top of the object or building). To show the front bottom
  corner of the building jutting out, raise up the camera.
Angle the camera to be looking away from the building and directly level at the horizon - not pointed up or down (note the 20 degree Z
  angle in the example). This should make the vertical lines parallel.
  The more the camera looks at the object, the closer the vanishing
  point for the horizontal lines, and perceived depth will increase as
  that vanishing point gets closer as well.
You may have to angle the camera slightly down (just 1 degree or so) so that vertical lines appear vertically up and down, both near
  and far. If the lines are curved, use a longer lens. With your 3D View
  set to Camera view, use the passpartout or pixels on your monitor to
  determine vertical.
Move the camera toward/away from the object until it appears near a corner of the render and is the right size.
Adjust the Shift: X and Y settings until your object is positioned properly.

E.g.:
With a normal camera setup:

With the camera setup as described in the wiki:


text:
Counter rotate Animation using Driver
I followed this tutorial:
I created a sphere and parented it to the empty axes
Empty_axes is parented to the empty_cube
I added a drive to the empty_axes to counter the rotation of the empty_cube(such that sphere will be at the same rotation angle in global space).
But it is not working as It should be. Empty axes are moving along with the cube.
Here are the screenshots of what I have done.
Can anyone tell me what am I doing wrong here?
Thanks.

I got to know what the problem is ..
Its explained here
https://projects.blender.org/tracker/?func=detail&atid=498&aid=35971&group_id=9

The header from the screenshots clearly says driver is disabled.

possible duplicate of http://blender.stackexchange.com/questions/1903/after-updating-to-blender-2-68-driver-scripts-are-no-longer-automatically-excecu ?

@ideasman42 Yeah, I saw it later on, that's how I got to know what my problem was.

At the end of the thread posted in your comment  Campbell Barton clearly states that you need to enable auto-execution.
You find the option in the User Preferences Dialog


text:
How can I keep the smoothness of an object when exporting it?
I currently have a model which I downloaded off the internet. This is a quick screenshot of it:

The problem with this gun model is that neither the gun barrel or top part of the body is supposed to be like it looks; it's supposed to be round. I saw a few guides on Youtube and tried manually selecting and smoothing groups of edges. This is how it is supposed to look:

However, when I exported as an .obj to 3D Builder, it lost its smoothness and maintained its original appearance as so:

Is there anything I can do to fix this? Thanks.

Hi, welcome. How did you "smooth" those faces? It clearly appears that the exported geometry is not smoothed enough, you could have to apply modifiers, before, eg. Detail more what you did exactly...

3D printers have no smooth shading. They can only print the faces in the model. You can try a subdivision surface modifier, but you will probably have to remake the barrel of the gun.

hi do u know any answer? i have the same problem as u had, thanks!


text:
Strange twisted bone with Copy Rotation
I'm trying to use the Copy Rotation Constraint to let an armature copy another armature. The problem is, that the copied bone somehow is turned like 360 degrees around the x axis. What could I do to solve this problem?
Without the constraint, it looks like this:

After adding the constraint, it looks like this:

perhaps share your file: https://blend-exchange.giantcowfilms.com/

I fixed your images, please next time use the question editor tools to insert images...

There are a few things you can do. First would be to adjust the "Roll" of bones in edit mode, then they will have the same starting rotation. You can also restrict rotation on the axis of weird twisting or in Copy Rotation Constraint properties set copy only to those axis that work properly, or if the rotation of bones on the twisting axis is exactly opposite, select Invert in Copy Rotation Constraint properties for this axis, but if you want to have easy life with the rig, use the first option.


text:
Lock axis while rotating along path
I'm trying to keep the z axis (Poles) of the sphere at a certain angle while the sphere travels along it's path.
I can't see an option to animate transform in a local orientation. It always animates in a world space.
I tried playing with different eulers and restraints. Limit rotations won't work and i have tried checking and unchecking the follow path option.
I have even tried the "copy rotation" restraint off an empty by transferring to local space. It seems to go all over the shop when I try this.

I am out of idea's, so any help would be much appreciated. Thanks in advance.

So I started over. Turns out actions have to be performed in a specific order: editing values afterwards does not seem to work well.
The issue I ran into must have been because I applied follow path before I animated the rotation.

Use ZYX Euler on object you want to apply the rotation too
Select local transformation
Animate object rotation first in local transformation
Apply follow path

You can use Copy Rotation constraint as well. If you set the target to an object outside the hierarchy of the objects you have animated it will control the rotation of the object that is following a path. If the target's rotation is influenced by the animations you may get unexpected results as you have already observed.
Another way would be to have some object dedicated to following the path(like an empty). If another objects are parented to the empty they will inherit whatever transforms it has, however will be able to have their own transforms as well. You could then animate their own rotation relative to the empty so they would have the inherited transforms and whatever transforms you use on top of that.
It really depends on what effect you are trying to achieve.


text:
Why does my 3D Object become transparent

When I click f12 the texture of my 3D object become like this. If I missed something please tell me. I'm newbie at motion track. It'll help a lot thanks :)

You enabled option shadow catcher.  The shadow catcher is a specific option, used typically on floor planes in order to 'catch' shadows from lighting within the scene. It is useful for integrating a rendered object onto a photographic background.

You need to enable it on floor, not on object.
See also
How to use shadow catcher


text:
How to render casted shadow on surface only
How can i render a character + the shadow it cast on a surface but not the surface itself?
I would use it to

Render my background only once (if nothing moves in background) so i would be saving a lot of time
Better effects with transparency gif

Cycles Render
Select the surface object, go to Object / Cycles settings and check Shadow Catcher.
In Render / Film, check Transparent.
Blender Render
Select the surface object, go to Material / Shadow, check Shadows Only.
In Render / Shading / Alpha, select Transparent.


text:
Strange rigging problem
I am modelling a gun, and used an armature to manipulate the bullet chain with an IK target at the very end. I used this to manipulate the chain into the desired position, but for some reason a single vertice has shot off into the distance or something. When i go into edit mode the chain returns to it's natural mesh position, so I can't find out which one is doing this. I've tried using weight paint but I don't think that's working.
Here's a rendered version,

One in solid,

One in weight paint

and a closeup on the problem area

I wasn't sure what to actually search online to find a solution, so I came here.

Nevermind - After doing a bit of weight painting on the root of the "spike", it went back to normal.


text:
Can I add a Decimate modifier on all of the objects at once?
My project has over 7 million vertices, 6 million faces and 12 million tris's.
I'm also new to rendering but it's slowing down my project A LOT.
My scene has a lot of leaves and grass and I bet they are the ones that have a lot of the polygons and are the ones who causes the slowness.
My animation is 800 frames long, and each frame takes ~2-3 minutes to render...
I looked for solutions in the internet, there were some options like: Decimate Geometry; select all vertices and give them a Limited Dissolve option; and for triangle reduction I should do Ctrl+T.
Problem is, there are way too many objects to click and apply these settings manually, is there any way around this? Or maybe there is an add-on that does it all even better?

no I tried this long before you even posted it. When I try to Ctrl+L - copy the modifier onto other ones it doesn't work, in fact it even removed the modifier from the main object that was supposed to "spread" it to other objects. Also the trick with Alt key pressing didn't even do nothing, the post is probably too old for the newest version.

Did you "select the object(s) to apply the modifier to then the one that has the modifier" like the answers suggested? Selection order matters.

Eh, ok here is what I did: I clicked on a object, gave it a modifier, then I selected objects that need that modifier, and the last object I selected is the one that has the modifier, and then Ctrl+L it, no effects. I double checked, the outline for the last object is in yellow, do I need to apply the mod first?

hey what gives >:( my question got closed just because the same old solutions don't work with today, in 2020? Can anyone even see this anymore or is it how it works here - if it doesn't solve anything, we close it and ask it again, even though it's going to be the same question??

There is an addon called "Copy attributes menu". It has an option (on pressing Ctrl+C) "Copy selected modifiers". It does exactly what you want.

And there is indeed this answer (by satishgoda) in the thread on link in the header. =)

I assure you that answer still works - I've just tried it. If it's not working then maybe the objects you're selecting aren't meshes?

@Mechanic LOL thank you a lot, I always think that confirmed solutions on the posts are the ones I should always look at, I rarely even bother looking at other un-verified solutions. Anyway this worked and it's a lot easier than what I have mentioned, thanks!

to avoid such great numbers (polycount) look over some tuts how to deal with particle system for creating grass and leaves. Duplicated instances are waaay faster to render and view in the viewport. And the memory is used much better. I mean future projects, of course. for this there is nothing that one can do =)

@Mechanic sure, I just really wanted to try 3D modelling out and I'm giving all of my best to it because I love it. And since the project is for my university and I'm nearing to a deadline, I keep asking a lot of questions, especially when I'm new with everything. Thanks for the tips and encouragement! Be safe.


text:
Is there a way to make a vertex group or face of a soft body object stick to 2 rigid body objects?
My goal is to make a soft body simulation object connected to 2 rigid body simulation objects so that the scale of the soft body object can be changed to act like a contracting muscle and pull the 2 rigid bodies closer.
It seems that using a copy location constraint would work if I could have one vertex group follow another vertex group.
Another way I can describe what I want to get is like having a soft body goal where 2 ends of the soft body mesh are attached to the vertex group location of 2 rigid body meshes, like a barbell where the bar is made of jello and the 2 weights will fall with dynamics.
All of the videos I've seen on constraints seem to skip over using vertex groups. I'm not sure if there is a different way to do this, maybe with a particle system?. It seems to me the answer is in whether I can do this with constraints or do it at all.
Thanks

I am looking for a physics solution. Thanks for input

You can use hooks (ctrl+H in 2.7) with vertexes selected. Or if you want stick something to SB mesh, use vertex parenting.


text:
Arrows on a surface following a path
I am quite new to Blender and I am trying to have arrows following a path snapped onto a surface. The arrows' direction must be normal to the surface. I tried so many different things, array + curves, particle etc. I just cannot make it happen. I attach what the surface in blue I have and the path I want the arrows the follow. You can see how the final result would look like
.
How would you procede?
Any help would be so very welcome!
Thank you very much

"The arrows' direction must be normal to the surface" -> must it really be the normals or can it pretend to be? In the latter case, you can simply tilt the bezier's vertices (ctrl T or Tilt value in the N panel), or, if you've used a duplifaces as a support for your arrows, tilt the faces

Script version here https://blender.stackexchange.com/questions/174727/place-objects-on-mesh-using-snap-with-python-script/175503?r=SearchResults&s=1|28.8014#175503

Unless I've misunderstood the question:
You could make cylinder (a ribbon) to shrinkwrap to the surface, and in its Object > Instancing panel, set its method to 'Faces'
Parent an appropriately oriented arrow-object to the ribbon, and Modifiers > Shrink-Wrap the ribbon to the surface by the projection method that best picks up the normals you're looking for.

You could even adjust the edges between the faces by hand, if you want finer control of the distribution of arrows. The ribbon does not have to be rendered, you can switch that off in the Instancing panel.

That is amazing! Simple and exactly what I needed. I have another small question, I want my surface to be transparent, but the arrow is hidden in the center, how can I hide the arrow without hidding all of them?

Although the dupli-source arrow shows in the viewport,  (even if the view is set to 'Rendered',) it does not appear in the final F12 render. If you need to hide it in the viewport as well, you can Obj Mode > M move it to another collection, and hide that collection from the viewport (toggling the Eye icon in the outliner). I've always found this logic a bit mysterious, myself....

Wrote a script to do exactly this, but baulked when trying on Suzanne  (get a convex hull arrangement around the ears),  Updated it to use the edges of bisect instead.. .. but is it worth posting it?  (prob not)  Good to see you.

I can see some situations where this answer wouldn't work that well, or at least be fiddly? You're replacing Shrinkwrap's raycasting with your own, or something? I for one would love to see how it's done.

Thanks again Robin! By any chance, would you also know how to make the color gradient following the changes of curvature of this surface, but only for the changes of curvature along z? Like in the image I posted.

@Gael That's a good question, and a completely different one. The way SE sites are organised, you should post it as a new one. It will be better exposed to potential answers, and make a better archive.

Thank you very much, I will. :)

And if I wanted to make these arrows move along that contour in an animation, would that trick remain the best option?

Pretty sure you could use a shrink-wrapped variation on this, using a Curve deform modifier, then a shrink,  as shown .. If it works, great. If it doesn't, again, post where you got stuck as a new question.

Thanks again Robin!

Add a circle a round the object you want.Add a shrink wrap modifier to the circle and set mode to project and check negative.Then add a particle system to the circle and  set it's type hair and check advanced.Under emission set source to verts.Check rotation and set it to Normal.Then create an arrow mesh.Under render in the circle's particle system set render as object and set the object to your arrow mesh check check object rotation and uncheck object scale.Then edit your arrow mesh to point to the normal in edit mode.
link updated: https://drive.google.com/file/d/1DITVs9UplaVjc6pFR6hpl69-cRimdk25/view?usp=sharing

your link ask for an authorization, and please don't just give a link, give a full answer  ;)

I have edited the answer.I have also provided public link It wont ask for authorization .

..but the arrows aren't normal to the underlying surface?

Thank you, that is a neat trick, but indeed, the arrows are not normal to the surface.

In fact, is it possible using particles, to have arrows normal to the surface?


text:
Error ImportError: No module named 'bpy'
I am getting error:

ImportError: No module named 'bpy' in Blender console.

I am importing bpy module inside Blender console but still getting the error. After long googling I found that no one is getting the same error inside Blender.
Using Blender 2.7 and python 3.4.
My code:
import sys
import bpy
sys.path.append("C:\Python34\Lib\site-packages")
import serial
import GameLogic
contr = GameLogic.getCurrentController()
own = contr.owner
dane=open('dane.txt', 'rb')
x=dane.read()
dane.close()
y = int(x)
print ("y=", y)

bpy.ops.transform.rotate(value=(y), axis=(0.0, 0.0, 0.0), constraint_axis=(False, False, False), constraint_orientation='', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1.0, snap=False, snap_target='CLOSEST', snap_point=(0.0, 0.0, 0.0), snap_align=False, snap_normal=(0.0, 0.0, 0.0), release_confirm=False)

Output at Blender console:
ImportError: No module named 'bpy'
Python script error - object 'Cube', controller 'Python':
Traceback (most recent call last):
File "qqq.py", line 2, in <module>
ImportError: No module named 'bpy'

There's at least one additional problem: the backslashes in the filepath are not escaped, you can fix this by adding an r in front of the starting quotation mark - sys.path.append(r"...")

Thanks dear friend for your reply. This problem persists only in Standalone Player, not in embedded player. But I need the standalone player. :(
Have any solution dear ?

The blenderplayer doesn't include bpy

Do you mean to say that there is no way to include bpy in Standalone Player?
And when we export the game runtime as an .exe, in which player the game is played(Embedded or Standalone)?

correct. unless you modify the player code in C/C++ to include it (not trivial)

What is the procedure to include that bpy in C/C++? Because I need to publish the game for end-users.
Please share any method to include bpy in exported runtime version. Any method will help.

By not trivial I mean you can't do it unless you spend some hours in the code - this needs a developer to look into it, and infact its intentionally setup this way. since bpy is for blender -the application. You would be better off to just run Blender application fullscreen I expect.


text:
Transparent Shader not Transparent
Working with texturing/shading a spaceship in Cycles when I noticed that the transparent shader isn't being transparent.
Ship with plain diffuse:

And then ship with transparent shader applied:

Different angles shows more/less of the spaceship being in that weird blackness.


text:
How can I connect two objects for cloth simulation?
Context:  I am modeling an object that will be simulated as cloth.  I would like to attach two "velco" handles onto the main piece.
Initially, I just Ctrl+J to join the handles to the main piece.  I then pin the two handles, but when I run the cloth simulation, the main piece detaches and falls away.
How can I get the handles to hold the main piece and drape accordingly?
Thanks.

Could you better explain what you want?

The handles should probably be joined with actual geometry, e.g. there should be faces joining the handles and the main cloth.

Link the mesh's in edit mode, and it will simulate as though they are connected.

Did you try using the new sewing feature. Try searching Google Blender Developer Sneak Peek #8 for the details.  Or wait for a proper answer from someone here.  You didn't really give any details or provide a blend file so it's going to be hard for people to guess at your setup or what you may be doing wrong.


text:
How to do continuous integration with gitlab when developing blender addons?
I'm developing a blender addon and would like to take advantage of gitlab-ci to continuously test my addon, as well as have badges on my repository indicating the status of the latest build.
Advantages of using a continuous integration include automated merges and deployments when tests pass, as well as the peace of mind of being able to quickly know if you've broken anything with your latest changes.
Which are the steps for an addon developer to enable continuous integration? Blender specific caveats?

Introduction
Continuous integration requires a few things, namely tests, a CI server and tooling to run the test suite and read results automatically. Let's take them one by one.
Testing
There are various ways to write unit tests in python, but I decided to go with the classic unittest module because it is included with blender's python.
While I started off with tests in a different repository, I decided to move them alongside the addon in order to eliminate the need of keeping tests and addon in sync.
Let's say our addon is named toaster. I would advise naming the tests folder toaster_tests. You'll see why.
The test suite
The test suite is written in classic unittest manner.
class ToasterMeshTests(unittest.TestCase):
    def setUp(self):
        if bpy.data.objects.get('Cube') is not None:
            bpy.data.objects.remove(bpy.data.objects['Cube'], do_unlink=True)

    def tearDown(self):
        pass

    def test_addon_enabled(self):
        self.assertIsNotNone(toaster.bl_info)

Some caveats:

You need a way to override context because the tests are not always run in the same context as the actual operators. I have found this to mostly work but not always.. Some times you will have to rework your addon in a way that it is less context-sensitive, for example using bmesh instead of operators to manipulate meshes. You will also need to provide a path for context passing all the way down to the last operator call (which is a good idea anyway as you might find that things break due to context changes when you move your UI around). This context override function seems to work most of the time for me (unlike the one in the API reference)
def context_override(self):
    override = bpy.context.copy()
    for window in bpy.context.window_manager.windows:
        screen = window.screen
        for area in screen.areas:
            if area.type == 'VIEW_3D':
                override['window'] = window
                override['screen'] = screen
                override['area'] = area
                override['region'] = [region for region in area.regions if region.type == 'WINDOW'][0]
                override['selected_objects'] = [o for o in bpy.context.scene.objects if o.select]
                override['active_object'] = bpy.context.scene.objects.active
                return override

I found a weird bug when reloading the startup file (bpy.ops.wm.read_homefile()) in setUp so for now you need to manually start the suite in an empty file, and clean up after each test.

Graphical version
If your addon is graphical it might make sense to run some of the tests manually and eyeball the result instead of writing complex geometry-understanding scripts. For this reason, I made the tests folder an addon by itself, with a panel and an operator that calls each test separately. This is why I recommend naming the folder toaster-tests, in order to avoid name conflicts in the blender addons folder.
This is the operator
class TestsOperator(bpy.types.Operator):
    bl_idname = "toaster_tests.run"
    bl_label = "Toaster Tests"
    bl_options = {'REGISTER', 'UNDO'}
    testcase = bpy.props.StringProperty()

    def execute(self, context):
        if self.testcase == "all":
            suite = unittest.defaultTestLoader.loadTestsFromTestCase(ToasterMeshTests)
        else:
            suite = unittest.TestSuite()
            suite.addTest(ToasterMeshTests(self.testcase))
        unittest.TextTestRunner().run(suite)
        return {'FINISHED'}

And the UI panel
#A new panel in the tools section of the 3D view
class View3DPanel():
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'

class ToasterTestsPanel(View3DPanel, Panel):
    bl_label = "Toaster Tests"
    bl_context = "objectmode"
    bl_category = "Toaster Tests"

    def draw(self, context):
        layout = self.layout
        col = layout.column(align=True)
        col.operator("toaster_tests.run").testcase = "all"
        col = layout.column(align=True)
        col.operator("toaster_tests.run", text="Test 1").testcase = "test_add_column"
        col.operator("toaster_tests.run", text="Test 2").testcase = "test_add_beam"

Running the test from the console
To enable continuous integration you need to be able to run the tests from the terminal. While this is trivial, it is not as trivial to make sure that the CI runner understands if the tests failed or passed. Blender has the --python-exit-code parameter but this returns non-zero only if an exception is thrown in the supplied python file, immediately before exit.
Thus we need to throw an exception if the tests fail, catch it and immediately exit. This is what this script does.
import unittest
from toaster_tests.suite_1 import ToasterMeshTests
import sys

def run():
    suite = unittest.defaultTestLoader.loadTestsFromTestCase(ToasterMeshTests)
    success = unittest.TextTestRunner().run(suite).wasSuccessful()
    if not success:
        raise Exception('Tests Failed')

try:
    run()
    sys.exit(0)
except Exception:
    sys.exit(1)

You can try to run it like this
blender --addons toaster,toaster_tests --python toaster_tests/run.py --python-exit-code 1

You will see blender momentarily launch and output like this:
Read new prefs: /path/to/userpref.blend
Toaster Loaded
Reloaded modules
...
----------------------------------------------------------------------
Ran 3 tests in 0.003s

OK

or if the tests failed
Read new prefs: /path/to/userpref.blend
Toaster Loaded
Reloaded modules

.F.
======================================================================
FAIL: test_add_column (toaster_tests.suite_1.ToasterMeshTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/qwazix/.config/blender/2.78/scripts/addons/toaster_tests/suite_1.py", line 45, in test_add_column
    self.assertEquals(bpy.data.objects['Cube'].location, Vector((0,0,-8)), "Column not at the correct position")
AssertionError: Vector((0.0, 0.0, 0.0)) != Vector((0.0, 0.0, -8.0)) : Column not at the correct position

----------------------------------------------------------------------
Ran 3 tests in 0.002s

FAILED (failures=1)

CI!
In the first reference link there's a nice writeup on how to make the CI server (in that case Travis) to download blender in the new VM the CI engine uses. While this allows you to use the shared runners in the case of GitLab (I assume something similar happens with Travis) however I find it wasteful and unnecessarily heavy on blender foundation's servers to download blender each time I push to my server, so I decided to spin up a virtual machine on my local computer.
So go install yourself a distro with your favorite blender version on a virtual machine and then install gitlab-ci-multi-runner.

If you are wondering why a VM, it's because you might have done all sorts of weird things on your local blender installation (enabled multiple addons, installed python modules and other things) that a user might not have and thus the fact that the tests pass on your machine doesn't mean it will work on a clean environment.

Register your runner with gitlab
gitlab-runner register

It will ask you to provide a token from your gitlab repository and give a name to the runner. For the first time it might be useful to do it as user rather than as root, in order to run it manually and be able to observe what is going on. Afterwards, registering as root allows for unattended tests by just having the VM booted up, though you might run into issues with the X11 display. Choose a name and labels as you like and set executor as shell.
Now run it (except if you set up as root, where it automatically runs in the background)
gitlab-runner run

CI configuration
To trigger a CI build in GitLab you need to add a .gitlab-ci.yml in the root of your repository. The following file works for me
job1:

  script:
    - mkdir -p ~/.config/blender/2.78/scripts/addons/
    - rm -f ~/.config/blender/2.78/scripts/addons/toaster
    - rm -f ~/.config/blender/2.78/scripts/addons/toaster_tests
    - ln -s `pwd`/toaster/ ~/.config/blender/2.78/scripts/addons
    - ln -s `pwd`/toaster_tests/ ~/.config/blender/2.78/scripts/addons
    - blender --addons toaster,toaster_tests --python toaster_tests/run.py --python-exit-code 1

If you choose to run it as root you will need to append the following switches to the last line, as the runner runs under the gitlab-runner user which does not have a DISPLAY, nor access to alsa.
-b -noaudio

Note that I suspect that running with -b might incur additional context issues with blender, since it's possible that context override won't work (no windows to loop through in context_override()). This theory is not tested.

Passed!
Now if all went well, your runner should show
Checking for builds... received                     build=6237996 repo_url=https://gitlab.com/d-e/blender-addon-boilerplate.git runner=78a379b6

Build succeeded
and the build page in gitlab should show the output from blender. After a while a nice green reassuring

badge should be besides your last commit.
Wrapped and ready to go
I've updated my boilerplate blender addon (now named Toaster) with CI configuration. There are two branches, one that launches the full blender gui in the runner and the nogui-testing branch which runs blender in the background. Go get it.
References

Automatic Blender Addon Testing with TravisCI
Terminate Blender with Exit Code “1” when run from command line
Blender Manual – Command Line Arguments
Gitlab runner documentation

this is wonderfully written answer


text:
How do I create a draggable UI element?

I want to add in my script a list of this type of element (can you drag), but I don't know how.
row = layout.row()
    row.prop/template_Id/?????()

Drag'n'Drop stuff is coded in C exclusively. Right-click that element, Edit Source: it will tell you that it's not python-scripted.

Thank, I hope for some changes in future, I wish to create some library of element (materials, objects, groups etc...) for easy access. A tweaks of Outliner.

I seem to remember that FluidDesigner has drag and drop.  Maybe this will help: https://github.com/Andyrexic/fluid-designer-scripts


text:
Mesh flickering in 2.8
So I recently updated to 2.8 and I'm having trouble with meshes when trying to edit them. The lines aren't even in thickness and at certain angles can disappear. Then when moving about the whole thing flickers. It happens even if I just load up a new file and add a simple sphere:

Is there some sort of setting I need to stop this happening? I've been trying to just put up with it the past week but it's quite a strain on the eyes!

Disable Anti Aliasing in Preferences > Viewport > Quality > Viewport Anti-Aliasing and choose No Anti Aliasing


text:
How attach only selected bones of the armature to the mesh?
I am making a character and my whole rig is ready for skinning.
I have deformation and control bones. I want to create automatic weights only for deformation bones. Everytime when I have my bones selected (control bones are on a different layers) and hit ctrl + P -> with automatic weights I see that all my weight painting is messed up, because blender create vertex groups for all bones.
Ps. Control bones have deform option uncheck.
There was a similar question before but the answer in my case it didn't worked.
Also when I go to the Weight Paint mode of my mesh and click Weights -> assign automatic from bones it doesn't work.

could you please share your file or at least a part of it? https://blend-exchange.giantcowfilms.com/

In weight paint mode you have to enable the vertex selection tool and select the verts what you want to assign. (In most cases you can select all).


text:
What is a Ambient Occlusion sample?
I've just began using the branched path tracing mode in the Cycles rendering engine and as far as I can tell, I've been getting good results in it.  But I've been confused by one particular sample type that is listed: Ambient Occlusion.  I think that I understand what Ambient Occlusion is as an effect but as far as I know, it's more of a hack to fake Global Illumination then a realistic simulation of light.  So is there something going on behind the scenes that I'm not understanding?


text:
Hair won't render in cycles?
I just followed Andrew Price's video tutorial on how to render hair in cycles, and I have followed every single direction, but no hair gets rendered. Is something not enabled or activated?
It is almost like it is trying to render with the particles grit there.

Here is the blend file.

You may need to enable experimental features in the render tab for Cycles to render hair.
If you have an older version of blender and want to render hair on the GPU, you'll need to get a newer build from builder.blender.org or graphicall.org

You may need to specify how to do this.

In the last blender release (2.68a) it's already implemented. You don't need to download a build . The official version of blender, downloadable on blender.org, have already this feature.

I have the newest version but it wont work for some reason and yes it is set to experimental

@NikkiPark Could you upload your blendfile or some screenshots of your particle settings? Right now it could be many things and we can't do much more than speculate.

Here is the file. http://www.pasteall.org/blend/23841

As it turns out, you have to be out of Particle Mode before you render or the hair will not appear. I'm using 2.71

@someonewithpc Did you test it? It's not the issue in this particular question, but he is correct that hair doesn't seem to be rendered in particle edit mode.

Sorry; let's say that I wasn't in the best conditions yesterday...

I think because it will require to update for example the render if you are inside particle editor for hair (you can't change real time the look/combing of the hair)... so maybe they did choose to not put hair if you are editing hair.... 1.75a and it works this way.

It's probably because your particles are too small. You can see in your image that they are being rendered, but they're tiny.
The settings have changed since BG made his tutorial. There's now an additional factor, Scale, which, if I recall, is by default set to 0.05. Scale this up to 1 (or scale the root down by a factor of 20) and you should see better results.
I had this same issue when porting a Blender 2.66 file to Blender 2.67 – suddenly, all my hair was "gone!" But setting this value correctly should fix you up real good.

how do I change the size of the particles!!!!?????

@Nikki see my edit.

Where do I change the scale?

In the particle settings, next to Root and Tip.

I scaled it up to 20 and it i still small. Should I go for a higher scaling?

Thanks It is working so well but how do I increase the ammount of hairs

Change Number at the top.

@WChargin when using particle mode, you cannot add more particles with the Number property. Try using the Add brush in particle mode.

@gandalf3 true; good point. Could that have an impact on the scale as well? Try Free Edit.

You can simply add hair with the children's hair mode. In you particle panel you have a children menu where you can increase the render number for "multiply" the number of hair

@NikkiPark if this is the correct answer for your question, please mark it as such for future googlers with the same problem

Go to modifier properties and click on Convert to Mesh!


text:
Is there a way to convert a constraint to a keyframe?
I have a model in Blender with a full rig, including IK bones.
I also have a sword with two bones, on the top bone of the sword I have a set of constraints that copy the location and rotation of a child bone in the right hand.
The sword is then attached to the hand as expected. The second bone in the sword rig is the target for the left hand constraints that copy its location and rotation. In blender that works as expected.
I animate the primary rig right hand and the sword and the other hand moves as expected. The problem comes when I import the blender file into unity.
Unity is only seeing the right hand move but not the left. I can parent the sword to the right hand and it moves as expected. But the left hand data is not changing.
Back in blender I thought that if I were to select the left hand insert a keyframe (LocRotScale), when there was a keyframe for the right hand, that blender would then save the global position of the left hand, but when the new keyframe was inserted it had an orange line to the previous keyframe indicating that the position had not changed.
Is there away to get blender to save a keyframe for the left hand when the constraint moves it?

You could use Object > Animation > Bake action
(Or if you are in Pose mode, Pose > Animation > Bake action)

Bake action was added to the menu in Blender 2.62
(though it was previously available with Space> Search)
Unfortunately, there does not seem to be any documentation for this feature yet.

I don't seem to have that option with a bone contraint. When I open the menu I only have the top three options of your sub-menu. Could the bake option be in a diffent spot for bones?

Are you using the latest version of blender?

@user1874355 It seems to be there in 2.68a (r58536)
It is there in pose mode and object mode.

I am using blender 2.60, I will upgrade and see if that makes a difference. I havn't upgraded in awhile because that version has done well for me. I will upgrade and post the results.

I upgraded to blender 2.68a. With the constraints active on the bone in pose mose I hit crtl-a and apply visual transform. I then disable to constraints and watch the position of the bone. The bone is not animatated like it was while the constraints were active. Should this feature be able to set the position of the bone? While the constraint was active I watched the psoition of the bone and it was not changing to represent the global position of the bone, is that an issue?

@user1874355 AFAIK, Bake Action and Apply visual transform are not the same. Have you tried Object > Animation > Bake action?

I just tried Object > Animation > Bake action, with the animation selected in the action editor and the hand selected in the 3d view while in pose mode. I exited pose mode to go to object mode. Then baked the action, it created a new action in the action editor but the hand was not moving. I tried this with the constraint set to pose space and global space, neither animated the hand it simple ripped the hand off the body and had it floating in space.

ok, Object > Animation > Bake action does not do anything appearent for me but Pose > Animation > Bake action from in pose mode does. It creates a new action so it is not very conveinent but it does get the motion that the contraint produces. Thank you all.

Sounds like you want to apply the Visual Transform before keyframing:

Apply Visual Transform CtrlA
Apply (set) the result of a constraint and apply this back to the Object's location, rotation and scale. See the following post for more detailed discussion: Apply visual transform.

I did try that, and it produced some odd errors. I set the influence of the two constraints to 1 set then crtl-a, set the influence to 0 and the hand is torn off the body and floating in space. was I missing something? do I need to delete the key frames of the hand then apply, then readd keyframes?

This only applies to Modifiers that do not depend on any keyframes. Constraines like e.g. TrackTo don't work like that since the target object might be moving in an animation based on keyframes.

Use Pose->Animation->Bake Action

with this settings:

it will bake constraint transforms into keyframes on given range. Make sure to select:
Visual Keying this will force blender to take visual transforms including transforms that come from constraint
and make sure to check Clear Constraints. It wil clear constraint before taking it's visual transforms. If you not check this parameters - retarget won't work properly.
This way you can retarget any animation to any rig and from any rig. If you have proper Ik setup, ofc.
PS. This settings are given for blender 3.0 that i'm using currently.

where is the Pose menu?

you need to have bone or rig to get access to this menu. in rig go to pose mode and you'l have it.
in object mode you can go to -> Object->Animation->BakeAction as well

Ha, I realized my mistake shortly after posting that, thanks for your response ;)

If anyone is suffering with the same problem where they need to make a copy of an object but the animation also copies to the copy and then you can not change or transform the copy, then you can delete the keyframes of the copy and then apply Copy Rotation and Copy Transform constraints to the copy.
Then you can select the copy then go to Object > Animation > Bake Action and then check all the boxes except the last one, in Bake Data select Object, and in Channels select all options.
After clicking your animation will be directly baked in the timeline and you can easily change the transform of the copied object. This is for Blender version 4.2 can't say about older versions.


text:
Using a mapping node to disable tiling is streaching texture?
I'm having a bit of an issue getting started with UV mapping in Cycles.  It works fine initially, but when I add the mapping node and set min/max to the default values to turn off repeating, I get the following stretch.
This is a bit boggling to me as I followed multiple tutorials where this exact same process works.  See here
Images of the issue:

possible duplicate of Cycles option to turn off texture tiling?

@Aldrik Interesting. I tried out the node maps on that other question and while neither worked the question mentioned something about making the image texture larger than needed.  So I increased the image canvas by 1px on all sides and the stretch went away.  I assume it's now stretching the transparent pixel but it's not visible.

As mentioned by Róbert László Páli, this is an artifact of the way the mapping node works.
You can get around this using hjaarnio's technique:
Using this node setup that creates a map of where the image is:

Values in the 0-1 range are where the original image is, so if we use that as a mix factor:

It will use the Image texture only where the original image is mapped, and Base Color everywhere else.
Base Color can be a texture or even another shader as well:

Enabling the min and max values for the mapping does the following:
When the coordinate for the UV is above the one
(when a certain point is above the image on
the UV) then it changes that value to one.
So the sampler will sample a pixel from the coordinate
one, which is the topmost pixel of the image (and also
the zero value is sampled from there). So for every
point that is UV-mapped above or below the image,
the color will be from the top row of the image.
The same applies to the other direction.
A dummy solution would be to add one pixel
transparent black border to the image to achieve
a decal on the mug. But you have to use the alpha
channel to mix the image with the original color.


text:
Re-Centering the Camera view after Shift Drag?
This seems like something obvious, but I just don't know where to find this.
I'm using blender for projection mapping applications, and have set up my camera to emulate the base position and FOV of my playback environment.
Using Shift+Numpad-Enter to get the view into a 1:1 mode works just fine. My problem is that if I accidentally hold Shift and Middle-click-drag, the camera view frame gets moved within the viewport.
Is there a simple way to reset this back to the center. "Eyeballing" it back to the middle just isn't precise enough for me. I'd rather just be able to hit a keystroke combo and not have to worry about it.

You can also do this with python.

The only option I know of is to select the camera in question and then press Home before repeating Shift+Numpad Enter
Pressing Home with the camera selected runs the 'View All' command and will bring the camera back in view and centred but it will also adjust the zoom so that all the camera is visible, possibly loosing the 1:1 ratio. So it would be necessary to repeat the 1:1 view shortcut afterwards.