text:
Extreme CPU usage while GPU rendering?
For GPU rendering I use a GT 650 Ti Boost. Strangely, rendering jobs consume all my CPU time so anything else I do on the computer is just as choppy as when I do a CPU render.
I have Blender configured to use 6 of 8 cores when it does use the CPU but that doesn't help either. It's an FX8350 CPU, with 8 gig of RAM, so that should be lots of horsepower too.
Since there are guides for setting up multiple instances of Blender to handle GPU/CPU renders on alternate frames I would expect the CPU to remain largely free during a GPU-only render.
Does anyone have insight/tips as to why it's sucking up more resources than it probably should?

If you are rendering on the GPU which you also use to display your desktop, desktop rendering may become very laggy. Are you sure your CPU is the problem here?

It ends up being maxed out, but I can see the video lag being the culprit for visual updates. I find it odd that the CPU will still max out when the scene has had the animation/physics baked previously.

I'd consider this answered well enough to close. Though without an answer below I don't see an option to do so.

I'm certainly no expert, but I had a 95% CPU usage whilst rendering, even though I had chosen GPU Compute from the Render section.  What I didn't realise, was that I also need to select CUDA in User Preferences/System too.  After that I re-did the same Render and the CPU then hovered around 15% as expected.  V 2.79 if that makes any difference.  Will be interesting in the forthcoming version of Windows which supposedly will show the GPU usage in the Task Manager.

This did work for me, currently only 20% CPU usage (on i7 though)
Interesting is that GPU usage is still only 4% and render times are even slightly slower then before, but I guess that's another issue.

