Blender animatons not working properly in unity 3d

Please don't take a photo of your screen, it's not quite readable. More infos here.

Your issue could come from several things. But considering you're just starting and didn't provided enough informations to let us work fast and precisely, I would start with the more classic issues. You will have to check through, I'll try to be clear and concise.

1) Location / Rotation / Scale not initialized / applied.
If you made your rig (and so on) while your object were not placed nicely, were rotated or had a scale different of 1 (or wore, not the same scale on each axis), it will cause troubles. Always check that when done modeling, before doing anything else (including rigging).
Solution : Use the "Apply transforms" menu (ShiftA) to apply the current object's state (be aware that applying location basically means to set the object's origin to the scene's center, it's not always what you want).

2) Bad origin placement
If your object's don't have their origin at the same place, they can't possibly be imported in the same place in another software.
Solutions: Make their origins be in the same place (i.e. : scene's center)(you can use the apply location with ShiftA, or manage the origin with Ctrl Alt Shift C, or use a parent (the armature is a parent, you can also use an empty object which you set as parent of everything else and select last before exporting so that he is used as the selection's origin).

3) Skinning/weights issues
As mentioned above, it might be some issues with how you assigned your meshes to your armature. Make sure you assigned those meshes to at least one of the bones.
Solution: Use weight paint for that, it will show you the weights with colors. If its missing, either paint, or use the edit mode to select the mesh parts you want to assign, and use those widgets to do so :

Hope it helped.


Bone Heat Weigthing failed to find solution for one or more bones

To solve this:

I first removed doubles. This is caused because of non-manifold
geometry in your model as shown in here.
I then switched into Edit Mode
Then hit Ctrl+AltShift+M to find non manifold geometry in the model
I then unchecked all the list except the Boundaries as shown below:

I then hit Space Bar and type Dissolve Vertices as shown below:

After that I did automatic weighting and it worked perfect as shown below:

Updated .blend file can be found here:


How do I radial gradient shade an open object?

A simple gradient texture would do this. Use a gradient texture (I used spherical) with object texture coordinates (add the object you want the coordinates to come from in the Texture Coordinate node), and a *Color Ramp (Ease interpolation* would probably give the best result) to adjust the contrast as a mask between two shaders as shown below:

Click to enlarge
Also, it is important to apply scale to see correct results.

This should give you a result like this:

Here is the modified file:


blender api - get current location and rotation of camera tracking an object

Use the matrices

Use the cameras matrices to get the visual transform.  For global transform use ob.matrix_world

>>> C.scene.camera.matrix_world.to_euler()
Euler((1.1093189716339111, -0.0, 0.8149281740188599), 'XYZ')

>>> C.scene.camera.matrix_local.to_euler()
Euler((1.1093189716339111, -0.0, 0.8149281740188599), 'XYZ')

The matrix can be decomposed to location, rotation and scale. The quaternion rotation can be converted to Euler if need be.

>>> loc, rot, scale = C.scene.camera.matrix_world.decompose()
>>> rot
Quaternion((0.7804827094078064, 0.483536034822464, 0.20870360732078552, 0.33687159419059753))

>>> rot.to_euler()
Euler((1.1093189716339111, 4.011331711240018e-09, 0.8149281740188599), 'XYZ')


How to skew precisely a specific part of a mesh

I think that a lattice would be a great tool.  As far as aligning it exactly, well, it's difficult (requires a bit of on-paper math) but it is possible.
However, an alternate, that's easier to set up, is to just use a mesh deform modifier:

In the bottom set of arches, the mesh deformer has been shapekeyed after the bind, creating (linearly interpolated) skew.  Note that the mesh deformer is displayed only in wire, so that you can see the interior mesh.
Note the top set of arches, which shows the setup but with the mesh deformer in the basis shapekey.  Notice that the loop cuts aren't placed evenly, as a lattice would, but are placed arbitrarily, wherever I want.  If you want to using snapping to align these edges with some edge of your base mesh, that's perfectly doable.


Align complex, non-matching meshes as closely as possible in size, position and rotation

Very Easy. You can use object constraints. The constraints which will help you are: Copy Location, Copy Rotation, and Copy Scale. Then just add the other object as the target in the constraint.


If the mesh is watertight but has areas with zero thickness then these areas are non-manifold. In Blender 2.80 you can select them using Select > Select All by Trait > Non Manifold.

For 2.79 and earlier take a look at this answer by gandalf3.


How to keep sync between Canvas and UV Editor

Very annoying. I finally solved the problem. Just unpin the following button on UV Editor. Then you will get the assigned texture whenever you select a object and turn it to Edit Mode. (This is for Blender 2.8)


So as You could see on the image above, the "lined" corners are crucial for window operations. Every window has TWO of them, so look for the top right and bottom left corners as circled green on the picture.

1) Drag that corner to the edge of the window to collapse the one next to it (bottom circle on the image)

2) Drag that corner from the edge to make a new one (top circle on the image)

As You could see I created new BIG windows in the center instead of that small on the right which seems that You want to achieve.

Hope it helps buddy, Sincerely, JayM


Using a background image to model in Blender

Press N to open the properties panel on the right side of the 3D view (if it is not already open)  Then scroll down till you see backround images and click add image.  To see the image you must be in orthographic mode and a side view, pressnumpad 5 to toggle orthographic/perspective mode and numpad 1/3/7 to go into a side view.


If you are trying to use the image as a sky/panorama background, you probably want the Environment texture node instead of the Image texture node.

The environment node will let you use panorama projection types (Mirror Ball and Equirectangular) This is the only difference between the two nodes, see What are the differences between an environment node and a image node?.

However, if you really want to use the Image node for the sky/background (e.g. to have an image stuck exactly behind the camera, always in the same orientation), you will need to adjust the coordinates with a Mapping node:

Note that to edit the world nodes, you must ensure the little globe icon in the header is selected.


Using Blender's Python API to get parent bone names

Since parent as a property is always present (being either an object or None and objects always have a name) you can make a ternary conditional inside the print since it's the second access that causes issues not the first (accessing the parent's name not accesing the parent itself).

print('%s, %s' %(bone.name, bone.parent.name if bone.parent else "No Parent"))

When updating the property, similarly you can simply check or place it inside a try/except block:

if bone.parent:
     bone.parent.name = ""

or

try:
     bone.parent.name = ""
except:
     pass


How to make water tight surface for 3D printing

The thickness you're using for Solidify modifier is 2, that means two blender units, and you're not using clamp, the screenshot's don't show the scale you're using, but just to give you a hint, if you're using meters for instance, you're using 2 meters for thickness.
You can use Offset to change the direction of extruding faces using this modifier, but to be honest, looking at the mesh, I don't believe it's possible to get good result using Solidify, since this will be applied to the whole mesh, so you have to reduce the thickness not to exceed the closest faces to each other, the bolts like faces are too close to each others compared to the scale of the whole mesh.
The best method is to copy the object, make the copy smaller, decimate the mesh to a simpler version, this might need some manual tweaking to make sure no internal faces or overlapping is taking place, then position it in place inside the original mesh, and weld the two meshes together using Ctrl + J


Some objects disappeared in the modeling tab after render

You are in an isolated view inside of the Modeling tab.
Go to View > Local View > Toggle Local View or press Num /.
(Blender 2.7: View > View Global/Local)

You know that you're in isolated mode / local view if it says User Perspective (Local) in the top left corner.


You need to plug the Texture into the shader, then the shader to the output :

The color of the inputs and outputs is important. You can't expect plugging a Yellow output (Color information) into a Green input (Shader information), and get a result. More informations.

Also, in the blend you shared the texture is black, so of course the materal will be black.


UV/Image Editor - renders both cameras... depending. Is this normal behaviour?

This happens if you lock a camera to a viewport.

To lock a camera to a specific viewport, go to the specific 3D viewport's header and deselect the camera lock button on the right side of the layer buttons. Then press N, go to "View - Local Camera" and select a different camera.

To deactivate the view-specific camera, just enable the camera lock and the Render will show the view from the active camera again.

If this answer solves your problem, please vote and mark it as "accepted"


To what degree does Blender support PTex?

It is still supposed to be integrated, but later than 2.78.
Nicholas Bishop is working on it.


Looks like your material setup seem to be wrong.
Check my example image for creating PBR setups in Blender. It maybe helps you:

You can read my short article for this topic, if you like:
How to setup PBR materials in Blender


Use driver to deliver output depending on the state of an objects rotation

Angles 0-90° has positive cos and sin so we use this logic statements  cos(rot)>0 and sin(rot) >0 which evaluate to 1 when the angle is 0-90° and 0 otherwise :

Note: the angle is in radian


How do I set weight painting brushes to limit total vertex weight to 1?

The auto-normalise setting in the brush menu will make it so the total weights on any vertex that you paint are adjusted to sum to 1. This has bee in blender for a long time, see https://docs.blender.org/manual/en/latest/sculpt_paint/painting/weight_paint/tools.html.

The menu options is here in 2.8:


When importing a model, it's not automatically set as the active object, though it may appear as though it is, by the outlines surrounding it. You can have several selected objects, but only the last selected one is active. Right click on the object, to select it and set it as the active object. Several new tabs should appear in the properties window. Click the one that looks like a wrench, and you should see the option to add modifiers.


