OBJ Exporting MakeHuman Character from Blender 2.8 with Textures as OBJ file - NOT .FBX 1) Imported MakeHuman Character - Successful
2) Able to see all the Hair, Skin, Clothes, Shoes in Blender
3) Trying to Export as OBJ file (With Write Materials, Copy chosen) --> When uploading this OBJ file to Mixamo.com for Rigging, it looses all the material.

Note: I am able to export the Makehuman character directly as OBJ and upload to Mixamo with textures. But when i bring it to Blender to edit clothes, the export does not come with material file name in the MTL file and looses its material.

Please help.

When uploading a OBJ to mixamo, you need to supply all textures as image files together with the mesh, packed in a ZIP file.

As an example, I have textured a cube. This Cube exports out as 3 files:

the Mesh as the OBJ file
the Material Manifest as the MTL file
the Texture as a TIF file. If you have other textures on your model, those will come out as their respective formats.

If you open your MTL file with a text editor, you can see the path the texture is supposed to be located at in relation to the OBJ file. In my example, there is no folder, just the name of the file, which indicated that the texture is supposed to be on the same level in the file folder hierarchy than the OBJ file.

ZIP these 3 files together and upload them to mixamo.

Tip: Blender by default has a very high Specular Default Value. This will make your object very reflective, to the point where you will no longer be able to see the applied materials and textures in mixamo. You can turn down Specularity in Blender, or, if like me you constantly forget, do it in the MTL file.
Change the Specular Value (Ks) to something much lower, like Ks 0 0 0

All MTL file parameters explained

You have no materials applied to your meshes. Select any mesh part, go to the Properties Window, select the Materials Tab and add a new Material Slot. Then select a material from the dropdown list, like the "Skinny" material that you have created. If your image texture is still in place, it will now show up in the preview and you should be good to go.


Is it possible to overlap two identical Uv Islands in order to create one complete mesh? EDIT

MONKEY FILE

My question is related to all the meshes that have been created with the modifier mirror.

Let's take an easy example:

This mesh can be divided in 2 parts, PART A & PART B: equal shape.

In order to optimize the space for my Normal map

1) i delete the PART A of my low poly / high poly

2) In this way, having only PART B, i unwrap PART B and bake it with the high poly

the results is this one; not so good but it's not the point of my question

3) i mirror my mesh in order to create again my PART A and i have now this one

4) as you can see the Uv map of PART A overlap, in the same position for each island, the uvmap of PART B  and then they share the same portion on normal map

When i watch the final render however i saw this result

There is a line that cut my mesh in the half. Is it possibile to fix this problem? Does this prove that it's impossible to overlap two identical uv maps?

Have half of your mesh with UVs done.*

Bake your stuff.
Mirror your model.

Your UVs will be overlapping but not at the time of baking. If you bake while overlapping Blender will get confused and want to put two images (even though they're exactly the same, Blender doesn't know that) at the same place and that's why it comes out weird.

*If you already have your UVs overlapping, applied the Mirror modifier and rather not delete half of the mesh to mirror it again, then you can select one of the halves' UVs, scale them super small and put them in a corner, like this:

Bake your stuff and then ctrl + Z so that the UVs are overlapping again, but your stuff is already baked.

Short answer: Overlapping only causes problems while the baking process happens. Bake only half of your model and then overlap the UVs.


Animation node - circle generator inside loop Anyone know why these shapes all have the same diameter - I was expecting them to get bigger for each iteration...

If you're going to replace the mesh anyway, I suggest going with a simple mesh instance (uncheck "Copy from source") in the "Object Instancer" node.

But I don't know why your solution doesn't behave properly honestly.


How to make a procedural hair strand texture? I'm working on the manga-stylised hair strands created from simple planes.

I'm using the b&w image texture (.jpg) as a transparency mask. I now want to exchange the .jpg image with the similar texture, but created procedurally. How could I recreate the texture pictured below using procedural textures?

To do this I would use a mapping node and a noise texture:

Which creates:

The key here is that the mapping node is stretching the noise texture along the x axis by having the 'x' value of the scale to be very small. The closer to 0 it gets the more stretched out it is.

You can then increase the scale value on the noise to increase the number of 'bands' in the noise.

I then used the 'Fac' value of the noise instead of the 'Color' as the output for the shader to display.

Note: I used 'Generated' coordinates but this should work with other coordinates, like UVs. The axis you need to stretch with the mapping node may change depending on the orientation of those coordinates.


GPU rendering no light penetration in large scene When i am rendering in cycles large scene (not really, 470k verts) in GPU mode there is no light penetration through holes and glass, even if i render with 10 samples. In small scene (<80k verts) all is ok. In CPU rendering also all is ok, but it's not funny when you render one frame for 2 hours.
Radeon 7970 (OpenCL).
Is there any solution for this problem ?

check the progressive refine box in render panel.


2D draw mode can't get non-transparent line and paint color I'm quite new and the vocabularies are difficult for me who is not a professional drawer and so I'm having a lot of trouble looking for the help I need.

Basically, I'm unable to draw a line without transparency. I don't remember clicking on anything unusual in 2D animation (draw mode)

Even when I try to paint (fill), it is transparent and so I have to go over several times to make it thick enough so we don't see through. Is there a button or something to get rid of transparency? My strength is at max.

Please help me. I spent so much time trying to find solution but I couldn't find.

I think opacity is on max.

This is the screenshot:

Is your opacity on max? Check the Object Data Properties Tab (the one with the green squiggly line). If that's not it, can you post a pic with that Tab open?

Hmm, check all the layers for their opacity, other than that maybe the Masking causes it? (the dot next to the layer name)


Just tip when moving an object https://www.youtube.com/watch?v=WGV5LPLwMgk

In this tutorial to unity, he makes a river and animates it. But at 1:12
 when he moves the object it moves the "waves" in that direction.

But when I try to do it just does the moves at 1:09
I am completely new to the blender I have been stuck on this for ages....
Thank you for your help or any type of advice!

If i understood is that you need the wave to be moved.

Add a Empty

In the Displacement Modifier tab -> Texture Coordinator -> Object

Below in object select empty. Select the axis which you want to move in my case its Y axis

Select the empty and move it.

You get this result


What is the difference between positive and negative rotation? Say I have a wall piece, one is rotated 180° the other is rotated -180°. Another example is -90° and 270° and 630°. The two respective examples look the same in my scene, is there any difference? Should I go and make all of the rotation values positive? What is the purpose for rotation values above 360°?

The Euler rotation is calculated by a rotation matrix which uses sine and cosine; These functions are periodical, which means it wouldn't make any difference whether you set the value for Φ to Φ+360° or Φ-360°.

image by Udo Brechtel (Wikipedia); the label Einheitskreis means unit circle

Rotating a cube by 90 degrees (or a rectangle by 180°) wouldn't have any effect to the un-textured appearance of the mesh, but it would for materials (think of it like differently textured faces).

As @cegaton already commented, animations rely on the direction of your rotation. An arm could reach the same position by rotating 90° in one or 270° in the opposite direction.

When you increase the rotation by e.g. 720° between two keyframes the object would rotate twice around the keyframed axis. Note that Quaternions behave differently you can't express rotations > 360° with them.


Can you clear the System Console without restarting Blender? The question is simple enough, but I can't find the answer.
Is there an operator or something similar that clears the Blender System Console history?
I would also be willing to create an operator type script to "purge" the console.
It would be interesting to see if it's possible, or I'm just "delirious".
Restarting blender doesn't take long, but it would be nice to have a "Button" to do this.

Below is an example add-on that adds a button to the text editor for this purpose. Clearing the console is done with the platform specific commands cls for Windows and clear for Linux and macOS. Both are executed through os.system(command)

bl_info = {
    "name": "Clear System Console",
    "author": "Robert Guetzkow",
    "version": (1, 0, 0),
    "blender": (2, 81, 0),
    "location": "Text Editor Header",
    "description": "Clear the system console.",
    "wiki_url": "",
    "category": "Text Editor"}

import bpy
import os

class CLEARCONSOLE_OT_clear(bpy.types.Operator):
    bl_idname = "clearconsole.clear"
    bl_label = "Clear System Console"
    bl_description = "This operator clears the system console."
    bl_options = {"REGISTER"}

    def execute(self, context):
        if os.name == "nt":
            os.system("cls")
        else:
            os.system("clear")
        return {"FINISHED"}

def draw(self, context):
    self.layout.operator(CLEARCONSOLE_OT_clear.bl_idname)

classes = (CLEARCONSOLE_OT_clear,)

def register():
    for cls in classes:
        bpy.utils.register_class(cls)

    bpy.types.TEXT_HT_header.append(draw)

def unregister():
    bpy.types.TEXT_HT_header.remove(draw)

    for cls in classes:
        bpy.utils.unregister_class(cls)

if __name__ == "__main__":
    register()


Force emissive material to not participate in volume scattering? I'll reproduce my question below, but for an extended description including example screenshots, please consider visiting this reddit post I've made on the same topic.  Thanks for your time,

Unticking "Volume Scatter" in an emissive object's Cycles Settings (Object Properties) doesn't appear to produce the intended result.

For the result I'm seeking, I need lights which are placed close to my subject, often in the camera frustum. For these I disable "camera" ray visibility in the aforementioned cycles properties, so only the light they emit is visible in the final render.

However, any time I set up a scene like that, I can't use "world" volume scattering, because these lights are participating in the volume scattering process, and the resulting effect is nonsensical.

There is no hookup in the Light Path shader input node to query if a ray is checking against volume, so I'm stumped. Can I get what I'm looking for through some other setting or compositing trick?

Many thanks,

Ahh, it seems with Lamps it works just fine.  Apparently emissive meshes can't opt out of volume scattering right now, but lamps can.

Perhaps this'll help someone in the future


double instance of sound when using VSE-scene strip in another scenes VSE This is really strange - but perhaps it's just a setting somewhere.

I'm using Blender 2.78c

I've created a scene with video+sound (let's call it sourcescene)

I'm using this scene as a scene-strip in another scene (let's call it targetscene).

Now when I start playback - an extra instance of the sound from sourcescene is started.