For others that wonder (and are on the same path as me), I found that increasing the tile size greatly improves the render times with GPU; see also (http://gregzaal.github.io/auto-tile-size/)


text:
IK-FK How to bend the Elbow?
I have a rig with the arm limb bones all aligned along one axis. When i add an IK Rig (with a pole target) to this setup, then the elbow no longer bends as expected (see upper part of the image):

I can make this work nicer by doing one of 2 things here:

I can add a tiny angle to the FK elbow bone (the one highlighted in the image) in pose mode. But this approach would break as soon as the user resets the Rig to Rest Position, then the small corrective angle is reset to 0 and then i am back at where i started (the Elbow no longer bends).
I can add the angle in Edit mode. But the entire rig is exactly predefined. When i introduce even a tiny change here, then i get visual differences on the rigged meshes between what i see in Blender and what i see in the Target System.

Is there any solutuon which would preserve the strict alignment of the FK Bones and still allows to bend the elbow (as seen in the lower part of the image) when the IK Bone is moved?

source: Stack Exchange

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

sort: votes


text:
find the closest vertex to a point in space
When i want to find the vertex within a mesh object that is closest to a given point in space,
i can do something like this:
import bpy
p     = Vector((1,1,1))
ob    = bpy.context.object
me    = ob.data
verts = me.vertices
distances = [(v.co - p).length for v in verts]
val, idx = min((val, idx) for (idx, val) in enumerate(distances))

Then idx is the index of the closest vertex.
But is there is a ready made function available that gives back the index of the closest vertex ?

I don't think that there is a single function for that, but you can use the mathutils.kdtree module to query closest points.
If you sort the vertices of your mesh into a kd-tree you can just call
co, index, dist = my_kd_tree.find(p)

co will contain the coordinates of the closest point, index its index and dist the distance between p and the closest point. See the module documentation for the complete example.
If you want to query many closest points, using the kd-tree will be much faster than iterating over all vertices.

Is this similar to ICP?

Do you mean Iterative Closest Point registration? Then no, this will just give you the closest point to coordinate p and not register meshes.

Thanks. I don't think there's a tool in blender to do dense correspondence between models, or is there?

Not out of the box, as far as I know. There is a (paid) addon for ICP, though: https://www.blendermarket.com/products/icp-iterative-closest-point-registration-addon

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

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


text:
Temporaly set an Armature to Rest Position
i need to do some calculations which only work in Rest pose. So i tried to do:
pose_position = arm.data.pose_position
arm.data.pose_position='REST'

# Do some calculations on the mesh objects bound to the armature

arm.data.pose_position=pose_position

But this simple idea does not work.
However, when i select Rest Position from the Blender User Interface before i call my script, then the script creates correct results. So the question is what does pressing the Rest Position Button in addition and how can i do that from Python as well?

This may be something to do with needing a scene update before being able to access updated locations. See http://stackoverflow.com/questions/13840418/force-matrix-world-to-be-recalculated-in-blender

What is "arm" refering/pointing to?

@Ray Mairlot: scene update does not help here (i tried that)

@Naioai Studios: arm is the Armature object to which the meshes are bound which are used in the "some calculations" part.

You don't need to switch pose_position, because tail, head, matrix and so on are not affected by keyframed poses if you access the Armature data (Object.data.bones[#]).
If you access the pose data however (Object.pose.bones[#]), the properties will change based on the current frame.

But i am not calculating anything on the armature. I am calculating data on the meshes which are bound to the armature (i.e. i generate Shape keys).

So you are after the unaltered, undeformed mesh data? Or the meshes with everything applied except armature deformation? How is the mesh bound to the armature, using vertex weights?

yes, i need to get the mesh in rest pose and yes it uses vertex weighting.

The mesh data is not changed in any way by a deforming armature. There's no need to change it to the rest position. Select the armature and go to edit mode to see how the data is stored - there is no deformation and no pose. The pose data is stored elsewhere, and the mesh deformation is calculated on-the-fly. To get the deformed mesh, you need to apply the modifier, e.g. via Object.to_mesh(scene, True, 'PREVIEW').

yes, i indeed use Object.toMesh() as you propose. Actually my question was not about how to calculate something. It was more about why "setting the armature manually to Rest Pose, then calling my script" gives different results compared to "setting the armature to rest pose by script then calling my script".


text:
Material multiplication doesn't seem to work as i understand it
so i had assumed that when it comes to black and white textures, the fully black parts have the value of 0 and the white parts are 1 and everything else in the middle is 0-1. now have this bnw texture of a body which has 0.4 and 0.7 lightness value, the thing is when i multiply it by 4. i assumed the 0.4 parts would turn to 1.6 and the 0.7 parts would turn to 2.8. which should make those 2 parts of my textures completely white since it's equal to/more than 1. but when i tried it in blender, it simply isn't the case. am i misunderstanding how material multiplication or how the values are mapped or something?
Before multiplication:

After multiplication:

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


text:
Error Updating My Character to Mixamo
I made and rigged a character in Blender and when I imported it to Mixamo.
It said 'Error while generating motion'
Here's the file:
https://drive.google.com/drive/u/0/folders/1_3DFufVQkxMRXcEDNc6dAo2ewLJ5rNfS

Hello user161250: Please avoid using ALL CAPS.... it's considered shouting, and a bit rude. Insofar as this is a Blender problem, we may be able to help you. Please give us the export format, and any other details that may help us help you. Your file-link is private, and inaccessible. Please use https://blend-exchange.com/, and follow the instructions there. If it's a Mixamo problem. not a Blender problem, we won't be able to help you.

Is there a Mirror modifier on the mesh? The character's center line looks strange in Mixamo.


text:
How to create this object?
anyone know how to create this object using Blender. I tried several times but it's too hard for me. Please help me

Edit:
Thanks, moonboots! I watched your tutorial. It's really helpful. Thank you very much to share your experience.

Which object exactly?

Hi Please use a title that reflects the content of the question. It should be descriptive but succinct, unique and identifying, summarizing the issue so that users can at a glance understand what your post is about. Use the [edit] link below your post and avoid anything not strictly essential to the post. Remember, your title is the first thing potential visitors will see, and makes your question findable for future users. See "What is the problem with posting an image or link and asking “How do I do this?""

You can create this pattern:

Repeat it on X and Z with 2 Array modifiers:

Make it rotate with a Simple Deform modifier in Bend mode, on Z:

Deform it with a Mesh Deform modifier and a cube that you rotate and twist:

Thank you brother. But I'm new for blender. Can you make short tutorial. I think it's helpful to everyone. I searched about this YouTube but I didn't find correct tutorial.

Yes I can make one about this object on YT

Thank you again. I'm waiting for tutorial.

So, the tutorial is here in french, feel free to ask questions if you don't understand some points: https://youtu.be/cDF3ewabogU

@moonboots .. just a ping to replace OP's deleted 'Thanks' answer, which has been edited into his post. (Nice video, BTW)

@Robin Betts, ok thanks  ;)  ..............

Hello brother, I made it. Thanks for your tutorial. Here you can see and comment something https://www.instagram.com/p/Cpt3JoVhgn5/?igshid=YmMyMTA2M2Y=

Thanks @Chamod Jayashanka, well done, I don't have any Instaram account though  ;)

It's okay. I uploaded it my Google Drive. check it out here https://drive.google.com/drive/folders/1eHwI8E2-ho2HlH4vUft2FS08nIqz52fC?usp=share_link


text:
How can I apply this kind of texture to a curve?
I want to block out the hair using curves and use a displace modifier with a cloud texture. I tried doing what this artist did in this video: https://youtu.be/Rm4xWmPk5kE?t=843
I created a curve, shaped it, and converted it into a mesh. I applied a subdivision modifier, then a displacement modifier. I played around with the settings, but I can't get it to look the way it does in the video. It just bloats the mesh. I'm not sure what to do at this point other than block out the hair with curves and sculpt each section by hand.

Did you assign the Voronoi Crackle texture he appears to have done, in the Displacement modifier?

If you post your blend file on blend-exchange.com someone will be able to help you. Hard otherwise!

I did assign the crackle texture, but some of the curves didn't react well to it. I also uploaded the blend file.

The mesh objects that have been created from the curves have a non-uniform scale (e.g. 0.444, 0734, 1.234) as you can see in the viewport's side panel (1).  You need to apply the Scale. Select the object and press Ctrl+A in Object mode to do this. It will keep the transformation and reset the scale values to 1.0, 1.0, 1.0.
Then tweak the value for the displacement texture a bit so that the mesh will not be turned inside out, see (2) and (3). Enable the Face Orientation overlay to check the normals.
You can also use a Remesh and a Decimate modifier to close the tips of the hair strands, (4) and (5).
If you want to sculpt the hair don't forget to apply all modifiers.

I really appreciate the help, Blunder. I'm still feeling my way around Blender and I'm definitely going to keep all this in mind.

I figured it out. I got the effect I wanted by shaping a cube with a combination of extrusions, loop cuts, and a subdivision modifier in edit mode. The displacement modifier worked fine after everything was put in place.


text:
CollectionProperty initialization
i need to initialize a CollectionProperty with a fixed number of items. This property is
used to store slot data, kind of like texture slots (There is 18 slots avaibles, but even if they are empty, they exist in the slot collection). Not sure if i am very clear so here is a bit of code
class MyPanel(bpy.types.Panel):
    bl_space_type = "PROPERTIES"
    bl_region_type = "WINDOW"
    bl_context = "world"
    bl_label = "my panel"
    bl_options = {'DEFAULT_CLOSED'}

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

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

        ob = context.active_object

        # tried to initialize the collection here but i get the error "Writing to ID classes in this context is not allowed"
        """if(len(ob.test.myslots) < 4):
            for i in range(len(ob.test.myslots), 4):
                ob.test.myslots.add()"""
    # MyUIList inherit from bpy.types.UIList
        layout.template_list("MyUIList", "", ob.test, "myslots", ob.test, "myslots_active", rows=4, maxrows=4)

    @classmethod
    def poll(cls, context):
        return (context.active_object is not None and context.active_object.data is not None and isinstance(context.active_object.data, bpy.types.Mesh))

class MySlot(bpy.types.PropertyGroup):
    slotName = bpy.props.StringProperty()

class MyProperty(bpy.types.PropertyGroup):
    myslots = bpy.props.CollectionProperty(type=MySlot)
    myslots_active = bpy.props.IntProperty()

bpy.types.Object.test = bpy.props.PointerProperty(type=MyProperty)

How do I inititalize this list so...?

Can you explain more about how you would want the list initialized? initialized as empty? as entirely filled?

doesn't matter...

You can't, you need to have an explicit operation to initialize the list. (a button for example), or when the script executes.
At least you can't do while drawing.

It is possible using a hack: a scene update handler that removes itself and adds the required items, although there can be issues if you load another .blend file. Another workaround is to use an EnumProperty with items-callback and handle the CollectionProperty there too.

@CodeManX EnumProperty with items-callback doesn't work. It gives error doesn't allowed to write data in this context.


text:
Need help with rigging. {[Bone Constraint]
I need some expert guidance on this. In my current rig(Image below), I have added a "Child of" Bone Constraint to the "Props" bone(Yellow cube). It is link to "Arm2" bone(red cylinder).

My intention are, if I turned the influence of the bone constraint to 1, the "Props" bone(Yellow cube) will follow the transformation of  "Arm2" bone(red cylinder).  Like shown in image 2.

However, problem arise when I start to move the "Body" bone(Blue Cube). As shown in the 3rd image even though the influence is 1, "Props" bone(Yellow cube) will not fully follow the "Arm2" bone(red cylinder).

I aware  this is cause by both "Props" bone(Yellow cube) and "Arm2" bone(red cylinder) are being parent to "Body" bone(Blue Cube). Hence, when "Body" bone(Blue Cube) rotate both the "child to "constraint and "Body" bone(Blue Cube) are competing with each other in influencing "Props" bone(Yellow cube).
So I'm looking for a way to temporary switch of  the parent influence of "Body" bone(Blue Cube), when "child to "constraint is active. something like a switch. However, I am open to other possible option or method.
Note: I need the both "Props" bone(Yellow cube) and "Arm2" bone(red cylinder) to be parent to "Body" bone(Blue Cube) as in most animation I need both of the child bone to follow it. Only in specific situation where I need the  "Props" bone(Yellow cube) to follow  "Arm2" bone(red cylinder). Like a character picking up an item.
I apologise for not showing the actual model, I bind to confidentiality.
Blender file of the images

You can't turn actual parenting on or off, not with regular old Blender.  (There are addons, but they're unnecessary for this situation, and I prefer out-of-the-box solutions when available.)  And, yes, child-of constraints are evaluated after the transformation of a bone by its parent.
You have two options to make this do what you want:

Unparent props.  Give it a child of constraint targeting Body and set inverse.  When you want it to follow Body, set the influence of this constraint to 1.0; when you want it to follow Arm2, set the influence of this constraint to 2.0.  This is basically the same thing as keeping it parented to Body, but you control when it acts as if parented and when it doesn't.

Instead of using a child-of constraint, use a copy transforms constraint targeting a bone that isn't parented to Body.  Delete the child of constraint.  Duplicate props and parent that duplicate to Arm2.  Give props a copy transforms constraint targeting its duplicate.  Animate the influence of that constraint as if it were the child-of constraint:

A copy transforms constraint overrides any keyframed transforms, so you may wish to sandwich in another duplicate parent, so that you can have an unconstrained bone that you can move freely:

Thank you so much. This is exactly what I was looking for. I prefer  option A  as I wish to not add any additional bone  if possible. Again, Thank you.


text:
Help, weird "hard edged" appear on model
Hard edges appear randomly on my model. The edges was not crease, and the normal was not flipped. It even remained after I performed smooth vertices. It only disappear/hide if I use subdivide modifier. I prefer not to use it to maintain a low poly count
Furthermore, it only appear on this particular part(the image shown is the only place it appear on the entire model.)
The following is the provided blend file

Any idea how to solve it ?

You've enabled Auto Smooth, it will sharpen all the angles that are over the chosen value, here 30°, so disable it or choose another value?

@moonbots thank you, it works, strange it only affect a part of model. Usually this problem affect  the entire model.


text:
Looking for a way to create details fabric texture(Normal Map)
This is a really amateurish question but I'm completely lost at the movement. I trying to create a cloth  with a wooly vest. However, no matter how I tried I cant seem to get the result I wanted. I've manage to sculpt and bake the fold to normal,  However, I fail to create the "wool texture/feeling". which lead to this post
How does artist usually create pattern and details such as leather, wool, etc on to the cloth other model?

I've try directly sculpting on high poly model (through stencil) however the details is not consistent.

I've tried merging two normal map together(the one I've bake which include the fold and a wool normal map from the internet), it  a didn't go so well as I've found it is best to bake your own normal then using other. The wool map does "join"  correctly as shown on the image

texture painting heavily rely on the artist skill (which embarrassingly, I'm not at the level on the model) and it is not suitable for the style I'm trying to pursuit. I would like the final to be something like this where at a glance a person could the pattern,texture and the details of the fabric.

Hence, I'm completely lost. Clearly there is way to do it as many have able to create. I just cant seem to figure it out.
The link to my blender file
it contain the mesh,3 normal maps and a node setup for merging N1 and N2 , the following are the name of the maps.
N1: the one with fold only(I acquire through baking from high to low poly) it
is intended to mix with N2.
N2: The normal I found on the internet , intended to mix with N1. If directly use
on mesh, it will not "join" together properly refer to the image above.
N3: I directly sculpt the "wool texture" on to the high poly and bake it to the
low poly, as you can see the details is not very consistent

your attempt seems good, you just need to make sure that the UV match, and also make sure that you've chosen non-color in the Image Texture, and not sRGB. But maybe pack your image and share your file? https://blend-exchange.giantcowfilms.com/

@moonboots I have attach the blend file to my post.

For this kind of object you will necessarily have seams somewhere but you could delete the one on the top and it will unwrap correctly. You could also model a seam at the top so that it matches the UV seam.
As for the material, you could use a real picture of wool, but if you want to stay procedural, you can improve what you've done so far with some tweakings:

For the moment your wool looks a bit plastic, it is not supposed to be so glossy, so increase the Roughness and decrease the Specular values.
To make its tint more realistic and less monochromatic, Plug a Noise Texture node (with a high Scale value) into a ColorRamp with 2 or more colors.

About your question on mixing 2 normal maps, you can do it through a MixRGB, then plug the MixRGB into a Converter > Vector Math > Normalize:

I've watched this method that recommends to separate and recombine the RGB channels but I can't see any difference with my method as soon as I put a Converter > Vector Math > Normalize node as well, maybe node experts will tell...

Thank you so much. I have been struggling for 3 day to solve this problem.
However, not sure if this a right place to ask as it is sort of unrelated to the current problem. Is there any good tutorial on node and texture that you would recommend. I have been follow a hand full of blender artist for tutorial but it is too fragmented.
Other than that,  would you recommend the merging of 2 normal map? like the method I'm currently doing. Because I'm not sure if that was the right way to  do it.

I don't know any tutorial or channels that address materials and textures in particular, you'll find some infos here and there, and the more you'll meet and solve difficulties the more you'll improve I guess. For your question about merging 2 normal maps, maybe explain a bit more? You can mix 2 normal map through a Color > Mix RGB for example, then plug into the Normal Map node, then play with the MixRGB mix factor, is it what you want?

if you need one of your normal map to be rotated so that it matches better with the other, just plug another Mapping node into its Vector input, but actually maybe ellaborate your question because I'm not sure to understand, merging normal map could mean several different things  ;)

Hey, thank you for the quick reply, yes I mean merging through Mix RGB, I search for  article, comment and video about it. Apparently, some user find this method to be a wrong method and recommend other method. Long story short, as a person who just know the surface level of node, I am constantly questioning my own method, is this how the industry do it? is this the correct way?  I know there is no 100% correct way, but I hope to find the best way if it is possible.

I don't know why it would not be correct to go through a MixRGB, but if you have alernative methods I'm interested as well    ;)   well, I guess the good method is the one that easily gives the better result

Ok so I've tested the method explained here but I can't see a big difference with my method once you change a bit the settings: youtube.com/watch?v=aBpihNllKNw

https://blender.stackexchange.com/questions/38298/how-to-combine-two-normal-maps
I've discover this today(wish I discover it sooner), it have many different method of normal and each one of it seem to vary between each other. Other then that,  here is a link for a blog post that explain the "number" behind merging 2 normal map  (this was share by the person who said my method is incorrect) https://blog.selfshadow.com/publications/blending-in-detail/
However, as a person without any coding knowledge I ended up even more confuse.

from my understanding now. I guess, it heavily depend on the workflow and the result a person is  trying to achieve. I know there is no guarantee correct way, but I guess there is no 100% best way as well. This feel like a bottomless rabbit hole, I'm a lot more curious on how people figure this out by themselves.

Well, my method works fine so I don't want to spend days on alternatives, especially if it only improves slightly the result  ;)  besides that, you rarely have to mix two normal maps so I don't think it's a key problem. Actually Blender is a bit like Photoshop, everyone has his own way to do things and they are all good as long as they are fast and as you are satisfied with the result, 3D is all about faking things, people only see results, they don't see how complicated or simple you did the trick.


text:
How do I unwrap correctly?
Blender noob here. Made a very simple vector square with radiused corners in Inkscape,and saved it as a simple SVG.
Imported to Blender 2.77, changed it to a mesh. Scaled it, then extruded it along the Z axis.
Blend file:
Marked a seam, hit unwrap. The resulting shape looks like a twisted towel.
Only the project from view (ortho),remotely works.
What am I doing wrong?

It;'s very hard to visualize what you're describing. Can you post an image or blend file? Otherwise the answer you get will only be as good as the question you asked.

Without an image that represents the problem you are having, any answers given are just guessing. Please consider adding an image, or if you would like, uploading a file that represents the problem to Blend-Exchange and editing your question with the resulting link.

Which option in the UV mapping window did you used (the little panel that appears after you ask for the unwrap) ?

The image really helps describe the problem, but I can't reproduce it on my own. I think the actual Blend-file would help the most in this case. Can you upload the source file and link it like @Timaroberts said?

I took a look at your file, and the first thing I did was remove doubles. Select all in edit mode, press W>remove doubles (or just press  R). Second, I recalculated normals with  Ctrl+ N and then I unwrapped with Smart UV project. I think that this will be the best way to go for you. This is the result you can expect:

Perfect. Thank you. This is exactly what I need. What are doubles, and what makes them appear? Besides "removing doubles", is there a way to check for them first?


text:
Why is part of object's shadow sliced?
The object's shadow appears cut when it's moved over certain areas (i'm using blender game engine and GLSL shadows). I've tried flipping faces and that doesn't seem to be the problem.

We need more info. Can you give us some screenshots? The blend file maybe?

I've also deleted the entire floor object (plane) and added it again but the same thing happens even when I use different floor geometries such as grids and cubes. Also when I move the entire plane relative to the character over all areas that shadow cut doesn't happen.

This looks a lot like a bias problem with buffer shadows. Unfortunately, I don't know enough about the BGE to be of more help.

Welcome to BSE, providing more details will help you get more accurate results, uploading your .blend file is even better, otherwise, all answers would be based on assumptions and guessing. You can upload your file here: http://blend-exchange.giantcowfilms.com/

This is because the shadows are only projected from geometry within a limited area around the sun lamp. To visualize this area, enable Show Shadow Box in the lamp's settings:

This makes the cause much clearer:

The solution is to make the sun lamp follow your character (or camera) so that objects near the view are always within the "frustum".
The simplest way to do this is by vertex parenting the lamp to your model:

Select the lamp
Select the model
Switch to edit mode (↹ Tab)
Select a single vertex
Press ⎈ CtrlP and select Vertex Parent

Now the lamp will follow that vertex's location without rotating:

Projecting shadows is relatively memory and processing intensive, so the smaller this area is, the better. You can adjust the size with the clipping settings:

You'll likely want to optimize the frustum size for what is visible from whatever camera view you end up with, such that the shadow boundary isn't in the foreground and overtly apparent.

THAT WAS A GREAT ANSWER


text:
How to fade one material into the other?
Hello blender community.
Could someone please let me know how to fix this issue?
I have one material for the whole face and a different one for the lips.
there's a noticeable edge that I want to get rid of. I just want it to have an ease fade instead of a sharp edge.
what's the best way to go about this?

Thank you in advance!

Finished Update
I wanted to give an update on how it was fixed with @hexbob6 and @Lemon 's help.

I needed two textures. One is the actual colored version and the 2nd is the black and white masked version. Hexbob6 described very well on the process here: Cycles Emit Light from area on Texture
A: The node process on how to do it.

The B/W masked texture is going to be connected to the Fac of the mixed shader along with its UV coordinates. Make sure the image is on clip instead of repeat.
the 1st shader is going to be the black part of the B/W masked texture. An important thing to note is if you have a texture already for the object, be sure to connect the other UV coordinates!
the 2nd shader will be the white part of the B/W masked texture.

B: This section is the UV layout called "mainUV" where all the color goes.
C: This section is the B/W masked texture to focus on the lips.
D: Just the render view
E: Best way to texture something is to be able to see it in 3D view and texture paint.
F: Just showing that there are two textures to keep track of. One is the main UV and the 2nd is to focus on the lip.
That was it. Once again thanks to those who replied and helped me figure this problem. In the process I learned other things that I didn't know about blender even though I've been using it for years.

I'm guessing you've assigned the lips material to a selection of vertices on the mesh. It make be better to use a painted texture mask to achieve what you're asking? Basically a B/W mask that determines if a part of the mesh is one shader(s) or another by being plugged into the Fac input of a Mix shader... http://blender.stackexchange.com/questions/33101/cycles-emit-light-from-area-on-texture might be relevant? :)

Hello Hexbob6. Thank you for the tip. I tried both of the replies on the link but unfortunately that's not what I'm looking for. I just want the glossy material to fade to the background material instead of a sharp edge.  The link is very useful and will use for future use. Thanks again for your reply.

No worries PepperAddict, glad you got it solved- the final update is looking really nice! :)

A mesh face cannot be assigned to several materials. So you'll need to "incorporate" one of the material nodes into the other.
For convenience I have set face nodes/shader and lip nodes/shader each in a dedicated nodes group. That allows to use them both in your face or lips original materials. Doing so, imagine that 'as if' these nodes groups were replacing your initial materials.
Now select you lips faces and one ring more around. And assign these faces to a new UV map (called 'LipsIntensity' in the screen capture (1)).
Create a blank image (2).
Put your original face and mouth nodes respectively in a node group (select and group all the nodes except the output for each). So that you can reuse them (mainly the face shader) in the lips material (3 and arrows).
Now mix them so that the mix (4) factor is driven by the texture you added and itself based on the 'LipsIntensity' UV map (5).
Now go in the 3D view (6) and in texture paint mode and rendered mode. Make sure that your are painting on the 'LipsIntensity' texture (look at 'Available paint slots' in the 'Slot' panel of the texture paint mode).
Now simply paint in black over the lips, with a relatively large brush in order to obtain the ease you want (7 / 8).

Hi, you should add one other possibility which is using  vertex paint as a mask, if you want to go fast and your topology is good, it can do the trick without having to UV unwrap, and it can blur in this mode too. It works pretty well for lips and eyelids for example.

@lemon thank you so much for your reply. I learned so much and that is exactly what I want! I couldn't get it to work could you please help me further?

I created two node groups for testing.
One for just a diffuse
second for just the glossy
I created the main material to attach them like you have it.
I created a new UV map to focus on the lips and I painted it like you have it and made everything else black just to keep it out of the picture.
I inserted a screen shot of the changes I made. Please let me know what I did wrong.
http://i.imgur.com/Es5bTge.jpg

@PepperAddict, I cant see why... Perhaps, because I used a specific UV map for the lips/glossy intensity ? On your picture I cant see where is the "lipadip" texture regarding to "lipintensity" UV map

I created an entirely new project to see if I could get it to work and I still couldn't. I think I'm missing something obvious. Could you help to see what is it? I uploaded into my google drive along with the makeshift texture. https://drive.google.com/folderview?id=0B9InB4B-z_CATEZDRUZwY0ZDZ0E&usp=sharing
once again, thank you so much for your help and your quick replies. I really do appreciate it!

@PepperAddict. I am not able to change the UV maps on your blend file to do the same as in mine (mine involves only the lips in the lipsIntensity UV map). A workaround : use one UV map for all and add another textures (based on the same UV map) for the black/white/gradient texture driving the mix shader.

Lemon and @Hexbob6
Thank you two so much. Hex, it looks like the masking trick was what I needed!
The problem I was faced was actually the uv map for the actual shaders. I didn't connect the two shaders with the main UV so I guess the whole model was confused. I took a screen shot of the working result(not finished). I decided not to use group for now because I kept getting problems so I'll try and figure that out later.
http://i.imgur.com/ACxEDDn.jpg
Once again, THANK YOU LEMON AND HEXBOB6! Two days of stress finally resolved thanks to you guys!


text:
Customizing Freestyle Line alpha Along one Direction
I have a subdivided mesh cube, so I need to decrease its freestyle lines' alpha in one direction of its Object Space, for example, along
cube X. I've used the 'Distance from Object' freestyle modifier, but it operates with XYZ distances. In my case, I need to control the lines' opacity only in one direction.

'One Direction' in what space? The cube's space? World space? UV space?

@RobinBetts The cube's space, and thank you for your reply

For simplicity, you could modify stroke alpha with Distance from Object , and parent the target object to the cube. The further away the target is from the cube, the closer the mapping will be to orthographic..

Here, an Empty is parented to the cube 10m away along the cube's X from its near face, and the Min and Max  set to 10m and 16m, via the optional curve-mapping in the modifier.

Yes, I moved the target away from the cube as you suggested, and it works perfectly! Thank you.

Hi, @AlecDev!  You could vary by material, too, I think, but that would mean setting up separate passes.. We might have missed something better..


text:
Why are objects which are stationary with respect to the camera motion-blurred?
Why is everything blurred?
My camera is a child of the vehicle illustrated below, and is travelling at the same speed, so why is there so much motion blur on the whole vehicle, instead of just the wheels? I am very confused about this motion blur business.

Any help would be much appreciated. Cheers!

You have better chances of getting a answers if all of the information
is visible in this page, instead of asking users to visit links just
to understand your question. Please use the [edit]link at the bottom
of your question (https://i.sstatic.net/lXFuK.png) and use the
tools on the site to upload images directly. See:
How to upload an image to a post?.

Maybe lower the motion blur to see what's happening?

thanks #emir i'll do that. i was very confused.


text:
Can't Select Manipulators in Edit Mode
I'm trying to edit a mesh in Blender, but I can't select my manipulators in Edit Mode. They work perfectly fine in Object Mode, but in Edit Mode, it'll just make a border select when I try to click and drag them. I've changed my keyboard shortcuts to Maya, so I can't edit my mesh without the manipulators.
Select with Left is enabled and my selection mode in the System tab is set to OpenGL Select. I've increased the size of my handles to make them big enough to select, but doing this didn't help. Can anyone offer suggestions on how to resolve this issue?

keep ur cursor in 3d window and press ctrl+space its toggle key

Thanks for your answer, but my problem isn't that the manipulator won't show up. It's that it shows up and I can't click on it while in Edit Mode.

Setting "Selection" in User Preferences System Tab from "Auto" to "OpenGL Select" or u can reset doing load factory setting

I've already set my Selection mode to OpenGL Select. I haven't tried resetting yet, but I'll give that a shot.

I reset to factory settings and I found the problem. Apparently some of the changes I made to the default Maya shortcuts were in conflict with each other, which was causing the error. I've reset to the default Maya shortcuts.


text:
Weird Noise in Blender Cycles Hair
I've rendered a character's hair in Blender Cycles and I'm getting a strange result. It looks like this: https://dl.dropboxusercontent.com/u/5171857/ezgif-2308112385.gif
I'm not quite sure what the problem is. Are my samples not high enough? (I'm currently using 49 samples.) I don't really think that the samples are what's causing it to do this because I thought that grain caused by low samples was static, not moving. This problem only occurs when my mesh is moving or the camera is moving, by the way.
What should I do to resolve this issue? If the samples are the problem, what would be a good sample number to ensure that this issue doesn't occur?

I've found that it's not actually the samples, but it's the hair literally jumping all over the place. Any ideas of how to fix this?


text:
Simple Triangle Face Messed Up - Attaching to Weird Places?
I'm not sure how to ask this so it makes it hard to search, but what is going on with this face? It's a simple triangle. I'm trying to add a face to 3 vertices and it goes completely wonky and doesn't fit in the vertices at all. It's doing this throughout the entire model no matter where I put my faces. What's going on? It kind of looks like it's attaching assumed edges to the centers of my edges where there aren't even vertices.

That looks nothing like a "Simple Triangle Face", I see some hair-like loose edges coming out from each vertex. There also seems to be some sort of Subdivision Surface modifier at work there whose output will change the appearance of the mesh, also taking into account any loose geometry you have.

There are many vertices, but I selected only 3 and pressed "F". As far as I know, this should create a simple face with the 3 vertices. No matter their location in the model, it should work perfectly and simply to create a perfect face. I don't know anything about Subdivision Surface modifiers. I simply drew vertices on a 2D plane and started trying to put faces on them.

The location on the model does matter, especially in relative to other elements when connected to the remaining geometry, like your screenshot illustrates. Even more so if you are using a Subdivision Surface or any other modifier which changes your shape, which from the screenshot looks like you are.

I had somehow accidentally applied a "Catmull-Clark" modifier to the object. Removing this modifier immediately resolved my issue.


text:
How To Ensure All Objects on Same Axis?
I'm making something in Blender and porting it into Unity as an FBX. The armature is a series of connected bones for each segment/ball. The first segment will move side to side when I rotate on the Y axis (in Unity). The second segment will instead twist if rotated on the Y axis and requires me to use the Z axis to move side to side instead. What gives? It's the same bone structure, shouldn't they be on the same axes? I tried changing all the objects to "Quaternion (WXYZ)" instead of "XYZ Euler" but that doesn't seem to solve this particular problem. Ideas?? Thanks!

It all depends on how the bones are oriented in their rest pose. Maybe with a screenshot that shows your situation and the bones' axes, we can me of more help.

They're all oriented in a straight line on the Y axis (Blender's Y axis).

