text:
Objects dissapear when in Editmode und selected while rotation the viewport
if i want to edit my obejct in editmode and have selected vertex or edges or faces, and then rotate with the viewport, the object disappears. i can only bring it back into focus with ‘,’. this is the first time i've had this problem and it runs through all the versions i've installed and opened the file with. does anyone have an idea? in obejctmode or without selection everything works.

Sounds like issues with unsuitable values for Clip Start and/or End.

Hello could you please show a screenshot?


text:
Color in mesh darker than the actual texture, even with the shader nodes that I set up
I have come across a problem where the texture on the mesh in the viewport is darker than the actual texture in the texture painter. I understand that the texture on meshes will be effected by the lighting, and the other factors that I am too lazy to list. But I have made it so that the texture has a emission property with a shade feature, anime style, but it seems that the texture is still darker than the actual mesh. Is there anything that I can do, or is this something that I have to deal with?
Link to the actual file below:
https://drive.google.com/file/d/1VyVCLolEFQbZ2nghkv7QNiNP8Ok4AsgV/view?usp=sharing

Don't do whatever this is supposed to be in the shader:

Instead connect the texture directly to material output and set color management to "Standard" without any look:

If you use any shaders and lighting, it affects the colors of your textures, because shading is supposed to do that - shade. Color management also affects colors as AgX transform remaps the linear lighting information in the scene to form an image in certain more limited color space. If you need to render something with shading and still match the colors as much as possible, you could try using Khronos PBR Neutral color transform that is supposed to help with that. It will still not give you identical colors because they are supposed to be affected by shaders and lighting.
You can still use NPR shaders with standard color transform and choose the exact colors to remain under certain conditions:

Here I am using the pure color from the texture and mixing it with it's version modified with Hue/Saturation/Value node for shadows. The mask is made out of Diffuse BSDF converted to RGB and remapped to black and white. Where the mask is completely black, the second output will be fully visible and since it's the unmodified texture, the colors will match. This way the shader still affects the colors but in a very specific way you choose.

source: Stack Exchange

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

sort: votes


text:
How to stack 2 textures in one model, with one having a transparent portion, and the other that can be moved by mapping
So, I am wanting to be able to stack 2 textures on top of each other in a single model. In the pic below, I have a set of eyes that have a transparency in them, and I want to be able to see the Iris texture through the transparent part of the eye texture. I have tried everything, and researched, but I can't find anything regarding this question. Any help would be helpful.

I have the file in the link below if you want to help answer
https://drive.google.com/file/d/1f1Ud2lUkckY3AtYoPR9jNpwMu7hVdQ6n/view?usp=sharing

It's a bit unclear how you want to manipulate your textures, I'm guessing you want to use UVs.
In this case you need to create an additional UV map for the iris, so that moving the outer eye's UV will not affect the iris, and viceversa (you can do it with a vector mapping node, but it becomes more difficult and unpredictable).
Move and scale the new UV map to fit the iris properly.
Use an Input > UV Map node to choose which UV map to assign (if nothing, the default UV map will be used, that with the photocamera icon active in the UV list).
Now the Alpha value can be used as factor of a mix color node, knowing that black means top socket, and white bottom socket.
If you don't use any 3D shading, set Color Management to Standard (Look None) to preserve textures color fidelity.

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


text:
render properties panel lack of ambivient occlusion and others
I tried to adjust my 3D model to make it more realistic, so I looked for ambient occlusion in the render properties panel but couldn't find it.
please can you help find the solution?
my regards.

Ambient occlusion is a side-effect of raytracing, you don't have directly a setting about it. The number of bounces of light rays influcences the ambient occlusion. There is also an node called Ambient Occlusion in the shader editor that you can use.


text:
Blender 4.2 & 4.3 - Alpha over node not working correctly, now clips final render in versions 4.2 and 4.3
All,
When using Blender version 4.2 or 4.3 after a final render I use the compositor to overlay the final render over a background image. I use the transform node to scale and move the background image to the desired location. however in these latest versions this now crops the final render.
this does not occur in 4.1 or lower versions.
Is there a setting I haven't changed or is this a known bug

Are you sure it's not the other way around, left is 4.1 and right is 4.2 4.3 ?

No, 100% sure 4.2/4.3 is where the issue is occuring.

Then I'm not sure if it's a bug or intended behavior. One thing is sure, compositing had a few fundamental changes on how it works. Hopefully someone can answer your question.

You need a Background, in this case a transparent one, combine that to your actual image background and then to the render https://imgur.com/a/VOtQqJ3

To further illustrate this, see the image of an example scene below. I have created a very simple scene for demonstration. When trying to underlay the image behind the render, you lose the entire scene.
The only workaround I can think of is to edit the background image in Photoshop, adding a colored background with the image positioned correctly. However, this approach feels tedious.
I'm wondering if there's an alpha option available elsewhere that could be used.

I'm not 100% sure but I believe this change is what you are experiencing : 4.2 Release notes - Clipping. This is the new behavior, not a bug.
From the release notes of 4.2 :

The old compositor will clip images if their inferred size is smaller than their actual size, while the new compositor will not do size inference and consequently will not clip images.

thanks. If this is the case how do you resize a background image and position behind the final render without clipping the foreground

This change should stop clipping, if you really have clipping with 4.2 then it's probably not caused by this change. It may be linked but I don't understand enough to say.


text:
What is causing pinching artifacts in this mesh?
So, I just was trying to get back into blender, and I made a cup.  Unfortunately, this cup has some issues right at the bottom of the inside, and I can't figure out why.
You can download the blend file here.  And just for good measure, here is a screenshot of the problem.

That is caused from the triangle fan at the bottom of your cup, and the subdivision surface modifier.
To fix it delete the vertices at the center of the bottom of the cup.
Select the edge loop along the bottom, press E to extrude then S to scale it smaller. Repeat that three times, and for the last time scale to 0. Then remove doubles.
This is how it will look after extruding and scaling three times. This will give  acceptable results when using a subdivision surface modifier.

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


text:
Linking an armature to a scene
In my script I tried the following:
import bpy

arm = bpy.data.armatures.new('SomeName')
bpy.context.scene.objects.link(arm)

and I get the error:
TypeError: bpy_prop_collection[key] = value: invalid, expected a 'Object' type or None, not a 'Armature'

How do I link an armature created with .new() to a scene?

Blender has the concept of:

Scene: Reference Objects
Objects: Reference Object Data (Mesh, Armature, Lamp. etc)

This is needed so you can (for example) have many instances of the same mesh, which saves memory and allows you to edit without having to manually update copies.
Here is the script modified to work as expected.
import bpy

arm = bpy.data.armatures.new("My Rig")

# create an object
obj = bpy.data.objects.new("My Object", arm)

bpy.context.scene.objects.link(obj)

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


text:
Is there something like Layout.template_fileselector?
I'm writing an export script and I want the user to be able to export the currently selected object. The real script is finished but now I want to finish my UI. For this I want to display a fileselector like this:

So here is what I got so far:
class MHMDLExporterObject(Panel):
    """
    This exports the current object
    """

    bl_label = "Export My Stuff"
    bl_space_type = "PROPERTIES"
    bl_region_type = "WINDOW"
    bl_context = "object"

    # can I let it write into this property?
    dir = StringProperty(name="Export path", default="C:/tmp/",
                                description="Export which objects?",
                                subtype='DIR_PATH')

    def draw(self, context):
        from .constants import OP_exportMHMUIdent
        layout = self.layout
        col = layout.column()
        from .constants import uvResultIdent
        if hasattr(context.object, '["%s"]' % uvResultIdent):
            uvL = col.prop(context.object, '["%s"]' % uvResultIdent, text="UV Layer")
            uvL.enabled = False
        else: #property doesn't exist
            col.label('To preselect an uv-layer to export')
            col.label('you have to create a Custom Property')
            col.label('with the name %s.' % uvResultIdent)
        from .constants import OP_uvPromtpIdent
        col.operator(OP_uvPromtpIdent, text='Select the uv-layer to export')
        ## here is wher I want to get display a fileselector that writes the
        ## current value in self.dir (see above)

Wouldn't it be more appropriate to use a real file selector (file browser) like other addons offer? You could also let the user export multiple objects at once, and build the output filepath e.g. based on object names.

Yes and no... it's kind of a utility thing to also offer an export button in the Properties > Object and as you see, it's not that difficult. Of course the other method exists but the fileselector always defaults to some location the user may not want so why not?

Sure, if that suites your needs. The default path for the file selector can be overwritten however, see my answer below: http://blender.stackexchange.com/a/6541/1363

It's not possible to use a path variable from inside the Panel to achieve this effect. The fact that the used path is either used per object or per scene on the other hand offers a great workaround:
In your __init__.py-file you need the following code:
from bpy.props import StringProperty

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

    # assigns a propery someName to every object.
    # If you want one var per scene use bpy.types.Scene
    bpy.types.Object.someName = StringProperty(name="Exported Layer",
        description="The UVLayer that will get exported",
        subtype='DIR_PATH') # so blender notices that as
                            # a directory path

if __name__ == "__main__":
    register()

Now you can use that variable inside yor panel:
from bpy.types import Panel

class MyExporter(Panel):
    """
    This exports the current object
    """

    bl_label = "Mobster Hunter"
    bl_space_type = "PROPERTIES"
    bl_region_type = "WINDOW"
    bl_context = "object"

    def draw(self, context):
        layout = self.layout
        col = layout.column()

        # use either context.object or context.scene and
        # the same name
        col.prop(context.object, 'someName', text='Export directory')

I suggest to use a full file selector dialog. It can be called and default path be set like:
    def invoke(self, context, event):
        self.filepath = "C:\\path\\name_of_file.ext"
        context.window_manager.fileselect_add(self)
        return {'RUNNING_MODAL'}