If I start playback from targetscene - the audio is played from whereever the playhead is in target AND from the beginning of source. If I stop playback, the part that played from the playhead-position stops (as expected) - but the extra part played from the beginning of source continues - and there is no way (that I can find) to stop it.

If I start playback from the sourcescene, the audio is doubled. When I stop playback, the double continues playing w. no apparent way of ending it until I restart playback in the sourcescene. When I restart playback the current "ghost"-audio stops, but the playback get's a new and playing "ghost"-audio

Recap:

Play from target-scene:

Audio from sourcescene is played from frame 0 together with audio from target-scene - no apparent way to stop it

Play from source-scene:

Audio is doubled. No way to stop the doubling. When stopping playback - the double contintues. When restarting playback, the double stops, but another starts (from the same spot as the playback was started) and the audio is again doubled.

What is up here - is this a bug, or did I miss some setting somewhere?

The answer is with AV-sync.

If you have multiple scenes with audio, then make sure that only the one you're currently working on is set to AV-sync.

If you do happen to get a sound instance running that is not apparantly attached to a scene, you can stop it by switching to the scene with AV-sync and start/stop playback once from there, that will stop the "wild" sound instance.

Here's a little script-snippet that will turn off sync on all scenes, then set AV-Sync for this scene only (tested with blender 2.7x - not with 2.8)

import bpy

for scn in bpy.data.scenes:
    scn.sync_mode = 'NONE'`

bpy.context.scene.sync_mode = 'AUDIO_SYNC'


How to make a plastic spiral zipper? I need to make a spiral zipper like in the photo. I tried using the screw but the problem is that i want a spiral shaped ellipse. Besides that, I wanted the spiral to be thicker on one side. How can I make this? Can anyone help me?

To follow up on @rob's comment:

Create a single coil. You could do this by extracting some edges from a divided cuboid:

Then dissolve the vertex in the long edge, and scale the coil to shape in Edit Mode, and CtrlShiftB bevel the vertices in its corners, before converting to a curve.

Create a profile curve to sweep along the coil, and a long curve for the line of the zip as a whole.
Assign the profile curve to the coil curve as its Bevel Object (in the coil's Data > Geometry panel)
Give the coil an Array modifier. (It will have to be a constant offset, adjusted by hand, to get the profile's vertices to merge)
Give the array a Curve modifier, to sweep it down the zip line.

You can CtrlT adjust the twist of the coil's vertices .. you may have to do that to its ends to get them to marry at the joints of the array. And you can AltS adjust the radius of the coil's vertices to vary its thickness along its length

If you assign the modifiers to AltD instances of the various curves, you will have easy access to them for editing while their copies show the effect of the modifiers.


Trying to get depth-information in Workbench I am normally using Cycles to render large quantities of images and I'm getting the depth-values by linking the depth-output of the renderLayer-node to the alpha-input of the Composite Node. I then usually save them to openEXR.
Since I am stuck on much worse hardware, I would like to debug my program with the workbench-engine in the foreseeable future, but the render node in workbench does not have a depth-output.
Is there any way to get those values in Workbench too?

Im afraid it's not possible without modifications. As  stated in the manual, the workbench purpose is to provide a fast visual output for animators.

The Workbench Engine is a render engine optimized for fast rendering during modeling and animation preview. It is not intended to be a render engine that will render final images for a project. Its primary task is to display a scene in the 3D Viewport when it is being worked on.

The only options you have is to use the regular viewport color, metallic and roughness value or any of the display methods to show random, object or vertex color . Since those can not be filled with a map (to be used with a view dependent gradient to simulate a z-pass) you have not much options.
The only rough approximation possible, would be to use vertex paint, paint the distance into a gradient and render this in workbench, with vertex paint mode on.
But that is dependent on mesh density and also not dynamic.
You can however define a render in cycles or eevee, without any lights or shaders evaluated and just render the depth, this should be very fast, and deliver the result you are looking for !


Collada Armature Export I am having trouble with exporting a rigged model to Collada. It mostly exports correctly with exception for objects which use armature. I baked the animation for all the bones, so there are no constraints involved anymore. The armature object itself, is parented to a non-armature parent object, and has no keyframes (if I try to bake object keyframes for it, it wipes the bone animation)
Here's how it looks before the export

And here's what it looks like after reimporting it back in render. As you can see, the tool attachment which originally uses armature has gone frantic and is displaced all over the scene.

The bone animation has exported, but all the geometry is skewed and/or offset. I can't make any sense of it. FBX export comes out even worse.

Try selecting the objects causing problem then hitting ctrl+A then Apply location


Motion tracking always gives me error messages and acts unpredictably I have done my research and know that a reason for this might be that I don't have eight good trackers. However, I do have at least eight trackers in every frame of the shot, and I still get the same message everytime (some data failed to reconstruct, see console for more details). Also, where can I find the console? I looked at the python console and the info in the scripting work space, but I couldn't find anything.
I also have no idea (besides eyeballing it in the tracker preview window) whether my trackers are good or not, since the solve error changes everytime I click on solve. I have keyframe unchecked, it still changes everytime I do something. For a short periodt of time it seemed to be working just fine, I could change the weights of the trackers and managed to drop the solve error to about 1.9, but suddenly I began getting random numbers again, over 100 etc, even though I didn't change anything but adjust the weight of another tracker. Sometimes solve error equals "nan". What does THAT mean? Some trackers are highlighted in yellow, some in red when I hit A to select all (I have info turned on). First I thought it was because those trackers are the ones that failed and kept refining them, but then I realised that if I select any red tracker, unselect it and select all again it turns yellow, and others turn red. I'm so confused. Checking the tripod box doesn't make it better either. Does anyone know what I can do to get a half decent track out of this?

Also, does anyone know where I can upload the .blend file? I tried a few but the file size is about 64201KB and that's too large for most sites. I can only provide screenshots for now.

More screenshots of settings

Link to the footage I'm using:
https://vimeo.com/419597015
(password is "tracking issue")

Everytime you get the "some data failed to reconstruct" error it means only one thing: tracking is not accurate.

Without seeing the video file is hard to determine what is wrong. Post it in some video sharing site and share the link as part of your original question.

Vague advise is the only thing that is left until you can give more information:

If the video is blurry, shaky or has any kind of motion blur distortion you will have a hard time getting good results when tracking.

Yes, you need at least 8 good trackers,and 8 trackers means 8 solid trackers on a portion of the video where there is useful information. Use the keyframe option so that blender determines what section that is.

Check your trackers one by one on the track window to see if they are slipping or jumping about.

Example of bad tracking:

Accurate tracking:

Make sure that you are using the correct solve model. If the camera is stationary, and the camera is just panning, and tilting, but not being displaced you need to use "tripod" as the solve model, and you will get no 3D information.

There are many tools to help you figure out what is wrong(like the graphs with green, red and blue lines) use them.

Motion Tracking. What do the graphs represent and how are they useful?

There is a very detailed post in this site to help you troubleshoot tracking:

How can I get better results when doing camera motion tracking?

Read it carefuly and follow the links on that post. It makes no sense to repeat all of the info here.


Where can I access Sketchfab upload (and other tabs) I'm currently going through the exercises in CGCookie. My latest homework is to paint over an "Axe" in order to learn how textures work.

My problem, however, is that the file that I downloaded from CGCookie (With the blank axe object)  Did not come with that tab to upload the finished and painted object to sketchfab.

I've looked up User preferences and even ensured that the option for Sketchfab upload was indeed clicked.

However, the tab to upload is still not visible.

Any advice in uploading my work to sketchfab?

http://imgur.com/tboZucv

Make sure you are in Object Mode, not Edit Mode, nor Texture Paint mode in the menu at the bottom of the 3D View Window Header. The tab will not show up unless you are in object mode.

Also in User Preferences > Addons make sure to expand the Sketchfab Addon tab and check the tab name written there. If changed the Title of the tab in the tool panel may differ.


how to repeat automatic: three selected one skip mesh edge? How to repeat automatic, or full: three selected one skip mesh edge?

Use Checker Deselect to deselect some edges and leave others selected according to the pattern.

To make it run properly select the full ring of edges where are located those shown on your screenshot. If you want complete ring of edges selected then press Ctrl+Alt and click with RMB on the edge.

Make sure to choose active edge as in the screenshot (it is marked with red color, the leftmost one), so it corresponds to those which should be left selected.
Then execute Checker Deselect. Set its properties so it deselects every 2nd element and preserves the pattern of 3 edges together. Set the starting point of the selection with Offset, in this case it's 2.


How to change angle between two faces of an object? I'm struggling finding a way to fix an issue, that seemingly seems trivial, but for which I still don't have any answer.

I'd like to change the angle (make it 90°) between the two selected faces as shown below. How can I do that?

In Edit mode, on the bottom horizontal menu bar, select the Vertex as Snap Element mode (next to the Snap tool button), but no need to enable the Snap tool, select the vertices you want to move, press X to move them only along the X axis, keep pressing ctrl to temporarily enable the Snap option, drag your mouse to one of the vertices of the other edge, the vertices you've selected will move on the X axis and snap to the same position of the X axis than the other vertices.


How do I import an advanced auto-generated rig to Unity? My question is fourfold.
It is about blender's own Metarig, Lucas Veber's (Artell's) Auto Rig Pro and Blender's Blenrig.
1) What is the difference between Metarig, Auto Rig Pro and Blenrig?

2) I intend to use one of the following to rig video game characters (both humanoid and non-humanoid), which would be best suited for the task considering that I would like to add an extra bone to the rig for parenting weapons and tools to?

3) I have mocap data for humanoid characters, which of the rigs can best pick up that data?

4) (a) As far as I know all the above rigs generate extra bones for advanced body control, will that be too heavy for a game engine to handle considering that there may be up to 2000 characters on screen at a given time? (b) And if so then which extra generated bones can i delete from them without messing up the animation? (c) Also settings should set to export them as FBX?

1) Metarig (Rigify, actually) is a good efficient rig, AutoRig Pro is fast and fancy, but it's not very "solid", it has some limitations and some techincal troubles that I personally find quite annoying, and Blenrig is more cartoony squash and stretch oriented.

2) Rigify is the simplest, but you can perform edits on every rig, as soon as you understand their structure

3) Only Auto Rig Pro (out of thoose 3) has a built in retargeting panel, but there are many other ways to retarget an animation on a new rig (addons, manually, ...)

4) the usual workflow is: perform the animation, select in pose mode only deform bones (in Rigify they are all on the 30th Bone Layer), go to Pose_Animation_Bake Action to bake their action into a new action (Only selected, visual keying, remove constraints), and export that action along with a rig composed by deforming bones only (as Fbx works quite well).

Note: Blenrig uses lots of Blender tricks (Lattices, Shape keys, ...) that make it hard to export, if you don't want any headache try to use animations bone made only.

So short answer is: Rigify is the best for your tasks, unless you want to use the Auto Rig Pro retargeting features.

Use T pose as rest pose for best results.


Stiffness of cloth jacket I got a Jacket without material-volume (zero thickness) in relaxed position(sleeve-opening at trouser-waistband).

I use Physic's Cloth-Modifier with preset Cotton. Self-collision is activated.

I think i understand what Structural(stiffness) and Bending(stiffness) means.

But i actually have a jiggling shirt without stiffness.

Now the questions:

Does the material needs a volume?
What is the relation to the values (does the object's size modifys the animation)?
Structural and Bending are set to above 2000, why bake the animation an scrunched implusion?
EDIT: add question 3 screenshot

By material, I assume you mean the mesh. For the purpose of simulating the cloth, the answer is no you don't need volume/thickness.

You can dynamically add thickness that is not calculated in the simulation by adding a Solidify modifier after the cloth modifier. This may be useful if you want the cloth mesh to appear thicker without slowing down the simulation
AFAIK, no. I have seen no visible differences after running a few tests.
I'm not sure what you mean. Could you try and explain more/add screenshots?

From the wiki:

  Structural
  Overall stiffness of the cloth.

  Bending
  Wrinkle coefficient. Higher creates more large folds.

Also see the wiki page on cloth simulation.


Boxes not colliding with each other I want two boxes two collide with each other but they don't. I have triangulated the faces and the rigidbody has dynamic and active on. Keyframes have been set with the end keyframes ending up with the boxes at the same location.

From the information given, it seems you are trying to use dynamic rigid bodies with keyframes, but haven't set them up to allow the animation system to take over the simulation. There is a difference between the two setups, so I will leave a basic example of of how this can be done:

First the difference between the two:

Dynamic rigid bodies-

strictly controlled by physics:

Animated rigid bodies-

controlled by the animation system until you change this!:

Here's how to set it up:

1. Add a rigid body simulation. Active, and dynamic, and select
    animated. Also, use the collision margin, and set this fairly high. The limit is 1. Do this for both objects. You can also play with the mass options if you like. Also, apply transforms with Ctrl+A>rotation & scale

2. Insert a location keyframe at frame 1 for each object with I>location.

3. Select and add a keyframe to the animated checkbox in the physics panel at the same
    frame the simulation will begin by hovering over the checkbox and pressing I.

4. Set your end keyframe for the collision of your objects, and again choose location, or what whatever is applicable to your needs.

5. At the frame following the collsion uncheck the animated
    option in the rigid body options for each object, and set a new
    keyframe.

From this you should be able to expand and make many interesting simulations from colliding cubes to anything else.


Multiple paths to BLENDER_USER_SCRIPTS I would like to have two folders where i can put scripts and addons that will be loaded at start time with blender.

for example if its possible to add two paths to BLENDER_USER_SCRIPTS environment variable.

To use multiple directories on Windows, i edited the file 2.78\scripts\addon_utils.py and added my path in the function paths() beginning at line 48

def paths():
    # RELEASE SCRIPTS: official scripts distributed in Blender releases
    addon_paths = _bpy.utils.script_paths("addons")

    # CONTRIB SCRIPTS: good for testing but not official scripts yet
    # if folder addons_contrib/ exists, scripts in there will be loaded too
    addon_paths += _bpy.utils.script_paths("addons_contrib")

+   # ADDITIONAL SCRIPTS: for development
+   addon_paths += [r"C:\Users\plu\Documents\Blender\pyScripts\dev\addons"]
    return addon_paths

I also edited the file 2.78\scripts\startup\bl_ui\space_userpref.py and modified the draw method of the USERPREF_PT_addons panel beginning at line 1243, so that the addons from the folder will show up under the User Filter

def draw(self, context):
    import os
    import addon_utils

    layout = self.layout

    userpref = context.user_preferences
    used_ext = {ext.module for ext in userpref.addons}

    userpref_addons_folder = os.path.join(userpref.filepaths.script_directory, "addons")
    scripts_addons_folder = bpy.utils.user_resource('SCRIPTS', "addons")
+   scripts_dev_folder = r"C:\Users\plu\Documents\Blender\pyScripts\dev\addons"

+   scripts_user_folders = userpref_addons_folder, scripts_addons_folder, scripts_dev_folder

        # check if addon should be visible with current filters
        if ((filter == "All") or
            (filter == info["category"]) or
            (filter == "Enabled" and is_enabled) or
            (filter == "Disabled" and not is_enabled) or
-           (filter == "User" and (mod.__file__.startswith((userpref_addons_folder, scripts_addons_folder))))
+           (filter == "User" and (mod.__file__.startswith(scripts_user_folders)))
            ):

On Linux i create symbolic links in the addons folder. It is explained in this video


How do I flip an animation pose without having my character walk backwards? I have been making a walking animation. It went pretty well up to this point where I'm halfway done:

https://gyazo.com/118b8e402ea4f2aa2d89e217e1be474b

I watched a tutorial where he copied his animation and ctrl+shift+V'ed it to get the other half. I tried to do the same, but although it's close, it's not exactly what I wanted:

https://gyazo.com/89c10c29c4e68e2edb23f1bb187d0b74

The only problem is that the two halves are walking in opposite directions now. So my question is: What are my options? Do I have to manually make the poses for the other half, or can I somehow make it work with what I have here? Thank you!

Edit with link to file:

Edit 2: I ended up manually creating the second half of my animation. Below you can see the result. My question now is if I could have achieved this without having to manually animating the 2nd half?

You want him to walk obliquely but it's not the right way to do it as all mirror will stay in the X or Z axis, you must create your walk cycle in Pose mode orthogonally to the grid THEN switch to Object mode and rotate it 45°.

You must keep in mind that, when you mirror a pose, it will be RELATIVE TO THE LOCAL AXIS OF THE OBJECT, so if you rotate your armature 45° in Pose mode instead of Object mode, the armature is 45° rotated but the local axis is still orthogonal to the grid and will act this way for whatever mirror you'll do. If you want to rotate the Local axis you need to do it in Object mode.

If you have secondary animations, like the head rotating, you can either do it after the rotation in Object mode OR do a second animation, the head rotation, and use the NLA to add it to the walk.

I would redo it from scratch: Close the action in the Action Editor (X button), in Pose mode select all the bones and reset the pose with alt R, alt S, alt G, in Object mode select your armature and rotate it 90° on the Z axis so that you can see its right profile in Front Ortho view, then back in Pose mode and begin with the first pose of your walk cycle.

Also, your foot is strangely set, in Edit mode I would delete the constraint, parent (Keep Offset mode) with the legIK controllers and also in Properties > Bone > Relations, enable Inherit Rotation.

If you want your character to walk sideways you have to rotate your character in Object mode, not in Pose mode


How to convert coordinates from vertex to world-space? How do I convert from object-space to world-space?

I suspect it is:

vert_os = obj.vertices[foo]
vert_ws = vert_os.getPositionFromMatrix(obj.matrixWorld)

but does the matrix also handle translations, or do I need to handle that separately?

Can someone link to the relevant documentation?

Multiply the world matrix by the object-space vector for world space coordinate:
import bpy

ob = bpy.data.objects['Cube']

v = ob.data.vertices[0].co
mat = ob.matrix_world

# Multiply matrix by vertex (see also: https://developer.blender.org/T56276)
loc = mat * v  # note: use `loc = mat @ v` for Blender 2.8+

# Don't do the reverse!
loc = v * mat  # wrong!

`Object.matrix_world is a 4x4 transformation matrix. It contains translation, rotation and scale. A 4x4 matrix can also be used for mirroring and shearing (not covered in my answer).
[a] [b] [c] [d]
[e] [f] [g] [h]
[i] [j] [k] [l]
[m] [n] [o] [p]