That doesn't describe the full orientation of the bones. They can be rolled around any angle and still be aligned with the world Y-axis.

Does the additional image help? I'm not sure how to capture what you're after.


text:
How can I get my texture to show on an Imported file?
So I import a file from turbosquid but it doesn't have the texture. How do I add the texture?
I already tried to do texture on it but doesn't work.

What fileformat has the file you are importing? Is it already a blender file? And does the texture not show in the render or are you just using solid shading in the viewport (which does not show textures by default)?

Why is this question not suitable? Include steps you already tried, upload your blend-file, etc. refer to http://blender.stackexchange.com/tour

It was a obj file and it doesn't show when it's rendered.

See also, http://blender.stackexchange.com/questions/7790/how-can-i-get-a-mtl-file-to-show-on-an-obj-model-i-imported-in-cycles?rq=1

@ColorTheory Share a link to the file.

http://storage2.turbosquid.com/Download/index.php?ID=820608_13097437


text:
Particles/Hair: How do I adjust the normal so the spikes go the same way around the object?
Is there a way to adjust the up/rotation of a face's normal, so all the spikes flow the same way on the object
For some reason they seam to flip over when I apply this particle system to the simple cylinder and cube.

Hmmm, i've noticed that when using emitter as oppose to hair, then the normals dont flip round...