You don't actually have to extend ExportHelper. If you look at the source, all he does is checking self.filepath and then invoking context.window_manager.fileselect_add(self). There's no need for super().invoke(...) So all one has to do is assigning self.filepath and then calling context.window_manager.fileselect_add(self).

You're right, I called the super function to ensure the file extension is checked on invocation, but it actually works without. Edited answer.


text:
Is it advisable to update Blender to the newest version as soon as possible each time?
I know Blender is free software and bugs happen. But my question is, is it good practice to update Blender every time there is an update? Even if a minor one? (i.e I'd consider 2.56 to 2.56b minor or even 2.63, no?)
I haven't been updating very often for fear that updating frequently causes issues like broken settings, non-compatibility or lost user configs?
Or is updating often recommended to keep up to date and adapted to the new changes, i.e like upgrades in the GUI and functionality?

Blender is very compatible between versions, both backwards and forwards (with the exception of the upcoming 2.7, which is supposed to have minor compatibility breakage).
For lost configs, Blender should prompt you to use your old config after you start the new version, but if it doesn't it's very easy to transfer (and keep backups, etc.). See this post for details.
The a and b releases are relatively minor bug fix releases usually only released when major bugs are found shortly after the initial release. In spite of being relatively minor releases, you probably want to use them instead of using the previous release (which has some bug bad enough to justify another release).
Conclusion:
It is of course up to you, depending your habits and what works for you, but I highly recommend staying with the latest stable releases. However, expect to find bugs if you use any development versions.
Notes:
Some extra information you may find useful:
Multiple versions:
You can have multiple versions of Blender installed simultaneously, which may be of use if you want to try the new version without removing your current version.
To install another version along side your current version:

Download blender using the archive (*.zip, *.tar.bz2). The archive gives you a completely portable version of Blender which you put and run anywhere (even a USB drive) without any installation.

Extract the archive into some directory (the archive extracts into a new subdirectory).

Run the blender executable located in the extracted directory.

Note that portable Blender will use the config of the system version of Blender (if there is one) by default. If you want to have separate configs, create a directory called config in $directory_from_extracted_archive/2.69/ where 2.69 is the version of Blender you extracted.
Bugs:
If you do find a bug, report it! The developers are usually very responsive (I have had reports fixed within a couple of hours).
Don't assume someone else will report it if you don't (but do check to see if it's already been reported before you report it, just in case).

Thanks for the quick reply! Great links too! Makes sense.

Gandalf3's answer is spot on. My only contribution would be: Wait a few days to see what bugs may have made it pass an initial release. On our production we usually ask one or two people to test out the RC (release candidates) before we move up. What you earn in moving up is quite valuable (faster render times, 2.7 is looking to improve animation speeds.)
All this being said, Blender is one of the most well written, back-compatible pieces of software out there. Moving up is no problem.

Good point. If you are in a production environment, then yes, it makes sense to wait until some of the kinks are worked out. However, if everyone does this, nobody will find any bugs (and none will be fixed). If you can, test and use the release candidates (just remember to save manually a lot and set the autosave timer to save every minute) and report any bugs you find. Doing so helps blender become more stable for the actual releases, which are supposed to be stable on the first day (if everyone used the RCs, there would be fewer a and b versions).

2.63 was another version that broke backwards data compatibility (adding bmesh).
I would say always update to an a or b version as they are specific bug fixes that are considered show-stoppers found after release. The fix is important enough to do an extra release for that version, the bug fix is the only change from the previous release. Other versions could be skipped if they don't add any new features that you would want to use.
Possibly the biggest area of compatibility breakage between versions has been with python scripts - this is happening less though. If you have any scripts you rely on you may want to test them in a new version.


text:
How to create and render clouds in blender cycles
I am creating an outdoor scene and need to create 3d clouds. What is the best way to go about this in blender cycles. I know you can't use the cloud generator addon since cycles doesn't have support for volumetric shading. Any help is apreciated.

Cycles does have basic support for volumetrics now, try one of the development versions.

@gandalf3 how do I access one of these development versions and do they have support for it?

See this post: http://blender.stackexchange.com/q/3438/599

Related: http://blender.stackexchange.com/q/18033/599

Since the initial commit in January 2014, cycles has had volume support.
You can get a development version or any version newer than 2.70 to use it.
To render clouds with it, try sculpting a cloud shape (dynamic topology is useful) or modeling a low poly cloud with a subsurf and a displace modifier:

Smoke simulations look better, but will require more computation time to be baked.
For the cloud material, use a volume scatter node:

Result:

Make sure you set the scattering bounces pretty high in Render settings > Light paths if you want bright, fluffy clouds.

What kind of texture in the displacement modifier produces these results?

Node setup. Absorbtion and an extra mix node (0.2 to account for 0.8 reflectivity) can help darken the bottoms a bit, but is entirely optional.
Clouds scatter preferentially forward, but simply raising the anisotropy will not accurately simulate the way the light scatters. You will need 3 separate volume scatter shaders and 2 mix shaders to get a fair approximati. Leave the color (preferrably connect the color inputs to an RGB node) the default 0.8 because water clouds reflect 80% of the energy that hits them. To get edge feathering, use a mapping node, select values less than 1 in the scaling field (the smaller the number, the less "fuzzy" the edge gets), and combine it with a sphere gradient texture, and combine that with a noise texture to simulate the density variations (the best results would come from making your clouds from clumps of individual sphere meshes, which can be done quickly by using a particle system).
Scatter Shader 1
Anisotropy: 0.9
Description: some of energy is concentrated in a 10 degree cone, creating the "silver lining:
Scatter Shader 2
Anisotropy: 0.250
Description: the rest of the forward scattered energy is scattered in a 90 degree cone
Mix Shader 1
Fac: 0.52
Scatter Shader 3
Anisotropy: -0.38
Description: There is sudden peak of backscatter over a 40 degree cone, facing the light source. This is responsible for you seeing the cloud despite it scattering most of the light forward, and why the shadowed side is darker.
Mix Shader 2
Fac: 0.48
This is not a fully accurate simulation. You would need Metropolis Light Transport to simulate the fogbow/cloudbow and glory. There is an MLT Patch for cycles but I do not think it supports volumes yet.

I'll try yhis :)

your answer would be greatly improved with a picture of the node setup.

In 2.8, I've tried a simple node setup with the Principled Volume, the main thing is to plug a Noise texture (or other texture) into the Density of the Principled (there's an artifact though, maybe someone will know how to avoid it?). I also gave some Displacement so that it sculpt the object a bit, it also allows to animate the shape if necessary:


text:
Is it possible to drive other properties in realtime with a single float or int property button without using drivers?
Say I want yo have a float property in the 3DView Toolbar (T), and make it update in realtime several properties in the selected object without using drivers.
For example, the "scale" of an object, its an array of 3 values, but I don't want the UI to display its three values, because I want to use only one float slider to drive the three at once (with the intention to preserve the proportion). Even more, think that this could be very useful if I want to drive any kind of values together with just a single slider, not only the scale's array.
I spent several days investigating and trying to achieve that, but I finally understood that Panels and Operators are instances of well defined classes which draw functions remain separated, and I can't just make a call from a Panel to a property defined inside an Operator (I use the operator because I want it to update the object in realtime).
Here's a very simple example, just to illustrate the point (I didn't include an Operator here). Note that the script only changes the object's size when the script is rerun.
import bpy

bpy.types.WindowManager.float = bpy.props.FloatProperty(name="Object's Scale", default=1.0)

class OBPanel(bpy.types.Panel):
    bl_label = "Selected Object"
    bl_idname = "selected_object"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "Tools"
    bl_context = "objectmode"

    def draw(self, context):
        wm = context.window_manager
        layout = self.layout
        layout.row().prop(wm, 'float')

    wm = bpy.context.window_manager
    bpy.context.object.scale = wm.float, wm.float, wm.float

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

def unregister():
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

scale = wm.float, wm.float, wm.float should be inside the update function

Finally! I get realtime updates! I love this technique.
Thank you.

Best to add your own answer, that shows the working example, to help others.

Yes, this is possible, it can be done 2 ways.

Using a property set or update callback.This lets you either use your property as a way to access other data (by having get & set callbacks, you could for example, keep your property outside of the blend file even).With an update function you can use this property to control others.See https://www.blender.org/api/blender_python_api_current/bpy.props.html#get-set-example
Using drivers, although these need to be setup in the file each time and probably not what you're after.

FINAL UPDATE:
I added the update function and this code works as I wanted. Cheers!
import bpy

def update_func(self, context):
    wm = context.window_manager
    context.object.scale = wm.float, wm.float, wm.float

bpy.types.WindowManager.float = bpy.props.FloatProperty(
        update=update_func,
        name="Object's Scale",
        default=1.0,
        )

class OBPanel(bpy.types.Panel):
    bl_label = "Selected Object"
    bl_idname = "selected_object"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "Tools"
    bl_context = "objectmode"

    def draw(self, context):
        wm = context.window_manager
        layout = self.layout
        layout.row().prop(wm, 'float')

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

def unregister():
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

Note, using active object in an update function isn't great practice. Ideally you'd add a property on the object which modified other object properties.


text:
How to get to face select mode in Blender?
How I get in face select mode in Blender?

For those who are in the newer Blender versions (this is for 2.81), here's where the buttons changed to:
In a 3D Viewport editor, make sure you're in edit mode (usually by pressing Tab). The new icons will be in the upper left corner, just before the editor's menu bar.

You can also type 3 on your keyboard (Alpha 3 not Numpad 3) when in Edit Mode when in the Layout or Modelling Workspaces to get face select mode. Conveniently, 1, 2 and 3 on your keyboard (Alpha) represent the Vertex, Edge and Face select modes. You can see the workspaces tabs on the top right of the image shown in the answer above. This is also for Blender versions near 2.81.

You can use the buttons in the 3D view header (highlighted in red) to change the selection mode.