The translation is stored in the first 3 rows of the 4th column of the matrix (d, h, l):
mat.col[3][:3]

You can also use:
# Create new Vector object
mat.to_translation()

# Access the original matrix' translation
# (assignments will change the matrix, thus the object location!)
mat.translation

Rotation and scale are sort of combined. The rotation is stored in a, b, c, e, f, g, i, j and k. The scale is stored in a, f and k. The values in a, f and k of the rotation are taken and multiplied by the scale factor to store both pieces of information.
To get only the rotation, you need to normalize the 3x3 matrix:
mat.to_3x3().normalized()

To get only the scale, you can use the utility method:
mat.to_scale()

Or manually, normalize the matrix and divide each of the un-normalized by the normalized components (a, f, k):
# you could do this manually like
# vec / sqrt(vec.x**2 + vec.y**2 + vec.z**2) for every matrix column
nmat = mat.normalized()

scale = Vector((mat[0][0] / nmat[0][0], mat[1][1] / nmat[1][1], mat[2][2] / nmat[2][2]))

If you need the world coordinates of all vertices, it's more efficient to use the transform() method:
me.transform(mat)

It will apply the transformation matrix to the mesh, so multiply the world matrix with all vertex coordinates. You may wonder about the change in orientation of a mesh object in viewport if you do the above. It can be fixed by resetting the matrix_world (otherwise the transformation will be done twice):
ob.matrix_world = Matrix()  # identity matrix


Is there an easy way to create some variance in my procedural texture among objects using the same material? I created a procedural dirt texture for the rims of my tires.  Problem is every tire has the exact same pattern.  Is there any way to create some variance across the different rims?

I'm looking for the easiest method.