Except, curve to mesh, type objects, the normals twist around....

After a lot of web digging and experimenting, the answer was in the manual!
In the Particles panel enable the Rotation option, and set Initial Orientation to Normal-Tangent. BUT you need to have created a UV map for this to work.
Depending on the shape of your faces, the UV Reset option in UV Mapping drop down can be useful setting the initial rotation too.


text:
How to control user interface (panels) across Addons
I have a Master Addon which adds its own vertical tabs and panels. Then i have a Child Addon which provides some additional tools which fit well into various panels created by master. But the Child Addon can also run standalone.
When both Addons are enabled the additional tools from the Child Addon shall be placed into the Panels provided by the Master Addon. But when the Child Addon is running "standalone", then it shall create its own panels instead. The master may know about the child. but the child must not depend in any way on the master addon.
So the goal is to avoid to duplicate Operator Buttons and Panels when both Addons are enabled. To achieve this i added a global Property to the child addon and defined a child Toolbox like this:
# In the Child Addon:
# ===================

global CHILD_ENABLED
CHILD_ENABLED = True
class PanelChildTool(bpy.types.Panel):
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_label = _("Child Tools")
    bl_idname = "child.tools"
    bl_category    = "Tools"

    @classmethod
    def poll(self, context):
        global CHILD_ENABLED
        return CHILD_ENABLED

    ....

def set_ui(is_enabled=True):
    global CHILD_ENABLED
    CHILD_ENABLED = is_enabled

So i can now enable/disable the drawing of Child panels.
And in the master Addon's init section i added:
# In the Master Addon
# ===================

loaded_default, loaded_state = addon_utils.check("child")
if loaded_default == False and loaded_state is None:
    print("Child seems to be not installed")
elif loaded_state != True :
    addon_utils.enable("child", default_set=True, persistent=False, handle_error=None)
    print("Enabled module 'child' On The Fly")
    loaded_state = True

if loaded_state == True:
    import child
    child.set_ui(is_enabled=False)
    print("Disabled Child's native UI")

Now the Child panels are disabled.
Finally, wherever i want to load an operator from the Child into one of the master Panels, i add something similar to this to the master's panel draw() function:
if  sys.modules.get("child"):
    import child
    child.draw_generic(context, layout) # Generic draw function provided by the child

So this appraoch is working.
But is there a better solution ?
thanks.

The common way in Blender is to append or prepend draw functions via the panel "class":
bpy.types.CATEGORY_PT_panel_name.append(draw_func)

Registered bpy classes are globally available, you can check for a certain one with hasattr(bpy.types, "CATEGORY_PT_panel_name"):
import bpy

# Change this to some type that doesn't exist and re-run
panel_type = "VIEW3D_PT_tools_transform"

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

    obj = context.object

    row = layout.row()
    row.label(text="Hello world!", icon='WORLD_DATA')

    row = layout.row()
    row.label(text="Active object is: " + obj.name)
    row = layout.row()
    row.prop(obj, "name")

    row = layout.row()
    row.operator("mesh.primitive_cube_add")

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    #bl_context = "object"
    bl_category = "Tools"

    # re-use draw functions
    draw = draw_func

def register():
    if hasattr(bpy.types, panel_type):
        getattr(bpy.types, panel_type).append(draw_func)
    else:
        bpy.utils.register_class(HelloWorldPanel)

def unregister():
    if hasattr(bpy.types, panel_type):
        getattr(bpy.types, panel_type).remove(draw_func)
    else:
        bpy.utils.unregister_class(HelloWorldPanel)

if __name__ == "__main__":
    register()

The draw functions are internally stored in Panel.draw._draw_funcs
You can remove them like you add them, the method is just called remove.

Hi, CoDEmanX. The goal is: When the Child Addon is enabled standalone then it should provide its own panel. But when it is used as "library of operators" it should not provide any panel because theen the master Addon will decide where the operators shall appear in the Master-Panels. And the Child Addon should not have any knowledge about the master Addon.Could you provide a small code example to show how i can achieve that with the draw function append ? thanks

You should not create such dependencies actually, but if you really want it this way, use hasattr() as I suggested. Based on the return value, append a draw function or register a new panel.

I added an example how you could either append a draw func or register a new panel. Note that bpy.utils.register_module(__name__) will break it! A possible solution is to always register a separate panel, but poll()-hide it.