You could access the search menu by pressing wither Space or  F3 depending on you keymap, and search for "Select Mode" then change the selection mode in the operator panel.

Press Ctrl + Tab for pre-2.79 toopen a selection mode menu, or 3 for 2.8 series to immediately enter face mode.


text:
How to change image dimensions of a generated image from Python?
Say I have an image created like so:
 img = bpy.data.images.new('imageName',1024,1024)

Now later on I would like to change the size of this image to be something else, say 2048 X 2048.
Is there a way to change the size of the image itself without removing the image and then calling new again?

Note,  the image is used to store a baked texture so it does not matter what happens to the content of the image as it will be overwritten.

Even if there were, what effect would you hope to accomplish?  Do you want to upsample the image, and if so, do you want nearest neighbor, linear, or other interpolation?  Or maybe just reinterpret the existing sample array at the larger width (which seems strange, but you haven't specified what problem this resize is solving).

@Mutant Bob, I am using the image to store a baked texture so it does not matter what happens to the content of the image as it will be overwritten.

As Mutant Bob said in his comment to your question, the answer may vary depending on what you hope to accomplish with the image's resize.
Generally, you can scale an existing image by using the scale function on an existing image datablock:
#                                 width, height
bpy.data.images['imageName'].scale( 2048, 1024 )

If you just want to resize an empty, new image, this would be fine. If you're resizing an actual image that has important content, you might want to do this some other way and use resampling filters, as Mutant Bob hinted.
One other way to do this could be using the Python Image Library (PIL).

great, just what I needed for my specific use case.

@TLousky Just a note, as far as I am aware, the PIL library isn't included in blender's version of python by default.

@RayMairlot, yeah that's a good point. I guess I mentioned it as a kind of basic lead rather than a real part of my answer.

To change the size of a generated image:
img = bpy.data.images.new('imageName',1024, 1024)

# ...

img.generated_width = 2048
img.generated_height = 2048

Otherwise, call image.scale(w, h) to preserve existing pixel data.

image.scale() at least as of 2.79 is broken (tested in console)

Works in 2.79 here, please report a bug with details.


text:
How do I divide equally copies by the distance between two objects
Sorry for my bad English, I'm very new to Blender, how do i divide equally copies by the distance between two objects like the Multiply and Divide features in Google SketchUp to copy objects over large spaces, please take a look in the photo showing my problem

possible duplicate: http://blender.stackexchange.com/questions/30944/create-copies-of-primitives-a-number-of-times-along-a-given-or-random-length-bet

A solution is the Array Modifier. Found here.


text:
Find an object's mesh in bpy.data.meshes
Simple question: How can I find an objects mesh in bpy.data.meshes?
e.g.
ob = context.scene.active_object
bpy.data.meshes[ob.data]???

Is it possible without looping over the complete bpy.data.meshes and comparing?

if you have a reference to object, then you have a reference to its Mesh too.
obj = context.scene.active_object

# all three of the following lines will refer to the same Mesh.
mesh = obj.data
mesh = bpy.data.meshes[obj.data.name]
mesh = bpy.data.meshes[mesh.name]


text:
Updating scene properties when the active_object changes
I am writing a Add-On which adds a panel to the 3d view. It should let users create primitive meshes and set details like name, subdivide, color or noise to manipulate the mesh.
Currently the used details are stored in a list per object as part of the add-on. The intention is to use the list to give the user the opportunity to see what the values are on existing objects created by the addon.
What I try to achieve:
I want the panel to be drawn always. Inside the panel are some properties which the user can manipulate and then press 'generate' so that a new object is generated with the new property values. A user should be able to select an already generated object, see the values of that object, manipulate them and generate a new object.
For example we have another object which has the name B. It has different values. If I select B, the values in the Panel need to change. The user should be able to change some of the values and generate a fully new object! The old object isn't manipulated. I only want to add some comforting behaviour.
The problem
bpy doesn't allow scene properties to be updated inside the scope of poll or draw, this means I can't automatically update the scene properies shown on the UI if one of my custom primitives is active.
The question
If there is no way to set properties from inside the draw-method, how would I achieve this?
Here's what the panel looks like.

Write a callback function, see: http://blender.stackexchange.com/questions/10910/dynamic-enumproperty-by-type-of-selection

@poor I am having a lot of properties inside the addon. Is there really no other way to do this? I don't want to write a own callback function for every property. Would be easier if I could change the value the properties the scene currently has.

You might want to try application handlers.

Maybe it's better to ask following question: How can I update scene properties when a object is set to active?

@Michael have I correctly restated your question?

@zeffi Jep! Thanks! So much better. Sorry for the late answer, was busy.

let me encourage you to delete most of your comments in this area now, as they have been included in the question mostly, this leaves this comments area clean for additional questions..

If no object is active/selected display scene's properties which the user changes to generate geometry.
If some object is active/selected display the object's custom properties (which are saved to the object when generated) so the user can change them and re-generate the object or generate a new one.
Each generated objects should have 1 property group with all the properties inside, so there is no mess.

I wasn't able to use PropertyGroup but I was able to use ID Properties. Every property has now his own ID Property. Thanks! I think someone suggested ID Properties before but I didn't know that the custom properties were ID Properties. Anyways... Could you add a small PropertyGroup-Example to your answer to show how a PropertyGroup is added types.object and how these new properties are set? Would like to use these instead of lots of ID Properties.

@Michael Look into the link in my answer - it has this exact example. Also you can find examples here: http://blender.stackexchange.com/questions/6984/color-as-custom-property/6993#6993 and here: http://blender.stackexchange.com/questions/15479/custom-vertexgroup-property

The Blender API doesn't support that kind of event->response system (or event-signal). I think the best way would be:

Store the active object in an internal variable in your addon, use that var to pick properties and draw the controls
Add a handler to bpy.app.handlers.scene_update_post. This function will be run everytime the scene updates (which is a lot).
Inside that callback watch the current active object, if it's different than the one in your internal variable, set the internal var to the new selected object.
draw()  will now use the selected object (as is set in the variable) and use different properties.

For more info on app handlers check this section of the API reference.


text:
Vertical align of mixed panel?
Is there a way to vertically align this too, meaning to remove the space between the rows and make the elements connect?

import bpy

from bpy.props import *
from bpy.types import Operator, Panel

bpy.types.Scene.test = IntProperty()
bpy.types.Scene.test2 = IntProperty()

class LayoutDemoPanel(bpy.types.Panel):
    """Creates a Panel in the scene context of the properties editor"""
    bl_label = "Layout Demo"
    bl_idname = "SCENE_PT_layout"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

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

        scene = context.scene

        # Create a simple row.
        layout.label(text=" Simple Row:")

        row = layout.row(align=True)
        split = row.split(align=True)
        split.prop(scene, "test")
        row = layout.row(align=True)
        split = row.split(align=True,  percentage=0.7)
        col = split.column(align=True)
        col.prop(scene, "test2")
        col = split.column(align=True)
        col.operator("render.render")

def register():
    bpy.utils.register_class(LayoutDemoPanel)

def unregister():
    bpy.utils.unregister_class(LayoutDemoPanel)

if __name__ == "__main__":
    register()

No, as it is: row 1 = prop - row 2 = prop, operator but remove the space between row 1 and row 2

you might have to draw schematic or manipulate an image to show us what you hope to achieve -- this makes suggesting the right code less trial and error.

You understand the formatting wrong - see this with comments:
        # simple label
        layout.label(text=" Simple Row:")

        # create column to be able to merge vertically with align=true on a column
        col = layout.column(align=True)

        # create test row inside the column
        row = col.row(align=True)
        row.prop(scene, "test")
        # even if there is only 1 item in this row it needs aligning because otherwise the column align would'n work

        # create the test2 row within column and allow horizontal merge with align=true on this row
        row = col.row(align=True)
        # we don't want to put anything else on this row other than the 'split' item
        split = row.split(align=True, percentage=0.7)

        # put 2 things inside the split
        split.prop(scene, "test2")
        split.operator("render.render")

You can also make the button span across 2 rows if you order the elements in a different way:
        # simple label
        layout.label(text=" Simple Row:")

        # start with a splitted row - we dont want to split the whole layout if something
        # needs to be added after these elements
        row = layout.row(align=True)
        split = row.split(align=True, percentage=0.7)

        # put 2 columns inside the split
        colA = split.column(align=True)
        colB = split.column(align=True)

        # fill first column with props
        colA.prop(scene, "test")
        colA.prop(scene, "test2")

        # put a row into second column
        row = colB.row(align=True)
        # adjust the row's Y scale
        row.scale_y = 2
        row.operator("render.render")

or perhaps:
def draw(self, context):
    layout = self.layout
    scene = context.scene
    layout.label(text=" Simple Row:")

    row = layout.row(align=True)
    split = row.split(percentage=0.7)

    left_side = split.column(align=True)
    left_side.prop(scene, "test")
    left_side.prop(scene, "test2")

    right_side = split.column()
    right_side.operator("render.render")


text:
How can I make the instances turn around relative to the center of the circle-curve in geonodes?
I am creating a procedural lavender generator using curves and ran into the problem that I cannot deploy instances located along the curve-circle in the direction from its center. I managed to do this using the tangent of the curve at the node of the curve translation into points. But when connecting this node system to the stem node, the rotation of the instances becomes chaotic, and I cannot understand what the problem is.
It is also very important for me to keep the possibility of random distribution of instances along the curve, I just need to set up their orientation correctly. I'm just starting to learn geometric knots, so I don't know how difficult my situation is, but I haven't been able to cope with it for several hours.
I really hope for the help of people who are well versed in this. Thank you in advance!

"Tangent" is a "direction" not a "rotation".
If you use it, the results will be really strange.
You must "align rotation to vector" to make rotations make sense.
But the vector you want is the "normal" of the curve circle, not the tangent.
And then you must "rotate (the) rotation" using the rotation of the circle itself.


text:
Noob Question - Export Model From Blender then Animate with Python
I'm new to Blender and 3D model stuff in general. I am attempting to build a python application that will have a 3d model of a face talk. I have a rigged face model that I have been working with in Blender, and my idea was to export it in a file format that would allow me to manipulate and move the rigged points on the face programmatically.
That way, I could make a facial position for every phoneme and interpolate between them to animate the face to "say" arbitrary sentences.
It's been a difficult process trying to ask questions to google, since I don't have the vocabulary to express the things that I want, so I thought I'd try asking humans on here:
Is what i'm trying to do possible?
What file format would meet the qualifications I'm looking for? I'm currently thinking that a .dae Collada file seems to fit the bill, though i'm unsure if i'm able to animate something while it is being rendered.
Thanks!

So you basically want a Python 3D engine (since exporting from Blender implies not using Blender), something like Ogre. If you're looking for a competitive 3D engine then you probably have to resign from Python and use e.g. Unity (C#) which support shape keys (it's called blendshapes there). https://docs.unity3d.com/Manual/BlendShapes.html