You can use the Random output of the Object Info node to translate the Texture Coordinates as shown :

Without translation (note how they all have the same pattern) :

With object randomized translation along the Z axis :

Adjust the Multiply node to vary the distribution of the randomness over the texture space (larger values will select more distant sections of the texture space).

You could similarly use the Random value to vary other aspects of each object's texture/properties.


Bump map on a curved surface I'm a bit newer to blender, so apologies for probably missing some obvious terms.

I am able to create bump maps for objects with hard corners, but when I try to use them on more spherical objects, I can never get what I want. Iwant the bump map to follow the curves of the shape so they are always perpendicular to the faces. (I think the word "normal" is related to this but using the Normal output from a Texture Coordinate node doesn't work.) Imagine a golf ball, or a strawberry with seed divots.

Here's an image of what I'm talking about. This is a strawberry with the seed divots:

It looks fine, until it's rotated:

and the divots stretch out. Here's my bump image and here are my material nodes:

I've gotten the most milage out of changing the texture coordinate output and rotating/scaling the mapping node, but it's pretty obvious to me that I'm just flailing around and guessing.

I'm sure there's also a correct term for this that I'd love to know.

The problem here is the texture coordinates/projection of the image, you are currently projecting the image in a single direction onto your mesh. You can think of projection working very much like a film projector here. By selecting 'Box' rather than 'Flat' as David suggested, blender will instead project from 6 different directions (as if a cube was surrounding the object, with the texture on each face). This works reasonably well for simple objects, but can still have problems around the where the corners of box that the image is being projected from are.

To improve on the box projection, you need to do what is called UV unwrapping, which essentially creates a flattened version of the surface of your object which can then be used to map 2d details to the surface of your object. You can find a basic overview here


How to apply opacity to png texture I have downloaded some free plant gfx models from the internet, and they all come as a seperate .gfx file, and a folder of textures.
Following guides online I have tried to apply these textures to the model in order to export an .obj for use in Sketchup and CityEngine. However, I am running into issues where the texture in the guides turns transparent, but not on my screen.
I do not know what I am doing wrong. Can somebody check my nodes and help me out?

Since I don't have access to your textures, I can't show you how to hook them all up, but I can at least show you the alpha.
Since it seems that your alpha masks come as textures themselves, as opposed to having an alpha component to the basecolor, you need to connect the alpha as a separate map, and use the color output (however the color space should be set to non color - I accidentally left it as sRGB in my image, and it works, but this is bad form because that is not always the case).
While you are correct that mixing A diffuse BSDF with a Transparent BSDF, using the alpha as a mix factor, will achieve transparency in some cases, the fact that your alpha is a separate map won't allow this to work.
Instead, try connecting as shown below. Since you are already using the Principled BSDF, it makes sense that you make use of it's alpha channel.
Also note the blend modes I've highlighted on the right. These are necessary to make transparency work (default is opaque). I think alpha-hashed or alpha-blend would work best for you, but try and see for yourself.

Good luck.


Body mesh is rendering over clothes mesh when duplicating/mirroring clothes mesh When editing this model. I duplicated the shoe on the right foot and mirrored it to the left foot. I also duplicated the tights on the left leg and mirrored it to the right leg. It seems that the mirrored meshes have something wrong with the rendering layers or something else. For some reason, even though the body mesh is below the clothes mesh, it is rendering above the clothes mesh. When I import this model into Unity, I see the same render issues I see in blender.

What is almost certainly happening here is that your face normals are reversed for the duplicated objects. In case you don't know, face normals are a fancy term describing the fact that all polygons, as a rule, have only one facing which the renderer recognizes, and the other facing is ignored by the renderer. The "normal" itself is an abstract line representation extending from the side of the polygon that actually gets rendered, though this representation is typically not displayed by default, meaning one could easily find themselves modeling for a very long time without even knowing about normals.
Select your problem geometry in Object Mode, then Tab into Edit Mode. Press 3 to go into Face Selection mode. Press a to select all the faces. Now press Alt + n To bring up the Normals menu, and from the list, choose Recalculate Outside. This should fix your problem.
In addition to the above, though, it might be helpful to discuss how your situation likely arose, and how to avoid it in the future:
By default, objects are created with their normals facing out, so that they will render normally. If they get turned inside out, then their normals face inside instead of out, meaning that their external facings do not render. That's probably what happened to you. This could have happened by taking your duplicated geometry and then scaling it in the X axis until its scale values became negative. That is exactly how the normals can get flipped, because scaling an object into negative coordinate space turns them inside out.
There are two simple ways to avoid this: Either 1) select your object to be copied, and put a mirror modifier on it, then apply the modifier. No normal flipping will occur (you may find that you need to create a dummy object at the worldspace origin to use as a mirror object before this will work properly). Or 2) select your object to be copied, duplicate it with Shift + d, then invert the x axis of the copy with CTRL + m, followed by pressing x to define the axis you want the copy object mirrored along.
Note that while this second method works to create a copy with proper normals, the inverted copy won't be in the correct worldspace position on the other side of the subject's body unless the copy object's pivot center was at the worldspace origin before inverting it. A simple way to deal with this is to make sure your 3D cursor is at the worldspace origin with Shift + c, and then set your Transform Pivot Point setting to 3D Cursor (menu accessible via the . key).


Rotation of character affects eye movement wierdly When I rotate my character the eyes rotates in a wierd angle. I have followed this tutorial: https://www.youtube.com/watch?v=1MfxTdq0V2I&list=LLHLJ8TJSfN5oli9iZK6e99Q&index=19&t=253s I'm new so I really don't know what how to explain it... Think it has something to do with local/world space in the copy rotation constraint. Would be happy if anyone could help!