text:
Scripted Copy of all Materials/Material slots from another Object
How can i copy all Material settings from one object to another using Python ?
In the materials settings drop down menu in the user interface i can copy/paste materials:
Copy Material ( which calls bpy.ops.material.copy() )
Paste Material ( which calls bpy.ops.material.paste() )

When i try to call bpy.ops.material.copy() from the python console i get a {'CANCELLED'} and the subsequent bpy.ops.material.paste() does not work.

Copy only the active Material:
tgt.active_material = src.active_material

Clean copy of all Material Slots from src to tgt:
tgt.data.materials.clear() # ensure the target material slots are clean
for mat in src.data.materials:
    tgt.data.materials.append(mat)

Is there an easy way to copy all properties of a material from another, apart from the texture in the texture slot ? I am trying to regroup textures of different materials into one materials'textures slots. I would like to copy all the materials properties, and then set the texture slots .The only way I can think of now is to copy in Python each property one by one, is that correct ?


text:
Create a screencast with exactly one image per animation frame
I need to export an animation that runs in the 3D Viewport as a sequence of screenshots with one image per frame. So i created a small class :
class MyAnimationCast(bpy.types.Operator):

bl_idname = "my.animation_cast"
bl_label = "Animation to Image sequence"
bl_description = "Capture an Animation from 3D View to image sequence"

def execute(self, context):
    scene   = context.scene
    folder = scene.render.filepath
    format = scene.render.image_settings.file_format.lower()

    for frame in range (scene.frame_start, scene.frame_end):
        filepath = os.path.join(folder,"%04d.%s" % (frame, format))
        print("Render to file", filepath)

        scene.frame_set(frame)
        scene.update()

        bpy.ops.screen.screenshot(
            filepath=filepath,
            check_existing=False)

    return{'FINISHED'}

This class creates the expected number of images at the expected location. But all images contain the frame that i can see when i call the operator. What is missing in the code?

Just curious, is there any particular reason you don't want to use opengl render?

The openGL Render seems to only render the 3DView. But i also need the User interface in the exported sequence.

I doubt the UI is being updated running the operator as shown, ie the scene.update() will update the data, not the interface.  A tag redraw on all areas may give you the desired result, or run from a modal operator, (render frame change frame wait (maybe)),  or frame_change handler.  There is a snazzy example of handling events while running a process by ideasman42 will post link.

@batfinger: ah, yes. I now see why this can not work. I just got the idea to enable an on frame change handler which would export a screenshot of the curent frame at each call. The operator could be split into 2: "enable frame dump" and "disable frame dump" for adding/removing the handler. Then i just need to run the animation and all gets captured...

Use the search function - there has already been an answer to this problem, but I don't exactly know the exact keywords right now to find it ;-)

Here is a variation of Answer 1. I simply add/remove the screenshot frame handler based on a property that i can set from within the toolshelf (for example). The cool thing about this is: i do not need to think about escaping from a render. I just start playing the animation and  when i made a mistake somewhere in the animation, i just fix it and replay that part of the animation again.
This solution has a caveat as it records frames upon Entering and not upon Leaving the frame. However those pitfalls can be fixed with a bit of extra work.
@batFINGER: Thanks for the inspiration :)
# This is the Frame handler (called on frame change)
def screenshot_frame_handler(scene):
    frame = scene.frame_current
    in_frame =  scene.frame_start <= frame <= scene.frame_end
    if not in_frame:
        return None

    folder = scene.render.filepath
    format = scene.render.image_settings.file_format.lower()
    filepath = os.path.join(folder,"%04d.%s" % (frame, format))
    print("render %d" % frame)
    bpy.ops.screen.screenshot(
        filepath=filepath,
        check_existing=False)

#Enable/disable frame handler as needed
def manage_handler_function(handler, func, disable):
    ''' Removes all functions with name starting with name '''
    fns = [f for f in handler if f.__name__.startswith(func.__name__)]
    if disable:
        for f in fns:
            print("remove handler", f.__name__)
            handler.remove(f)
    elif len(fns) == 0:
        print("append handler", func.__name__)
        handler.append(func)

#Called on update AnimationProps.animation_cast
def manage_screenshot_handler(self, context):
    disable  = not context.scene.AnimationProps.animation_cast
    handler = bpy.app.handlers.frame_change_post
    manage_handler_function(handler, screenshot_frame_handler, disable)

class AnimationProps(bpy.types.PropertyGroup):
    #Enable animation casting when this property is set to True
    animation_cast = BoolProperty(
            default=False,
            name = "Animation Cast",
            description = "Enable automatic Snapshot on Frame Change",
            update = manage_screenshot_handler
    )

bpy.types.Scene.AnimationProps = PointerProperty(type=AnimationProps)

My preferred method would be to use a frame_change handler and an update method on a bool to turn it on off.
import bpy
import os

from bpy.props import BoolProperty

def remove_handler_function(handler, name):
    ''' Removes all functions with name starting with name '''
    fns = [f for f in handler
                   if f.__name__.startswith(name)]
    for f in fns:
        handler.remove(f)

def screenshot(scene):
    frame = scene.frame_current
    in_frame =  scene.frame_start <= frame <= scene.frame_end
    if not in_frame:
        return None

    folder = scene.render.filepath
    format = scene.render.image_settings.file_format.lower()
    filepath = os.path.join(folder,"%04d.%s" % (frame, format))
    print("render %d" % frame)
    bpy.ops.screen.screenshot(
        filepath=filepath,
        check_existing=False)

def capture_screen(self, context):
    # turn on the handler
    handler = bpy.app.handlers.frame_change_post
    if self.render_screencast:
        handler.append(screenshot)
    else:
        remove_handler_function(handler, "screenshot")

bpy.types.Scene.render_screencast = BoolProperty(default=False,
                                                 name="Screen Shot Cast",
                                                 update=capture_screen)

#testing
bpy.context.scene.render_screencast = False

My testing shows that the operator will do as desired with
        bpy.ops.screen.screenshot(
            filepath=filepath,
            check_existing=False)
        for area in context.screen.areas:
            area.tag_redraw()

but it will lock up blender until finished.  Pretty sure there is no need to call scene.update() after scene.frame_set(f), and not sure how much this effects performance, if at all.
Another is a modal timer operator, which enables the chance to cancel. (The handler is much better).  The link of @ideasman42 I mentioned is here How to handle modal operator events in a single loop?  Which may make handling canceling easier.
class ModalTimerOperator(bpy.types.Operator):
    """Operator which runs its self from a timer"""
    bl_idname = "wm.modal_timer_operator"
    bl_label = "Modal Timer Operator"
    wait = 10
    _timer = None
    renderframe = -1
    def modal(self, context, event):
        scene = context.scene
        rendering = self.renderframe == scene.frame_current
        folder = scene.render.filepath
        format = scene.render.image_settings.file_format.lower()

        if event.type in {'RIGHTMOUSE', 'ESC'} or scene.frame_current > scene.frame_end:
            self.cancel(context)
            return {'CANCELLED'}
        if event.type == 'TIMER' and self.wait:
            self.wait -= 1
            return {'PASS_THROUGH'}

        if rendering:
            return {'PASS_THROUGH'}

        else:
            self.renderframe = scene.frame_current

            print("render %d" % scene.frame_current)
            self.report({'INFO'}, "Render: %4d" % scene.frame_current)
            filepath = os.path.join(folder,"%04d.%s" % (scene.frame_current, format))
            bpy.ops.screen.screenshot(
                filepath=filepath,
                check_existing=False)

            scene.frame_set(scene.frame_current + 1)
            self.wait = 10
            for area in context.screen.areas:
                area.tag_redraw()

        return {'PASS_THROUGH'}

    def execute(self, context):
        scene = context.scene
        wm = context.window_manager
        self._timer = wm.event_timer_add(0.1, context.window)
        wm.modal_handler_add(self)
        scene.frame_set(scene.frame_start)
        return {'RUNNING_MODAL'}


text:
Object appears to be overlapping in object view
When panning around in the view port and rendered mode artefacts show randomly, I have checked if any duplicate vertices, and gone in the wire frame mode and everything appears normal,I have also pulled around the vertices and faces to see if any overlap and have also set a material to the object but the problem still persists. I am a relatively new to Blender and its likely to be an easy fix, Any ideas at what could be happening here? Thank you
Update: Even when adding a new object straight away it had this problem, so has likely nothing to do with any editing to the mesh and might be a problem with blender it's self.
Blend File
Version is 2.82
Render engine Eevee

pls share file, thanks

While sharing the file helps, it's a good idea to mention what version of Blender you use and if you post screenshots, please do not remove the little clues there are by cutting it down to the issue, but leave the screenshot show the interface setup. We can only play detective based on experience and for that we need clues. So showing more pictures of settings, possible modifiers used and display mode (Eevee, Cycles, Material Preview, Solid) can all help. Regarding sharing the file Blender-Exchange can be used.


text:
Blender rendering black screen when light out of interior
I'm pretty new to blender and for starting wanted to create my room. I just wanted to make render in middle of work to see how is it look like without noise and all that laggy stuff.
I started it and all I see is black screen(on preview it works fine). Render takes a while, so at start I thought that final result will show something else but still(rendered in cycles but EEVEE shows the same).
After some research and trying some stuff nothing helped. So I tried to put light inside of room and it worked, but light shouldn't be there.
Blend file

Ok guys, now i know the reason of this.
Thing that caused it is boolean modifier and cubes which I used to do this blocked any light no matter hiden it or not.
My solution was to make them invisible for render in visibility tab

Hi :). You can also use outliner toggles to hide objects from render :).


text:
I was modeling something, and when I tried to undo, it made the "skin", as you could call it disappear, and I can't see what I've already drawn
Initially when i tried to undo, the answer google brought up was outdated, and I pressed ctrl+alt+z, then I did a little more digging, and pressed ctrl+z, that STILL didn't revert to any earlier edits, so I went to the edits menu, and looked through my edit history, when I pressed edit, something happened and my model looked something like this:

To view all the undoable steps, go to Edit > Undo History and you can select which step you want to revert to. Blender keeps track of a ton of actions such as selecting / unselecting objects, so that's most likely whats going on.

You can also increase/decrease the number of undo steps that Blender remembers in the User Preferences.

Appreciated, but do you have any idea how to get the texture back on my model? The net isn't very useful, because there's no reference.

Do you mean how the 3D Viewport is displaying your model as a wireframe? You can press Shift+Z to toggle wireframe view mode or hold Z to bring up a pie menu to select the viewport shading mode. You can also change the shading mode with the 4 buttons with circles on them in the top right of the 3D Viewport


text:
Geometry Nodes - Selections from A Variety of Collections Based on XYZ Index values
I'm trying to understand Geometry Nodes in 3.0 by doing my own modular generator where instances are being generated from a simple base mesh object (see image above) that is then put through a Remesh Modifier using Blocks (see remeshed object below that creates several instances that have constant xy values to create blocks).  I've got a setup to create Random Instances of variations of corners and walls and then sets of those based on the level: bases, mains, and tops.

However, I can't figure out how to assess the instances to assign particular collections based on the xyz values.  Basic if->then filtering based on the xyz values, also determining rotation based on facing.  I've gotten the base layer to designate the right collections and rotate the corners and walls properly, but it appears that the min and max z value is for the entire mesh not the z values when x and y are constant. I'm sure what I'm doing isn't the best solution but I think I'm making this way more difficult than it has to be.

Choosing Geometry with minimum Z value (does it for the whole mesh not individual z axis)

Separating out X and Y values to set corners and walls along with rotation.

Iterations to find Max XY, Min XY, Max X-Min Y, and Min X-Max Y

Result of Base Filter only displays correct base on z axis where base all has same Z value.
Specifically, the lowest z valued instance for all of the instances with the same x and y should determine a base collection object, and then assess if it is a corner or wall, by determining base corners collection by the highest and lowest instance of x along the y axis, and the highest and lowest instance of y along the x axis.  All other instances in the base filter would come from base walls collection (rotating these instances based on the x/y values would also need to be done).  This process would be very similar for the top filter based on the highest z valued instances along the z axis.  The main filter would be for all in between instances on the z axis.
I'm guessing it is something to do with the selection node but I'm not even sure where to start other with an embarassing node tree that shows that I lack a fundamental understanding of geometry nodes indices and beyond.  I'm trying but the documentation in blender is not that helpful and I'm just looking for the right direction to start.  I'm able to get some things going, in filtering, but I'm just not sure how to generate a value to create instances where the instance is the highest/lowest value on a particular axis.
This is the blend file https://drive.google.com/file/d/1PolRXHG8LS8UH_CkPDEZR2W-_5f6b_a3/view?usp=sharing where you can see my mess.

File is not accessible.  Drive is asking to ask for access.  If it fits, better to put it on blend-exchange. (How to add a blend file)

Thanks for letting me know.  I updated link and will use that technique once I get back to my computer

also a detailed text is great - one good sketch is more worth than 1000 words. So i would recommend to add a sketch to make it easier to understand what you want and to attract more people to help you.

Thanks Chris.  I've added some images to further illustrate the concept.  What I'm doing is trying to have the very simple base mesh run through the remesh modifier (blocks) and then automatically designate the various module collections based on the remesh shape instead of a base grid.  I'm going to go through your process and tinker around because I'm sure I will learn a ton more about how to use these different node combinations for other purposes.  Thanks so much!

Still struggling to figure out how to make a selection to go into "Instance to points" node from a base mesh geometry where the math functions determine the point with the highest z value when x and y have the same value (e.g., 3 points, all have x = -10.991 and y=-8.992, but z values are -0.981, 1.018, and 3.016).  This would analyze all points, and filter out anything but the maximum z value where the points have the multiple z values where x and y are the same and iterates through the x and y values of all points to make the highest z value selection for each x-y set.

Will post solution soon.  Finally did it dynamically with the base mesh -> remesh modifier.  Geometry Nodes are powerful - I wish they were more intuitive, but I guess that’s what node groups are for.

So the solution to a dynamic base mesh is to use "Normals", "Capture Attribute", and "Delete Geometry" (set to points) Nodes to select different points on the Remesh Modifier, then run that output to the Collection or Object Nodes for the modules.  You need to set this up with filtering using Dot Product (Vector Math-set to points), Compare Floats Node, and Booleans (Math Node) then run those to the Delete Geometry.  I'm guessing there are other ways and maybe better ways to do this, but it works.
Here is the top filter and the other parts are similarly constructed comparing x,y, and z positions.

ok, if i understood your right, you wanna build a building with multiple floors in geometry nodes which will be built with different parts.
I would start with the basis like this:

The "ground" is a grid, which will be instanced by some parts which are in a collection.

Because the building should be customizable (of course!) we connect the group input to important values.
to be flexible in height, use a mesh line as height builder like this:

Next step is taking the "right" parts for the corners:
Let's start with just one corner to understand the mechanism:

The important part is "index" "equal" "separate geometry".
So the index of the grid will be compared to 0 (in this example) and by this i can separate the whole corner (over the complete height) and then instance on that corner another part.
result:

Note: In my case i had to correct my rotation of my part.

now...how to get the other corners?
of course, you can (and we will) use math, but practice is always safer than theory...so let's find out. Mute the instance on points and just...increase the index and let Blender do the work for you:

Now we learnt:
Blender increases the index by 1 on the y axis. And after that it "jumps" to the next value on the x axis. That's ridiculous easy ;) Thank you Blender!
Now i added some color (set material node) so that you can see better the result of our "corner working".
New node setup (now with two corners):

result:

new nodes:

Now we still compare the index to 0, but additionally we compare the index to a value (which is length) subtract by 1 (because the index counting starts at 0) and get the maximum of that to select our points.
Why does this work?
let's count:
if our length is 5 and we subtract by 1 results in 4. So if our index is 4, the result of the new Equal node is 1. And the maximum of 1 and 0 (because now of course our index is not 0) is 1. That's why we got two piles of orange cubes here.
now the last two corners are pretty easy:

Just compare width * length - 1 (-1 because index start at 0) to index.
And width * length - length to get the other corner.
All that of course combined with the maximum of all to the resulting mask.
result:

total node tree so far:

Now let's put something on the roof:

this time we separate our geometry from the mesh line (which are our levels) and separate our highest level (the roof) and instance on that some other geometry.
result:

yes, that's pretty boring.
Let's get some randomization in there.
So plug in a distribute points on faces in there with poisson disc...and now...tadaaa:

That's pretty cool.
node setup:

Now we separated our mesh line via its index, instanced the grid on it and on that top grid we distributed (freely) our points so we got the randomization. If you don't think now that geometry nodes is just awesome, i cannot help you.
Note: Yes, i am a poor modeler, that's why my windows look like shit. Yes, you could also improve this by a lot of things. e.g. I didn't correct the rotation of the corner parts, but i think it should be now clearer, how to use index in geometry nodes and that you can build really cool stuff with it.

Chris this is an awesome explanation of how to generate the building from a grid which I will certainly utilize for other structures using the modules I have.  Geometry Nodes are very awesome, but whatever grasp I thought I had on it was obliterated in 3.0 with all of the new nodes.  I didn't have a very good grip anyhow, and I'm guessing this is more in line with how it will operate in future iterations.

Thank you!

Chris, How did you get that “equal” “integer” A B node. I’ve gone through all of the math and utility nodes and the closest I could find is compare floats

@JayC.Besch: check this out: [1]: https://i.sstatic.net/tP0IC.gif


text:
Adding keyboard shortcut to a blender script
I know it's probably not the most elegant, or even a usable, solution, but is it possible to use a keyboard shortcut, say pageUP in a python blender script?
OR find out the code behind the shortcut, like one can do elsewhere in blender, like a button's code for example.
I have been looking in the input user preferences and hovered over the shorcut , which gives me:
keyMapItem.map_type
bpy.data.window_managers["WinMan"] ... map_type

But i'm not sure how to use this, in a script, to give me the shortcut "page up" functionality.

What is "blender script"? Is it the Text editor or Python console or is this about adding a shortcut with python script? What function you want to make a shortcut for?

I don't think you want to use the shortcut, you want to use the tool that the shortcut activates.

I have a series of  one frame movie strips, which I want to iterate through and extend each strip from one frame to 10 frames. I use the pageUP and pageDpwn shortcut to manually iterate through them, then select them and change the length from one to ten. I was looking to automate this process with a python script within Blender.

I cannot find the syntax that relates to the shortcut. I know to hover over a button, or whatever, to get the python code, but am stuck for shortcuts.

@reggie Go to the user preferences > INPUT and search for "Page Up" with the mask set to Key Binding

I think your going about this the wrong way. Like Ray Mairlot said, you don't want the buttons pushed, you want some action to take place. That's why I replace your question with the comment above. You want to iterate through the strips and extend them to ten frames. This has nothing to do with buttons if you're trying to achieve this with code.

I re edited the question to try and make it simpler, but may have confused the issue! I failed to say that there are other movie strips in the scene that I don't want to change. I only want to change the movie strips that are 1 frame long.

It would be better(and probably easier) to do this directly rather than using trying to use the keyboard shortcuts in the code. Try this:
seqs = bpy.context.scene.sequence_editor.sequences_all
for seq in seqs:
    seq.frame_final_duration = 10

Or if you want to just modify selected strips:
seqs = bpy.context.scene.sequence_editor.sequences_all
for seq in seqs:
    if seq.select:
        seq.frame_final_duration = 10

Or if you want to just modify the strips based in their length:
seqs = bpy.context.scene.sequence_editor.sequences_all
for seq in seqs:
    if seq.frame_final_duration == 1:
        seq.frame_final_duration = 10

I was trying to use the shortcut to jump through my clips in the scene, so I could select the clips that are only one frame long. I have other longer clips in there too, sorry didn't make myself clear.

Your answer is spot on for my comment (3rd comment down)!