I think you would be better off leaving the model in blender. Blender has its own API, which I have considered using for just such a purpose (but I haven’t felt motivated to do the phoenome research neccesary). You could save mouth positions as poses, and then apply them with Python and set keyframes at the desired places.

Right, It seems most resources connecting python with Blender revolve around the API. The problem for me is, ultimately, what i'm working on needs to run on a raspberry pi or something similar. Additionally it needs to run as a standalone app. I'm not familiar w/ the API, but can it do those things?

No, the api cannot export. This actually means the question is not really for this site. This has to do with what you should do in blender to accomplish a how outside of it.


text:
How can I "force" adding a keyframe?
If I have Only Insert Needed turned on in my prefs, is there a way to "force-add" a keyframe when the value isn't changing, without having to:

go into prefs,
turn off Only Insert Needed,
add the keyframe,
go back into prefs and turn it back on?

Or is this something I'm going to have to script?

Why do you need to keep it on? Otherwise, you can still press I to call the Insert Keyframe Menu.

It keeps the timeline tidier, and works better for the way I animate. If it's on and I press i at a point where the value is not changing I get the menu, but it doesn't insert anything.

Since I want to keep Only Insert Needed on for the way I work, but still needed to be able to drop keyframes into static channels, I created a custom script that force-adds keyframes for position x,y,z and Euler x,y,z rotation, and assigned a hotkey to it. In the case in point I only needed these keyframes, the script could be easily adapted to add other keys.
https://github.com/stibinator/stibs_blender_scripts/blob/main/force%20KF.py

If you don't want to key only the changed values, I'd simply disable Only Insert Needed.
Now if you need that most of the time, you can enable that option in the autokey's popover to force key all the keying set:

You can add it to the quick favorites or assign to a custom keyboard shortcut via  RMB.

And finally, as long as you don't have any keying set selected in your keying popover, you can always call the Insert Keyframe Menu at any time by pressing I.


text:
Add a snowcap to a mountain
I made a mountain using the ANT addon. I gave texture to the mountain. Now I want to add a snowcap to it. Here is what I am thinking:

Go to Edit mode, select patches and assign a vertex group. Then assign snow material to i.

I am not sure how to select random size patches on the mountain.
Sometimes Blender hangs in edit mode if I opt for higher subdivisions, like 300
Also should I work on a 2 m x 2 m dimension mountain first and then after all modifications scale it to be 2 km x 2 km? What is the workflow?

The other option might be to find a snow object and use some scale/deform and put it on mountain.
Or duplicate the mountain, give it a snow texture, scale it slightly, and intersect with the original mountain.

hello can't you do it in the Shader Editor (paint a b&w mask that you use as factor in a Mix Shader between the mountain material and the snow material)?

Generated texture coordinates -> separate xyz -> take z into color ramp.  Same thing could be done for timberline

@moonboots I am a newbie, could you elaborate your solution/idea?

@AllenSimpson  I am a newbie, could you elaborate your solution/idea?

Unwrap your object, in the Shader Editor create a Texture > Image Texture, plug it directly into the Output, in the 3D Scene in Solid mode switch to Texture Paint mode and begin to paint white where you want to see the snow:

Then switch to Rendered preview, use the image you've painted as a factor between your basic mountain material and your snow material, through a Shader > Mix Shader, here I've used 2 Principled BSDF but of course your materials can be more complicated:


text:
How can I model condiment/sauce?
I want to model a condiment. It's call sambal. The red paste in the picture. It's a solid-liquid like sauce. How do I model this? A semisphere? Use a fluid modifier?

I tried to use a open bottom hemisphere + displace modifier (type: clouds, size 0.21). Thats the similar shape I can get

Something along these lines?
Modelling

Create a blob mesh for the general area of your condiment. This is a UV sphere, pulled around with Proportional Edit, with its mesh Header > Mesh > Transform > Randomized
Make the blob an emitter of a particle system.. All on frame 1, no physics, aimed at a small Collection of onion-bits in the particle-system's 'Render' panel. Play with the rotations, scales, etc.

Once you're happy with the surface features,'Convert' the particle system to real instances in the modifier stack, and apply the modifier.
CtrlJ Join the ex-particles to the main mesh, and give it a Remesh modifier at a high enough resolution for your desired detail.
Here, I've Header> Mesh > Clean Up > Decimated the mesh.. and ..

.. given it 1 level of Subdivision. You could obviously try other things, here, smoothing, relaxing, etc. So long as you back up destructive steps, you can feel your way through.
Shading

Here, in Cycles, using an 'Inside' Ambient Occlusion input producing a wide greyscale over the surface, put through two color-ramps.The aim is to pull the onion pieces back out for different treatment.

The top mask is very hard, to control the base color of the material, keeping the orange to the onions.

The bottom mask biases the noisy bump map to the smooth areas, avoiding the onions.

The shader uses Subsurface Scattering, set to a low radius, to catch the onions more than the rest, and biased to yellow in the 'Radius': (0.6,0.6,0.2). Your settings will depend on the size of your model. (Recommend life-size)...

.. with a few extra chunks of onion added to cover up the bits of the surface you don't like :)

That's what you call "Seasoned Advice"

..@batFINGER Cookin' on gas, today, Mr. FINGER.. :)


text:
How do I get 1 for a certain range of a value?
I want to drive a shader with a value node. If the value would be from 0.1 to 0.3, I want the output to be 1 and otherwise I want it to be 0.
I was thinking about using Greater Than and Less Than, but I can’t quite figure it out (I attach an idea I thought would work, but it doesn’t).

You can do it with a Color Ramp node. Set the interpolation to Constant, bring the black stop to the position 0.3, the white stop to 0.1 and add a black stop at 0.0.

Very nice :). I noticed that Fac=0,1 still outputs 0. But when I set the white stop to 0,97 it works perfectly. Probably a rounding error in the ColorRamp...

@JachymMichal Hmm yes the Color ramp node is notorious for its rounding errors (and inefficiency) since it converts values to colors and then back to values afterwards... But that's a very high margin of error even for floating point precision errors... It's definitely possible to mimic the same setup with a combination of math nodes but it would take more space in the editor :)

In your example, it works for the given input, that is a value 0.2 produces 1 output: value is both greater than 0.1 and lesser than 0.3, both condition nodes outputs sum up to 2 which is clamped into the 0...1 range, so becomes 1.

However let's see what happens if your value is below the 0.1...0.3 range: it passes only one condition, but since summing 0 and 1 results in 1, which is the same result as in previous case due to clamping in that previous case.

So Math > Add is an equivalent to Logical OR: if either of operands is True, the result is True. You need something different, Logical AND: if both of operands are True (both less than .3 and more than .1) the result is True, otherwise it's not True (False). In order to do that, replace your Math > Add with Math > Multiply - now if either of the comparison nodes will result with 0, the other result will be multiplied by 0, resulting, of course, with 0. So the only way to get 1 will be to have a value both lesser than .3 and greater than .1!

There's a simpler way, however, Math > Compare will result in 1 if you're not more than Epsilon away from Value (otherwise 0)

In general to output 1 if input is in range a...b, set the Math > Compare this way:

Epsilon = (b-a)/2
Value = a + Epsilon

so for range 0.1 ... 0.3:

Epsilon = (0.3-0.1) / 2 = 0.2 / 2 = 0.1
Value = 0.1 + 0.1 = 0.2

In simpler terms set the the Value to the middle of the range, and Epsilon to half of the range.

in my opinion this should be the right answer...because it's easier to setup and hopefully more precise.

@Chris this is a tricky thing on SE, in the end the userbase decides what it likes more - with votes. :)

i know. I just wanted to express my thinking ;)

This is exactly the way I would do it.

Oh, right, completely forgot about that :)

Oh wow, turns out Chris was right!


text:
How can I create complex edge profiles on columns?
I'm a complete beginner to Blender and I'm trying to create an accurate model of the Tuscan Order, based on William Chambers' "Treatise on Civil Architecture" from 1759.
So far I've made a rough outline of it using only cylinders and cubes of various dimensions. I haven't figured out how to properly curve/round their sides however.
This is what it looks like at the moment:

There are a couple of different types of curvings I'll need to do, as can be seen below:

Make the sides of the cylinder completely rounded, and have the flat upper face begin where the next part of the column stands (i.e. make it in the shape of a half-circle).
Make the shaft of the column slightly taper outwards where it ends.
Make the sides of the cylinder rounded, but only from one direction. (i.e. make it in the shape of a quarter-circle)
Make a Cyma Reversa (inverted s-shape)
Make a Cyma Recta (s-shape)

I'd be grateful for any help I can get, whether it's for all, or just one of these curvings!

For the circular base, you can use the Screw modifier.
That way you can easily change the shape and number of sides.

Create a profile from vertices or using a Bezier curve
Add a Screw modifier
Done