Several options available. You can take a look at the Instant Field Aligned Meshes for remeshing (http://igl.ethz.ch/projects/instant-meshes/), Mira and Mifth Tools (http://blenderartists.org/forum/showthread.php?366107-MiraTools) and there is the Iceking Tools.

I have the paid addon that you are referring to, retopoflow, and it is worth it - but if you search online you will find the github page as well anyway since it is GPL if you want to try that, too.


Is it possible to get this glossy shiny texture?

Lightning doesn't work the way in blender as blender is similar to the real world reflections and the logo containing the reflections are not even close to the reflections in blender. I've tried it my self in blender after seeing this question.

You can see it in this .gif file below as I try to increase the roughness reflections change.

If you really want to design logo in blender you can using some complex lightning but it won't be as perfect as you wanted, I've tried to make a simple version of what you wanted and this is the final result that I've got. To get this I've put roughness to 0.5 and Clear coat to 1.0

And this is the simple scene that I've made to get the result.

If you want check out the .blend file

Simple Answer : To get the logo you required try "Adobe Illustrator" that would make things easy and simple for making logo as most of the logo making is done in Illustrator and also the logos that you've sent are also Vectors if I'm not wrong.

But if you just want to make in blender try the above scene.


How to flatten a face to avoid distortion (make an ngon planar)

You can scale along the normal.

Set the Transform orientation to Normal in 3D view > Header:

Then press SZZ0.


The problem is these two vertices/edges that are connected to the faces that you're trying to smooth.  I can only assume they were part of the carryover from your screw modifier.

Delete them and this is what you get:


For future reference.
Blender does support the H.265 HEVC equivalent made by google, WEBM/VP9
From VP9 Wikipedia:

VP9 is an open and royalty-free video coding format developed by
Google.
VP9 is the successor to VP8 and competes mainly with MPEG's High
Efficiency Video Coding (HEVC/H.265). At first, VP9 was mainly used on
Google's video platform YouTube.The emergence of the Alliance
for Open Media, and its support for the ongoing development of the
successor AV1, of which Google is a part, led to growing interest in
the format.

Example for VP9 output
File Format: FFmpeg video
Encoding container: MPEG-4
Video Codec: WEBM/VP9
Edited For clarification: While WEBM/VP9 is not exactly H265 HEVC, it is the performance equivalent and already on Blender.


What is the intended workflow to fix this UV issue?

As per Gilderman's comment, the problem is that I was using U>Unwrap. Simply using U>Smart UV Project fixed both of the issues I mention above, producing this much more reasonable UV mapping:

Observe how the concave planar ngon is correctly mapped isometrically (that is, both conformally and authalically) into UV space, and the same is true of the big square floor ngon. In fact, every single face ended up being mapped isometrically; exactly what I wanted.


I fixed it I went to Properties Panel> Render Tab> and under Post Processing Unchecked Sequencer.


How can I make the outside of a sphere transparent

This can be done using the technique from my answer here, but with just a transparent shader for the "outside" material:

This setup makes the frontsides of faces invisible to camera rays and the backsides of faces invisible to non camera rays.


No FFmpeg Video In Panel (ver 2.79) in Fedora Linux

Here's my approach (right or wrong, its what I do):

*A I try to find a setting in the output dropdown that gives me the following encoding options:

*B Pick MPEG-4 (if you need to revert back to MPEG-2 That should still work, just make sure that you go the extra step in the Audio Codec section below this section and set it to mp3 - hint if I am also rendering out sound I set this anyway).

*C I personally try to use the H.264 codec, that does NOT imply that you should, its just what I do. To get a better sense of the codecs, and their respective containers, I recommend looking at to place in the manual.

Place #1

Place #2

*OUTPUT Whatever combination I pick (If I'm still unsure about it), I can see if it is going to work or not, by hard-coding the file extension of my desire, cross my fingers, and render. Sometimes I will get a default extension like *.dvd; sometimes my first extension may not work (such as *.mp4), so I try *.mpg, *.mpeg, etc...

The process seems pretty effective for me.

I will recommend this:

Try to stay away from getting lost in codec availability for your OS for now, as that is a huge topic, and you may even get lost in it. Your Blender implementation of it can probably be solved a lot quicker.


Adding atmospheric perspective to a scene using Cycles and HDRI

I think you want atmospheric lighting if I understand correctly. There is definitely atmospheric support for cycles. However, sun lamps do not work. Use a Point lamp, Spot lamp, or Area lamp. Also, make sure the strength is rather high. You should use Volume Scatter. If you want a mist effect, where objects fade away the further they get, you can try this tutorial. This will allow for less noisy and faster renders.


Sylistic foliage shading in Cycles? Like The Witness

I think what your aiming for is a fairly shadeless look which in cycles can be achieved with the Emission shader.

The color variation can be created by varying between two base colors via a Fresnel node, then adding some additional variation with a noise texture.

Here's an example of how this could look:

And a closer look at the node setup for easier reading:


generated texture displacement adds a line to the displacement

You are presumably using a Blender version greater than 2.79b - eg, 2.79.5 - where the Displacement socket is now a vector rather than a scalar value (blue rather than gray). You need to add a Displacement node before the Displacement socket to convert the ‘height’ from your texture into a vector along the normal of the surface, rather than interpreting it as a cector in world space.


How to change an operator's icon from a timer event

The correct way to add a property to a class in blender is by using bpy.props, in your situation that doesn't help as adding bpy.props doesn't work with panels.

The solution would be to add your is_playing property to the scene and use that for your operator icon choice.

def play_panel_draw(context, layout):
    scn = context.scene
    row = layout.row()
    row.operator("scene.play", text="", icon='PLAY' if not scn.is_playing else 'PAUSE')

Here is a sample addon to demonstrate.


This refreshes all the UV textures I have assigned to different objects:

import bpy

for image in bpy.data.images:
    image.reload()

Paste this into the Text Editor view, press Alt+P to execute it, and all your textures will be refreshed.


The easiest way to tell if it's using both cards is if you see two tiles being processed simultaneously when rendering.  I have three cards processing this scene and you can clearly see the little orange corners on each of the tiles:

Also, I'm sure you already know this, but in addition to checking the User Preferences, make sure you have GPU rendering enabled in the Properties Pane:


Make particles emit exponentially quickly

i would solve it by setting a keyframe in the ammount of particles and one at the end of the animation.
Then in the Graph Editor you can change the curve to match your need or use a preset by pressing T and then select if you need exponential, quadratic, etc...


copy object location to another scene? BGE

I see two options:

You want interaction between two scenes? Pointless. Make one scene.
You want to "augment" the main scene with your overlay and need to place things on top of each other? Do it in screen space, don't do it XYZ or what ever. Simply measure where your desired location is visible on your monitor. Make a global storage to place your result in. Then in the other scene read from there, to place your "augmentation" on the spot.

EDIT:

First: It's quite hard to understand you. My apologies.
But: Have you ever played multiplayer games before? That has to work somehow, doesn't it? Im sure, you need not be afraid of Blender limiting anything across your scenes...

In fact however, talking about limitations, Blenders game engine is really a bad choice. I tested it for myself, you don't even have delta times for your animations. The game engine is simply not an objective for the developers.

With that, I want to draw your attention to render layers. Search them through google, maybe they are just what you wanted.

In relation to your original question, I think you have some issue understanding the situation.

Let me clarify:

Your Scenes are seperate. And they are meant to be!

"cloning" anything in a scene into another scene is pointless, since it conflicts with the purpose of scenes.

But, of course you can. In this case you need at least the camera vector and/or the desired objects vector to be cloned. Which reveals the problem: Different dimensions.
You can have a Camera over a map moving according to the players location in the main scene. You always must do a translation, even if sizes and locations stay the same.

I hope this helps.


How can I convert Blender file for use by CAD/CAM?

Many CAD/CAM packages prefer "solid" objects, not the lighter weight mesh files usually exported from Blender. STL is common in additive manufacturing - hence there are many work flows that will convert STL to either STEP/STP or IGES.  OBJ files are also common for conversion,  and many packages allow their import.  Check the Import types for your Application, then export/convert accordingly.
I have many times used STL to STEP converters - then cleaned up in CAD.
Hope this helps. Good luck.


World view does not display face/vert count

The vertex count uses objects in visible render layers. If you are on a layer which is not visible in the scene renderlayers, then this is what happens.

This is because the info panel displays scene wide information, but the visible viewport layers can be different between multiple viewports.

Since the viewport layers are locked to the scene layers by default, this doesn't happen all the time.


Objects losing their transformations in scene when re-opening saved file

FBX files often come with default pose "animation". Make sure the objects don't have animation keyframes. You can tell if the location boxes in the properties-panel are yellow or green. Also if navigating between frames with left / right arrow keys causes them to reset.

As for workarounds you can make a new mesh object like a cube and navigate to "Mesh" tab and use the mesh dropdown to select the mesh of the imported object. That way you should have a clean, unmodified object using the imported mesh.


How do you unselect vertices without a middle mouse button?

In Blender you really have to have a middle-mouse-button, but if you don't own a 3 button mouse, you can emulate one in the preferences.

Open User Preferences Control+Alt+u.
Switch the the Input tab.
Enable Emulate 3 Button Mouse.

You can now use Alt+Left-Mouse to perform tasks normally done with the middle mouse button.


Your problem is that you have not specified any attributes for the two attribute nodes to access.  The one controlling the scatter and adsorption should be using the density, this means that the fac output will be carrying the density voxel (volume-pixel) data of the smoke simulation.  Similarly the node controlling the emission shader should be using the flame attribute (I presume that the emission shader is for the flames).

Like this:


Simulating balls falling into a mesh. Why do I get different results each time?

You should bake your simulation before you colour them. This way they will keep the lock down your simulation so it wont change. This also helps speeding up the play back since it no longer needs to solve the simulation.


compositing chroma video on plain in 3d space

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

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

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

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

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

Hopefully this should point you in the right direction.

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

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


Rendering depth of field through transparent objects in blender render

This is the downside of post processed depth of field.
You see, the depth map is a 2D image. To create it, rays get shot into the scene and depending on how far away from the camera they hit an object, the corresponding pixel gets a grey value. (white if in front of the camera, black if far away)

Because of that there is no information in the depth map how far away the objects in the background are. The same problem occurs if you render through a glass window. The depth map would be totally flat in that case.

So I would recommend rendering the scene with camera dof turned on, rather than adding it in post. Also, adding dof in post is a cheat and will never look as well.


There are a number of video tutorials on this subject that will provide a much better answer than we can here. I would suggest this one by Kent Trammel from CG Cookie:

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

The result isn't exactly like the image you posted, but is similar enough that you should be able to adapt the techniques to your situation.

The other way to make hair like you want is to sculpt it. There are a couple of good tutorials online about how to do that. Even tutorials for other programs like ZBrush can be a good way to find out how to do it. CG Cookie has a great tutorial on how to sculpt hair, but it appears that a subscription of sorts is required for this one (might be free, not sure). Here is the trailer for the video.

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


Need help modeling a circle inset on a slanted surface

You could do it with a Boolean modifier, please tell me if you don't understand one of the steps:


Subsurface overhang causing black shading

It looks like the topology automatically generated by the Bevel modifier creates these artifacts, maybe someone will explain. To correct it, you can add some edge loops not too far. Or you can create bevels manually, first horizontally then vertically, it creates a different topology that works better.


Can Blender be used to design 2D clothing patterns?

Yes. See ch. 7 "Creating a garment with Optitex and Blender: Constructing a Boudicca dress" of:

Thomas Makryniotis. 2015. 3D Fashion Design: Technique, Design and Visualization. Pavilion Books.


Can you control material visibility using another object?

I decided to recreate the CG Geek Wireframe transition effect I had been using as reference. Just to avoid confusion: The wireframe look you see in the example is not a modifier but a simple shader using the wireframe node

1. The first step will be setting up the dynamic paint:

Select your target object (in this example: monkey) and set up a dynamic paint canvas in the physics tab. Set the Format to Image Sequence, surface type to "Paint", and enable the Dissolve option with a low time. You can play with the time value and the "slow" option, they basically define how fast the paint is going to disappear.

If we didn't enable dissolving at all, the paint would stay there and the target would stay visible once touched by the brush.

1.1

Next, add in a Brush object. This is the grey cuboid you can see in the example, and the goal is that everything within its volume is visible, while everything outside is invisible. You can theoretically use any mesh, but keep in mind that higher poly stuff might be more performance consuming.

Go to the physics tab and make it a dynamic paint brush object. Set the Paint color to anything, but make sure the alpha is set to 1. The Paint Source should be set to "Mesh Volume" or "Mesh Volume + Proximity", and again, you can play with all of the settings if you don't like what you see.

2. (Optional:) Keyframe/animate your object

This step is only important if you want to make an animation. If you want a still image, skip this.

3. Bake the dynamic paint

Select your canvas (target) object, go to the physics tab and set up the frame count fitting to your animation. If you are doing a single image render, set it to Start:1 End:1 so that it only bakes a single image and doesn't waste your time.
Now scroll down to "output", set up the directory where you want to have the baked paintmaps saved.
UV Unwrap your object and select the UV Map.
Now you can Bake the image Sequence.

4. Shading

Now that you have the paintmap, you can use it as a factor for a mix shader node.
Just add an image texture, select all the images and click open. If you want to have it respond live in the viewport, enable auto refresh.
Add a Texture coordinate node and plug the UV Map output into the Vector input of the image texture.
Add in a Mix Shader Node and Mix two shaders of your liking. In this Example I mixed Transparency ("Invisibility") with Emission. You can use anything else too.
Plug the paintmap into the mix shader factor, and this should be it.


The wrap setting was moved to separate X and Y tile settings in tool shelf > tiling:


How to Copy and Paste Vertex Coordinates?

If they are in the same position, you can select both objects and tab into edit mode.  With x-ray view it's possible to select both of the vertices and perform the operation on them at the same time.


Compositor: Get the second darkest value

This node setup is mostly what HenrikD proposed:

It takes an image input and tests for pixels whose R, G, and B values are all less than a user-specified value (in this screenshot, it was .0005, which appears as .001 in the entry box).  Those pixels can then be replaced by any user-specified color, I'm using red here to show the affected pixels but you would instead substitute your almost-black color.

Output with limit value of .01:

Output with limit value of .03:

If it is necessary to actually calculate the almost-black color from the image itself . . . I'm not offhand sure how to do that, sorry.


How do you make a curve which is in a spiral shape and scale it while keeping one point still

I did it by changing the origin point of the object with Control-Alt-C.


You can add a Bezier curve, project its vertices on the surface using the face snapping option (as you grab a vertex, it will be projected onto the nearest face, according to the view), then create another curve to set the profile of the line (choose it as Bevel object).


How to access node tree of a selected node group in python?

First off, to get the currently active node, you can use

currNode = context.active_node

from within an addon / Operator (which I suppose you're doing, otherwise there would be no bpy.context.selected_nodes). From the Python Console, getting the currently active node in the compositing tree would be

currNode = bpy.context.scene.node_tree.nodes.active

From there, you can use

currNode.id_data

to retrieve the tree this node lives in. This also works in Material Node Trees. To retrieve the materials (remember it could theoretical be more than one material using the same node tree) you can to:

print ([x for x in D.materials if x.node_tree == currNode.id_data])

So in your example:

# get a node first
x = D.node_groups['NodeGroup'].nodes['Group Input']

# now get the tree of this node (which is the node group)
x.id_data    # this gives you 'Node Group' again

Edit: Find the node tree of a group

After the question has been rephrased, this solution would be smarter: Node groups simply have an own Node Tree themselves. You can think of it like:

ShaderNodeTree.nodes[someGroup].node_tree.nodes[someOtherGroup].node_tree.nodes.thisCanGoOnForever

So in your case:

active_node = context.active_node
# active_node.name: Group.003
# active_node.group: Test 1

# find an image node in the group node tree
# groups have their own node tree to collect nodes
img_node = active_node.node_tree.nodes.get("Image Texture 1")

If the Image Texture named "Image Texture 1" exists, img_node will be the object. Otherwise, img_node will be None.


If as mentioned in the question this is for an environment texture, we need to have a way to tune where the disk/shape will be displayed in the sky:

A possibility is to calculate the length from 2 coordinates (here X and Z), transform it eventually (square root for instance, optional) and filter using a color ramp. The length from (X,Z) is easier to tune/place than a gradient texture.
The shape orientation in the sky can be defined using a mapping node and its rotations.
The perturbation is given by a musgrave/noise combination (for instance) which displaces a bit the input coordinates.

Playing with it a bit (three settings of this kind) and mixing colors (still as world node tree):


Once you've unwrapped your model, you can adjust the margin at the bottom of the Tool Shelf (T):


Probably not serious answer, but easier to explaine. What about to add one collision object?

Example with only one bone (your blend) plus Cylinder as collider, bad timing and probably better to use some less circle shape, but you got idea.

For final shape you can try Modeling Cloth addon, you can "model" shape in a realtime, final shape is stored as shapekey. So no way to just do animation with two shapekeys O-1, the transition wouldn't work for you.

You can try some combination of your baked cloth sim + shapekey from this addon, somehow ... export to MMD, assign to a mesh via Mesh Cache works, than I wanted to use Surface Deform modifier after that (for target object shaped in state of end of simulation with adjustments as shapekey), but they doesn't run together.

It's really hard to understand how ideal result should looks like :)


Copy Paste uv from one object to a different object

You could just unwrap your mesh from top view(Numpad 7) and move and resize your image in UV editor by pressing S for scale and G to grab.  Your mesh might give you some trouble when you unwrap it depending on your mesh. You might have to manually create islands using smart uv project and move them into place for each province after unwrapping.  Hope this helps.

The fundamentals of unwrapping can be found in this video https://www.youtube.com/watch?v=scPSP_U858k&t=763s


How to enable CUDA on Ubunutu 14.04 for a GTX 970?

I got it working, and I can at least partially answer my questions:

Problem #1: There are two CUDA 6.5 packages at nvidia, a "normal" one and one "with Support for GeForce GTX9xx GPUs" (here). Choose the later one.

Problem #2: I had already installed the nvidia 343.22 driver from xorg/edgers. The CUDA packages comes with its own 343.19 (as well as its own nivdia-modprobe).

FYI: I've used the .deb file (not the .run one). This drops a handful of other .deb files onto the system, but does not install them. After apt-get update-ing they can be installed using: apt-get install cuda

I needed to bring the system into a terminal-only state where no nvidia driver was running in order to remove the 343.22 one and install the cuda package.

Regarding to my questions:

Blender does use the (external) CUDA install.
2.42b produces a black screen and an error message in the terminal, i.e. there is a code change needed for the GTX 970 to work
nvidia-modprobe is part of the package - i.e. no need to install it separately.


Trouble Viewing Whole HDR Image as cycles world

When HDRs are used as Environment texture they they completely surround the scene, using an equirectangular projection. Think of it like big sphere around the scene.

It is natural then you would only see a portion of the image, which corresponds with the angle of view of the camera.

The main use for this kind setup is to use the HDRi image to light the scene in a very realistic way. In a way every pixel of the image becomes an emitter that contributes to the overall illumination.

If that is not what you are after, but want to use the whole HDR image as background image that fills only the frame, then set the image as Image Texture instead of Environment. Note that this will prevent the HDR image from effectively lighting the scene, and the perspective of the camera might not align correctly with that of the background image.


No detail applying to my model when adding complex textures

Indeed this was a very beginner mistake.

To anyone who comes across this and has the same issue, all you need to do is unwrap UVs for your mesh and tutorials on this are plenty!


Blender True displacement option not available

You find the displacement settings in the materials panel. There you can set it to "true displacement".


In Blender Render the color in 3D view changes when you change material, but in Cycles Render you will only see the material change when Rendered. So when you change material in Cycles Render you don't see color change in 3D vieuw, unless you explicitly change the viewport color in the materials settings in Cycles Render


Python script help - assign certain materials to some particular objects

Using get(name) and startswith(...)

Using the get method of a collection, objects and materials in this case,  if an object doesn't exist with  name it returns None which is boolean false.

Here I've made a helper method, and added a call to add default material "Material" to default cube object "Cube" or any name other starting with it, eg "Cube.001", but not "BigCube"

Taken a punt that you are looking for objects that start with those names, for which startswith is ideal.

import bpy

def assign_mat(ob_name, mat_name):
    mat = bpy.data.materials.get(mat_name)
    obs = [o for o in bpy.data.objects if o.name.startswith(ob_name)]
    for ob in obs:
        if mat:
            ob.data.materials[0] = mat
    return obs and mat

if assign_mat("Cube", "Material"):
    print("assigned Material to Cube[*]")

Recommend something like

pairs = (("Cube", "Material"),
         ("Blob", "BlobMaterial.001"),
         ("Cone", "Material"),
        )

for ob_name, mat_name in pairs:
    assign_mat(ob_name, mat_name)

If nothing is assigned

if not any(assign_mat(ob_name, mat_name) for ob_name, mat_name in pairs):
    print("Assigned Nothing????")


How to apply Noise texture to specific portion?

Connect your Color Ramp output also to Math: Subtract with 1 set as the first value - this way you invert your value, where black is represented by 1, white by 0 and you keep the gradient (smooth transition). Now multiply Parabola Math custom node by that inverted value to, so that black areas are multiplied by 1 (the height doesn't change), white areas are multiplied by 0 (the height becomes 0) and areas in between are multiplied by a fraction (get higher and higher towards the black).

In linear interpolation, the height change is too sudden, so you might want to switch it to Ease:

For a finer control, you might want to use another color ramp to control the displacement transition specifically (this way you don't have to change the color by using Ease mode on color going to the shader), though I wouldn't recommend moving the sliders on the 2nd Color Ramp, I was getting ugly results...


I have a box that appeared and I cannot get rid of it

Okay, I stumbled on it by accident.  I guess there is a hotkey for it somewhere.  This is a texture space.  In version 2.7x it was a yellow dotted box, but in 2.8 it looks like a bounds box.  I removed the texture space tick from Viewport Display and the box disappeared.


How do you animate someone holding something with both hands and placing it on the ground?

I don't think you can.  Rather, I would animate them separately. When I've had to open a drawer, I found it best to animate the drawer sliding open first, and then match the character motion.  Drawer's are a little easier, because they follow a straight path.

For this, I would move the box to the ground in a shallow arc, in a reasonable number of frames.  (If it takes 1/2 second, then @ 24fps, you use 14 frames to animate the box.)

Next I would place one or two key frames for Steve.  At least start of move, end of move, and something near the midpoint.  Adjust Steve by tweaking curves or adding keyframes as necessary.


I ended up finding something that comes close !
Here is my procedure :
1.Add a cube.
2.Add this modifier :

First displace texture is for animating, add empty for focus coordinates object :

The second and third displace texture are the same :

And Enjoy the result !

For render i advise a lot of subsurface.


First thing, switch from Dope Sheet to Graph Editor (CtrlTab), in the View menu, disable Show Group Colors to make the channels readable :

As we can see if you select the root bone, then select its Y Location channel, you have enabled the Linear Extrapolation on the Y location (ShiftE > Linear Extrapolation), which makes it continue indefinitely its movement on this axis. To stop it, choose ShiftE > Constant Extrapolation instead:

Once done, if you want the character to stop at a certain position on the scene at frame 240, just move it to this position and keyframe.
The fact that some of your character's limbs stretch at the end is because some other bones, like the hands, have been set to Linear Extrapolation as well for several of its location channels, so select all these channels and correct that too :


How to put 2 parts of 1 object on different layers?

You cannot move different parts of the same object to separate layers.

As mentioned by sambler, what you are trying to do is possible using separate materials to generate masks.

Quoting from my answer here:

  This can be done . . . using an ID Mask node:

  . . .
  1. Enable Material index in Render layers > Passes, and set the pass index for the material:

  Use Materials > Settings > Pass > index to set the pass index of the  material in Cycles:

  Or in Blender internal use Materials > Options > Pass index:

  Add an ID Mask node and set the Index to 1.
  Plug the IndexOB output from the Renderlayer node into the ID Mask node. This will provide a mask for the [material]:

This will give you a black and white mask of that material, which you can use to separate, combine, etc. in the compositor using mix nodes.


Painting one part of my model causes another part to get painted as well

I believe TARDIS Maker is correct in your UV it appears that the painted parts do overlap:


There has been trials at the links in the comments show, but nothing official yet. Lol I pressed Shift + F on one of my scenes and then it felt amazing...... have fun with that until the official full control gets implemented ;)


Animation attached to objects instead of Armature?

You probably assigned animation Action to these objects.

If you switch to Dope Sheet editor and in header switch from Dope Sheet to Action Editor - there you can assign any animation (listed) to what ever object you have selected.


When animate nodes names are translated, the Chinese will not display properly

def setup(self):
    self.label = "B网格网格BMesh Mesh"

great！


How do I copy transform of a bone to an object?

Use constraints

How do you use constraints with Armatures?

In 2.8 can add a constraint, tweak the settings to suit, then hit the Disable and Keep Transform button to RHS of influence slider.

Remove constraint and it still has the transform.

As a script, in pose mode, Suzanne has default XYZ Euler rotation mode

>>> monkey = C.scene.objects['Suzanne']
>>> C.active_pose_bone
bpy.data.objects['Armature'].pose.bones["Bone"]

>>> M = C.object.matrix_world @ C.active_pose_bone.matrix
>>> monkey.rotation_euler = M.to_euler()


It really depends on what kind of texture it is.

For a texture which looks mostly the same everywhere (e.g. a dirt texture), you can use Blended Box mapping:

For a texture which has an obvious definition of what should go where (e.g. a head texture), you probably want to use UV coordinates.


The problem is that your mesh is too high in polygons, it will make rigging and animation tedious if not impossible, try to reduce the amount of polygons and, if possible, retopologize it.


wood peeling with a knife and curling its chips

An opportunity to test the 2.91 boolean modifier options...

There are two rods in the scene (a copy of the first one but different material), one for what we see as the rod and another for the cut.
The first one has a boolean modifier set to "exact":

The second a boolean and a simple deform ("bend") modifier driven by the empty (which is parented to the cube). But here the boolean is set to "fast" because if the shape is plain, simple deform will transform it badly.
The cutting cube is parent of an empty that is used as pivot point for the bending.


How to mimic IK to move a bone using Python without actually setting up IK?

Many parts of Blender are accessible through the python API, like bones. Constraint logic is only accessible as it is via the interface, meaning you can setup constraints with python and bake their transforms.

Here you can see Blender's code structure.

  /source/blender/ikplugin/

  Inverse kinematics API, abstracting the itasc and iksolver modules.
  Note that while this system supports multiple inverse-kinematics
  solvers there is no plug-in system exposed from a user perspective.

You are probably interested in the iksolver_plugin.c file, which contains the code to calculate IK.

If you want to implement it from scratch, I recommend an iterative approximation.

Since you are mainly interested in arms and legs though, simple trigonometry will suffice as an IK system with only one joint only has "one" (or no) solution.


How to extrude in the same way a "3D" angle?

What I do, and what Mr Zak mentioned in the comments, is to create a temporary face then extrude from that.

Simply select the end edge loop, and press F to make a face.
Blender needs some direction to extrude along, making a face creates a face normal.

Now blender will automatically extrude along that face normal. Note that in order for this to work correctly the face must be flat.

In this gif I first extrude with no face showing that there is no auto direction. Then I undo that, create a face and extrude again, this time along the new face normal.


You may use the Edge Mark option of the Freestyle to define what edges would be rendered.

Enable Freestyle renderer in Render header-->Freestyle panel. Set the line thickness as you like.

Select the edges you want the Freestyle to render, then press Ctrl+E-->Mark Freestyle Edge to make them renderable.

In Render Layers header-->Freestyle Line Set panel check the Edge Mark checkbox. Uncheck the Silhouette, Border and Crease checkboxes to make the contour of the object renderless.

Here's the render result:

You can go further and render only selected edges. With the vertices/edges selected in Edit Mode duplicate them with Shift+D and make them a separate object (P-->Selection). Move the original object to another layer and hit render.

Here's the result:

Not sure if it is what you're looking for. Let me know if I helped you.

UPDATE: If you want to render only the edges give the object a Transparent shader in Cycles. The Freestyle settings should stay the same as in the examples above.


What is the difference between a subdivision surface modifier and multiresolution modifier?

When using the sculpt tool, you will sometimes want to add more detail than your mesh has vertices to support.  You could add vertices by subdividing the mesh, but subdividing the mesh will increase the complexity of the model, slowing blender down, making the model larger, making the mesh less usable for certain applications (like games).

Sub surface allows you to increase the vertices as a modify, but isn't affected by sculpting.  It's purpose is to add geometry to the whole mesh and make a lower poly figure a higher quality without increasing the complexity of the mesh. You cannot move, alter or sculpt the new vertices without applying the subsurface. It wasn't designed for it.

Multi resolution modifier was added to allow you to add geometry for the purposes of adding detail to a sculpt. Vertices in a multi res modifier are affected by a sculpt even when not applied.  This allows you to sculpt with more verts than the base mesh has.  This is useful because you sculpt at a higher resolution, bake out the sculpt as a map, and apply it to the mesh as a normal map, without increasing the actual number of vertices the mesh has.

So, if you're not sculpting, sub surface and multi resolution are logically equivalent, and the preference is for sub surface (less data in memory, easier interface).  If you are sculpting, and want to keep the mesh low poly, but need more detail in the sculpt, use multi resolution and then bake out the normal map (which can then be applied to the surface of the object as a texture in the cycles node editor).


How do i get rid of the ugly cross splitting after seperating my faces

you can create Edge Creases,

Shift + E in the two edges (marked by purple Line)
It should work

Wiki about subdivision surface modifier and Edge Creases


In your case, what I would do is delete all but one "tile" of the barrel, then make it a circular array.

Below you can see the Empty inside being used by the Array Modifier. It is rotated 11.25° (360° / 32 tiles).
Enabling "Merge" on the modifier means the tiles will be connected when the modifier is applied.

UV unwrap before applying your modifier.


I guess since it is now possible to get 2.80 just following a link called "Try Blender 2.80 Beta" without scrolling down and reading all the red warnings this is a valid question.

Blender 2.80 has been in very active development for quite some time now. It is normal for things to change. It is still in beta version. Beta version means it is not yet released as finished software. Although they are now a bit easier to miss, the warnings at blender.org are still valid as well:

You still get some warnings while downloading and you get the explanation as well if you click on "Legend":

What you happened to observe here are changes during the development. Blender simply changed from the time the tutorials were made.


What do I need to do to get started making 3D models of aircraft?

A good place to get general advice is Blenderartists.org forums. Blender Stack Exchange is more for questions that can be answered fully and the answers should be based on facts and not opinions. So I will try to talk about some facts here, but obviously the answer will not follow the guidelines of the platform, that's going to be mostly my opinion.
It is a fact that you need to know what you are modelling in order to model it.
"Know" here might mean a few things: imagine, see, have some specifications, technical drawings and so on. Reference data is often underestimated. Do you need 3 views? I would say no, the views are not what you need, they are just the means of getting what you need, which is understanding, seeing, knowing the shapes and forms you need to model. This basically means that you need absolutely everything you are able to get about the object you are modelling: blueprints, technical drawings photos, videos, measurements, 3d scans - whatever you can get.
You also need skills to do 3d modelling
It's probably a very good idea to start learning with a specific project that gives you the motivation, but it is still necessary to familiarize yourself with the basics and tools available to you before jumping into it. You will find many great tutorials online on YouTube or elsewhere. See: https://www.blender.org/support/ for start - it is actually very useful. I would suggest going through all the items in the menus and making sure you understand what they do - that helps. I am talking about Object menu:

and all the menus and sub-menus in the 3d viewport's header that you get if you enter edit mode of a mesh:

That will get you started faster.
I would also advice starting learning modelling with something more simple than a plane and something that you can have in your hands while modelling and could also make all the reference images you need yourself. Lack of reference data is a big problem when modelling so when you start you might want to get it out of the way completely at first until you learn the tools at least. I see many beginners struggle with things advanced users would absolutely struggle too if they worked with the same amount of reference data. Good modellers know this and address this issue and that's why they are able to get better results easier.
You also need time and patience
You mentioned you have plenty of time - so that's great. I would just like to mention it because it is often a surprise just how much of it you need to learn and do this. There is probably going to be a lot of doing and re-doing stuff and re-doing it again at the beginning. This might get frustrating at times. I think it is important to know that this is how it goes - it's normal, and if you get frustrated during the process, you are doing it right. I do 3d modelling as part of my job every day for a while now and it still sometimes gets me - I fail and get frustrated from time to time. It's important to carry on and keep working until the job is done despite of it.


Edge length display - disable exponential notation?

Alright... the cause of the problem is as asinine and unintuitive as it gets.

The scale of the Grid - even when it's not in use - affects the precision of any displayed measurment numbers. The relationship is inverse - the higher the scale, the less significant numbers you're shown.

Few examples -

Scale 10:

Scale 1:

Scale 0.1:

Brilliant.


Personally, I would create a 'Sea Level' object and extract the Z of its Object Space like this:

Now the Z output is a number; the height above/below sea level in Blender units. You can scale that number, map it to another range, put it through curves or a color ramp.. whatever you need. If you put this pair of nodes into a little group, you can quickly include it in any material


I just request access to your file,
but I think the issue is from material setting
you should switch the Blend Mode to Alpha Clip


After Generate rig, the pole doesn't work. why?

Well, Blenrig has 2 variants of manipulation pole rotation. First is a rotation bone itself (two arrow bone), next is a pole target, witch is hidden by script. And the reason that script always hides the pole target is because it does not use.

There is a switcher between bone rotation and pole target rotation is in N-panel has name pole_vector:

when it sets to 1, bone rotation disables, and pole target shows.

To find this switch select Foot_IK bone.


How to render a very complex scene using Render Layers?

Okay, I'm going to get the ball rolling by answering your question at face value. Here's a simple alpha over composite with 2 Render Layers.

I have 2 Scene Layers active, and have assigned each scene layer to a render layer. You'll notice that the shadow is rendered on the ground layer. This is because both layers go into memory and the monkey casts a shadow on the ground even though the monkey is not rendered in  layer one. If (for memory reasons) you did not want the monkey to affect the render calculations for Render Layer 1, you would add an Exclude selection for layer 2 on the Ground Render Layer. If you did this it might help with the rendering load, but you would lose your shadow on the ground, and would have to render it another way. If your ground object was really complicated and heavy (rendering wise), you could add a second simple plane on a third layer that could be used to generate the shadows for your solider layer, and the composite the 3 layers together.


Landscape topography from grayscale image

Import an image with the Images as planes add-on, to create a plane with the same proportions as the image you want to use on the landscape.

Enter edit mode Tab, and subdivide your mesh.

(On version 2.7 press W)
Start with 100 subdivisions.
The number of subdivisions will be directly proportional with the level of detail for your displacement.

Exit Edit mode (Tab)
Add a displace modifier with the following settings: Direction Normal, Texture Coordinates UV (The UV map has been generated automatically when you use the import images as planes)

Assign the texture to be used with the displacement modifier.

Your plane will deform using the texture.

At this point you can subdivide further or add a subdivision surface modifier for better detail. To control the height on the deformation play with the Strength value on the displace modifier.

But be very careful with the subdivision modifier. It is quite easy to create a very large number of subdivisions, and that might push your system's performance to the edge or make it crash. Read:
Blender render crash when using subsurf modifiers.


Deleting Objects With a Mass or Surface Area Less Than

Join objects together Ctrl+J
Select one small face and search for Select Similar > Area (listed for Face select)

If you want to keep objects separated, just select all needed objects and switch to Edit mode and search for similar ...


Can smoke receive shadows in Eevee on 2.8?

It actually is working in your file, but with such wide spot lights it's invisible/too subtle to see. As you can see, even with cycles it's not visible:

This is because there's still plenty of light being scattered from behind and in front of the object's shadow; in comparison the amount of light being blocked becomes insignificant:

If you add a larger object, casting a larger shadow, you can start to see the effect. Narrowing the light cone also works.

However, you may run into problems with the shadow resolution being too low, especially with small objects. Make sure the global shadow resolution is sufficient in Properties > Render > Shadows:

Other common problematic shadow settings are the Clip Start on the lamp's shadow settings (make sure that isn't too large) and too much Softness, which can eat narrow shadows (like those cast by text). With 0 softness you get nice crisp text shadows:


Did you accidentally enable the clipping border?

AltB to clear it


It works well on my computer. Maybe you messed something in the "Display Channels" menu ? It should be set to "Color and Alpha".


how to define stair-like position to several plane objects?

Via the UI:
Some variation on this one, which has  all  steps in XY plane, and a top-step target vertex set up, ready?

Pivot: 3D cursor, at bottom step
Snap: To: 'Vertex' With: 'Active', and set to affect 'Scale'
Header Options: Affect only Locations

All steps selected, top step active, SCtrlAlt S .. Y to set the axis, Shear the objects' locations a lttle.
Once a regular stagger is achieved, SZ  scale them, with snap, to the target.

I don't think the Shear axes are what they claim to be in the manual, so there may be some playing required. This shear is executed in Global space, Main axis 'Z', Ortho, 'Y'.


Can I set the default number of vertices for a cylinder?

Add a cylinder then look at the Last Operarotor panel at the very bottom of the Tool panel you will find options for the new cylinder.

Secocnd option:
Add a cylinder then hit the F6 key, a popup panel will appear. Here you will find the same options.


Why dont i get curves on the graph editor?

Some curves may not be visible due to their high value, or too low value.

First of, check if you see all curves by adjusting vertical zoom, with CTRL +  MMB, then drag up / down.

Also, you can check the Normalize button at the bottom toolbar of the graph editor, and all curves will be clamped between -1 and 1 so you can see them all in a more condensed area of the graph.


Bone effecting part of mesh it has 0 influence on?

yes, on the object property panel (to your right) go to the tab where it shows a icon,triangle of vertices. Look for the Vertex group panel there.
You´ll see a list of "weight groups" you need to locate the one that is named exactly like the bone is afecting your tail. Once you find it, you´ll see your arm turns on with color (in your image is red) and then go to the T panel on your viewport (press T) and on the tool select SUBSTRACT brush. Place the settings to : 1 in weight. 1 in strenght. Now, paint the TAIL.

This will substract instantly every weight influence the tail is having from any other bone.

Once you´re done, switch back to DRAW in your tool palette.

Thank you for your consideration to vote me as the answer by clicking to the left :the icon with a check mark and upvote this answer.

BFCT_Schiller


Blender has stopped working: Crash on startup

For these kind of problems you should report a bug in the tracker, as there is really no 'useful answer' possible for this.

If every version of blender has simply 'stopped working' it is likely a problem with your computer (eg. drivers problem).
Otherwise you can try a daily build to see if the problem persists:
buildbot
If it is a bug, report it: report a bug
If you need assistance try any of the listed options: http://www.blender.org/support/


Need to figure out how to lock model meshes to a single axis, regardless of Mode/tab within blender

i can't see the hole UI but i think that's a pose mode issue, try to select one of this dots, go to pose mode, select all bones A than search, with space, and type 'clear pose' and select something that looks like to : Clear Pose Transforms


Compositing versus video sequence editor for combining video file with own animation

The sequence editor is designed for non-linear editing. While it has some basic comp features to layer images on top of each other, you do not have the level of control that you get with the compositor. For anything but a trivial overlay, I highly suggest using the compositor for the task.


I see different coloured and textured images in two opened veiwports in blender

It looks like you didnt go back in to Material Preview/ Rendered mode. After you close and reopen the file it automatically resets the viewport to solid.


Low poly mesh/Oddly sharp edges on normal map where it is supposed to be smooth

There should be some lines on the normal map:

If you have flat faces and bake normals of round forms to them, then the edges should be visible in the normal map because the normal map needs to transform those flat planes to round smooth forms while still being mapped onto the flat faces. Normal directions should change at the edges and cannot be smooth gradients. Let's have a look at what is going on with normal directions when smooth form is mapped on a corner and then the normal directions are projected onto a flat 2d texture:

It makes sense that we see a sudden change of values where the edges are. They should not show on the shaded models. In other words - it's normal to see lines on normal maps like these :D . There may be other issues with the baking process that cause the result not to match your expectations. the game engine may expect different format of normal maps. OpenGL and DirectX treats normal coordinates differently. Try inverting the green channel in the normal map or choose -Y instead of +Y in the baking settings for the second channel:


Is there any way getting a more accurate behavior of the pie menus on hover?

Pie Menu Settings

Pie Menus
Animation Timeout
Length of animation when opening Pie Menus.
Tap Key Timeout
Keystrokes held longer than this will dismiss the menu on release (in 1/100ths of a second).
Recenter Timeout
The window system tries to keep the pie menu within the window borders. Pie menus will use the initial mouse position as center for
this amount of time, measured in 1/100ths of a second. This allows for
fast dragged selections.
Radius
The size of the Pie Menu set with the distance (in pixels) of the menu items from the center of the pie menu.
Threshold
Distance from center before a selection can be made.
Confirm Threshold
Distance threshold after which selection is made (zero disables).

Setting from python console:
>>> C.preferences.view.pie_menu_threshold = 1
>>> C.preferences.view.pie_menu_radius = 20
>>>


Blender attachment points for Trainz asset

If you want to get a mesh from Trainz you will need to figure out what format the game uses and if necessary convert it to a format that blender supports importing (OBJ or FBX are good ones). You may then need to set up textures again in Blender.

However attachment points are something specific to the game, and not something blender understands. To create attachment points you need to add an empty at the right location and prefix its name with "a." (e.g. a.attachment_1). It looks like the game will infer that it is an attachment point based on this convention.
https://en.wikibooks.org/wiki/Trainz/Tutorial_for_Blender#Attachment_Points
http://online.ts2009.com/mediaWiki/index.php/Attachment_point
http://online.ts2009.com/mediaWiki/index.php/HowTo/Export_from_Blender_using_FBX


Why is "combine HSV" node showing different color with the same values?

Try adding a gamma node with 2.2 in between combine and bsdf nodes. I tried it and it seems to work.
The one on the right uses the other glass bsdf

I’d assume the RGB color picker is gamma corrected (to preserve the linear workflow), whereas the Combine HSV node as a - let’s say - more mathematical approach to color is not.
Add a Gamma node with a value of 1/2.2 between the RGB node and the Emission shader and you will get the same values as with the Combine HSV node.

Source: https://blenderartists.org/t/different-outputs-of-rgb-and-combine-hsv/675268


Lighting not working/Final Render is is not lit

Looks like you are using Look Dev, Look Dev uses an HDRI to light the scene, so you need an HDRI for your final render to get something close to it.

Hope that helps.

Good Luck


Kind of "soft link" of objects between scenes?

You can use the 2nd method, linking your object to the other scene.

Link the object to the other scene as normal. Selecting that object (the one you want to be able to rotate but still be linked) navigate to it's 'Object' tab in the 'Properties' window and make it's object datablock a single user by clicking the '2':

Alternatively, you can press U> Object to achieve the same effect, which will make any of the selected objects a single user.

Clicking the '2' makes a copy of the transformational data for the object but leaves the mesh data, the vertices and faces etc as linked, as shown in the 'data' tab:

The '2' shows that the data is now being used by 2 distinct objects, with different transformations, whereas before it was acting as a single object, sharing both transformations and data.


You are in Perspective view.
Hit Numpad 5 to switch to Ortographic.

Perspective - all the horizontal lines appear to converge into a vanishing point in the middle of the horizon: the point of view is a... point

Ortographic - all the horizontal lines appear as points: the point of view can be thought of as an infinite plane


Is there a way in which we can merge two meshes in edit mode?

Select one of your squares. Apply a BOOLEAN modifier with UNION.
Make sure the subdivision number is the same, try aligning them vertex to vertex. Use snap if necessary.
Set the boolean operator to UNION and select the second square.
Voilá.
Thank you for your consideration to vote me as the answer by clicking to the left :the icon with a check mark and upvote this answer.

BFCT_Schiller


Is there any way to apply a pose to a mesh and be able to remove the armature and keep the pose?

Yes: apply the mesh's armature modifier, then you can delete the armature. :)
Note: save backups as this is permanent


Smooth shading on model causes weird artifacts

Try to disable "autosmooth" (object data properties tab and normals section) and clear custom normals (object data properties tab and geometry data section)

Answered by lemon


whenever i render my model, my GPU instantly goes to maximum usage

Maybe you are using a small amount of samples (like 128) and there is not to much lighting. In that case, if you have the denoiser is going to look weird. Also, maybe you are using both the GPU and CPU, I have bad results when I do that (I asume that there is a way of doing it properly). Try to increase the number of samples, change between CPU and GPU and see if something change...
And some pictures of your problem can help!
Good luck


Mesh sticks to rigify controls when moving on a locked axis

This is the default behaviour of IK limbs in rigify.
There are different things that you can do to change it. The easiest one is to turn IK stretch off


Python scripting: how to select next vertex in mesh

You can get all adjacent vertices like this

import bpy
import bmesh

obj = bpy.context.active_object
mesh = obj.data

bm = bmesh.from_edit_mesh(mesh)
active = bm.select_history.active

if active and isinstance(active, bmesh.types.BMVert):
    for edge in active.link_edges:
        print(edge.other_vert(active))


You must use drivers: a driver lets you control any datablock with any other parameter of the software.


Rigging my human armature makes eyes be sucked into the skull

Just looking at the pictures, I am not positive but it could be that you need to fix the weight paint issues. Select the rig in Pose Mode and then Shift select the model (both should be selected) then go into Weight Paint (its in the Object/Edit mode menu. From there you can right click on whatever bone and see the weight influence. Red= full control and Blue is unaffected. If the eye are red then you can pull up the paint menu with T and select the Subtract brush. (Default is Draw). Weight is 1.0 meaning you will paint red and 0 is blue meaning you will kill the influence of the bone on the mesh. So if you lighten the color of the mesh affected by the eyebone then it should fix the problem.

If all that wasn't the issue, then try to delete doubles. Make sure your mesh has no double verts. Un-parent the mesh (Alt+P), delete all the vertex groups (go to the vertex tab it is next to the materials tab) and then select the mesh and press W and remove doubles. Then parent the mesh to the armature again. The order in case you messed it up is, select the mesh (child) then shift select the armature (parent) hit Ctrl+P parent with auto weights. Hopefully that fixes your issue. Please respond if it helped you fix your problem.


Python: Locate specific islands of geometry within a mesh object

Search for the 12  tri-fan poles.
Finding all the loose parts is going to be a rate determining step
How to detect disconnected parts within a selection?
How to find the number of loose parts with Blender's Python API?
but  for quoted case

The example object in this screenshot has two circles I want to match.
Each circle has 13 verts, 12 faces (which are all tris), and a total
area of approximately 3. So if an island matches those criteria, we
can consider it to qualify as the kind of circle we are after.

would not bother grinding away to find loose parts,instead search for potential pole verts, ie those that have exactly 12 linked edges and 12 triangles linked.
From there make sure that all the opposite edges of the tris, ie the edge not containing the pole is a boundary. Each vert of the boundary should be connected to exactly 3 edges.
Test script, prints the index of the poles the match the above criterea.
import bpy
import bmesh

context = bpy.context
ob = context.edit_object
me = ob.data

bm = bmesh.from_edit_mesh(me)

poles = [
        v for v in bm.verts
        if len(v.link_faces) == len(v.link_edges) == 12
        and all(len(f.edges) == 3 for f in v.link_faces)
        ]
print("Potential Poles", [p.index for p in poles])
for p in poles:
    def check(f):
        return (
            bool(
                e for e in f.edges
                if p not in e.verts
                and e.is_boundary
                )
            and
                all(
                len(e.other_vert(p).link_edges) == 3
                for e in p.link_edges
                )
            )
    if all(check(f) for f in p.link_faces):
        print(p.index, "is a 12 tri fan pole")

once we have p and know it is a disconnected tri fan all the 13 verts would be for example
[p] + [e.other_vert(p) for e in p.link_edges]

the area
sum(f.calc_area() for f in p.link_faces)

Putting it all together
(Added by @Mentalist based on @batFINGER's code)
Here the script will check for triangle fan islands of geometry that match the specified face count and total area, find their centers, and take some action after finding those centers (in this example it places an Empty at each).
import bpy
import bmesh
import statistics

context = bpy.context
obj = context.view_layer.objects.active

def place_empty(coordinates): # create an Empty at the specified location
    bpy.ops.object.empty_add(type='PLAIN_AXES', radius=0.1, align='WORLD', location=coordinates, scale=(1, 1, 1))

def check_geom(ob, facecount, match_area, decplaces=3):
    if ob.type == 'MESH': # make sure it's a mesh
        bpy.ops.object.mode_set(mode='EDIT')
        me = ob.data
        bm = bmesh.from_edit_mesh(me).copy() # bmesh as a COPY
        bm.transform(ob.matrix_world) # that copy gets converted to world coords

        poles = [
            v for v in bm.verts
            if len(v.link_faces) == len(v.link_edges) == facecount
            and all(len(f.edges) == 3 for f in v.link_faces)
            ]
        print("Potential Poles", [p.index for p in poles])
        for p in poles:
            def check(f):
                return (
                    bool(
                        e for e in f.edges
                        if p not in e.verts
                        and e.is_boundary
                        )
                    and
                        all(
                        len(e.other_vert(p).link_edges) == 3
                        for e in p.link_edges
                        )
                    )
            area = sum(f.calc_area() for f in p.link_faces)
            if all(check(f) for f in p.link_faces):
                print('\n' + str(p.index) + " is a " + str(facecount) + " tri fan pole, with an area of " + str(area) )
            if round(area, decplaces) == round(match_area, decplaces): # things to do if the area matches
                bpy.ops.object.mode_set(mode='OBJECT')
                v_x = []
                v_y = []
                v_z = []

                linked_verts = [p] + [e.other_vert(p) for e in p.link_edges] # verts of this island

                for v in linked_verts:
                    # populate lists with coordinates for each axis
                    v_x.append(v.co.x)
                    v_y.append(v.co.y)
                    v_z.append(v.co.z)

                # average each list's values to find the center
                c_x = statistics.mean(v_x)
                c_y = statistics.mean(v_y)
                c_z = statistics.mean(v_z)
                center = [c_x, c_y, c_z] # mean of island vertices
                print('Center location: ' + str(center) )

                place_empty(center) # the action to take upon finding the circle centers
    else:
        print('Cannot proceed. Active object is not a mesh.')

check_geom(obj, 48, 0.045) # params: the object, the face count, the total face area (object must be a triangle fan mesh)

 (684KB)


How do you make clothes move along with model

You need to setup some pinned vertices on your cloth mesh.

Create vertex group with pinned vertices:

Enable Pinned and use that vertex group:

Done. Now your pinned verts will follow the movement of cloth object. You can parent it to bone or some other object.


How do I render only part of an image via the command line?

This can be done via a script (external or internal of the .blend file).

I shall name by script textblock script.

import bpy
import sys
argv = sys.argv
argv = argv[argv.index("--") + 1:]

scn = bpy.data.scenes["Scene"]

# get the frame arg
frame = int(argv[4])

# go to the desired frame
scn.frame_set(frame)

# set a unique output path
scn.render.filepath = "//dir/" + str(frame).zfill(4)
for i in range(0, 4):
    scn.render.filepath += "_" + argv[i]

# setup the render border
scn.render.use_border = True
scn.render.border_min_x = float(argv[0])
scn.render.border_max_x = float(argv[1])
scn.render.border_min_y = float(argv[2])
scn.render.border_max_y = float(argv[3])

# render a still frame
bpy.ops.render.render(write_still=True)
print("Success.")

The script expects 5 arguments as the console input:
- border_min_x
- border_max_x
- border_min_y
- border_max_y
- frame number to render

These arguments are parsed and a frame is then rendered and written, when the script is executed.

To call the script with params, add them after two dashes.

  Having spaces around -- is important, this is a signal that Blender should stop parsing the arguments and allows you to pass your own arguments to Python.

Then in the command line, execute the following command:

blender -b my_file.blend --python-text script_textblock -- float_min_x float_max_x float_min_y float_max_y int_frame

Example

blender -b my_file.blend --python-text script -- 0.1 0.5 0.2 0.8 1


Use only one composite node. Think of it as the output image.

The other nodes can be added after each other or in parallel and mixed in a variety of ways:


Figuring out FOV and Angle for a Reference? How to use a Reference Image?

Images as Planes are textured plane geometry, so they can only be viewed in Texture, Material (LookDev), or Render mode.  Use the Empty/ImageType for your background image.  Select your camera view in the viewport. (numpad 0).  Then Add->Image->Background (in 2.8).   This will create the ImagePlane square to your camera view.  In the Properties -> Object Data choose the Back depth or Default Depth.  Just remember that you cannot render the background image in your final render, but you can render it in Viewport Render from the View menu.


This can't be done in the node editor alone - the only solution is to (somehow) create the actual nodes themselves. However, there are ways to simplify the creation of the nodes.

One example is to use the Node Expressions (aka Dynamic Maths Expression) addon available from https://github.com/baldingwizard/Blender-Addons/wiki. This allows you to simply type the required expression and the nodes are automatically built within a new Node Group for you.

For example, to generate your example of repeated square-root operations, you could simply enter the expression as :

(((input**0.5)**0.5)**0.5)**0.5

Where '**' represents 'to the power of' and raising to the power of 0.5 is the same as taking the square-root. Simply edit the expression for as many operations as you desire (ensuring to match up the brackets correctly). The above expression will generate the following nodes :

You can perform various actions in the same way, with the add-on supporting all basic mathematical operations (+, -, *, /) as well as various functions such as 'sin(...)', 'cos(...)', etc. with numerous inputs and outputs (see the accompanying documentation for additional details and examples).


Changing emission light overtime Blender 2.8

Hover your mouse over the emission strength and hit I. The property will turn yellow, meaning that you created a keyframe. Then go to a different frame, change the strength and it will turn green (meaning no keyframe) then hit I again hovering over that strength bar. It will turn yellow and you've got yourself a basic strength changing emission shader.

Note that this works for most properties in blender. That is how you can make transformations over time.


Seeing other mesh vertices while editing another one?

If you just need to display the edges, you can select the object, go in the Properties panel > Object > Display > Click on Draw All Edges and Maximum Draw Type > Wire.

But otherwise there is an addon called MultiEdit: https://www.dropbox.com/s/xtxbhxxw9qriti2/MultiEdit_1_0.zip?dl=0

Download and install it, then select both your objects and, in the left panel (activated with T) > Tools > Multiple Objects Editing > click on the MultiEdit Enter button. Click on the MultiEdit Exit when you have finished.


Why does my model's eyes have artifacts?

In Node Editor window: Try adding Texture Coordinate and connect UV node into vector nodes of all the Image Textures you have. (Node Editor: Shift+A>Input>Texture Coordinate)


Ok, so I've learned a lot since then, and after a long while of putting it off because I didn't like having to redo stuff, I managed to fix it myself. This is what I've learned:

First off, size does matter. Having a kilometer large room doesn't help (Source models are huge so always scale down).

Secondly, I figured out that the smoke is created on a grid-based system, which is determined by the Divisions. Though by amplifying that number tends to cause the program (or whole computer) to be unresponsive.

Because of these things, it felt best to make several smaller Domains that surrounded the tubes rather than the whole room.

And finally, I removed a few elements from the smoke material, and that was the color Attribute and the additional Add shader.

The results finally came together nicely, even with a few redos...
http://fav.me/dbmid4o


It looks like the glass object has no thickness.
Without any thickness, rays are bent only once, and behave as if everything behind the plane were inside the glass, rather than behind it.

After adding a solidify modifier (or thickness via any other method), rays passing through the glass will be bent upon entering it, then bent back upon exiting it. This should result in the expected appearance:


What is the keybind for the toggle workspaces?

In user preferences  input look for "set screen" (there are two of them):

you can change to what you said, as shown below:

Just click where there's the current key combination, and use the new combination) - save preferences if you need it to be permanent...


3D render - requested side-by-side but got anaglyphic - how to fix

OK, The answer seems to be:

There is another set of options on the 'save as' dialog, and you need to set the 3D option and the side-by-side option there too.

See https://www.blender.org/manual/render/workflows/multiview/usage.html for a lot more detail on this.


Start with each piece as a different object, that is each piece which you want to fall into place at a different time. In edit mode press P and choose loose parts or selection to break larger objects into smaller pieces.

Go to the end of the animation and insert a keyframe for the location of each piece. A to select all, then I->Location. now go back to the beginning of the animation and move everything up so that it is out of the camera view. Insert another keyframe, I->Location.

Now that everything is falling at the same time, go into the dopesheet and stagger the start and end times for each piece.

While it might have a learning curve to start, you may also want to consider using animation nodes.


My background image won't show up in blender 2.79

As you can see in the top left corner, you are in the top and perspective view (Top Persp). Use the menu View>View Persp/Ortho, to switch to orthographic view. Or use the shortcut "Numpad 5".


Creating volumetricaly layered materials in Cycles

If you mean what I think you mean, then yes it is possible.

Is this what you mean? It is one object, but there are different materials in different places.

This is the node setup:

The way this works is I separate the object into its X, Y, and Z coordinates. I then select how much of these coordinates I would like to be one material (In this case emission, shown by the white in the colour ramp nodes. This allows layers of different materials within the volume.

If you require these layers of materials to be place at random points, you can just plug in the red component from a noise node into the factor for the mix node as shown below:

I have also passed it through a brightness and contrast node to emphasize the border between the two materials.

Here is the result:

You can achieve really interesting results if you use different types of textures:

Node setup:

Another interesting result I came up with:

Hope this helps you :)

EDIT:

Here is the technique applied for a layered material:

Here is the node setup:

To achieve this layered effect simply change the color ramp. the black bars on each side of the color ramps indicate the thickness of the outer layer. However, this only works with volumetric materials like emission, volume scatter and volume absorption. To layer multiple surface materials they can simply be mixed/added. This will however not work with visible thickness as they are surface shaders and as such only appear on the surface and not in the volume.

That being said, the glass, refraction and transparent shaders can yield some interesting results with the fresnel node.

E.g: Layered glass:

Node setup:

The color ramp may look completely white but it is actually 1.1 and 1.45, set to constant.

However, a see through surface shader may be used together with a volumetric to achieve a different type of layered effect.

Volume scatter in glass:

Emission in translucent:

Generic node setup for volumetric within surface:

The volumetric can be replaced with any of the volumetric shaders shown above.

Hope all this additional info helps :D

EDIT 2:

Just ended up making the 'button' with this technique, thought I'd put it here:


There are several ways how to convert a Boolean value to its 'reverse'

option 1: using not

not will reverse False into True and True into False.

spec = not mat.fsxm_nobasespec

option 2: using a translation dict

REVERSE_BOOLEAN_DICT = {
    True: 0,
    False: 1,
}
spec = RESERVER_BOOLEAN_DICT.get(mat.fsxm_nobasespec)

These options can be wrapped in a property for convenience.

@property
def reverse_basespec(self):
    return not self.fsxm_nobasespec
Material.fsxm_basespec = reverse_basespec

Looking at the code that is posted as comment below the best option is to:

Exporter.File.Write("BaseMaterialSpecular {\n")
Exporter.File.Write(" %i; // Not Using Specular Map\n" %(not Material.fsxm_nobasespec))
Exporter.File.Write("}\n").

Please note that this is using python2 formatting conventions. Using python3 conventions it is best to use.

Exporter.File.Write("""BaseMaterialSpecular {{
 {fsxm_nobasespec:d}; // Not Using Specular Map
}}
""".format(fsxm_nobasespec=not Material.fsxm_nobasespec))


Why is the emission shader clamping even when I increase the strength to crazy high values?

Mesh lights tend to be pretty noisy, especially if they are small. I hardly ever use only meshlights to illuminate a scene. If you put one of your lights closer to the road, you can see it does not get clamped, it's just very noisy. My suggestion is to switch to spot lights. Your lamp posts are 12m high, so to actually illuminate the street you do need a lot of power. I set the strength of spot to 20,000, that did the trick. If you are uncomfortable with such high numbers you can use a light falloff node to make the lamp ignore the distance.


Pinching an edge in the middle of geometry without additional creasing

Extrude the vertices in the corners, then add edge crease to the newly created edges:

These edges won't be rendered.

It seems that the direction has no/few influence on the result:


Material does not react to light and looks shadeless

I figured it out.

The main problem was that the unit system was set to "none". I set it to "metric" (Context Scene), and then scaled down my object to 0.1. Then the light worked as expected.
I also had to reduce the strength of the background to 0.2 (Context World).

Is there a good summary of what needs to be considered when switching from 2.79 to 2.8?


How to change the sticking side in Snapping?

The easiest solution is to move your origin point.

Check Origins ✓ tranform
Enable Vertex snapping and snap your origin point to the lowest vertex
Switch fo Face snapping and snap your object


How to show curve vertex tilt + radius value slider in custom toolshelf panel

Unfortunately the content of that Transform panel are defined outside of the Python api. But you could have something monsterously convoluted like this to show up the Tilt value of a single selected Control Point of a bezier_point

    if context.active_object:
        if not context.active_object.data:
            pass
        else:
            # you do more checking here to verify the kind of active_object
            # I will ommit this from the example.

            data = context.active_object.data
            points = data.splines.active.bezier_points

            selected_points = [idx for idx, p in enumerate(points) if p.select_control_point]
            print(selected_points)
            if len(selected_points) == 1:
                idx = selected_points[0]
                point = points[idx]
                col = layout.column()
                col.prop(point, "weight_softbody", text='weight')
                col.prop(point, "radius", text='radius')
                col.prop(point, "tilt", text='tilt')

This approach only works when 1 point is selected, i'm sure it's possible to adjust the mean value too but it's more complicated, and might involve writing your own operator -- I haven't looked very deeply.


You can get the velocity of particles from the Particle Data Node (The velocity output is hidden by default).

For objects, if its location is described by a parametric path, then the velocity is described by the "gradient" of the parametric equation (You will need some knowledge in differential calculus to get that, however, you may use a finite method that I shall describe in the following implementation).

Moreover, If the object is animated using blender's animation system, and thus described by F-Curves, then a discrete finite method can be used to compute the velocity. First, get the F-Curves of the object and get its info.

Then, find the F-Curves that represents the location of the objects by searching for the path location, then sort the indices based on their F-Curve data index such that they become in the order x, y, z. Then get the F-Curves at those indices.

Then, create a function that computes (Approximates) the derivative at some given time with a given epsilon. The function can be a Central Finite Difference Method. Notice that the function is the F-Curve.

Now, loop over the x, y, z F-Curves and compute their derivatives and compose a vector from the result, this vector is the velocity and its magnitude is the speed.


IK Solver Chain Length reverts back to 0 when changing between pose and object mode

I had a similar issue. I noticed that I had (probably accidentally) inserted a keyframe by clicking this small dot button right next to the > arrow key which changed into a diamond shape. After clicking it again it removed the keyframe, turned back to a dot and the changed number was saved just fine

Another indication is that the Chain Length field was yellow / orange, instead of the regular grey, while that diamond icon was around.


Where do I find a button "Lock Layers and Used Camera to Scene" in Blender 2.92.0?

Used camera is right here in scene properties:

and if you tap the filter symbol here:

and then press the arrow (selectable)

you can then tap on the collections selectable icon (to lock the layer)


Select object by part of their material name

In that case, even a simple condition should do the trick.

import bpy

obj_list = []

for o in bpy.data.objects:
    for m in o.material_slots:
        if "text" in m.name:
            obj_list.append(o)

print (obj_list)

I suggest  add the items to a set instead of a list — avoids adding multiple entries of identical objects (in case there are multiple materials per object containing text as substring in their name).

import bpy

obj_set = set()

for o in bpy.data.objects:
    for m in o.material_slots:
        if "test" in m.name:
            obj_set.add(o)

if len(obj_set):
    bpy.ops.object.add(type='EMPTY', location=(0,0,0))
    emtpy_obj = bpy.context.object
    for o in obj_set:
        o.parent = emtpy_obj


How to make a specular child copy on an object

What do you mean make it specular? Blender can create object instances which have linked mesh data, I.E. changes in one are automatically reflected in the other. Just copy the object with Alt+D to clone it


Child of constraint not working for two handed object holding

Ok so I fixed it myself.
The problem was in the arm rig and how i setup the IK.
my arm rig didn't have any separate IK bone so i was setting-up the ik on the actual rig.
what i did to fix it was :
1- created a bone from wrist of hand and named IK.Arm.Handle
2- separated the wrist bone and offset it to the IK bone
3- then put the IK constraint on the arm with IK.Arm.Handle target
4- after that i simple put the child of constraint on the IK bone and set target to the object bone ( in my case was sword handle bone ).
I hope helps anyone facing the same issue.


'Context' object has no attribute 'view_layer' in Python Script

The manual page you've linked is for Blender 2.81 and is up-to-date. If you're using an older version of Blender you'll have to consult the matching version of the manual. The documentation of bpy.types.Object in Blender 2.79 can be found here.


Is there anyway to make a bezier curve into a mesh object?

You can! In fact, you can also save yourself a couple of steps! You don't actually have to convert it to a curve at all. All you have to do is use the Skin modifier. This will make a cube around each vertex connected to adjacent vertices. Unlike with curves, it also supports branching. Like curves, you can control the size of each point (the vertices, in this case). This is actually a well-documented feature, so you shouldn't have any trouble finding a tutorial on the basics.

Additionally, if you want your knots smoother, you can start from a curve and convert it into a mesh (it will create vertices based on your curve resolution), then proceed to add your skin modifier.

If you already have an existing object created, you can simply convert it into a mesh, as well, then delete any extraneous curves that remain.


You could render it with passes enabled and reconstruct the image with compositing. You then have the control of how much direct or indirect light you add to the compositing result:


How can I select faces by color with Python?

You don't need python here. Go to edit mode select a face with your desired color, press SHIFTG and choose Material.

Alternatively you can also choose a material in the properties editor and hit select below, to select all faces assigned to that material.


How do I fix this weird lighting (normals?) problem?

As others have mentioned, Unity is probably getting confused about what direction the normals should be in. You need to change the topology of the large area that causes trouble. I think this would be the most logical choice:

Have you tried this combination?
To get to it, simply delete all the "wrong" faces, insert a face (F) in their place, and cut it up using the knife tool (K).

If this doesn't work, or if you're too lazy :), try adding a Bevel modifier with a small Width.


My viewport movement is inverted and strange

You may have enabled the option called "Lock to 3D cursor", which can be found by pressing 'n' to get the side bar and clicking on the "view" tab.


just god rays, without shadows or anything? (Blender Internal)

You could

Uncheck 'Specular' and 'Diffuse' illumination options in your spot lamp and only check 'Halo' (+ adjust 'Size', 'Intensity', etc. as you like)

To get some more defined and realistic rays you can add a so called cookie ("stencil") object (e.g. a plane with some holes cut in it). To make it just cast shadows and not show up in the render itself you have set up the "Shadow" section of its material as follows (main part being the "Cast Only" setting):

Use the Compositor node 'Filter'->'Sun Beams' to get the effect in post


Confirm that your baked texture is saved to your Assets folder and is visible in Unity as an Asset in the Asset Window. Confirm that the texture is actually being set as the Albedo/Diffuse on the Unity Material. IF not Drag the texture from your assets window onto that setting in the Inspector. May want to set your Material Color to white as well so that the texture is setting the color now.


creating more than 20 render layers and connect them to different scenes

Actually there was a typo.
The following script creates a new scene and a new render layer making it the active one for that scene

for j in range(N_PERSP_x):
   bpy.context.screen.scene=basescene
   bpy.ops.scene.new(type='LINK_OBJECTS')
   newscene=bpy.context.screen.scene
   bpy.context.screen.scene.name='scene_h_'+ str(j)+'_w_'+str(j)
   new_render_layer =  newscene.render.layers.new('rl_h_'+ str(j)+'_w_'+str(j))
   newscene.render.layers.active = new_render_layer

You can check the results with:

for scene in bpy.data.scenes:
   print(scene.name,scene.render.layers.active.name)


you can select all objects in your collection and add a mirror modifier to one of them.

after, use make links

after, you can, use convert to mesh, to apply modifier. To all the meshes


You have to activate the fluid modifier for your cake in the physics panel and set the type to "obstacle". Then you can choose if using the shell (surface), the volume of your obstacle, or both.

For your task I suggest to use shell volume initialization.

If nothing happen you probably have inverted normals. Try recalculate them.

Hope it helped you!

Cheers!


The python docs for os.abspath() says

  os.path.abspath(path)
   Return a normalized absolutized version of the pathname path. On most platforms, this is equivalent to calling the function normpath() as follows: normpath(join(os.getcwd(), path)).

that is it is adding the current directory (from os.getcwd()) onto the start of the absolute filepath that you have entered. This causes the load image to fail which then gives an error when attempting to set the use_alpha property.

The simple solution is to remove the os.abspath() call.