Could your code be modified to only select the clips that are 1 frame long and ignore the others?

Added to answer.

Whoo, this does what I need! Thanks cmomney.  I'm a little curious, however, if one can actually use shortcut keys in some way in a script?

Again, its not the shortcut key your after, its the operator or function that the shortcut is performing. And yes, you can reproduce just about everything you can do with buttons and keys with code. If my answer solves your problem please choose it as the answer.

I'll up-vote your answer if you can add how to assign a keyboard hotkey to run the script.


text:
move clip to next empty channel script
I have 10 to 20 movie clips on a single channel in the VSE.
1) Is there a way to distribute each clip to its own individual empty channel?
2) Keep the clips start point and extend the end points to the end point of the last clip? maybe with:
py.ops.sequencer.select_handles(side='RIGHT')
bpy.ops.sequencer.snap(frame=something)

is it possible to automate this process with a scrip? any pointers would be appreciated.

Remember that Blender's VSE doesn't have unlimited number of tracks or channels. IIRC its 32

There will only be 10 or so. I plan to make a metta strip with the moved strips once they are moved and extended.

This is fascinating, what do you use the long tails for? Are you compositing a bunch of smaller screens together?

Here is a test script.  All strips on channel 1 are selected, sorted by frame_start,  then added to channels 2, 3, 4 etc.  and extended to the frame_final_end of each to the frame_final_end of the last strip.
import bpy

context = bpy.context
scene = context.scene
se = scene.sequence_editor

strips = [s for s in se.sequences_all if s.channel == 1]
strips.sort(key=lambda x:x.frame_start)
print(strips)
end_point_of_last_clip = strips[-1].frame_final_end
for i, s in enumerate(strips):
    s.channel += i
    s.frame_final_end = end_point_of_last_clip

Thankyou so much, it does exactly what I wanted. I'll learn loads from this!


text:
Apply a strip property to multiple strips
Is there a way to apply a strip property (n) to multiple strips without having to click on each strip individually?
I'm trying to proxy/timecode large number of strips, and it's become very tedious!

Normally you could right click on the setting and select Copy to selected, but for some reason it's not avaible in many places.. You could use a simple python script though.

I tried right click on the setting and select Copy to selected but it didn't work. Any pointers on a possible script would be appreciated :)

This is quite simple in python:
import bpy

for s in bpy.context.scene.sequence_editor.sequences:
    if s.type != 'SOUND':
        s.use_proxy = True
        s.proxy.build_25 = True
        s.proxy.build_50 = False
        s.proxy.build_75 = False
        s.proxy.build_100 = False

This will set use_proxy to True for every strip in the current scene which is not a sound strip.
Just paste it into the text editor (ShiftF11) and press Run Script or AltP.

I like the idea of scripting, but when I ran this script it failed and told me to look in the console; from which said 'SoundSequence' object has no attribute 'use_proxy'. What am I doing wrong?

@reggie My bad, I forgot sounds strips don't have a proxy option. Updated answer.

Thank you so much I love it! This scripting will be so useful!

Here's a link to the API reference, in case you want to look at it yourself: http://www.blender.org/documentation/250PythonDoc/

How would I amend this scrip to set the proxy value to 25% for all the strips too? Iv'e been trying for the past hour, but no luck!

@reggie Updated. You can mouse over any button or option and the python api calls are in the tooltip.

This gives :AttributeError: 'MovieSequence' object has no attribute 'build_25'

@reggie Oops, stupid mistake.. Updated.

Also there is a more complete addon that can perform this task. http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Sequencer/Extra_Sequencer_Actions
There are lots of copy actions in here.


text:
keyframes disappeared?
I'm using blender 2.69's VSE (Video Sequence Editor) to edit a simple video; and have run into problems with key frames.
I spent ages adding lots of key frames to make the brightness to fluctuate with the sound, then for some unknown reason, I lost all the key frames.

I've tried hovering over the graph editor and pressing the home button, but know joy; could I somehow have turned them off?
I have an earlier version of the blender file, that still has most of the working key frames in it, could I copy them back, and if so how?

After comparing settings on the earlier version file with the problem file, I managed to get an opacity to fade in on a strip; but I appear to have lost the key frames, in the graph editor, that made this work.
I did this by pressing the snowflake here

which resulted in the loss of the key frames (see below)

but it workes.
I then tried to add an additional key frame to control contrast on another strip, but it doesn't seem to work either. The contrast value doesn't change when you drag the play head over the transition, in the graph editor, see below:

I'm very confused, and frustrated that i don't seem to be able to get all my key frames working together.
any ideas what I'm doing wrong?

Thanks Pablo, you pointed me in the correct direction. When comparing two action strips, I noticed that one was working and the other wasn't. After further investigation I stumbled upon why; I changed the setting extrapolation from hold to hold forward, and bingo, I can now see the effect on my video of the many key frames I created, and thought I'd lost!

I don't understand, why this happened or what this setting does, however! So if someone could please explain, I'd  appreciate it;
also why this works:

and this doesnt't:

What you have done is to convert the frames in an "Action Strip" or "Action", to edit this frames select the "Action Strip" (the yellow one) and press Tab to edit it. I don't know if you can revert the "action strip" to "frames"

Also if you added another keyframe, the upper frame override the bottom one. What you need to do is to convert the new keyframes in "Actions Strip" and play with their properties.
Look at image 3 and search for the blending property, it define how it will apply over others "actions". After convert "frames" to "Actions" you can drag and drop to order the "Actions", start and end times, etc.


text:
Toon shading using realistic textures?
I'm trying to figure out a way to give a model a toonish look,but retaining the texture details. Is that possible?
This is my current setup.

Try using an actual Toon Shader

My bad I uploaded the wrong node setup.

Sometimes an NPR  surface effect, or half-toning, etc. is best achieved by using a Shader to RGB node in EEVEE, or the Blender Internal renderer, either of which can feed the light-response of a surface (as a color) back into the rendering pipeline for further manipulation. This can't be done directly in Cycles, where shaders don't produce definite colors on their own - they are functions determining what to do with (possibly a large number of) incoming samples of light.
If you want this kind of non-physical feedback from Cycles, you can do it indirectly, by baking the colors resulting from shading into a texture before using the texture in another material in another render, or by using the colors resulting from shading in compositing. But that can be expensive, in processing time, and your time.
Here's a simple example using Blender Internal:

The sphere has a couple of mixed textures influencing its normal. The effect of the normal on the lit surface is then put through a color ramp, with this result, after a Freestyle outline is added:

Use toon bsdf shader on cycles.


text:
Unable to Pack File. How to re-pack it?
Similar questions have been asked before, but not quite the same, and no suitable answer found.
I rendered a scene on one computer.  Some texture images were on a USB memory stick plugged into "G:" on that computer.  They didn't get packed with the .blend file unfortunately.
Now I'm rendering that .blend file on another PC.  I have the memory stick, with those images.  I just want to put those images into the .blend file, and save it all packed together.  So can render that .blend file on any PC.  If someone could explain how please, in simple noob steps, I'd be very grateful.
The .blend file is not reading those images on the USB stick, because on this PC the USB port is H: instead of G:
Maybe could trick it into being a G: somehow, but that's not really the aim.

Thanks
Edit:  I can go to the Material Node for the missing texture, click the folder icon, and re-locate the texture image, and can render the scene properly.  But still, when saving the .blend file, it will not pack that image into the .blend file, even with "Automatically pack into .blend" selected.  So rendering on another PC will run into same problem.

Well obviously before packing your texture must be accessible and in the original place they were saved in the Blender path, so Blender can find them and pack them. If they were on a USB stick you must plug that USB stick before being able to pack, also the drive msut be assigned the same G drive letter before proceeding.

When the texture is not in the original place, how to point to that texture wherever it is, to "grab" it and then pack into the .blend file?

Navigate within blender where that texture is used (? Material, Node editor Modifier, Texture Painting, VSE, etc) press the browse button with the folder icon and browse to the new location

Ok, thanks.  Did that, the image rendered ok.  Clicked External Data -> ticked "Automatically pack into .blend".  Saved the file.  Now when I remove the memory stick, it still cannot find those textures.  So how to really pack the textures in to the .blend file, and get them to stay there no matter what?

And now Blender is saying both the G: drive images AND the H: images are not found.

I wonder if Blender limits the file size that can be included?  e.g. a large video filesize might not be packed?  Try a much smaller substitute for one of them in the form of a test video of just 30 secs.  That would tell you either way.

Not using any videos.  Only .PNG files for textures.  Largest is 64mb.  .blend file is 483mb (have used .blend files twice that size)

One technique that might be quicker than manually reloading all of the items that have a different drive letter, is to change the drive letter on the computer. See this page for instructions on how to proceed. And if the temporary computer is not yours, before changing the drive letter, make a note of the old one, and when you are done, change the letter back, so the machine when you leave it is the same as when you started using it.

Thanks.  I did that.  It works, but is just a temporary fix.  I'd like it to pack all the files, so the next time there are no missing files.  Because maybe next time I don't have the memory stick these files are on.


text:
Should Twist Deform Problem
I'm quite having problems with the twisting of the shoulders I don't know if its the weight, or something about the IK.
This is my character.
https://www.mediafire.com/?5903hn3cjqt9n8d

what is the difference between this and your other question http://blender.stackexchange.com/questions/41539/shoulder-deformations ?

There is no difference but It's difficult for me to follow the instruction he's giving maybe a tutorial for that clip.

Nevermind I'll just delete this question clueless

This is not a tutorial request site. If you do need help understanding the answer to the linked question, try and identify what part specifically that you are having trouble with and ask a question about that.