Thanks for the answer! One more quick question though - why does my screw modifier keep spinning the profile across the wrong axis? I've toggled Z, but it ends up looking like this: https://ibb.co/CJBkKYw

Hello :). Perhaps your object has un-applied rotation. Go Object > Apply > Rotation, that should help.

You can accomplish most of what you want using a bevel. Select an edge between two other edges that you want a "round transtion" between and press Ctrl+ B. You can control the number of subdivisions by scrolling the Mousewheel and control the size of the bevel by moving the mouse.

There is even the option to set a custom profile, giving you more control over the shape of the curve.

The last shape (bottom in your image) can be accomplished selecting both the top and bottom edges of a cylinder, and beveling them together.


text:
Eevee - Crashes on render if render size too big
If I set the render image dimensions to something too large, then when Eevee gets to rendering the first sample, my screen would black out (backlight still on) and then some seconds later Windows would come back and the Blender window would be white. Checking on task manager, Blender's CPU and GPU usage is at 0% and killing the process is the only way to close Blender. Rendering at a smaller image dimension would proceed as usual (mark that in both cases, the VRAM usage is 100% and some system RAM is used as well.
My config:

A10-9600P
AMD Radeon R5 Graphics
AMD Radeon R7 M340 (which was R8 M445DX before a driver update and Blender sees it in Preferences as 'AMD Radeon R5 Graphics')

VRAM: 512MB
Blender 2.8 in all the betas I've tried (Q4 2018 - Now)
Scene has volumetrics btw

512MB is quite a small amount of VRAM to fit your scene and rendered pixels into. This should not be a surprise. I don't see how this problem can be solved by an answer.

Then what's holding my GPU back from using system RAM? My GPU can use up to 4GB of my system RAM as spillover.

I wouldn't count on it being possible to use RAM instead of VRAM, but maybe I don't know something. Well, it should not crash like that so you could try reporting this as a bug. However, I think a reasonable thing to do would be to upgrade the hardware to something more appropriate and better matching your needs.

From the Limitations page:

Memory Management
As of now Eevee uses OpenGL, and GPU Memory management is done by the OpenGL driver. In theory, only the needed textures and meshes (now referred as “the resources”) for a single draw call (i.e. one object) needs to fit into the GPU memory.
In practice, using too much GPU memory can make the GPU driver crash, freeze, or kill the application. So be careful of what you ask.

It is possible the EEVEE crashed on the VRAM size, if the single draw call need more RAM than the VRAM actually have.
The sharing from system main RAM is kind of storage, while the shader program (OpenGL) need all the resources stored in your GPU RAM to run that program. Like a warehouse(RAM) and workshop(VRAM), you can't directly use the thing stored in warehouse.
And the 512 MB is quite small for nowayday OpenGL application, Blender may not focus on these light weight devices support for now, nor does full feature OpenGL. So try to limit some setting in EEVEE to make it fit to 512MB.

Yea i ended up having to reduce polygons and sending the project to my friend who has 4GB instead of 512MB. But thanks anyway. I hope blender can sort out render bounds in Eevee since Eevee would still render the whole frame first then crop unlike cycles.

@iBlueDust That will be a very difficult solution since the render pipeline is way different from cycles. And that is not how EEVEE suppose to do, still a good feature if any.

I juste find a trick to render a 2 time bigger image (4K > 8K).
I requires render 4 separated cameras. (Ok it is not perfect...)
Cam 1 :
Camera > Lens >
Shift X > set to -0.5
Shift Y > set to -0.28125 (if 16/9)
Camera > Size (Sensor) > set to 18 (if base is 36)
Camera 2, 3 and 4 :
Shift X and Y so you have all + and - possibilities.
Keep 18 mm sensor size.
I think parenting the 4 camera to the main one should make the trick on animations.
For render several cameras at once: https://www.youtube.com/watch?v=mFSq0nUl-0Y

I will write here. Maybe I will help somebody.
I had a similar issue and I thought that it's a memory problem. My Blender 2.80 was rendering few frames and crashed. I tried rendering on differrent computers with different setups. I changed memory cards and graphic cards.
Found out that upgrading Windows from 7 to 10 was the solution. I think this version of Blender doesn't like Win 7.
Cheers GS

"I think this version of blender doesn't like win 7" no, It does. In your case updating something else along with OS was the reason


text:
Can't switch to edit mode for some objects, but can for others
(like others asking similarly to myself) I'm just getting started with Blender.
I'm following a tutorial series on YouTube and thought to give myself something more interesting than creating a single donut, why not three donuts?
I'm trying to switch to edit mode for my frosting on my donuts to pull down and create the drizzle, but I can only go into edit mode for a single frosting object.
Frosting.002 (selected in the scene collection) is allowing me to enter edit mode:

But I cannot enter edit mode for the other two, even though I have them selected in the scene collection (as pictured below)

I'm not sure what I'm not doing correctly, as it seems this is usually remedied by selecting the appropriate object first (which I thought I did) or restarting Blender. Neither have worked for me, unfortunately. This leads me to believe I've set my objects into a state that needs to be un-done, but I'm not sure what that would be or how to go about fixing it.

Have you tried restarting your computer ?

@Aster17 Just gave it a try. Unfortunately no dice. I can jump to edit mode for literally anything else but the two frosting objects listed above.

try deleting those 2 frostings and and create them again

You may have selected multiple objects for editing and then deselected some of those objects in that mode. Does this vid help? https://youtu.be/UX8s2TY14yg?t=74


text:
How to combine rigid body animation with character rig?
Pardon my ignorance, I'm inexperienced and not sure how to search for what I want to do. I want to rig a character with multiple visible components (such as a robot, lego-person, or spooky skeleton).
There are plenty of tutorials on YouTube that demonstrate how to add animations to such characters, but I want to create a character spawn animation where the pieces of the assemble themselves by their visible components. There are tutorials showing rigid body like objects (such as buildings) that can be constructed procedurally, but I'm not sure if these ideas can be combined; or if I need to do something else entirely to accomplish this but my vocabulary is too limited to properly search.
I don't know if it's a necessary detail, but I'd like this to be exportable for consumption by a game-engine so I'm hoping this has an answer that is general and not only suitable for a pre-rendered video output.

Heya, I'm just spitballing here because I don't know the details of what you wish to do, so I just try to hint with some vocabulary.
I'm guessing the lego-parts are lying on the ground and spawn in as well?
Take the individual LegoParts to a program like Blender and assemble them like you wish to have them in the end, then start rigging the character (meaning to assign/parent  Bones (of an Armature) to the individual parts), and then make two poses one of the deconstructed character and one of the constructed one and interpolate/animate with more detail between the pose with keyframes.. GL!

@AMNOFFICIAL Yeah that is the general idea. So I guess I'll ask; can I use the same file with both types of animations without them conflicting? I'm used to photoshop, but I guess I'm not sure I understand how blender relates in this situation. Meaning, if I animate an object together and then put the rigging at the end of that animation, is that not retroactive or does the rigging only take place from that moment on?


text:
get Noise Value from render
with blenders new adaptive sampling the sample count is based on the noise threshold.
Is there some way to get the current noise level per pixel?


text:
Regions in my scene seem to render with less illumination
I have a simple problem in my scene:
I have 4 lights, but only central lights are working in my render.

More info:
I tried more lights or planes, more emission strength, but the illumination don't penetrate inside of cylinder, the cylinder is cutted in half.. only the central  illumination(Normal illumination) is working good.
My goal is a illumination equal to the object's center (normal illumination) for all parts of the object
This render will be used for texture of another object, but is still a draft, ignore the number of polygons ...

Please state your goal for illumination.   Example Scenario 01.  I want the scene to have 4 bright spots and otherwise rather dark.  Example Scenario 02.  I want the scene to be rather brightly lit everywhere.   You might also change your great annotations to also state SUCCESS or FAILURE.

Is it possible you could upload your .blend? This would be the easiest way for us to get a sense of what you are trying to achieve, and what is actually happening.

My objective is a illumination equal to the center of the object (Normal illumination)

I posted more information and my blend file!!!

Sorry for not being overly helpful here but if your aiming to create a texture, for something else (I assume an HP bar from the title of the blend file), why not use something like Paint or Photoshop? I feel like your making you life too complex, but I might have misunderstood the question... :)  Also use a single directional light with no attenuation if you want everything to be lit evenly.

Sorry, i'm noob in image editor, will be made several bars using the same illumination and mesh, but other materials, the illumination is not uniform !!!
Thanks man
Obs: isn't a HP bar, It's a Active Time Battle. :D

Removing the caps from either end seems to help light bounce correctly.

Or instead of deleting the cap, detach it from the vertices around it.

I had tested it with 900 in all, but I do not have success !!!!

Good, this is not a best solution, but solves my problem :D

You can also detach that cap/fan instead of deleting it. that works too.

Thanks, now i have illumination in my texture, i will remake the object, for had more detail and organization...
Thanks

Since you have stated you are new to Blender, sometimes deleting objects, lights and other items removes subtle mistakes. Archive your file under a new name, so this operation is very little risk.  The second time you model these objects will be faster than the first.
Delete all the lights and add them back. Logic stated in bullet 1.
Delete the whole scene and start from scratch.  Logic stated in bullet 1.
I assume you want brightness everywhere.
Add more lights or raise your lights higher along the z axis.  Increase the strength.
Add a more distant larger plane. Orient its face towards your scene. Select the emission shader. See image below.

If desired select Cycles Ray Visiblity Camera to FALSE unchecked. This will prevent the render from showing a bright rectangle.  See image below.

Verify you are satisfied with the render results.

I tried more lights or planes, more emission strength, but the illumination don't penetrate inside of cylinder, the cylinder is cutted in half.. only the central  illumination is working good.

I suggest you consider the new bullet points above. What do you mean inside the cylinder.  Is the cylinder transparent?  Do you mean on the cylinder?

check my blend file...