I am a little new to Blender, but I think I have an idea for something you could try. Perhaps switching the local space on the copy rotation modifier to local with parent will help work`things out. Just set both fields to local with parent. If you don't set them both to that mode will look glitchy and move out of place. I sure hope that helps!


CMD Opens then Blender Closes Instantlı I installed Blender for the first time and when I tried to open it a blank CMD opened, a white Blender window popped up and everything closed immediately.

I checked almost every problem on this site and developer site but nothing solved my problem.

My drivers are updated (also have the C++ redistributable 2013)
Strangely, when I installed Blender, it didn't create a folder in %appdata%/Roaming (only in Program Files).
I tried to install it using both the .msi and .zip with no success. And have uninstalled it three times.

I don't know what to do I have no further details about the program or the error I'm a newbie.

Here's My Pc Specs:

                 BIOS: BIOS Date: 03/27/18 16:06:01 Ver: 05.0000C (type: BIOS)
            Processor: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 CPUs), ~2.8GHz
               Memory: 8192MB RAM
  Available OS Memory: 8078MB RAM
      DirectX Version: DirectX 12
      Microsoft Graphics Hybrid: Supported
      DxDiag Version: 10.00.17134.0001 64bit Unicode

                  Card name: Intel(R) HD Graphics 630
    Manufacturer: Intel Corporation
       Chip type: Intel(R) HD Graphics Family
        DAC type: Internal
  Display Memory: 4166 MB
Dedicated Memory: 128 MB
   Shared Memory: 4038 MB
    Current Mode: 1920 x 1080 (32 bit) (60Hz)

                  Card name: NVIDIA GeForce GTX 1050
    Manufacturer: NVIDIA
       Chip type: GeForce GTX 1050
        DAC type: Integrated RAMDAC
     Device Type: Full Device
  Display Memory: 8057 MB
Dedicated Memory: 4019 MB
   Shared Memory: 4038 MB

Go ahead and navigate to your Blender install folder (usually located under C:\Program Files\Blender Foundation\Blender). From here you can click on the navigation bar

and type cmd; this should open up a new command prompt at this folders location. From there in the console type blender.exe. It will laugh like regular, but the console will stay open. This way if your blender crashes you can read the console. If you are unable to solve the problem from there, go ahead and update your post with the error information.


Cancel Gamma Correction when importing Objects I'm having issues when importing objects from other software like Marvelous Designer.

The material color isn't the one I choose to be. I've made some research and it appears that Blender "correct" the Gamma value to be in sRGB space. Problem is I already choose my colors from a sRGB space (in Photoshop) and don't want it to be "corrected" afterwards.

My question is there a way to avoid this correction when importing objects?

I did find a solution to my problem. It isn't the most optimal but it will sure help, if any one have the same issue.

0 . Import your object

Go to the “Scene” tab
Go to “Color Management”

In “Display” change from “sRGB” to “None”

Go to the “Render” tab
Go to “Bake”

In “Bake Mode” change from “Full Render” to “Texture”

With your mesh selected go in “Edit Mode” and Unwrap your
Object if it’s not already done. Here I use Smart UV Project to be fast.
Then Bake and save the image result with F3 or on the menu.

Go back to the “Scene” tab
Change “None” to “sRGB”

Go the “Material” tab
Remove all material except one (doesn’t really matter which one is it)

Go to the “Texture” tab, add a new texture with “Image or Movie” type
Select your Bake result image (it’s already in Blender so you don’t have import it)

You’re done. I didn’t find anything else to avoid all that process right now. It’s fine for me because I also use the baked image as an IDmap.

Note: On my viewport the material show the exact colors because I selected “Shadeless” in the Material proprieties.

Hope it will help.


Where is the Sculpt mirror in 2.8? 2.8 is supposed to be easier?  I can't find anything and the hotkeys don't work.

I'm trying to sculpt with symmetry but I can't find the X mirror.  In the old versions of blender, this is suppose to be on by default...

Wouldn't it make sense to have it as on of the many buttons on the left?  Geez.

Also, the side "N" panel has a symmetry section.


Rig not moving mesh correctly I'm trying to port The Riddler from Arkham City to Garry's Mod, and to do so, I copied a male armature from Half Life 2 and parented The Riddler model to it with automatic weights.

I then went into Edit Mode and spent a long time assigning vertices to the bones (not many, as I was just testing) to make the rig more accurate, but when I went into Pose Mode with parts of the armature selected, they did not move correctly with the mesh.

I then parented a collision mesh to the armature as well (as this was needed), and that worked fine.

I'm very confused as to why The Riddler does NOT move in time, as I remember trying Automatic Weights again, with the same results.

Here is the .blend file I'm having trouble with.

Possibly an easy fix?

Blender uses solid bones with a head an tail separated by a body.  What you have here is many very small bones placed at the joint locations.  I am not very familiar with Maya but I think this is done in a Maya style where joints are king.  Basically when you are rotating a "joint" in your blend you are spinning a very small bone around a central axis.  You need the head of the shin bone for instance to be in the knee and the tail of the shin bone to be in the ankle.  Then when you select the bone in pose mode put the 3d cursor on its origin and make rotation pivot the 3d cursor.  When you rotate now you will see a stick bone rotating at the knee (like a real shin bone) and the mesh will move like you expect.  You may need to re-weight it but with doing one bone fast it seemed like it would be ok if I got everything straightened out.


Trying to set transparency on the viewer Node First time posting in blender but it's important. Thank you for your support.

I have a model which have a Mix Shader with Glass and transparency shaders mixed, both with a texture as Color.

When I use the nodes for compositing, the glass of the model doesn't transparent with the background. If I set to Multiply, all the model multiplies and I can see through the glass, but cannot with Mix.

Someone can help me with these? Any advice for handle those situations? Thank you very much.

You don't need an ID mask, just use a transparent background for your scene and then composite using alpha over.

Enable film transparent,

Then use alpha over to combine the rendered image with the background:

The transparency from the glass should work fine.


Adding wmv video to blender 2.79 In version 2.79 in video sequencer when I try to add movie that is .wmv I get an error message that it can not be loaded. On earlier version there is no problem adding the .wmv file. is there a addon that needs to be selected? or how to correct this error

I am having the same exact issues with completely normal Theora+Vorbis ogv files that had always been accepted by Blender 2.48. Something is broken in Blender 2.49a, both in the release candidate and the definitive version.

I have (temporarily) solved the issue by installing Blender 2.78a, i.e. the most recent previous version to 2.79. In my case it is easy because 2.78a is simply the version you get at present in the Debian Stretch repositories, but depending on your OS you may want to have a look at https://www.blender.org/download/previous-versions/

Remark

Because of comments stating that this should be a comment, not an answer and such, I think I should rephrase my answer as direct answer to your questions, for the ease of readers who might have difficulties with the text I have written so far:

Your direct question number 1:

  is there a addon that needs to be selected?

Direct answer: No, it is a bug in version 2.79a

Your direct question number 2:

  or how to correct this error

Direct answer: Install the most recent previous version, i.e. Blender 2.78a, to be able to import your .wmv files while hopefully retaining most of the functionality you need in Blender 2.79a.


Combine Cycles passes in way compatible with photoshop I'm trying to take my Cycles render passes into photoshop and combine them there. The purpose of this is to be able to manipulate the passes individually with various photoshop tools. However, photoshop does not support the way that Cycles passes are usually combined.

Normally, you have ((Diffuse Direct + Diffuse Indirect) * Diffuse Color) + ((Gloss Direct + Indirect) * Gloss Color). However, Photoshop does not have the Add blend mode.

So to do this, I need a different way to combine passes that does not rely on the Add blend mode. Is there another way that will be reasonably accurate?

According to this, Linear Dodge is the same as Add in Blender. However, if you are working with 8 or 16bit jpg/png/tga, Photoshop by default will works in display-referred space (i.e. everything is gamma corrected and non-linear), so the results of adding multiple render layers together in a non-linear space will be WRONG.

The only way to work in a linear space, which is absolutely critical, is to use 32bit EXR, that's the only way Photoshop will operate in linear space, and follow this workaround.

In short, don't use Photoshop. It's really not designed for linear values and will give you wrong results  unless you specifically configure it to work in linear space.


Can you change the bit rate or quality in general for .png formats while rendering? I noticed that you can change the bit rates for the FFmpegs and so on if you want to render in a video instantly. Is there any way to do it for pngs?

PNG is not a lossy format like jpeg. It can vary the file size just with compression quality. Think of it as a zip packer. The more you set compression level, the more time it takes to compress, but the more compact file it produces, but after unpacking a file is the same. The compression level you can change in the output settings. Also PNG can be with or without alpha channel (RGBA / RGB). And also you can save 8 bit or 16 bit per channel color depth.
So, if you render to PNG, it's like rendering to bitmaps (BMP) and then compress them with zip. No quality degradation on any settings. Just time and file size - that's what you can play with.


Cloth physics/clipping I've added physics to my objects but the cloth clips on the cube's edges. Why is that?

https://gfycat.com/GoodIcyAustraliancurlew

The cloth simulation is produced by way of calculating how the points will move over a number of discrete 'steps' each frame. If the steps are too large (and the cloth moving quickly) then it is possible for the cloth to move through a surface before it can be stopped - this is what is occurring in this situation. Once one vertex has moved below the surface of a mesh it can become trapped, unable to break free of the surface, and it can then exert a force that can drag neighbouring vertices below the surface depending on your collision settings.

There are a number of solutions to this problem. The simplest is to increase the number of 'steps' per frame. This will result in reduced motion of the cloth vertices each step, resulting in a much higher chance of it bouncing off the surface rather than passing through. Note that this will also increase the time taken to run the simulation (ie, 50 steps per frame will take 10 times as long to calculate as 5 steps per frame).

Another solution is to amend the Collision properties of the mesh to increase the 'bounds' at which the cloth interacts. The 'Outer' setting sets a boundary on the surface of the mesh which will repel the cloth. With this set too high there will be a noticable gap between the surface and the cloth - although this should not be a problem except with extreme situations or settings. The 'Inner' setting sets the boundary below the surface of the mesh that repels any intersecting cloth vertices back 'out' of the surface. Where possible you should always 'Apply Scale' to the cloth mesh any any mesh it interacts with.

In addition, it can help to increase the subdivision of the cloth mesh to give it more freedom to bend around any colliding surfaces. This will reduce the 'force' of any cloth mesh edges that will be interacting with the surface and reduce the chance of it pushing through the surface. Again, this will affect the time required to run the simulation (and may require even further increase of 'steps' to ensure the finer cloth simulation is processed at a fine enough scale).


How does one continuously draw straight lines in Grease Pencil 2.8? When I select the Line option in the Shapes pull-down menu inside Grease Pencil 2.8 I can only draw one line at a time at the moment.

alt key only works for horizontal and vertical line. I'm still looking for straight line with an angle. Hope it helps you a bit ;)

Press 'W' to select which path you want to draw (line, rectangle or circle)


Why does rendering nothing take 45 seconds? I've disabled all objects except the camera and hit F12 to do a quick render.

Blender takes 45 seconds just to draw a blue screen.

In my user preferences my 2011 GeForce card is enabled.

Why so long?  How do I improve this please?

If this information helps, maybe some other setting is wrong, because my Cycles Renderer looks fine in the 3D window:

but my Blender Renderer looks completely wrong, turning my green hairy plane orange. And when trying to F12 with it it just draws a grey screen instantly with no world background color.

--

UPDATE:

I've done all these tips to bring down render speed:

in render options - light paths set bounces from 0 to 4
change dimension - resolution - to 50%
performance - change tile size to 256
shading - disable ray tracing
world - disable ambient occlusion
light paths - disable shadows
render - sampling - reduce to 8 from 128

That takes rendering nothing from 45 seconds to 5 seconds.  But I want it to be almost instant. I have to render an animation that's thousands of frames long and it's just a simple cube moving across the screen.

I tried making a similar animation in three.js and it draws things pretty much instantly in real time in my web browser. I don't understand why Blender is being so slow :(

It is not a big surprise.

This is the time it takes to render nothing on an old i7 2600K processor:

And this is the time it takes to render the same nothing on the same old i7 2600K processor 2048 times(2048 samples):

Cycles is not very adaptive. It does not care much that it is the same plain color you ask to be sampled 128 times. It will do precisely that. This is pretty normal. The GPU you are using might not be a very powerfull solution for rendering. You could try CPU rendering as well see if that is any better with the CPU you have.

If you need simple results, you could also look into OpenGL rendering. That will render whatever you see in the viewport. It has a few settings so you could use better antialiasing as well.


compositing chroma video on plain in 3d space As I put in the title:
I struggle to solve that problem. I have a green screen footage that I would like to key and insert in a 3d space. If not on plain, the keying does great but when imported as plain the video frame remains even after keying and the items behind the video footage are not visible (hidden by the video)

Thanks for advice in advance

Your question has a pretty broad and step intensive answer, but I'm writing this to help point you in the right direction, instead of even trying to give you some sort of magic wand to accomplish what you are asking.

I believe that your answer is to do the keying first, and then get a solid color as your background. You might have to spend a lot of time here as this is an art, and may even require rotoscoping/masking at times, and edge cleanup of your focal subject. If at all possible, you will do most of this work in your footage lighting to reduce the amount of keying problems you would have after the footage is taken.

Once you have a clean video, then your cycles engine can help you accurately isolate your intended subject in 3D space (In pseudo - Real Time).

You have to put in the work somewhere.
Cycles is pretty powerful, and can go pretty far, however there is far more power in cleaning up your video first. Then you can use this solid background as a decision factor to mix between video color, and a transparency shader node with a high degree of reliance.

Luckily Blender has the tools to do the cleanup both in the Video Sequence editor for masking, and in the compositor to apply the "VSE" mask and do your chroma/color matte keying.

Hopefully this should point you in the right direction.

Here's a link that I though would help as well:
Youtube video showing how both green-screen and masking works

Here's a blend that I put together real quick to show you what I mean by making decisions with color in the cycles engine. The two "colored" images are packed in the file for your study.


Positioning sun light to get drop shadow or an object in orthographic view I got a cube with some reflective material applied to it, behind it is a plane which has shadow catcher nodes set up. From an angle I can see the shadow behind the cube, but in orthographic camera view I cant figure out how to position the sunlight to get the drop shadow. I've attached an example how I have positioned the light. I tried various angles and positioning on the Z axis but I cant get it to appear.
thank you.

Things to note, probably including ones you already know:

The location of a Sun lamp makes no difference - it's infinitely far away, and its rays are parallel. Put it somewhere convenient, and adjust only its orientation
The 'angle' setting in the lamp's Data tab > Light panel will harden or soften the shadow
If your World has an HDRI, or is making a contribution through its color, the   the sun's shadow will be somewhat filled by the ambient light.
Shadow Catcher is a Cycles-only feature, and only useful on transparent film.. Corrected! See edit.

EDIT:Thanks to  @blenderbreath, who tells me there's a shadow-catcher for EEVEE, which I've never used ..  Here it is:

I would suggest giving the plane an ordinary diffuse white material during adjustment, to make sure it can be seen at all, before switching its setting to Shadow Catcher


Proper way to show users error info in the UI for addons Are there standardized features in the python API for displaying the popup and error message that users typically see in Blender when they're not doing something the right way?

Trying to apply a modifier in edit mode, for instance...or when there is an exception, you get a popup with a red triangle and a description, and there is a message printed in the info header (see screenshot below). From my searching in the API and around the web, it seems like the answer is no.

I can otherwise just make my own panel and popup for this that replicates that functionality. The only thing left to do for this is identify the remaining parts of the API that are relevant to replicate:

UI popup

Found this an answer via TynkaTopi on the #blendercoders IRC channel:

Blender operators have a method called report() which will perform the functions noted above. You only need to pass it a TYPE (an enum, see the docs) and a MESSAGE (a string explaining the error). It flashes a popup dialog with a warning icon/message at the mouse location, prints the error message in the info header, and adds it to a text datablock containing recent reports, apparently.

I also made sure to return {'CANCELLED'} from my operator after reporting when the error occurred.

API:
https://docs.blender.org/api/current/bpy.types.Operator.html?highlight=report#bpy.types.Operator.report

Example:

self.report({"WARNING"}, "Something isn't right")
# return {"CANCELLED"}


Version control for .blend files I know this question has been asked before, but maybe things have changed?

I'm thinking of starting to use version control on Blender animation projects (especially because we are starting to do VR stories as well as traditional films). Having a good GUI is one of the most important things for us, so that I can get all the artists to use it (artists don't like command lines). Git seems to have the nicer GUIs available, however people say it doesn't handle large binaries very well (though some people say it handles .blends very well). The other options I've seen are SVN and Mercurial.

Has anybody used these version control options for an animation pipeline? Which one is best suited for a small studio? Why would I choose one over the other?

At the Blender Institute / Blender Animation Studio we use Subversion for our projects. It works fine for blend files, but you have to make sure they are not compressed. Compression can cause the entire file to be different when only a single byte changed, whereas in the uncompressed blend file only that one byte will differ. As a result, binary diffs will be much smaller, and your repository will be faster to work with.


Why did my just-rendered animation not save right? I set my animation to avi jpeg but when it finished it only saved as this:

It took 3 hours for the animation to render which is very time consuming...is there anyway to fix this?

It seems that your file got corrupted, somehow. I don't think there's anyway to fix this, unfortunately. In the future, you should render to image sequences, instead.

The nice advantage of doing it this way is that even if, for whatever reason, Blender fails to render, not all will be lost; you can just continue rendering.

To do this, just set the output format to either:

JPEG (small, lossy file format with low color depth),
PNG (small, lossless file format with low color-depth) or
EXR (huge, lossless file format with high color-depth)

Make sure to select an appropriate output folder, for if you save to a temporary folder, your OS may decide to delete them at any point.

Then, once you're done rendering, you can switch to the Video Sequence Editor, by selecting Video Editing from the dropdown at the top:

Afterwards, add your image sequence by clicking Add> Image, found in the toolbar bellow, and selecting them from the folder.

After this, you can switch back and select a video format and press Render. This time, it will not render the scene, but only assemble the image sequence into a video format.


Linking Opacity to Z coordinates in the compositor I have a particle system with tons of particles flying towards the camera. They are supposed to be emerging from a dust storm.

Is there some way to have the particles start invisible, and then become opaque as they travel towards the camera?

I am stuck, trying to take a "mist pass", using that as the factor in a mix node, and mixing the rendered image with a 2nd image. This would do exactly what I needed if the 2nd image could just be a transparent image (just emptiness).

Any help would be greatly appreciated!

The Camera Data node gives you the distance from the camera. You can then add a math node to adjust that to get the desired amount of transparency.


Problem with hairon cycles render view I have this problem and i don't know what's really causing it.

As you can see, the first particle system looks fine, but the don't look so good, they can't barely be seen, and seems bugged

The hair settings of the 3 particle systems are exactly the same (the only thing i changed were the children displays)

Here is the complete hair on normal viewport

I tried changing the stack order, the hair cycles settings, but nothing can solve it.

Anyone knows what's happening and what should i do?

Thanks ;)

it's me/you from the future.
The "problem" with the particle system is that in the Cycles Hair Settings the "Shape" Bar was in 1, so it looks like that because of that, turn it back to 0 to make the hair look good again ^^


interaction of footage in 3D scene Any Ideas on how to make Gloss and Transmission interact with the footage ?
I tried modeling those items on the footage but the camera wasn't matched perfectly.
So any chance on doing the trick on Comp ?

Turns out i just need to add as material the Original Footage on a plane and cover the Camera's Field of View .


How to change stretchiness of liquid? How do I make it so that candle wax drops stick to the original part for longer?

The "stretchiness" you refer to is called viscosity.

The settings to change it can be found here, and there are even a few presets to get you started:

The Blender Manual explains these settings well. See the Viscosity section.


Can I vertex paint in eevee or is it a cycles thing only? I would like to make some meshes that are deformed and paint the vertexes to created a nebula of light in a volumetric of colours and was looking to vertex paint in blender 2.83.4 but do not see any options for it, only texture paint.  I do not see an option to render vertices of a mesh only.  Is this only a cycles-renderer thing?

Select any mesh.
Press CTRL + TAB
Choose 8 (Vertex Paint).
Cycles also cannot render the vertices of a mesh directly. You can use a Point density texture. Volumetric effects in Eevee are fairly limited, I would not suggest the approach via vertices as a volume.


More detiles in displacement of texture I want to displace a a symbol on this cube but in order to make it look good I need to add a lot of subdivison. I want this symbol to be a part of geometry since it will be used for 3d printing. Do you have a better idea how dispale a sybol with good resolution but with less geometry.

Details are directly connected to how dense geometry is.
Make the cube dense so that it has same amount of planes as your image has pixels.
So if your Planet lets say is 32x32px, the cube should have 32x32 planes to display it without additional artifacts.


Blender Not Rendering Properly Only the sky is rendered, some parts of the rig, and the sword. I'm not certain as to what caused it. The blend download file is below. I could not use blendswap because it is larger than 30MB.

https://www.mediafire.com/file/drrmg4p5fhs53x9/Scene_1_Backup.blend/file

If you click on the little filter icon (See screenshot) you will see that a lot of things are turned of in your render. Simply enable the things you want to be seen, and you should be good to go.

PS: dont mind the purple, you didnt upload the textures ;P


Dope sheet summary name part is hidden Does anyone know how I can get the name of my dope sheet things back up without restarting my entire file?
The second picture is what happens when I press T. It didn't work sadly.

Press T , and your panel should come up.


How can i change intensity of AO and bake this effect using blender render I'm ussing materials and UV mapping.I wanna export model and baked image to use in my game.

I've tried WorldTab>AO>Factor, no matter how i change factor 0.01 or 30.0 i get the same effect after bake. When i try n>Shading>AO there i can change AO strength but i don't know how bake this effect.
I get this:
But i wanna effect like this:

Pointiness node in Cycles

To have a full control over AO appearance you may use a Geometry (Pointiness) node with a ColorRamp to control the emission color and then bake it as a texture to use in Blender Internal. It only works in Cycles though.

In Cycles add a material to the unwrapped object and set up its material nodes as pictured below.

Use the ColorRamp node sliders to set the proportions between black and white emission colors. You may add several sliders there and change its mode for a different results.

To bake it as an AO map add a new texture in the UV Editor and call it e.g. AO Baker. In Node Editor add an Image Texture node and open the previously created AO Baker one there. With the Texture node selected, go to Render header-->Bake panel. Set up the bake type to Emit and press the Bake button.

Cavity Mask in Blender Internal Render (Texture Paint Mode)

To achieve similar functionallity as above in Blender Render you may create the cavity mask. Using the curve you can control how soft or hard the AO looks like.

Go to Texture Paint Mode and add a new diffuse texture slot. Change the brush type to Fill and set it's color to black. In the Options bookmark check the Cavity Mask checkbox. Play with the curve below for different results (example below). Click the 'wrench icon' to change the curve type to Vector e.g. for different results.


How to separate meshes that are converged into a single object This is my mesh which has edges that I made with the knife tool to make a brick wall. And I want bricks to have rigid body for each. So I want them to be a separate object. I tried P->By loose parts but it doesn't work. How do I break down the wall into brick pieces(Though the mesh has those grouts in between the bricks and I'm sure I'll be stuck at that part also)?

Let me propose a different approach.
I believe the easiest solution is to recreate it from scratch.

Base bricks with two Array modifiers to make a wall
Apply both modifiers.
Select all > Separate by loose parts


Realistic character emotions Blender has a wide suite of character making tools, but I have been having trouble finding an emotion-to-facial-expression "conversion tool".

Make Human is very realistic and has a wide variety of options that control genetic facial traits. However, emotions have to be manually encoded in the riggings (this is my understanding at least). Doing so in a convincing way isn't trivial.

Is there any tool that "renders" emotions? Namely, you input emotional descriptions or parameters of some sort and it will adjust the rigging of a make-human mesh or a even just it's own stock character?

Ideally such a tool would allow complex mixtures of emotions and animations. For example it would be amazing if you could specify “character is startled (a 6 on a scale of 1 to 10) from an event that occurs at a relative azimuth of 30 degrees. The startle shifts to grief over a period of [a default value that reduces the guesswork, but can be changed].” This is probably pipe-dreaming, but even a basic tool would be very helpful.

Try Blender's Pose Library. If you create a pose you like manually, you can select the bones that correspond with it and press the "+" button in the Pose Library to create a preset. Now when you want that emotion, all you have to do is go in (select your bones first) and click the magnifying glass icon to assign the pose to a given frame.

Additionally, assuming your various characters use a standardized bone layout/naming system, you should be able to use one library with multiple characters with minimal tweaks.

Please note this does require a lot of manual work on your part to set up initially, so if that defeats the purpose of your question, try looking around for preexisting facial expression pose libraries online. (I would recommend making your own, though, as a third-party library may not use the exact bone/rig naming setup and cause some major issues.)


Is it possible to combine 2 or more textures VIA - BelnderKit add-on I am trying to make a grassy landscape with a dirt path through it using two different textures found through the BlenderKit add-on. [It's an add-on that lets you search and quickly import assets, materials and brushes into your project]
How would I go about doing this? Example of a 'grass' texture and 'clay dirt'

Is it possible to paint one onto another where the edges of the 'path' would blend in with the grass?
The closest I have gotten is:
which gets me this result:

Thanks to Nascent for the awnser.
You just add a new image texture node. Click new and name it. Then add that to the 'fac' of the MixRGB node. Then all you have to do is go into the texture paint tab and make sure you have your new texture selected (I named mine Dirt_Path_PAINT) and draw over your texture in the UV section or for easy use right in the viewport!


BI Lighting Mystery: Ceiling is receiving less light than the rest of the room While testing out a lighting setup for archiviz in Blender Render I encountered a strange problem. The ceiling is too dark no matter what I try.

Here are some things I tried:

Checked that normals are facing the right directions
Removed all modifiers from ceiling plane object
Joined ceiling and room as a seamless mesh
Tweaked all lighting settings I could think of
Tweaked all material settings I could think of
Extruded the ceiling plane to give it a volume

Things to note: The only light sources are a duplivert array of Point Lamps and the ambient light from outside the room. I tried other types of lamps such as Spot and Area, but settled on Point because I found that the shadows looked best with Point. The other lamp types still didn't brighten the ceiling enough, except when I created a dedicated secondary Area Lamp pointed upward at the ceiling - which caused lighting problems in other parts of the room because the undersides of furniture would glow.

I made a special material for the ceiling that is like the rest of the room, except with some emission to brighten it. It looks better with that on than the regular room material, but doesn't look good because it kills the shadows in the corners. And besides, it's a hack and doesn't solve the real problem.

What could possibly make a ceiling appear darker than the walls it touches?

Well your using Blender internal and not cycles so its not perfectly light emulation. Here are the steps to make it a bit better, first decrease the strength of those lamps

( set it to 0.001 or so, there is way to much light in the scene currently).

in the world tab:

enable Ambiant Occlusion
enable indirect lightning
set Gather to Approximate

there are some more problems (placing of lights etc) but above should give you a start for this file.


Eevee fire not rendering correctly Been struggling with this for a couple of days now and can't seem to find any answers online. Lots of people claiming to have solved the problem but still getting many problems trying to render in eevee.
My process is as follows:
Open new file,
create circle with ngon,
apply quick smoke to circle,
change domain to adaptive,
change circles flow type to fire,
Enable volumetric lighting (enabled by default)
That is literally it. It renders perfectly in solid view but in eevee it only shows the smoke. Tried this on two machines with the same result. I did manage to get it to work once by playing with settings but then it seemed to trip up somehow and stopped rendering. After searching online this seems to be a very frequent problem for a lot of users so seems like something has to be up with it.
I have tried it on version 2.82 and version 2.83.4. My home build is as follows:
windows 10 pro
32gb ram
Nvidea 2070 rtx
intel core i7-7700k cpu

After a lot of trial and error I went back to version 2.8 and everything worked fine. It seems like a much more stable version for doing this sort of simulation.


Do I need to save the file so that I could edit my video sequence again? I've already rendered it and got the output video but I need to edit it again. Can't find the file to edit the video.

Yes, you need to save your blend file through the file menu, then save. Blender has asked you to do so at least when you want to quit the program. When you didn't save that as well, your cutting work is lost and you have to start all over again...

The blend file contains all the sequences you put in the VSE. And the video footage itself needs to stay on your file system as well (at least relatively to your blend file, there are options to use no absolute paths).

So when you want to keep working on your cuts just open the blend file again and then switch to the VSE view if needed.

You will have everything explained in detail in the very helpful tutorial from Mikeycal Meyers on YouTube btw...


Will Blender Sensei Format work MacOS and Win10? I have a computer with Mac OS Sierra and I also have a laptop running Win 10

Has the Blender Sensei Format addon updated to work with both operating systems?

Addons work regardless of operating system. Here is how you can install Sensei Format on MacOS: blendersensei.com/forums/topic/sensei-format-on-mac


Problem when moving and changing object pose at the same time As you can see in the image below, I can move and rotate the object correctly:

It turns out, I'd like to move it and change your pose at the same time and I can not do that.

I modified only the position of one of his bones. Without tampering with his position and this happened:

All the animation (from frame 0 to frame 100) now has the pose I put on frame 100. Detail that I did not press the 'i' key.

That's what I imagined and I wish it would happen after I hit the 'i' key.

The 'z' is the same in all the pictures, because I have not changed.

The detail is that I can cause the object to change its pose (in another test), but for this I can not move it and vice versa.

There is a video that I saw and it drew attention to me in one detail. As you can see in the 20:40 minute of the video (https://www.youtube.com/watch?v=HyVvi-TjHlM&t=1240) => Any modification he makes to the character's bones is immediately marked on the Dope Sheet, but when I make a modification to any of the bones it does not.

From what I understand, here is what I'd say:

First, maybe enable the "Only Include Channels Relating to Selected Objects and Data" option (arrow icon in the Dopesheet). It will only display, in the Dopesheet, the keyframes of the object(s) you've selected in the 3D view, and it will make the things simpler to understand.
Select the object itself (not the armature). If you go in the Dopesheet window, you can see that there's a track called Cube > CubeAction, and that 2 keyframes have been created for the cube object. I think it's useless and even may create some problems because in your case you've actually created an armature and parented your object to it, so from now on it's the armature that is supposed to move your object! So select these keyframes and delete them.
Select the armature. If you go in the Dopesheet, you can see the Armature > ArmatureAction track, it has 2 keyframes. Nice, it's probably what you want, the armature is the parent of the cube and to move the cube you need to move the armature. Keep these keyframes.
Keep in mind that until now you've just animated the armature in Object mode, you haven't moved any bone in Pose mode. So until now the armature works like a basic parent, for example like an empty would.
Now you want to move some bones within the armature. Keep your armature selected and go in Pose mode. Rotate the bone you want and press i to insert a keyframe. In the Dopesheet, if you unfold the Armature > ArmatureAction track, you'll see that a Bone track has been created. But before that, no keyframe was created on this track, so if you want your bone to have another position before the one you've created, put your cursor one frame before, press altR to reset the bone position, and press i to insert a keyframe. Now you have 2 keyframes and the bone will have its basic position at the start of the animation.
You could also have chosen to create the whole movement of your armature (on the X and Y axis) in Pose mode, moving the bones from position to position B, instead of creating an object animation, it's a choice that depends on the situation.
To automatically record a keyframe (i.e. avoid the i command) you need to press the "Automatic Keyframe Insertion" button in the Timeline (red circle icon).


How to flip an animation in Quaternion? I have an animation of a walking avatar using mocap. He walks and turns left. I want to change it to turn right. The rotation system of pose bones is Quaternion. How to make it?

The left bone and the right bone can be flipped, but the root bone can't be. Are there any ways to mirror across axis in 3Dview? I only found the mirror in the graph editor, which can't help.

Or should I change Quaternion to Euler for the flipping and change Euler back to Quaternion???

Make a copy of your rig and remove the animation (unlink the action on the duplicate).
Flip your original rig by going into Object mode and setting scale in X-axis to -1.0 on the object.
Add a Copy Rotation constraint for each bone of the duplicate rig that will target the opposite bone in the original rig - ie. Arm.L will copy rotation from Arm.R:

Set the constraints in Local space, check inverse for Y and Z axis:

Automate it with python:

import bpy
orig = bpy.data.objects["NAME_OF_ORIG_RIG"]
copy = bpy.data.objects["NAME_OF_COPY_RIG"]

for pb in copy.pose.bones:
    const = pb.constraints.new("COPY_ROTATION")
    const.target = orig
    const.subtarget = pb.name.replace(".L","§").replace('.R','.L').replace('§','.R')
    const.invert_y = True
    const.invert_z = True
    const.target_space = const.owner_space = 'LOCAL'

Bake the animation on the copy rig into an action:

Pose > Animation > Bake Action > set settings:

Flip your original rig back by setting X-scale to 1.0
Switch the original mocap action with the baked action.
Delete the rig copy.
Optionally automate it all in python.

This approach shows how and why it works and is understandable for someone not familiar with quaternion math or python. You can also achieve the same by transforming F-curve channels directly with python by using that quaternion rotation math.


Sending a render request to a personal server I own a game website where users can customise their avatars (to display the avatars in 3d I use treejs) but recently I found out that I needed also rendered profile pictures for the users.

My idea is that when a user edit their avatar, it sends a render request (via php?) to my old laptop (that I want to use as a "rendering server" where it runs blender on linux) and after it rendered it on blender it uploads it back to the webserver database.

How can I achieve this?

I am not an expert so I asked my friends for ideas and they said I could use some python or ssh or maybe I could use telnet.

Sorry if the question is vague, but I have no idea of how to solve my problem

Run a render with a Bash command

You can use a bash command to run a render, something like :

blender -b my_file.blend -o output_picture_name -f 1

For more informations about arguments you can look at the documentation or type :

man blender

Run a Bash command with a script

In python, it would look like :

import subprocess
result = subprocess.run(["blender", "-b", "my_file.blend", "-o", "picture", "-f", "1"])
if(result.returncode == 0):
    print("Everything went good")
else:
    print("Something went wrong")


Eevee doesn't render the full image I had some problems with both Eevee and Cycles rendering. I tried to fix the problem with cycles, but it looks like the Cycles problem is way harder to fix than the problem I face with Eevee. The problem can be seen below. Whenever I render an image with Eevee, the bottom portion doesn't fully render. The render process has ended, which is indicated by the render timer that stopped increasing. What could be causing this and how would I go about fixing the problem?

I had another problem which were random yellow pixels in viewport rendering. When looking up a fix for that I came across this thread on reddit.
https://www.reddit.com/r/blender/comments/a278rj/anyone_else_have_this_problem_when_viewpoint/
When enabling Screen Space Reflections, it did not only solve the weird yellow pixels problem, but also the rendering issue. I am not sure what exactly was causing this problem to occur. If someone knows, please leave a comment, because it really does help other people understand the engine.


Placing grass in only certain places Is there any way to place grass in only certain places? Like for instance having grass on a plane but not in a circle around a tree.

Assuming that you are using a particle system for your grass, you can use weight paint mode to define where your grass should be. Select the mesh and enter weight paint mode. Weights vary from 1 (red) to 0 (blue). Paint red where you want the grass to be most dense and blue where you don't want there to be any grass. Then, in the particle settings, go to Vertex Groups and where it says density, select your vertex group.


How do I add a secondary layer to a concave model I have a low-poly model of a purple crystal and I want to add a thin transparent layer on-top of it, I've tried:

Fattening a copy of the model.
Scaling a copy of the model.
Extruding along normals.
Extruding along vertex normals.

But all of them end with the second mesh intersecting the first. If you know something that could work please tell me!

Duplicate the external surface of the model (that will be the internal surface of your transparent layer) add a Solidify modifier to it, set the solidify "offset" property properly (should be 1 or -1) and the proper thickness you want it to have.


My mesh isn't moving with the bones I'm really new to blender and am trying to make a badger animation for my toddler (he loves badgers...)
I know I haven't made a brilliant model and that may be the issue, but I can't get the mesh to move with the bones. Have I rigged it incorrectly?
Thank you in advance for any help.

Mike

You need to do the following:

Apply all transformations to mesh and armature (select mesh/armature then CTRL+a)
Make the armature the parent of your Mesh. To do so in Object Mode select the badger mesh and then on the Object tab at the bottom there is a "Relations" menu. Open it and click on the "Parent" text box. Select the Armature object and set the option below to "Armature":

Then select your Armature and go to Pose Mode and select a bone which you want to assign to faces (here the head bone):

Then shift click on the badger mesh. With the mesh selected go to Weight Paint mode. Now you can assign faces to the done by "Painting" on the mesh. Assigned faces will become red:

With the faces assigned you can now go back to Pose Mode of the armature and the faces should follow deformations of the bones. Note the "Pose Position" selected in the panel to the right:

One advice: your mesh is very distorted and it will be hard to achieve something satisfying without some rework of the mesh. I did some cleanup, if you like I can share my edited mesh...


How to reduce artifacts on curved text/vector this is a problem I face a lot when working with branding and typography.
After importing vectors/typing, extruding and bending (simple deform or curve modifiers) it always come up with those ugly polygon artifacts:

Now, I know the cause of this is that the front faces of the text do not have the right topology nor enough polys to bend.

So, is there a good workflow to get rid of this without taking a huge load of time to retopo by hand or using the remesh modifier to an absurd high poly count?

Thanks

I added a text, converted it to a mesh and extruded it 1 upwards. To get artifacts, I used a wave modifier. Yay, artifacts:

The artifact are because of the terrible topology Blender creates of the font. Usually, if the topology is too horrible for manual fixing, add a Remesh modifier and hope the best:

The Remesh modifier needs to be before the artifact-creating deformation. If you have to many vertices at the end, adding a Decimate modifier in Collapse mode works well.


How to parent several cameras without adjusting one and interfering the others? To make my outliner clean, I would like to make an empty parent to all similar objects. But when I set parent to all of my cameras, whenever I adjust one of them(with "lock camera to view"), the others move at the same time. This is really annoying that I lost my other angles every time!

Is there a way to avoid this while still keeping my outliner clean?

Parenting should not be used as an organization method for the outliner, it is a scene hierarchy system and has obvious implications in the 3D view as you've already experienced.

Use groups instead by grouping objects together and using the outliner in Groups mode so you can have objects in "categories" or "folders" without affecting their behavior.

A proper layer system is being worked on for the upcoming Blender 2.8 but it is still far off


Object Disappears in Wireframe and Solid view (not Dev look or rendered) So I just opened up my saved file from last night to find that my cup object, as well as the plane, are completely gone if I switch my view to Wireframe or Solid view. However, it is there and all is fine if I view it in Dev Look and Rendered view. I am new to Blender, yet I have tried small commands like 'hide/unhide' etc.
On a similar note, my plane is only represented by a small portion of itself and when I try to grab and move it, it scales for some unknown reason.

I am currently using the latest 2.81 Beta version and understand if this is some horrible bug.

Any help is very welcome. Thanks!

I had the same problem and solved it with Alt+Btoo.


Broken text after text being extruded I'm making 3D text, I got some problem when I added some text and converted the text to mesh and extruded them, here is the step :
1.Add text
2.Converted to mesh
3.Extruded the text
Followed by the broken text screen cut
I don't know why this happened, I tried to used another way by extruding the text in the object data propertied panel then converted the text to mesh, but another problem found that the top and bottom surface of the mesh is not connected the the mesh, which means a single letter consisted of 3 part, and what is the reason behind this and how to fix this
Thanks for explain to me the reason of the two issues I wrote above

There is no need to convert text or curves to mesh to extrude.
Curves converted to mesh will en up in bad topology most of the time... If there are overlapping segments then you will have errors like the ones shown on the question.
Use the Extrude settings in the Geometry section of the text controls in the properties window.

And please don't use photos from your phone, use screen captures, they are more readable


BGE how can I run a sound file while a key is pressed? In the BGE, how can I run a sound file while a key is pressed, but have it stop as soon as it's released?

You can have a sound play on a key press and stop on the release of that key by using the "Play Stop" setting on the sound actuator

When the sound actuator is set to "Play Stop," when it receives a positive pulse from the connected controller, it will start playing the selected audio file. When it receives a negative pulse form the connected controller, it will stop playing the selected audio file. In this case, we are using a Keyboard sensor, which simply sends a positive pulse to the connected controller on key press, and a negative pulse on release.


How to create a generic texture using python? I tried bpy.ops.texture.new() to create a new texture using python, however it does not work. I have seen another post here, but couldn't get this to work either. Ideally, I would like to give it a name as well:

bpy.ops.texture.new()
bpy.data.textures["Texture"].type = 'VORONOI'
bpy.data.textures["Texture"].noise_intensity = 10
bpy.data.textures["Texture"].color_mode = 'POSITION_OUTLINE'

Name is no guaranty as another texture with the same name may exist. Use bpy.data.textures.new() and just pass a name as well as the modifier type:

import bpy

# Get the object and context
C = bpy.context
ob = C.object

# Generate the texture and set the attributes
voronoi_tex = bpy.data.textures.new("displace_voronoi", 'VORONOI')
voronoi_tex.noise_intensity = .5
voronoi_tex.noise_scale = .5
voronoi_tex.nabla = .05

# Displacement modifier
disp_mod = None
for modifier in ob.modifiers:
    if modifier.type == 'DISPLACE':
        disp_mod = modifier

if not disp_mod:
    disp_mod = ob.modifiers.new(name='MyVoronoiDisplace', type='DISPLACE')

# Assign the texture
disp_mod.texture = voronoi_tex
disp_mod.strength = .5
disp_mod.vertex_group = "Group"


How to change to constant interpolation mode from a python script? I have written a python script to create an animation out of a file containing the trajectory of some objects and I would like to switch to a constant mode of interpolation (I have one position per time step and other interpolation modes are really slow and not necessary in this case). The code is launched in the 3D view context.

I have put the following code:

area = bpy.context.area
old_type = area.type
area.type = 'GRAPH_EDITOR'
bpy.ops.graph.select_all_toggle()
bpy.ops.graph.interpolation_type(type='CONSTANT')
area.type = old_type

but it does nothing...

Thanks for your help.

slightly simple option (probably not the best in the long run)

A toggle inverts, if all curves are selected it will select the curves that are not selected. The solution might be as simple as this.

bpy.ops.graph.select_all_toggle(invert=False)

broader answer (which is hopefully more useful)

Easy enough, but perhaps not very obvious.

kf = bpy.data.objects['Cube'].animation_data.action.fcurves[0].keyframe_points[0]
kf.interpolation = 'CONSTANT'

or for Keyframes on all F-Curves of that object

import bpy

obj = bpy.data.objects['Cube']
fcurves = obj.animation_data.action.fcurves
for fcurve in fcurves:
    for kf in fcurve.keyframe_points:
        kf.interpolation = 'CONSTANT'

Without seeing your code I can only assume things about it. You can use the Outliner (DataBlocks view) to get a reasonable idea of where to look in the API for these things.

Addendum

If the script seems to behave slowly, it might not be the interpolation but the way the script adds keyframes. I Might be wrong but I assume you are using something like this to add keyframes:

bpy.ops.anim.keyframe_insert(type='Location', confirm_success=True)
# this does more than just add keyframes

This would be faster:

import bpy

positions = (0,0,2),(0,1,2),(3,2,1),(3,4,1),(1,2,1)
start_pos = (0,0,0)

bpy.ops.mesh.primitive_uv_sphere_add(segments=32, size=0.3, location=start_pos)
bpy.ops.object.shade_smooth()
ob = bpy.context.active_object

frame_num = 0

for position in positions:
    bpy.context.scene.frame_set(frame_num)
    ob.location = position
    ob.keyframe_insert(data_path="location", index=-1)  # <-- this
    frame_num += 10

Setting the interpolation type at creation time:

for position in positions:
    bpy.context.scene.frame_set(frame_num)
    ob.location = position
    ob.keyframe_insert(data_path="location", index=-1)

    for fcurve in ob.animation_data.action.fcurves:
        kf = fcurve.keyframe_points[-1]
        kf.interpolation = 'CONSTANT'
    frame_num += 10