For a general intro to rigging in blender you should check out humane rigging (https://www.youtube.com/watch?v=c-0oBXJZwQE&list=PL3wFcRXImVPOQpi-wi7uriXBkykXVUntv)


text:
Child of constraint. Bow Suddenly rotates
I'm making an archer and connecting my left hand to the bow but every time I move the hand the bow suddenly rotates. I don't know if its the main bone which I've used for the Constraint
Child of Constraint creates strange glitch?
I've tried this guide transform and the inverse but still same result.

This is my archer Sorry my first time to use the blend exchange

Maybe "copy transforms" instead of "child of"?

The copy transforms seems to work fine. Is there a way so I could point my bow toward? bro. or should I ask another question? @lemon

Adjust the base bow bone in the wanted direction. The idea is to make it always aligned with its constraint. So you may adjust its children bones around it

@lemon Thanks bro for answering my questions that solved my problem.


text:
low level alternative for bpy.ops.object.data_transfer for weight copy
I am currently using this code for transfering weights from one obect to another:
def copy_weights(src, tgt):

bpy.ops.object.select_all(action='DESELECT')
src.select_set(True)  # <- context object in object mode
tgt.select_set(True)

bpy.ops.object.data_transfer(
    use_create=True,
    vert_mapping='TOPOLOGY',
    data_type='VGROUP_WEIGHTS',
    layers_select_src='NAME',
    layers_select_dst='ALL',
    mix_mode='REPLACE')

However this approach needs to have the correct objects selected, the correct mode set and the correct context set.
Is there a lower level function that i can use to replace the operator call which would work independent from the context, mode and selection ?


text:
UIList setting an icon in a prop gives unexpected result
I found an oddity in the UIList when i try to show the hide state of a set of objects. Here is a class definition that works perfect:
class MeshesPropVarList(bpy.types.UIList):
def draw_item(self,
              context,
              layout,
              data,
              item,
              icon,
              active_data,
              active_propname
              ):
    ob=context.scene.objects[item.name]
    col = layout.column(align=True)
    row=col.row(align=True)
    row.prop(ob,"hide", text='', emboss=False) # <== icon as expected"
    row.prop(ob,"select", text=item.name)

But as soon as i try to set the icon to anything else, then i get wrong icons when the object is not visible. When i change the last 2 lines in the class as follows:
    row.prop(ob,"hide", text='', icon='BLANK1', emboss=False)
    row.prop(ob,"select", text=item.name)

Then i see the blank icon only when the object is visible. Otherwise i get the light bulb icon. What is going on here ?

At a first glance, I think you need a fallback in case there the property is False (There is a reason why 'RESTRICT_VIEW_ON' is right next to 'RESTRICT_VIEW_OFF' in the icon list). Did you already tried assigning something like icon='MESH_UVSPHERE' if not ob.hide else 'META_EMPTY'?

yes, of course i did that first. That was when i found the glitch. Using 'BLANK1' in the example above is just a demonstration that the list behaves utterly wrong or at least in a totally unexpected way.

'LAMP' is right next to BLANK1 in the list... https://i.sstatic.net/AAjMv.jpg


text:
How to get the state of a modal object.bake
I want to use
bpy.ops.object.bake('INVOKE_DEFAULT', type='DIFFUSE', use_clear=True)
to bake material information into textures. When i call object.bake in that way then the bake tool operates in the background and does not block Blenders user interface. This is actually what i like to have. However my problem is that i do not know when the bake is finished.
I just can not see any obvious way how to get this information out of Blender. All i read about how others try to fix this issue sounds extremely complicated to me and that can't be right i suspect.
So what is the trick ? Where can i look at to see if the bake tool is still active, on which material it is currently working and which himage it is currently baking ?
And if it is doable but really complicated to do, is there at least some working simple example which i can use as a starting point?


text:
reset a custom PropertyGroup of an object to initial state
I have created a PropertyGroup as follows:
# Define property groups...
class ObjectPropGroup(bpy.types.PropertyGroup):
    edge_display = BoolProperty(default=False, name="Edge Display")

#initialize custom property groups...
bpy.types.Object.ObjectProp   = PointerProperty(type = ObjectPropGroup)

When i now create a new object obj and then look into the custom properties list, ObjectProp is not listed. But as soon as i add a property to the group:
obj.ObjectProp.edge_display=True

now the ObjectProp appears in the list of custom properties of the object.
This is all good so far. But now i run into a small problem when i want to cleanup the object and remove all elements from ObjectProp. So what i do for now is:
for key in obj.ObjectProp.keys(): del bpy.context.object.ObjectProp[key]

This works as expected and deletes all data. However the ObjectProp itself keeps in the list of custom properties with an empty data set {} Is there a way reset obj into its initial state so that ObjectProp is no longer shown in the custom properties list? I tried the easy way but that failed:
del obj.ObjectProp
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
AttributeError: bpy_struct: attribute "ObjectProp" from "Object" is read-only

Is there a solution?

The answer is so stupid simple:
del obj['ObjectProp']

However i hope this question is still helpful for some others.


text:
Animation Nodes Loop Performance
I'm using static parameters in Loop Subprograms.

Setting up these parameters let's me modify the node tree easily, but I noticed, that I never change the inputs. I would like to move unnecessary input into the loop subprogram.

This seems like a bad idea, if an extra instance is created each time the loop is run. (I am already having poor performance.)
Does having more instances created inside the loop (versus as input parameters) affect the performance negatively?
An example of how my node setup looks like.

It depends. If most of the time is spend in the inner loop there should not be a noticeable performance drop. Also it depends on which nodes you use. If you only use simple nodes like Object Input or Time Info, you should not get any problems.

Thank you for your quick response. I have updated my question with an example. Which method is more perfomant in that specific (although simplified) case?

in that case you should definitely use the setup on the right side. The Object Mesh Data node takes longer to execute. (Also in my opinion the right side looks much better.)


text:
Box selecting various strip types
In the video sequence editor, dragging a box selection over the body of various strips produces different results.
As opposed to video and audio strips, meta strips don't get selected.
[EDIT] I would rather not drag a box aroundt the whole strip, because I'd be selecting adjacent strips. I use the multicam strip for cutting, which results in many multicam strips being next to each other seamlessly.

Can I set this behaviour to be more consistent?
[All strips beeing selected, multicam strips as well.]

@cegaton Asking questions is hard. I mean Multicam-strips as in the gif.

import bpy

# Usage: Place the cursor over the strips you want to be selected and run the script.

# Define current frame and sequence strips

cur_frame = bpy.context.scene.frame_current
strips = bpy.context.scene.sequence_editor.sequences

# Loop over strips and find which overlap with the cursor

for strip in strips:
    if strip.frame_final_start < cur_frame and strip.frame_final_end > cur_frame:
        strip.select = True
    else:
        strip.select = False

Another (temporary, until the bug is fixed) solution is to paste this script in the Text editor and run it whenever you want to make selection based on the position of the cursor.

Thanks, wrapping this in an operator may be the fastest method.

This is just an example of the power that Python scripting.
There are thousands of Blender users that need thousands of custom tools for one-time or daily use :)

I believe it's buggy behavior, because sometimes work, sometimes don't.
One way to select various types of strips is to try to surround them with the bounding box selection, not only touching the strips.

If I draw a box select around the ends of the strip, I will be selecting the strips next to it. Then I'd have to deselect the strips next to it.

My answer is based on the gif image you posted.


text:
Assign camera to renderlayer
Is there a workaround to assign a camera to a renderlayer?
I have multiple renderlayers (each with a different part of the scene). I would like to combine them into a single rendered multilayer exr. But I want to render each layer with a specific camera assign to the respective part of the scene.
I all else fails I will write a script to loop through the layers, activate a camera, render the image, save it and at the end combine the layers via the compositor. Or does a builtin method exist already?
I'm using Blender Internal with freestlyle and transparency.
Related: multiple camera renders into multiple images


text:
Overlapping Border is neither Silhoutte nor Edge Mark
I want to separate my spherelike object with a freestyle line. I have added an edge mark.

At an unfortunate angle the freestyle edge mark seems to be occluded, but creating the silhoutte of overlapping geometry. I don't understand this, how can I create a separation as in the left and right examples which is visible from all angles.

As pointed out by Mr Zak, I'm am not using any crease. It's just the edge mark and a subdivision modifier (which I also tried applying before rendering).

I'd suggest just adding an edge loop next to the creased edge (or beveling the creased edge but removing crease from the beveled edge) to make engine pick those areas easier. This seems like a bug in Fresstyle, same as too few geometry making freestyle lines intersecting each other

@MrZ Thank you very much for your suggestion. I have gotten a little bit more of the intersecting line, It doesn't disappear completely anymore. I have updated the images and files.

I mainly meant using an edge loop between the smooth sphere surface and extrusion so that freestyle edge doesn't sit next to extruded face loop. It will provide some artifacts (this time from other views) but not apparent ones

@MrZ I guess this produces acceptable results. I can easily surround my freestyle edges with additional loops to reduce challenging angles. Add an answer if you want?

Go ahead and add yours, that will be better as you know what limitations are acceptable for you and what worked in the end


text:
Transparent plane working on EEVEE but not cycles
I'm kind of new to Blender.
I'm trying to make a Reed and the flower ar the top is an Image plane. I've added  a transparent plane & it works fine on EEVEE render & won't work on Cycles (not 100% transparent). I've added the EEVEE Render, Cycles render & the Tree node to the page so that you can see the difference

Hello :). If you want help, please add a better image of your material nodetree.

.

The EEVEE Render Here

Thanks Susu for the info. It worked beautifully. I'm kinda new here so I don't know how to make your answer as the correct one.

Don't add the translucency after the transparency.
Use transparent at the very end of the chain.


text:
Particle system deforms in the render
I'm trying to render grass made out of a hair particle system and it deforms itself every time I render it on EEVEE, even though it looks right in the viewport.
I changed the shader so it's not that, and I've noticed it happens when the particles count goes over 5250 (I'm trying to render at 15000). Below I share the images. I'd share the .blend file but blendswap isn't uploading it and I believe that's how we're supposed to share it?
Following is the link to the .blend file https://pasteall.org/blend/b42803bc22bb4ebfb7e683e56a1f5dc6
Ok (viewport):

Render:

Hello :). You can use https://pasteall.org/blend/ for uploading your .blend files.

Found the issue, the children particles were too many for rendering.