text:
subsurf splits the mirrored model into two objects
I tried to subsurf this model that I mirrored but when I use subsurf it splits the model into two objects.
Before Subsurf:

After Subsurf:

Any help would be appreciated.

A couple of things could be effecting your model.

Internal faces cause the subsurf modifier to "pull in". To fix this you need to delete the faces that will become internal faces after the mirror modifier duplicates your mesh.

The order that the modifiers are listed effects how they interact. Having the subsurf before the mirror can cause the edges in the centre of the mesh to pull away before the mirror duplicates the mesh. To fix this you need to have the subsurf under the mirror modifier. You can use the up and down arrows on the modifiers to re-order them.
If your subsurf modifier is after the mirror and the edges still shrink away from the centre of your object you need to enable merge in the mirror modifier. Enabling clipping in the mirror modifier can also help to get the centre vertices aligned so that they merge.

yes. this might be it. I have a face on the inside I will delete when I am done at work. Thanks.

In the mirror modifier check the clipping box so that the intersection in the middle doesn't split if you haven't already applied the mirror modifier

Even when I have clipping turned on it doesn't connect when I apply the mirror modifier. Before I add subsurf I have to manually move the mirrored side to be aligned properly.

From what your screen shot shows, these are my suggestions : Make sure that 'clipping' is turned on for the mirror modifier on the y axis, then  add smooth shading to the model, and apply the mirror modifier. Then add a subsurf modifier. Apply the subsurf modifier, and all should look good.

the advice to set smooth shading + apply modifier aren't vital to showing the OP what the problem is here.

Even when I have clipping turned on it doesn't connect when I apply the mirror modifier. Before I add subsurf I have to manually move the mirrored side to be aligned properly.

This can happen sometimes, as the modifiers are switched,
The Mirror Modifier has to be on top of the SUBD modifier so the mesh can merge together before getting distorted by the smoothing of the SUBD.
Solution:
Mirror Modifier over SUBD Modifier.


text:
Improving AA in Cycles / Removing jaggies
I am noticing quite some jaggy edges in my renders. I don't see AA options when using Cycles. Increasing the samples only seems to reduce noise.
The images show the problem areas marked. They are using different sample settings, but the edges are exactly the same.
You might have to download and zoom in to see better.
With "samples" i am referring to the samples in the properties window of the render tab (properties->render->sampling). First picture was using 24 with "square samples" checked, second one was using 300 samples.

Here is a zoomed version, 200%

The second image shows 300 samples without "square samples" ticked. And as mentioned, the jaggies are the same.
Pity that there is no extra setting for AA strenght. But i will try a differernt sample pattern, good idea!

I tried correlated multi-jitter. Its different, but no improvement.

I thought maybe mis-using the compositor for AA.
So setting the render output resolution to twice what you need, then add a transform node in the compositor before file output and setting it to scale down to 50%. The transform node also has a filtering option.
Cumbersome, but basically thats what AA would do.

Here's an example of a similar problem I'm facing at the moment.

Here the ribbed feature of the can happens to be on the boundary of pixels for every rib, this means cycles won't know which colour to make most important (that would require spatial antialiasing), it doesn't have contextual information that our brains have. This is the Moiré effect, it almost looks transparent.
But if I zoom in and render just the can at higher resolution it's obvious that the geometry is fine.

I may be wrong, but I think this is an edge case which directly relates the feature size being so close to pixels and that causes the jaggie pattern to emerge. As for extra AA, cycles does AA implicitly I think it's part of the algorithm, if it's getting it wrong there's little that can be done (without changing the geometry a little)
This may seem like a lazy answer, but it's normal to render at higher resolution than the final needed render, and sample down in post-processing to help the AA. In the case where you have features which are about the same size as a pixel (or in a pattern of every 2nd pixel), this becomes important. It's easier to sample down once you have all the right pixels than it is for Cycles to perform AA with insufficient information.
Other helpful ways to reduce jaggies are:

bevels to make the surface edges less abrupt (help guide the light)

but make sure the bevels are finer grained than the pixels used to represent them, so go for a multi-cut fillet if you can spare the geometry.

add imperfections (most surfaces are not flawless..it all contributes to realism and helps break up unwanted patterns)
softer lighting, more bounces.
The post processing tab has a Dither option to help avoid banding, worth seeing if that tames the effect a bit.
reduce the glossyness, or specular effect, it will be most noticable at the corners. that means the difference between:

and

Well, the way i understand AA is, that the renderer internally renders at a higher resolution (for example 4 times if AA is set to 2x2) and then scales down for final output.
So while you are right that Cycles couldn't perform AA due to insufficient information, it could do so if it was possible to tell him to render at higher res internally by some AA setting.

We have pixel filter size with gaussian filtering (default) in render properties, film tab.

I tested this, but it made the image just more blurry. No increase in AA quality.

Sorry it didn't help you. I don't know a lot about pixel filters, but I remember reading about aa issues when there is a lot of contrast, like in your image. Maybe it would help if you set "Clamp Direct" in render properties, sampling tab. Try setting it just low enough to not lose brilliance, but toning down highlights enough so that antialiasing has an easier job.

I just tested, it definitely helps. You can check how high the RGB values are by clicking on the image in the render window. At the bottom will be RGB value display of the sampled point. In my case I had values higher than 3. When i set clamp Direct to 2 or even as low as 1, aa at such a high contrast edge is greatly improved.

I generally don't like clamping, as it means loosing image information. But its good to keep in mind for extreme cases.


text:
Addon: run execute() only when button is clicked
I'd like to create an addon, which has some properties and a button. The addon should only does the scene modification when the button is clicked.
Currently my addon is placed into the specials menu of the curve. When I select it, its properties are displayed on the side panel and its execute() method is executed immediately.
I'd like to have a button under the properties on the side panel and to do the scene modification only when the button is clicked.
Where can I find an example for this use case?

You can also add an invoke method and call WindowManager.invoke_props_dialog:
def invoke(self, context, event):
    return context.window_manager.invoke_props_dialog(self)

I prefer this solution currently, because it was easy to adapt :) Ok it is not on the side panel but on a dialog, but it seems to be good for my case.

There is an issue with this. When I press OK on the dialog, the operator and its properties are also displayed on the side panel. Is it possible to deny it?

Don't use the REGISTER option in bl_options of your operator. See docs


text:
Info view print order / displaying debug information
I have the following code:
self.report({'INFO'}, 'a\nb\nc')
self.report({'INFO'}, '0\n1\n2')

In the info view the output is displayed as:
c
b
a
2
1
0

Is it possible to configure the Info view to display it in a normal way, like:
a
b
c
0
1
2

You shouldn't call report() twice under normal circumstances.

I'd like some terminal like window for debug messages. Is there any other way? Launching blender from terminal is not an option, since I have single monitor configuration and it is unconvenient to switch between windows.

I place the console and Blender side by side, works for me. You could also push to the Python console, or use a draw handler to overlay information in the 3d view.

This could be used, but i'm sure i'll receive some heat for suggesting this. Run this from text editor, and it will print 'wooot' in the first available blender Python Console.
import bpy

# doesn't support passing the context
# from console_python import add_scrollback

def add_scrollback2(ctx, text, text_type):
    for l in text.split("\n"):
        bpy.ops.console.scrollback_append(ctx, text=l.replace("\t", "    "),
                                          type=text_type)

for area in bpy.context.screen.areas:
    if area.type == 'CONSOLE':

        ctx = bpy.context.copy()
        ctx['area'] = area
        add_scrollback2(ctx, "whooot", 'INFO')
        break

A few caveats, this isn't recommended at all, and especially not for printing out large chunks of data rapidly. That's what logging is for, you can write output to text files on disk, much much faster than your machine can print messages to the screen (printing to screen slows down your code significantly if it happens in tight loops). The benefit of writing to disk is you have virtually no limit regarding the amount of lines you can record, unlike most terminals/consoles which have a finite scroll-back buffer.
In the long run most of us conclude that it's more convenient to have a  console/terminal open in addition to blender, be it landscape or portrait. This means starting Blender from a console, or creating a start-up shortcut that first spawns a console and then from that console an instance of blender.
If you do use regular terminal / console then be selective about what information you print, and avoid print statements that might be triggered in tight loops.

Why is it needed to copy the context?

The operator that gets called in the end (.scrollback_append) needs to know the context. More about context override can be read here


text:
Rotating an Empty at a constant speed, through a Python script
I want to make a Python script that rotates an Empty at a certain constant speed.  The python script will rotate this empty for a certain amount of time, and then it will stop. Does anybody know how such a Python script can be made?
The idea of a certain speed, is that I want the empty to rotate along its local axis, a.k.a its own origin, and completing two pi radians in a certain amount of time, so it will rotate a full revolution in time (t), and I want this time to be a variable,  so I can adjust how fast the rotation is.
My idea is that I wanted to parent a propeller or any other object to this empty,  and when the empty rotates,  the propeller will rotate as well.

Is using Python a requirement?  Do you just want a rotating object by simple means in a simple situation?

@atomicbezierslinger  Yes it is required, because I want to get feed back from the rotation of the empty.

@zeffii I want to be able to put different values for (t), but whenever the empty is rotating (t) will be one unique value.

Consider just keyframing the rotation of the empty. Simple animation. 0 degrees, 180 degrees, 360 degrees. 3 keyframes and then adjust.  In the graph editor add a cyclic modifier.


text:
How to remove a common prefix from vertex-group names?
I'm looking to write a script that can remove a prefix from all vertex group names, so that I can use the mirror modifier appropriately. The models I work with have "b_" as a prefix for most group names. I found this script to add the prefix back on after mirroring, but it still takes far too long to process the whole thing.
Updated: Removes & Adds prefix back in
import bpy
obj = bpy.context.active_object
bpy.ops.object.mode_set(mode='OBJECT',toggle=True)
for g in obj.vertex_groups:
    if g.name.startswith('b_'):
    print(g.name)
    g.name = g.name[2:]

else:
    print(g.name)
    g.name = 'b_' + g.name

Intrigued, what is the hassle with "b_"  prefix and mirror modifier? secondly what takes a long time to process, surely not the posted script?  Otherwise this appears to be a python string manipulation question, that can be handled with replace or similar.

When i use the mirror modifier with these vertex group names, the vertex groups are not mirrored, because blender is looking for the Ls and Rs, it takes a few minutes to change all of the vertex groups, which is why i looked for this script, but it only covers putting the prefix back in, and not removing it in the first place

To remove the "b_" prefix
import bpy
obj = bpy.context.active_object
prefixes = ["b_", "f_", "h_", "x_"]

bpy.ops.object.mode_set(mode='OBJECT',toggle=True)
for g in obj.vertex_groups:
    for prefix in prefixes:
        if g.name.startswith(prefix):
            g.name = g.name[2:]

Thanks! I altered this to work both ways as you can see in the main post. However, the face groups, hand groups and miscellaneous groups such as tail bones use a different prefix (f_, h_, x_). I'm wondering if there's a way I could adapt the script to check for all four prefixes separately and add the correct prefix back on :S

The manual page for the mirror modifier explains the vertex groups option as -

Vertex Groups
When enabled, the Mirror modifier will try to mirror existing vertex groups.
A very nice feature, but one that has very specific prerequisites:

The vertex groups you want to mirror must be named following the usual left/right pattern (i.e. suffixed by something like ”.R”, ”.right”, ”.L”, etc).
The mirror side vertex group must already exist (it will not be created automatically). It must also be completely empty (no vertices assigned to it).

So you should have no problem leaving your prefix in place, but you want to add a .L suffix to the existing vertex groups and create a matching empty .R group for each existing vertex group. (or add .R and create the .L groups)
import bpy
obj = bpy.context.active_object

vg = obj.vertex_groups[:]

for g in vg:
    if not g.name.endswith('.L'):
        obj.vertex_groups.new(g.name+'.R')
        g.name = g.name+'.L'
    else:
        obj.vertex_groups.new(g.name.replace('.L', '.R'))

That's very interesting, it works well for custom models, but a lot of the models I work with in this scenario have to be named as they were to function properly in game, so I can't change the names to append a suffix, only remove and replace the prefix. Thanks though, one step closer to becoming a python master :)

The suffix makes the mirror vertex groups work. Before exporting for the game engine you can apply modifiers, then run a script that has if g.name.endswith('.R): g.name = 'b_'+g.name.replace('.R','')


text:
How to make Blender use Python2.x?
When Blender is installed, it creates its own copy of Python 3.x. However, I prefer to code in Python 2.x. This makes it difficult for me to work with newer versions of Blender. I would like to know what to do so that Blender will instead use an external installation of Python 2.x, which I already have installed on my computer.
How do I make Blender recognize the other version of Python?

Maybe you would like to clarify what bit of python 2 is more comfortable than python 3. I know plenty of people who took a long time to step over to py3, but eventually concluded that their original resistance could only be justified in a select set of scenarios (like some modules not being available for py3 - yet) Is it the print() statement? the try-except stuff? or the xrange vs range?. Progress to py3 is inevitable, for many use cases it is faster and has more conveniences.

Out of curiosity, can you say why you want to use Python2.x ?

I use Python 2.x for my work doing desktop application design, and I haven't yet switched over all of my code/packages/IDE to Python 3.x. I'll have to switch over sometime, but until then I would like to use the same version of Python for all of my coding projects.

Python3.x was being release about the same time blender was undergoing a complete api rewrite (which meant we had to rewrite all our scripts anyway), we had had trouble supporting multiple python versions already (2.4x -> 2.6x), so we made the move to a single, bundled Python version - and using Python3.x was a good choice to avoid yet-another rewrite/update later on.

@Gwenn might want to look into VirtualEnv, so you can have several python installations going on.

In summary - you can't.
Since Blender 2.5 we've moved on to Python 3.x This means it is not possible to use Python 2.x for scripting in Blender.
Now it's impossible to build against Python 2.x, and even if you did manage by editing the source-code, you'd probably run into problems running Blender, since Blender's own scripts are coded in Python 3.
Setting PYTHONPATH to a non Python 3.3 installation like Python 2.7 will cause Blender to crash and die horribly. (So always make sure you don't have PYTHONPATH set to a non-compatible Python version. But you can use it to point to an external Python 3.3 installation that has extra modules installed that don't come bundled with Blender).
Note: with current Blender pointing to Python 3.1 or Python 3.2 will also fail. So make always sure you point your PYTHONPATH to same version as used in Blender, should you need the external one.
In the long run you'll be better off getting used to Python 3. Also here is the proposal for the switch.

You could possibly edit your comment - 3.x --> 3.3, Important to note that if you have blender built against 3.3 and point PYTHONPATH to 3.2, 3.1... etc, it will fail.

You can also use the Python lib2to3 package to automatically convert code directly from Python 2.x to Python 3.x. That way, it is possible to write your code in 2.x, then convert it to a format Blender understands (3.x).
This package comes installed with newer forms of Python under the Tools/scripts directory. You can use it to convert a single file by typing $ 2to3 example.py at the command prompt.
There are a variety of different options built in with this package to make this a quite powerful package. It is described in full, glorious detail at http://docs.python.org/2/library/2to3.html, for those who are interested in learning more.

it won't help converting blender 2.49- python code to 2.5+ code (just in case anyone thought that).

But it will help the OP's purpose of being able to write code in the version they are most comfortable with.

seems like unnecessary stubbornness of the OP to have to resort to 2to3 tools for all python he/she intends to write for Blender 2.5+. You didn't respond to my request to give reasons why you can't write directly in py3.

Technically Blender has one originally math-python modules now ported to C++ therefore built-in subroutines, so you can't make the imports even if you replace the working python version as i did next.
so you wouldn't import numpy for example in the first attempts.
so i tried really hard and i did. used PYTHONPATH and also the following then blender did run the alternative python but would not load BPY
import sys
addons=r"C:\Program Files\Blender Foundation\Blender\2.67\scripts\addons"
modules=r"C:\Program Files\Blender Foundation\Blender\2.67\scripts\modules"
startup=r"C:\Program Files\Blender Foundation\Blender\2.67\scripts\startup"
lib=r"C:\Program Files\Blender Foundation\Blender\2.67\python\lib"<br/>
DLLs=r"c:\\Program Files\\Blender Foundation\\Blender\\2.67\\python\\DLLs"
packages=r"C:\\Program Files\\Blender Foundation\\Blender\\2.67\\python\\lib\\site-packages"
python=r"C:\\Program Files\\Blender Foundation\\Blender\\2.67\\python"

sys.path.append(addons)
sys.path.append(modules)
sys.path.append(startup)
sys.path.append(lib)
sys.path.append(DLLs)
sys.path.append(packages)
sys.path.append(python)

so i copied BPY.so
like this
Linux:
cp ./bin/bpy.so /usr/lib/python3.3/site-packages/
cp --recursive ./bin/2.65 /usr/lib/python3.3/site-packages/

Windows:
copy bin\bpy.pyd C:\Python33\Lib\site-packages\
copy bin\*.dll C:\Python33\Lib\site-packages\
del C:\Python32\Lib\site-packages\python33.dll
xcopy /E bin\2.65 C:\Python33\

and still nothing for import bpy

You can't use python 2 in blender anymore but you can make it use you system python but compiling blender from source. This is especially useful on OSX if you need to use the Framework version of python to prevent it from crashing when do anything with the native Mac GUI.


text:
Can matcaps be used for all objects and not just selected objects?
Update, in 2.71 and newer, there is no longer a limitation
I like to use Matcaps as they greatly improve the viewport performance and are good when editing to get an idea of what the object looks like textured. However, if I have multiple objects, only the selected object shows the Matcap.
Is it possible to use Matcaps for all objects, and not just the one selected?

First question first: what are 'Matcaps'?

@Gwenn Matcaps allow the use of a set of predefined GLSL shaders in the 3d view without rendering. They somewhat match a set of materials though they do not take user textures and are not perfect renditions. A full render should still be used to check appearance.

I seem to have the opposite problem with Blender 2.73.  When I turn Matcap on, all objects are shaded with the same Matcap texture.  For sculpting, I only want the selected object shaded with Matcap (as in numerous tutorials).  How can I get it to just do Matcap shading for the selected object in Sculpt mode?

@Chuck you should open a new question for that.

You can do this by adding a new material and then adding an image texture to it, load in a matcap (grab some here from Blender's online src) or here from zBrush's free library and under Mapping in the texture tab set the coordinates to Normal.
Now in your scene, in the N panel under Display, change Shading to GLSL, switch the viewport shading to Texture with Alt + Z and add a Hemi lamp to your scene. Any objects with the material will now show as such.
To have all objects use matcaps just temporarily assign that material until you need to render etc. If you have multiple objects, you can quickly do this by selecting all the ones you want to apply it to then selecting the one with the material applied already and hit Ctrl + L and choose Materials.

is this still the same process in blender 3.1?

Under Viewport Shading tab select Random in the Colors section.

This question is no longer relevant in newer versions of Blender (it's 9 years old!) since nowadays switching to MatCap applies the same matcap to all objects. And your answer does not provide a solution, since Random gives random colors to objects, which actually makes all matcaps tinted slightly different instead of making them all the same. And even if someone still uses such an old version where the matcap only worked on selected objects, the Random feature wouldn't be available to them because it was first introduced in version 2.80.


text:
Hiding all but the selected objects?
I was doing my best to follow this tutorial from the Blender Guru, but, alas, 8 minutes in I've run into a real spot, a few moments after this spot in the video.
I can only hide the selected, not hide all BUT the selected.  (Edits then effects ONLY the selected vertices.)  I know, there is a way to invert selection, but it doesn't look like he does this.
Also, what does he mean do he says, "This is not perfectly aligned..."

You can hit Shift+H, this works for all areas of blender which support hiding (editmode, uv-editing, sequencer... etc).
In Blender, if you know the the basic action a key is assigned to such as (hide H), you can try different combinations with Shift, Ctrl or Alt to often perform the inverse.

I tried this, and it's great, there's just one problem - how do you unhide all, once that you're done? Tried Shift, Ctrl and Alt +H, didn't help...

unhide is Alt + H

It would be great if there were a way to just unhide the objects that were visible before. I work with a lot of objects in the scene sometimes and it would save me a lot of time.

For completeness; you could also switch the View from Global to Local by pressing Numpad-/ for selected objects.
This is also accessible from the Menu: View>Global/Local.
From the documentation:

Note that the layer and lock buttons on the 3D View header disappear
  while in local view.

He manually selects the bottom of the glass with border select (B) and then hides it (H), then does the same for the edge loop above.
Note that he has Screencast keys enabled, so you can see exactly what he does:

A: Deselect all
B: Border select
H: Hide

For flattening the mesh, he does SZ0 to set everything selected to the same position along the Z. See How to align a cluster of points?

Other guys have shared you with some very nice tips on hiding. However, I want to point out the key problem that is puzzling you now.

Andrew didn't "hide all BUT selected". In fact, he just simply hided all vertices on that circle loop by hitting H. The reason why it appears that everything else was hidden is:

He didn't show the complete view of the whole bottle during the following seconds. In fact, the top of the bottle is still there. You can confirm it around 08:53.
Furthermore, when in Edit Mode with Wireframe display, the Subdivision results generated by SubSurf modifier will be always shown, regardless the visibility of elements on the base object. That's why you cannot see them anymore after he hit Z to switch to Solid view.

About your last word, I didn't notice he ever said anything like "This is not perfectly aligned..." Can you provide the exact moment in that video?


text:
Animated mesh has incorrect transforms when exported to Unity
I am exporting a model to Unity 3d. Some parts of the model appear rotated 180/90 degrees. I have tried CtrlA and resetting the location/scale/rotation but to no effect.
I am directly using the .blend file in the Unity Asset window; without using any export file (dae, fbx etc).
Just to mention that the models transforms are ok when in scene view in unity; until I press the play button that is...
In blender (first image) and in Unity:

You can download the model here to check for any problems.

I don't think you applied the scale/rotation for all of them. Make sure you do this. A -> Ctrl + A. Also try removing the items from the group.

I did, but i lost the animation on the moving parts.

As a general rule of thumb, it is a bad idea to animate meshes for use in other applications, there is alot to take into consideration such as world coordinates etc. After animating these, you have very limited control over the mesh in terms of applying transforms or even modifying the mesh later.
Solution, use bones to rig and animate the windmill after applying transforms to the separate parts. Example file with rigged windmill and applied scale and location. By making use of bones to handle the animation, your hard suface model can now be manipulated without the risk of breaking anything else.

Makes sense now. I was of the impression that the animations should be smoothly exported into unity. Will incorporate your suggestions into my current workflow. Thanks...!

Yikes! this one is dead too! are there any living remnants of the pastall era?


text:
Assign a shortcut to "Limit selection to visible" toggle
Where might this entry reside in the User Preferences > Input list? I would like to assign it to a key (using ver 2.69)

This is not available by default in preferences but you can add it manually. Open your user preferences and go to the Input tab, toggle 3D View and then Mesh.

Scroll to the bottom where you will see a button that says Add new. For the identifier, enter wm.context_toggle and for the Context Attributes enter space_data.use_occlude_geometry, next assign a key combination to it and save your user settings.

Nice! I was messing with that for a while.

2.80 is still beta, but it doesn't hurt to know that for this advice to work is important to know that once you expand Mesh, you still need to expand the first entry too [Mesh (Global)]. Otherwise, you won't see that Add new button at the bottom.
Actually, after a closer inspection, the entries called "identifier", and "Context Attributes" are not found available.


text:
Does the Blender Game Engine support mobile platforms?
Can BGE games be built for mobile platforms? (Android/iOS)? If not, is support planned?

You may also want to look at gamekit as an alternative.

In addition to gamekit, Unity is really popular for creating android and iOS games with blender models, but it is really expensive.

@J.A.Streich i have looked into unity and as you said expensive... i try to stick to open source software as much as i can.  i dont see any reason why blender doesn't become the open source alternative to unity ... or better yet, everything... i would love to see blenders feature set expand beyond its current intended functionality.

Currently out of the box, there is no support. Work has been done to port blender to android, link here, here, and here. You will have to build a mobile version yourself.

Blender for Android is only the player.  I would still use my full size Linux box with a touchscreen.  Then test it on a Android device (1 GB RAM).  However, the power as time goes on, the smart phone might be able to support Blender of Android: https://www.youtube.com/watch?v=Zj4AmAElqzg
That is going to be fact.  However, I need to be willing to use a expensive smartphone solely as a game development platform.  I am not there yet.


text:
Is a "Blender Game Engine" game built into native code or something higher level like python?
When building a game made with the Blender Game Engine, is the resulting program native? If not what is it compiled into?

The binary that executes the game (i.e. Blenderplayer) is native code compiled from a combination of C and C++. I don't think there are any Python based Blender operators that run when you play a game. So yes it's completely 'native'.
If you choose to extend the game with Python script, which will be interpreted at runtime with a Python 3.3 (as of Blender 2.70) interpreter, then it will be a mix of 'native' component and interpreted scripts.
Unless you are doing some serious Python coding, the performance overhead of Python is very small.

very nice, so this would theoretically make a blender built game more efficient than one made using java (in an IDE such as eclipse), am i correct?

@KonnerRasmussen One could correctly assume that yes with respect to the languages.


text:
Add proximity loops to sharp edge without affecting mesh shape
how can I sharpen this with a proximity loops with out affecting the shape of the cylinder?

Press Shift + E to make a crease. http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Generate/Subsurf#Weighted_Creases

I dont want a crease because I will export this to another program so I should use proximity loops

I'm fairly certain that adding loops will ruin the cylindrical look along the length of the model since they will continue past the point you are focusing on.

You could select those edges and bevel them using the interactive bevel tool (CtrlB) and move your mouse to adjust the level. This will create an additional set of faces that you also ring cut to get an even sharper edge without affecting the shape of the object.
Note that adding additional ring cuts to this face will create a pinch in the corners due to the clump of vertices on the side so you might have to use it sparingly depending on any other edges you selected.


text:
Exporting a material with multiple diffuse textures in COLLADA format
I need a Blender export format that handles materials with multiple diffuse textures in it. Specifically, I want to export a mesh with a single material and two diffuse textures and a single stencil map. The blender COLLADA exporter appears to ignore two out of the three textures in my material. All three are referenced in the export file as:
<library_images>
   <image id="Grass_1_png" name="Grass_1_png">
     <init_from>Grass_1.png</init_from>
   </image>
   <image id="stencilmap" name="stencilmap">
     <init_from>stencilmap.png</init_from>
   </image>
   <image id="BlueMarbleSlabs_png" name="BlueMarbleSlabs_png">
     <init_from>BlueMarbleSlabs.png</init_from>
   </image>
</library_images>

However the library effect diffuse component only references the last texture in the material texture stack:
<diffuse>
    <texture texture="BlueMarbleSlabs_png-sampler" texcoord="UVMap"/>
</diffuse>

Does anyone know if this is a limitation of the COLLADA exporter? If this is the case then I'll need to modify the Assimp COLLADA loader for my purposes. Thanks in advance.

You can try blender baking, so you retrieve one uv map with one texture for entire object. https://www.blender.org/manual/render/workflows/bake.html

Could you upload your file to http://blend-exchange.giantcowfilms.com/


text:
How can I create a complex curve?
I need to create a curve based on this reference (only a 3D tube/line), but it seems hard to make it exact. Is there a way I can make it exactly look like the one in the image?

I would start with add>curves>extra objects>spirals (if you don't know how to enable extras, see this post

Thank you, but it looks like a circle, can i put the spiral like a single line, like the picture that i posted? its the first time i use this option so i don't know :(

Increase the height parameters in the tool bar.

Add a Path (Add-->Curve-->Path). Enter Edit Mode, select the curve with A and subdivide it as many times as you like (W).
Now select every third point of the curve.

Grab the points up.

You may notice, that the curve is not even in some places, so correct it.

Snap the cursor to the end of the curve, enable Proportional Editing and set the Falloff Type to Sphere.

Scale it horizontaly, setting the proportional size to a proper value (use a mouse scroll).

Here is the final result.

Darn it, beat me to it XD

Wait, i could do this, because seems perfect to me, but i already had a curve, and it looks like this:https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-xfp1/v/t1.0-9/10455111_330438213811458_3595888784125957793_n.jpg?oh=cc00934c3e0f9f29d414e68621ba2b80&oe=553118F5&gda=1429068412_2593a75062e953bd84ce1b5d4d609c2e
As i see now the only problem that i got is the distance between the vertices, can i apply your method to my already made curve?

You should be able to.

I'm already doing this method, and it's working fine :)

Great to hear that mate :).


text:
How can I make a simple volumetric light on Cycles?
I'm trying to do a volumetric light on Cycles, and I've followed tutorials, but nothing has worked yet. How can I make a proper volumetric light in Blender, like the following one?

But to leave the light in the middle, like, almost a star, is this possible? I'm at the point to use an image plane besides the light which would be better... I need to use it moving the camera.
I'm actually trying to do this because I want to simulate the brightness of the Sun.
I tried the effect, but it still gave me an error:

For reasons of simplification you could use the compositor. There are several filters for this case (Blur, Fog Glare, Streaks, and more).
If you are not planning to move your camera, you could also use the Sunbeam filter.

Thanks, but actually i need to move the camera, ill add that to the description :/