How can I duplicate an object along a path?

You have a couple of problems.

The curve and the object have been rotated and scaled in object mode but the transformations have not been applied. (select the curve in object mode and press CtrlA to apply rotation and scale, then do the same for the dragon's fin)

Why apply transformations? Read the following link: Why is it important to apply transformation to an objects data?

The second issue is that the curve and the object you want to duplicate along it have their origins in different places. That will only give you headaches.

The origin for the curve and the replicated object must be in the same place.

Move the object so that it is in the exact same place as the curve. Select the curve, press Shift+S and select "Snap Cursor to Selected". Then select the Dragon's fin and press Shift+S again, but this time select "Snap Selection to Cursor".

Both objects are now in the same place and the array and curve should work the way you want.


The base font is "bfont" which is a form of "Bitstream Vera" fonts that have been modified into a "Deja_Vu" collection to work better with unicode.


How do I scale a point cloud from a custom pivot point in AN?

As suggested by Jacques, translate the points such that the pivot becomes the origin, scale, undo the translation:

Undoing the translation can be done by multiplying by the Invert Matrix nodes.


Correct Material for Glass and World Background

First forget about thinking of color as Hex values. That is not how blender works.
The same color will change depending of the amount of light that hits the surface of objects. Also the final value will depend as well on the kind of color transform chosen in the color management settings.
Let's start by asking what is "white"?
"White" is not a color, it is just the limit of what the display can deal with, in other words it is when the data has reached the top of the scale (from 0.0 or 100%) in all three channels. Most likely you need to increase the intensity of the light sources to reach that value.
Read:
Make texture visible in sunlight
and
Render with a wider dynamic range in cycles to produce photorealistic looking images
and
How do I stop my white background from becoming grey due to lighting?

As for the reflections on the glass, well, glass is both transparent and reflective, so you will have to control the elements that get reflected on it. If you don't have any reflections then the surface will no longer look like glass and the viewer will think that there is nothing there.
Read:
How to turn off reflections on glass


This is a tricky one, because you're going to deal with two separate issues that clash with each other.

As @cegaton suggested, volumetrics could make things easier for you, but if you need to solve it with compositing alone anyway, there's a couple of things you need to know:

The mist pass can help you but ONLY if you intend to composite the pass over the composited plate (no alpha channel). Since it's antialiased, compositing a mist pass over an image with alpha channel will result in color contamination in AA pixels and pixels convoluted by the DoF effect, as you experienced in your tests.
The Z buffer in Blender plays really bad with cycles DoF. I dare to say that it's completely useless when DoF is used. Just normalize it and examine it with the viewer, the sampling in the defocused areas makes it really inadequate for compositing, unless you're going to use an insanely high number of samples, which beats the purpose of not using volumetrics.
Alpha channel is also tricky when used with depth effects because alpha compositing is intended for blending a foreground plate over a background plate, not multiple planes in different depths.

With that in mind it becomes obvious that there isn't a silver-bullet solution to composite this kind of imagery in one single pass (unless you work on the composited beauty pass directly, without alpha channel).

If you need to produce layers to be composited using DoF and mist, you'll have to deal with the aliased Z pass and cut slices out of your scene's depth to apply the DoF effect in post without producing bleeds and artifacts.
It's a somewhat complex and tedious process and you'll have to evaluate whether it is worth to invest so much time and effort in compositing to spare yourself some extra minutes of rendering.


How to create a progressive coil spring in Blender 2.82?

First add a vert and use the screw modifier.

Then add a lattice and scale/move it in objectmode to the correct size and location. Also subdivide it alonge the Z-Axis.

After that add the lattice-modifier with the newly created lattice-object.

Now you can change the coil by editing the lattice-object in editmode.

So I did the fast method by just adding a skin-modifier and changing the size in edit-mode with ctrl+a.

You can also apply the modifiers and convert it to a curve and set it to nurbse...


Need help with Rigify in Blender v2.83 not working

This error happens when you have moved "spine.004". That's the 1st bone of the neck (counting from the bottom). This bone is "loose" and can be moved around. But, to generate the rig it must stay exactly on the chest spine "spine.003".
You can move it back with the help of the 3D Cursor. Move the cursor to the spine's bone (spine.003, the big one). In Edit mode, press SHIFT + S, choose Cursor to Selected. Then select spine.004, press SHIFT + S, and choose Selection to Cursor. That's it.


Blender is rendering an older version my project

This is because you have some sequencer strips in the VSE.

The Compositor and Sequence  settings are enabled by default, so if there is any data in the compositor or the sequencer blender will render from that instead of the scene.

From the wiki:

  If
  you are using the Compositor or Sequencer, you can tell Blender to
  process those effects instead of directly rendering the scene.

Disable Sequence in Render Settings > Post processing or remove the sequencer strips and it will render the scene instead:

version 2.8x


Beginner here, I want to do something like this

If you are a beginner, my recommendation is to watch the full Donut beginner tutorial series of channel Blender Guru on youtube.In that donut tutorial series, you will learn modeling, some sculpting tools, some modifiers, particles and about materials and texture painting. Then try to study all the  sculpting tools so that it will help you to make landscapes. you can fins tutorial series about sculpting in youtube. then try modifiers tools too. So first try that donut tutorial esries.


Mirroring an object along Z-Axis results in improper lighting

I use Blender to create content for a game which makes use of a game engine which has a fundamental incompatibility issue with Blender. Where Blender defines the Z axis to be vertical, the game engine assigns th Vertical to the Y axis. It is worth checking to see if a similar incompatibility is involved here. Perhaps the render engine has reversed one axis (or more) so that where Blender interprets a positive value as meaning one direction, the render engine inerprets that same direction as a negative value.

I suspect that in your case if you orient your model so that the front of the car is at positive X, the Y axis in the render engine is oriented 180 degrees from the orientation in Blender. If this is the case, you may need to revise your workflow.


Rendered image disappeared when I re-opened my project

See this thread: How to save the render result within Blender

Blender does not store renders in the .blend files.  They are stored in RAM until you exit the program, at which time the OS deallocates all applicable memory.  If you want to store the image, you must save it yourself by pressing F3 In the UV editor window.  You can set the options beforehand in the Properties menu:

Or in the Save window:


From your snapshots it looks like your camera shifted a very long distance, try to adjust the camera location or the camera clipping.


How can I create a smooth looping animation for cloth simulation?

My first choice would be to run the simulation for the entire animation, but the idea of using the MDD exporter could be applied a bit differently than the example you gave.

Export the cloth simulation to an mdd file.

Remove the cloth simulation from the object and add a Mesh Cache modifier. Set the File path to the mdd file you saved previously.

This will play the cloth simulation using the exported data. By using keyframes on the modifier values we can make it repeat the same simulation data. By using two mesh cache modifiers we can have a chance to smoothly transition between repeats.

Lets say we have a cloth simulation of 100 frames.

We have modifier1 with a frame start of 1 and then keyframe the influence to go from 1.0 on frame 95 to 0.0 at frame 100.

Then we have modifier2 with a frame start of 95 and influence keyframed to go from 0.0 on frame 95 to 1.0 on frame 100.

This should give us a smooth transition between the last and first simulation frames.

By keyframing the start frame we can re-use the two modifiers to repeat the simulation over and over again.


Cannot animate rotation of object along global Z

You have an empty (null) object controlling the rotation for your key object.

Animate the rotation for the empty and the object will follow.


How do I rig this so the wings are symmetrical?

In Edit mode, copy your "wing_L" bone with the Symmetrize function to automatically create a "wing_R" bone.
Switch to Pose mode, select the right wing and give it a Copy Rotation constraint.
Copy the exact same setup as the one on the screenshot: Enable X, Y and Z axis, enable the Invert option of Y and Z, choose Space > Local Space / Local Space.
It should work.

You could also simply, in Pose mode, copy the left bone pose with ctrl and paste to the right bone with ctrlshiftV. Just don't forget to insert a keyframe for the right bone (i).


Oh. There was a huge cube in the center that was invisible for some reason, but nothing renders behind it. Very weird. I removed the cube and it was fixed.


Color gradient changing with surface curvature

You can use the normal output from the "Texture Coordinate" node, then extract the z value. A value of 0 means the normal is orthogonal to the vertical axis, a value of 1 means the face is horizontal, facing up, and a value of -1 means the face is horizontal, facing down.

Shade smooth, shade flat, and wireframe in [-1;1] :

Shade smooth, shade flat, and wireframe in absolute [0;1] mode :

As pointed out in the comments by @Robin Betts, this will give you the normal in local space. It means if you rotate your object, but don't apply the transform, the color of each face will stay the same. If you want your shading to be applied in world space, you should use the normal output from the "Geometry" node.

Illustration :

Top row : World space, using the "Geometry" node

Bottom row : Object space, using the "Texture coordinate" node.

Rotation is not applied in both rows.


how do I animate particle key properties?

Blender lets us animate "almost" any value that we can adjust, there are some values that do not support being animated. These either don't make sense to animate or might cause issues if they are animated. Thse values will not have any keyframe options when right clicking on them, if you press I with the mouse over them you will get a warning message at the top of the window telling you it cannot be animated.

The number of particles, start and end of the particle emission are some of the values that we cannot animate. You will find others, like initial orientation and velocity, as well as physics type.

Some other values like render resolution and start/end frame also cannot be animated.


How to lock the view to the XY, XZ, or YZ plane

There's the Toggle Quad View option, which has such functionality.
It splits your viewport into multiple views, that cannot be rotated.

View > Area > Toggle Quad View
Shortcut: Ctrl + Alt + Q


You can re-open it with F9. Although, the object operator settings menu cannot be accessed once you make an edit to the object.


Wire-frames being rendered inside transparent objects

Not sure I completely understand, but if you want to hide items from the renderer you need to click on the little camera icon (hides in render), not the little eye icon (hides in viewport).


how do you render displacements in cycles?

It might be the Suzanne head, blocking the light. It is hidden in viewport, but appears in render, casting a shadow. Just disable it in renders and you're good to go :).

Click the filter button, and show all visibility options.  The camera icon disables objects in render. Click the camera icon to disable in render:


the textured view ignores texture coordinates. just set the first node back to UV and it should work just fine.


a node setup is a group of nodes that you build, to get a virtual material for a single object. As i see in your images, there are 2 objects, a "landscape"/mountain and a plane. You need to do that material just to the mountain (maybe extend the mountain mesh, or joining the meshes). On your node setup, under "texture coordinate", try to use "object" instead of "generated". To control the transition, in the color ramp node, change the mode until you get want you like.

On your node setup, connect directly the mix shader to the material output. Delete the diffuse shader.

The ocean should be just a plane that cuts the landscape and you move on Z axis, up and down to where you want it.

For a 3 material setup, procede as the following image, where you replace the RGB nodes with the materials you built:


In your code rigM will be constantly true when the right mouse button is held down. This means the action will keep playing. Try changing bge.logic.KX_INPUT_ACTIVE  to bge.logic.KX_INPUT_JUST_ACTIVATED in your definition for rigM.

Give the breathing animation a lower priority by setting the priority argument on your playaction call to a high number. See the Game Types API Reference for details. If you don't want other actions to play while the right mouse button is held down then change your logic to not play the action when rigM is true.


Getting the list of points that describe a Curve without converting to mesh

The parameters can be found by taking the coordinate and right handle of a point, and the coordinate and left handle of the next point in the bezier points array.

For cyclic curves the last point and the first point in the array form an extra segment.

spline = bpy.data.curves[0].splines[0]

if len(spline.bezier_points) >= 2:
    r = spline.resolution_u + 1
    segments = len(spline.bezier_points)
    if not spline.use_cyclic_u:
        segments -= 1

    points = []
    for i in range(segments):
        inext = (i + 1) % len(spline.bezier_points)

        knot1 = spline.bezier_points[i].co
        handle1 = spline.bezier_points[i].handle_right
        handle2 = spline.bezier_points[inext].handle_left
        knot2 = spline.bezier_points[inext].co

        _points = mathutils.geometry.interpolate_bezier(knot1, handle1, handle2, knot2, r)
        points.extend(_points)


Blender has been made so that he displays the samples progression only when he renders one tile at the same time.
(Or if you check the "progressive refine" option as you force blender to render the entire picture sample after sample instead of waiting for each tile to get all its samples done before rendering the next tile).

This happens only when you set the tile size bigger than the final resolution, or use GPU  rendering (GPU has only one rendering unit) or constrain your CPU to use only one rendering unit (CPU nowadays have at least 2, most have 4, 6 or 8, high-end CPU can have 32, 64, ... And render farms can have hundreds of them).

If there are multiple tiles to render, Blender shows only the tiles progression. I guess it's mainly because they want to keep the rendering stats as simple as possible.

Considering that some computers can have several dozens of rendering units at the same time, I guess it's better to have just a tile progression instead of 64 different render samples progression.
I also guess it could be nice to give an optional "advanced stats" mode, letting the user choose what he wants to see, but that's another topic.


Why does my .7 solve error result in bad track?

The problem is displayed in your screenshot.

First off the iPhone 4 has a 3.85mm focal length (part of the iPhone 4 preset), no were near 457.

Because you had a focal length that was way off, it messed up blender big time. No doubt you had Refine in the Solve settings set to adjust the K1 and K2 values. -1237926.25 is a HUGE number, way bigger then anything you will ever really need; for that matter the K1 value is way too high. The focal length and Lens Distortion values are the cause of your problem.


Why does this single model look like 2 different models?

left side view is in perspective and right side view is orthographic (without perspective).


Child of Constraint creates strange glitch?

In "Child of" panel select the "set inverse" button. Most of the time, this resolves this sort of thing for me. I can't explain the mechanics of it. If this does't work and you want to go back to the original, click on the "clear inverse."


How to interface with blender using IPython from terminal?

For anyone coming upon this question in 2020, I had a similar want and wanted to use Blender from a Jupyter Notebook.

I made a Jupyter Kernel to do this for Blender 2.8 here. It uses asyncio so the Blender UI is not locked when using the kernel.


A large part of the problem here is with collisions and the boundaries of collisions. This is resulting in some of the meshes being effectively intersecting at the start of the simulation - or becoming trapped below the surface part way through the simulation - which is then dragging the surface into the mesh in an unpredictable manner.
The first thing to change is the collision on the button meshes - these are hooked onto the front of the shirt and have their own collision settings. This is having two effects - one is that it is interferring with the shirt itself (since it is pinned to the surface and is also colliding with the surface it is causing a conflict in the forces that result). Since the buttons are small and should not significantly affect the simulation it is easiest to simply remove the Collision from all of the buttons.
Secondly, I noticed that the 'neck' section of the tie is getting dragged under the surface of the shirt at the start of the simulation. This is a sign that the meshes are starting the simulation effectively already intersecting. While they don't appear to be intersecting, the collision settings (in the Collision physics modifier and also the Cloth settings themselves) include 'bounds' that can extend beyond the mesh surface. When diagnosing such issues it is a good start point to change those bounds (the Inner and Outer settings in the Soft Body and Cloth settings of the Collision settings and the 'Distance' in the Cloth Collision settings). Note that as soon as you get one cloth vertex dragged below the surface of a collider, it can result in more of the cloth being pulled through the mesh.
Once the above changes had been applied I re-ran the simulation with a much better result. Any further discrepancies should be able to be resolved by ensuring the meshes start slightly further apart in the problem areas, by reviewing your geometry to avoid large variations in edge lengths (areas of cloth where the vertices are close together will behave differently to those where they are further apart) and I also noticed that the tie itself is made up of two layers of faces - it would be better to model as a single surface and then add a Solidify modifer to give it thickness.


To keyframe the influence value of the copy location constraint:

set the influence value to 0
go to the frame before the value should change
place the mouse cursor on top of the influence slider
press I to insert a keyframe
jump to the next frame in the timeline with →
set the infuence value to 1 and press I again


What to do

You need to play around with the python console for this stuff.

Here is probably what you want (sets the value directly in the properties panel, absolute method):

bpy.ops.mesh.primitive_cube_add()
bpy.context.scene.objects.active.scale = (-2.2, 0, 0)

You may also want to scale like this (scales object the same way as pressing S in the 3D view, relative method):

bpy.ops.mesh.primitive_cube_add()
bpy.ops.transform.resize(value=(-2.2, 0, 0))

When an object is created, it is selected and set active so my examples will work in a simple case like this without a reference to the object.

Why your script won't work

bpy.ops.mesh.primitive_cube_add doesn't do anything useful (it won't create an object)
bpy.ops.mesh.primitive_cube_add() only returns {'FINISHED'} not a reference to the new object.


Does a Subsurf modifier slow down renders?

While it is true that an object with a high number of polygons might indeed take the same time to render as another with a smaller polygon count, but using a subsurf modifier yielding the same number as the first one, but using the subsurf modifier will give you more flexibility and a more responsive interface

Having said that, you do have to be careful with the amount of subdivisions set by the subsurf modifier because it will definitely affect render times and the amount of memory used.

You will probably not notice it on simple geometry, like the example you provide, but once you get into more  complex geometry, if you increase the number of subdivisions in the modifier, you can easily push your computer to its limits and potentially make it crash.

The subsurf modifier is a great tool to easily create and edit complex shapes and still have a responsive interface, while keeping a non destructive or permanent workflow.

Creating virtual subdivisions on your geometry saves you the trouble of creating smooth curved surfaces, but when you do the final render, blender has to compute all of that "virtual" geometry as if it was real anyway.

Please read a more detailed post here: Blender render crash when using subsurf modifiers.


you will lose texel density if you Unfold it like what you want and blender is unfolding in true way - if you want to unfold as a line and it be straight - use addon Textools > Rectify


Here's how I did it (and I think this is the cleanest method):

0. Original object

1. Loop cut the original object twice

As the object has a hole, the Loop Cut and Slide (Ctrl+R) tool doesn't loop cut both the internal and external sides together.  A better way is to use the Extrude Region (E) tool.

Rotate view totally horizontal, and with the face select mode enabled, select all the bottom faces:

Use the Extrude Region tool to extrude the bottom faces by 1 mm (this will be the height of the bevel at the bottom).  Use the Extrude Region tool again to extrude by another 1 mm (this value is arbitrary, and will be removed later):

2. Reduce the thickness of the object

Select all the side faces:

Using the Shrink/Fatten (Alt+S) tool, shrink the object by 0.2 mm (this is the tolerance of the object).  Hold down the Alt key while pressing the Enter key to enable the Even Thickness option.  This is the result:

3. Make the bevel at the bottom

Select the side faces nearest to the bottom of the object:

Use the Shrink/Fatten (Alt+S) tool to shrink the faces by 1 mm (the width of the bevel).  Again, hold down the Alt key while pressing the Enter key to enable the Even Thickness option.  This is the result:

4. Remove the the part of the object below the bevel

Select the bottom faces:

Translate the faces upwards by the arbitrary amount chosen in Step 1 (in this case, it is 1 mm):

Switch to vertex mode, and re-select all the bottom vertices:

Use the remove doubles tool to remove the double vertices:

5. Reduce the extra height from the bevel

Select the vertices at the bottom two layers (encompassing the whole bevel region):

Translate the vertices upward by the height of the bevel (1 mm in this case):

Done!


Can the 3D viewport be set to draw smooth (anti-aliased) wireframe?

I'm assuming you're talking about anti-aliasing:

This can be turned on in the User Preferences (found in the File menu), in the System tab:

You may need to click Save User Settings at the bottom left and restart Blender to see any effect.

Warning, on some systems (NVidia specifically) this can cause editmode vert/edge/face selection to fail. (This is an issue with the OpenGL driver and not much Blender can do to resolve)


What is the correct python code for pressing "I" and selecting LocRotScale?

You should avoid ops functions and use the object's attributes and method to achieve your goal. (Ops is slow and can even be context dependant.)

To insert a location keyframe, use the keyframe_insert method of bpy_structs with data_path parameter set to location.

Use the same method for scale, setting the data_path to scale.

In order to keyframe the rotation, you need to know the rotation mode. An objects rotation_mode can either be set to QUATERNION or EULER. The respective parameter values for the data_path parameter are rotation_quaternion or rotation_euler.

Below is a fully working example, given there is an object named Cube.

import bpy
import mathutils

selected_loc = [mathutils.Vector((x, 0, abs(x-5))) for x in range(8)]
moving_object = bpy.data.objects['Cube']

for i, loc in enumerate(selected_loc):
    bpy.data.scenes["Scene"].frame_set(i * 4 + 1)
    moving_object.location = loc
    moving_object.keyframe_insert(data_path = 'location')
    if moving_object.rotation_mode == "QUATERNION":
        moving_object.keyframe_insert(data_path = 'rotation_quaternion')
    else:
        moving_object.keyframe_insert(data_path = 'rotation_euler')
    moving_object.keyframe_insert(data_path = 'scale')


How do I denoise an image sequence that has already been rendered?

You can try to connect the image (or image sequence) to the denoise node without using the Normal and Albedo sockets but the result won't be as good as it could be.

In general, Intel's OpenImageDenoise is the best option for now, see how to set it up properly: How to properly connect the Denoise node in Compositor?. Alternativly, you can try using other software, see: Denoising Animations in Cycles.

Next time, I suggest enable Denoising Data and set the file format to OpenEXR Multilayer which allows to store any additional passes like Denoising Normal, Denoising Albedo, etc. to the image file as well (without doing anything), see: Save all render passes to EXR image?


Okay. I have solved the problem after several days of pulling my hair out. Shoutout to @moonboots for setting me on the right track. First of all, THIS YOUTUBE VIDEO will explain mostly everything. A couple things it won't explain:

You cannot have both image textures and flat color textures in the same model. I, for instance, used image texture for the clothes and flat color for the skin, hair and boots. What you must do is import your flat colors as images and have blender pull from those. I myself made a texture palette with all the main colors I will use. THIS is a good YouTube video showing how to do that.

You absolutely MUST use Nodes. I was intimidated by the Node Editor and found it so confusing that I kept strictly to the Materials Tab. No way, Jose. There's no getting around it; you have to use Nodes.
If you are really stuck, OUTSOURCE. I hired someone on Fiverr.com to bake the model for me and make a list of steps to take so I would know how to do it myself. If you're going crazy, delegate!

Good luck guys!


Viewport render gives the desired result but the actual render shows a black screen

The problem is really simple. Actually you have gone to the compositor and deleted the render output which will stop anything from being rendered. Either add these two nodes back in the compositor:
Or either just uncheck the compositing and sequencer boxes so they don't affect your render:
After doing this the render works at my end.


How to get Blender 2.78c and Yafray to play nice...?

We can indeed enable or disable the addon only once per session (should be reported here: http://www.yafaray.org/development/bugtracker/yafaray).

Apart from that the Addon working fine on Windows (64 bit) :

First remove all the previous Add-ons and Versions of Yafaray, then download Yafaray 64bit from here, go to User Preferences, Addons, Install from File, select the zip file and enable the addon, done.

If the error message comes up restart blender and enable/disable the addon.


If switching to orthographic view fixes it, your issue is that you have too few faces and are too close to them.

What I do is I add a simple subdivision modifier. It's frustrating that it doesn't work, but blender has trouble localizing the brush on the face when it is severely warped by perspective. Here is a post on the developer manifest.

https://developer.blender.org/T40707


There is in fact a particle system on that cube, just delete it with the minus button.


I don't really understand what you mean by "perfect geometry" or "proper way of going about extruding". There is no "proper way" you simply extrude and it is either the result you expect or not.

Could you be looking for a tool to extrude along each face normals?

Try selecting a bunch of faces and pressing Alt+E > *Region (Vertex Normals).


Pressing "W" turned my cursor into a circle

In the new default Left Click Select keymap:

right click (RMB) is what opens the menu for context-based special actions (Subdivide, Remove Doubles, etc),

while instead
W cycles through the Selection tools from the Tools shelf

So now you've got Subdivide on RMB, and you can get your pointer back by hitting W 3 times.

If you want to go back to Blender 2.79 Right Click Select keymap, you'll find this option in Edit > Preferences > Input > Select with.

The reason why everything else has disappeared is that you are in Local view (read that little (Local) in the Viewport's top left corner). I'm not sure how you entered this mode, and the W stuff is completely unrelated, but you can exit it using / or View > Local View > Toggle Local View


Ambient occlusion bake crashes blender (cycles)

The main reason for the crash is dupliframes (not really expected behaviour though).

The object has Frames enabled in the Properties editor > Object tab > Duplication rollout. It duplicates the object as many times as there are frames set (from 1 to 100), resulting in ~44 000 faces. It isn't visible as object is static.

Also with this the object won't be renderable. Set the option to None and the bake will work.

There are some minor problems though in mesh geometry (non-manifold geometry) which are better to fix. Although they won't crash the bake:

Remove doubles (W > Remove Doubles) and recalculate normals (Ctrl+N) first, this will remove some of the non-manifold geometry.
Edges overlayed on top of the faces (moved with Grab tool below for visualization purposes):

To avoid UV map corruption delete one edge, then select vertices from the sides  and use Connect Vertex Path tool with J to split the face as it kind of was. Repeat for the other edges shown in the screenshot above.

Above selected edge was already made as mentioned.
Internal vertex inside of the mesh.

Above faces of the body are hidden to allow seeing through the mesh. Remove that vertex.


Select all the verts or edges that make up the hole and press the F key. Your hole will be filled in as long as all the verts or edges are part of the same mesh.


Is there a way to stop objects visually "clipping" through others at a distance?

Increase the viewport Clip Start value, found at the top right of the viewport in the screenshot.
If the start is really low or the end is really high it can cause issues like you see. Try 100mm (the default) and that should help.
I don't know the technical reasons for this issue, but a really small start value or a really large end value can cause the issue you're seeing.


Animate which faces a material is assigned to

Two preliminary animations. Top with constant color. Lower with linear interpolated color.  2 Samples [only] per frame with Cycles, thus graininess. The OP can deliver more exact visual requirements.

import bpy
import datetime

print(datetime.datetime.today())

def object_id_mark():
    m = 0
    for s in bpy.context.selected_objects:
        m = m + 1
        s.pass_index = m

object_id_mark()

In the Python above, the object index is assigned values to coordinate with the materials nodes.  Those objects are the faces of a sphere with a parent for grouping.  Extrude Individual Faces and Separate Spare Parts.  Those objects have the same parent. They can be easily selected and the script above is executed.

Material Nodes, note the group. Image above.

Detail of Group.  Image above.

Material Nodes.    The color ramp interpolation can be set to constant or linear.  Click to see larger image.

Correct RNA path.  Image above.

Be especially careful on the node named [Datablock Careful].  This value is the current frame in a material node which requires Datablock Driver. The 3 Panels are intended to stress the necessity of navigating a deep heirarchy in the Data-Blocks Mode of the Outlner Window.

ObjectName/MaterialSlots/[MaterialName]/Material/[MaterialName]/NodeTree/ShaderNodes/[NodeName]

then

Outputs/Value/Node/[NodeName]/DefaultValue

This list is quite long and my path may not meet exactly your reading of the path. Changing the value manually will verify you have correctly navigated the hierarchy.  The Outliner Data-Blocks window interface may help you reduce clicks by automatically opening a single choice when present.

Image Above.


Blend close shades of colors together in compositor

I guess the following can be adjusted to your needs.

Two mesh objects, partly overlapping will be mirrored at intersections, RGB independant.

Compositing nodes create a mask of the intersections. (This part is highlighted in red.)

Enable the Z and Object Index Pass of the render layer. (Properties Window > Scene > Passes)

Assign two different pass indices to the objects, in my case 1 and 2. (Properties Window > Object > Relations > Pass Index)

After dilating the objects masks, their overlapping part will the border between them. Multiply both masks to only retain the boundaries. If both parts are in the same mesh, you can get this mask with the Material Boundary of Freestyle (which will have correct anti-aliasing).

To exclude the parts, where the meshes overlap but are apart, check differences in the depth channel. The Prewitt or Sobel filter will give us the difference between close pixels. Where this z - difference is larger than a certain value (0.05 in my case) there is space between the objects (which we dont want to blur). Multiply the "edge" mask with Z-Difference lesser than the min value (0.05) to get the intersections.


Fresnel and blend option not showing in transparency panel


How can i append a material from a blend file using python script

This links a number of named materials from materiallibrary.blend

import bpy
# Load materials
bpy.ops.wm.link(filepath="materiallibrary.blend/Material/LL_WireTrans", directory="materiallibrary.blend/Material/", filename="LL_WireTrans", files=[{"name":"LL_Clay", "name":"LL_Clay"}, {"name":"LL_Glass", "name":"LL_Glass"}, {"name":"LL_WireHold", "name":"LL_WireHold"}, {"name":"LL_WireTrans", "name":"LL_WireTrans"}], relative_path=True)

I did not write the above, Blender created it for me. Run blender.exe --debug-all and manually link your required materials, then in the console will be the python code generated, similar to the above.

Because of the --debug-all you will will also get a ton of other stuff that you will need to sort through.

Link to the project I use this in
Camera-track-endevour


The move tool works as well. I think you just need to keep looking for a spot on the mesh to get the brush to work possibly because of how your object is aligned for blender to read it.


Scripting - Where is data not shown in the "Info" panel shown?

The info is mainly explicit defined and call from operator :
class mesh_OT_someops(byp.types.Operator):
    def pseudo_excute(self):
        self.report({'INFO'},"This is an Info Output")

It can be arbitrary thing and most of the time, the final output log is been emitted. And for sure, Blender and all other programming language will not automatically "Saved Log" for anything. Unless that is a state machine, which, seems to far away from the topic.
So, if you are scripting, you will always have to dig out the data from the Blender module bpy. For your mesh selected vertices, it will be something like this:
selected_vertices = [i for i in bmesh.from_edit_mesh(obj.data).verts if i.select]

It is not easy when you are not familiar with program, especially pointer-based programming since most of the Blender object you call is reference. And also, using Blender scripting need a certain degree of Python knowledge, which might be hard to learn, despite Python claims for easy to learn.


3D view pie hotkey (or menu access) on Mac

I managed to locate the listing for the shortcut I believe you're making reference to. It wasn't easy to find. Once you know where it is located under the Keymap category within User Preferences, you can try to either target it using scripting, based on its name (In this case, VIEW3D_MT_view_pie), or, simply create an alternative keyboard shortcut, which will grant you access to the feature without use of any problematic default keys.


Why is the object not moving along the curve path?

What you need to do when you want an object to correctly follow the curve is to put both the curve and the object origin at the exact same place. So here:

Select the curve, press ShiftS > Cursor to Selected
Select the object (for example tube) and press ShiftS > Selection to Cursor
Give your object a Curve modifier, find the right Deform Axis (here -Z)
The object is a bit shifted, it's because you've rotated it and didn't apply the rotation, you need to apply (ShiftA)
If you want the curve to go in the opposite direction, switch to Edit mode, right click and Switch Direction


How can I add procedural porcelain cracks?

The closest that I could find procedurally is something like the following, but the brick pattern really is Too consistent, that's why I tried to break up the mix with the musgrave texture, and the Random values for the monotony of the brick pattern (see below for the node arrangement).

Here's the Result on a sphere - keep in mind, it's not all that impressive, but should serve as a good basis to build from should you pursue it further.

I have another attempt here, and thought if we could some how mix the structures, we would have a pretty good method. So here it goes:


Can blender use 100% CPU when baking to speed up baking?

No, there's nothing you can do about that until multi-threading is implemented for particle baking.

...except use a single-core processor.


CPU temperature high when rendering with the GPU

Turn off the CPU in the GPU render by going into Preferences > System, and under the CUDA Settings, uncheck the CPU.

I noticed this, too. I'll say that, under the same load, with similar effects and raytracing options, Blender renders, CPU, GPU, or shared, run hotter than in other software, for me.

Blender renders hit 90+ degrees after five or so minutes. Cinema 4D doesn't really go beyond 84 degrees.


How to make a fullscreen toggle button in the BGE?

This is simply done with a small python script using the bge.render.setFullScreen() function.

cont = bge.logic.getCurrentController()

if cont.sensors['MouseOver'].hitObject.name == 'Cube' and cont.sensors['Lclick'].getButtonStatus(bge.events.LEFTMOUSE) == bge.logic.KX_INPUT_JUST_ACTIVATED:
    if bge.render.getFullScreen() == True:
        bge.render.setFullScreen(False)
    else:
        bge.render.setFullScreen(True)

You then add the script to your button with these logic bricks.

The MouseOver and Lclick mouse sensors are used to start the script when the button is clicked.
Look through the Blend file for a full working example.
(*Note* you will need to start the Standalone player for full screen to work.)


Is it possible to disable menu items in custom menus?

As already said by pink vertex and Jerryno, a poll() classmethod should be added to the operator you add to the custom menu. The disabling (graying out) will be managed by Blender automatically:

import bpy

class SimpleOperator(bpy.types.Operator):
    bl_label = "Simple Operator"
    bl_idname = "wm.simple_operator"

    @classmethod
    def poll(cls, context):
        return len(context.selected_objects) % 2 == 0

    def execute(self, context):
        self.report({'INFO'}, "Simple Operator executed.")
        return {'FINISHED'}

class SimpleOperator2(bpy.types.Operator):
    bl_label = "Simple Operator 2"
    bl_idname = "wm.simple_operator2"

    @classmethod
    def poll(cls, context):
        return (context.object is not None and
                context.object.type == 'CAMERA')

    def execute(self, context):
        self.report({'INFO'}, "Simple Operator 2 executed.")
        return {'FINISHED'}

class SimpleCustomMenu(bpy.types.Menu):
    bl_label = "Simple Custom Menu"
    bl_idname = "OBJECT_MT_simple_custom_menu"

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

        layout.label("Enabled, if even number of objects selected", icon='INFO')
        layout.operator("wm.simple_operator")
        layout.separator()
        layout.label("Enabled, if active object is a camera", icon='INFO')
        layout.operator("wm.simple_operator2")

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

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

if __name__ == "__main__":
    register()

    # The menu can also be called from scripts
    bpy.ops.wm.call_menu(name=SimpleCustomMenu.bl_idname)


Yes, reach node_tree through lamp object bpy.data.lamps['lamp name'].node_tree.nodes.


Duplification preview with mirror modifier and subdivision surfaces

To avoid having a duplicate, you have to delete the side in which will be mirrored before using the mirror modifier. For example, if you want to have a mirrored cube, cut the cube into half first, delete one side of vertices before adding the mirror. That is one way you can avoid duplicates.

After you've got that settled, then add in the subdivision surface modifier as you wish.


Why does my 3D Object become transparent

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

You need to enable it on floor, not on object.

See also

How to use shadow catcher


How do i use the screw tool in blender 2.8

It seems to work the same as before, even though it is not as of yet listed in any menus, so you need to enter "screw" into the Search Menu to run it.

You can use open or closed geometry in it. The lose edge on the right side is a guide vector that the algorithm uses to guide the direction and length of the extrusion. The structures created by the guide are supposed to be deleted manually after the operation.

The 3D Cursors location is where the transforms pivot gets placed

You can override these settings from the Operator Panel (F6)

I do get the error you mentioned, when I set the axis values to 0, but the operation still does its job afterwards.


I've used this. Usually what I do is first import the model and once it's on the grid, don't touch it. You'll see a small plain axes in the middle, its basically a plus. Delete that and then go to the armature in the upper right hand corner and click the eye to view it.


How can a text object be created with non ASCII characters?

Fonts for creating Text objects are set in the Text Data panel.

Blender uses droidsans_final_fixed.ttf (font name: DejaVuSans) as the detault i18n font, but just for UI text display, located in blender folder ..//2.69\datafiles\fonts\. There also another font called bmonofont-i18n.ttf (font name: BlenderMonoI18n) In the same folder. You can use it as the font for the Text object if you didn't have any other unicode or asian fonts in hand. Ortherwise, you have to use other system or non-system fonts to create the solid text mesh.

As for the builtin Bfont.ttf, it uses standard encoding, and less than 200KB. I don't think it is possible to include the large number of non-ascii charset.


How do I drop SVG files onto an VSE timeline?

You need to use another application to convert it to a bitmap image of the resolution you want to use in the video and then use it in blender.

Blender doesn't know how to read svg files, there is an Import SVG addon which will read an svg file and create curve objects in the 3D view but blender doesn't know how to treat them as images.


How to fix render darken after texturing in blender cycles?

An expanded answer of @cegaton and @PCmath.

In cycles lighting can be one of the most important aspects of a render, it can make a dull image into a full vibrant master piece.

Here's a quick render with only three objects: A floor, Suzanne, and finally a camera. I added no lights to this scene.

Here's the exact same scene with a light, i used the light "Sun".

Without lights the scene can look dull. To add a light press the tab on your bottom left labeled "Add" click expand lights, and select your desired light. Experiment and find out what's best for your scene.


Usually this happens to me when there are overlapping faces, in my experience.
Try deleting Only Faces of surrounding topology and then re-creating the faces with the appropriate vertices


Giving planes thickness in real-time display

I only see your problem when you are in orthographic view and your plane overlaps with one axis line. You could go into Properties -> Object -> Display panel and enable Axis or Wire.


How can I remove the part of the object that is inside the (hollow)cylinder?

I'm not sure you've made a good topology but anyway if I've correctly understood what you want and if I wanted to do it quickly I would use the Knife tool


Why does 'Knife Project' only sometimes select the new faces?

It depends on whether the object you are using as the 'knife' is 'closed' or not. In your first image the circle is a closed loop of edges, so everything inside is selected. In your second image the two edges are not connected so the result of the knife project is not selected.

Closed edges:

Open edges:

If you want the result to be selected then make sure the object you are using as the 'knife' is a closed loop of edges.

I don't 100% understand why this is the case, it could be a technical limitation or done by design.


Select the object that has the image that you need to change from the viewport.

Go to the Editor Type and select Image Editor or press Shift + F10

Make sure the image is inside the square and go to Image > Resize

Hope that's what you are looking for.


Cycles: create water using smoke / volume

I looked at your solution another time @LukeD and it worked. I am sorry, I must have got it wrong the first time.

I think you can get acceptable results with this solution:

Now, the quality depends on the density of the smoke (and, of course, the smoke resolution)

Material for the smoke domain:

However, if you what to create a slow waterfall, like this:
https://www.youtube.com/watch?v=pTjtHFeZ1zM
with clear water, there must be another method.

I fiddled around with the fluid sim and noticed, that the volume of the inflow object is crucial. I increased it´s size, compared to the example above. There must be enough water flowing into the scene! Thus, fluid sim could do it as well:

Render time for fluids is way shorter than for smoke, if you have a good grafics card, btw, because smoke doesn´t support GPU computing yet.


Why is my textured material showing up as a solid color?

Do you have Cycles render engine enabled?
If so, try adding a texture coordinate into the vector input to tell blender how to wrap the texture to a given object.


Way to keep lighting from lamps without influence from environmental textures

Not that I know of, however you can add a sphere, add the texture to it using a Diffuse material, and then disable the Shadows option.

Add a UV Sphere to your scene (Shift+A), and scale as desired (S).

Now go into edit mode (Tab) and select all (A) and unwrap using sphere projection (U > Sphere Projection)

Now set up your material like this:

Now all you need to do is to disable the casting of shadows. Go to Object > Ray Visibility and disable the Shadow option and the Camera option.

If the reflections are not quite apparent enough you can try setting the material of the sphere to an Emission shader instead of Diffuse and tweaking the value.

Here are my results:

Diffuse

Glossy


Show crease value for selected edge. Python

So if anyone interested this is what I wanted to achieve

    import bpy, bmesh
    from bpy.types import PropertyGroup, Panel, Operator, Menu

    # Add-on info
    bl_info = {
        "name": "Crease and Bevel",
        "author": "TLousky, APEC, deadpin",
        "version": (0, 0, 1),
        "blender": (2, 83, 3),
        "location": "View3D > Properties > CaB",
        "description": "Shortcut UI panel for Mesh edge crease and bevel weight properties",
        "doc_url": "",
        "tracker_url": "",
        "category": "3D View"
    }

    ###########################################################################################
    ################################### Functions #############################################
    ###########################################################################################

    #https://blender.stackexchange.com/questions/44787/python-code-for-edge-data-bevel-and-crease-weight/187853#187853
    class creaseAndBevelPG(PropertyGroup):
        ## Update functions
        def update_bevelWeight( self, context ):
            ''' Update function for bevelWeight property '''

            o  = bpy.context.object
            d  = o.data
            bm = bmesh.from_edit_mesh( d )

            #bevelWeightLayer = bm.edges.layers.bevel_weight['BevelWeight']
            bevelWeightLayer = bm.edges.layers.bevel_weight.verify()

            if self.whoToInfluence == 'Selected Elements':
                selectedVerts = [ v for v in bm.edges if v.select ]
                for v in selectedVerts: v[ bevelWeightLayer ] = self.bevelWeight
            else:
                for v in bm.edges: v[ bevelWeightLayer ] = self.bevelWeight

            bmesh.update_edit_mesh( d )

        def update_edgeCrease( self, context ):
            ''' Update function for edgeCrease property '''

            o  = bpy.context.object
            d  = o.data
            bm = bmesh.from_edit_mesh( d )

            #creaseLayer = bm.edges.layers.crease['SubSurfCrease']
            creaseLayer = bm.edges.layers.crease.verify()

            if self.whoToInfluence == 'Selected Elements':
                selectedEdges = [ e for e in bm.edges if e.select ]
                for e in selectedEdges: e[ creaseLayer ] = self.edgeCrease
            else:
                for e in bm.edges: e[ creaseLayer ] = self.edgeCrease

            bmesh.update_edit_mesh( d )

    #        selectedEdges = [ e for e in bm.edges if e.select ]
    #        for e in selectedEdges: print(e[ creaseLayer ])

        ## Properties
        items = [
            ('All', 'All', ''),
            ('Selected Elements', 'Selected Elements', '')
        ]

        whoToInfluence = bpy.props.EnumProperty( # Material distribution method
            description = "Influence all / selection",
            name        = "whoToInfluence",
            items       = items,
            default     = 'Selected Elements'
        )

        bevelWeight = bpy.props.FloatProperty(
            description = "Bevel Weight",
            name        = "Set bevel Weight",
            min         = 0.0,
            max         = 1.0,
            step        = 0.01,
            default     = 0,
            update      = update_bevelWeight
        )

        edgeCrease = bpy.props.FloatProperty(
            description = "Edge Crease",
            name        = "Set edge Crease",
            min         = 0.0,
            max         = 1.0,
            step        = 0.01,
            default     = 0,
            update      = update_edgeCrease
        )

    def get_crease_selected():
        o  = bpy.context.object
        d  = o.data
        bm = bmesh.from_edit_mesh( d )

        creaseLayer = bm.edges.layers.crease.verify()

        selectedEdges = ""
        for e in bm.edges:
            if e.select:
                selectedEdges += (str(round(e[ creaseLayer ], 2)) + ' ')
        return selectedEdges

    def get_bevelWeight_selected():
        o  = bpy.context.object
        d  = o.data
        bm = bmesh.from_edit_mesh( d )

        bevelWeightLayer = bm.edges.layers.bevel_weight.verify()

        selectedVerts = ""
        for v in bm.edges:
            if v.select:
                selectedVerts += (str(round(v[ bevelWeightLayer ], 2)) + ' ')
        return selectedVerts
    ###########################################################################################
    ###################################### UI #################################################
    ###########################################################################################

    class creaseAndBevelPanel(Panel):
        bl_label = "Crease and Bevel"
        bl_space_type = 'VIEW_3D'
        bl_region_type = 'UI'
        bl_category = 'CaB'

    #    @classmethod
    #    def poll( self, context ):
    #        ''' Only show panel if there is an active mesh object '''
    #        return context.object and context.object.type == 'MESH'

        def draw( self, context ):
                layout = self.layout
                props  = context.scene.creaseAndBevelPG # Create reference to property group

                #box = layout.box()                    # Draw a box
                #col = box.column( align = True )      # Create a column
    #            col = layout.column( align = True )
    #            if (context.active_object is not None) and (context.active_object.mode == 'OBJECT'):
    #                col.enabled = False
    #            col.operator("select.edge_crease_value", icon = 'SORTBYEXT')
    #            col.prop( props, "whoToInfluence"  )  # Add properites to panel
                col = layout.column( align = True )
                if context.active_object.mode == 'EDIT':
                    #col.label(text='Weight value: ' + "%.2f"% round(get_bevelWeight_selected(), 2))
                    col.label(text='Weight value: ' + get_bevelWeight_selected())
                    col.label(text='Crese value: ' + get_crease_selected())
                if (context.active_object is not None) and (context.active_object.mode == 'OBJECT'):
                    col.enabled = False
                col.prop( props, "bevelWeight"     )
                col.prop( props, "edgeCrease"      )

    ###########################################################################################
    ##################################### Register ############################################
    ###########################################################################################

    classes = (
                creaseAndBevelPG,
                creaseAndBevelPanel,
    )

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

        bpy.types.Scene.creaseAndBevelPG = bpy.props.PointerProperty( type = creaseAndBevelPG )

    def unregister():
        from bpy.utils import unregister_class
        for cls in reversed(classes):
            unregister_class(cls)

    if __name__ == "__main__":
        register()


Moving around the object wiith Alt key + Left Mouse Button

Keep this settings and do not forget to save user settings and close


Is there a why to draw a straight rule line outside of object

You can use grid for precise measurements

Switch to orthographic view (View > Orthographic)
Use top/side view (View > Viewpoint)
enable Absolute Snap to Increment

When zooming, the grid will go from meters > centimeters> milimeters.


I found a way to make it flat.

There is a second fill option (not fill holes) with ALT + F or under Mesh -> Faces -> Fill (with tries)

With this it worked.

EDIT:
There is a third fill option (GridFill) with Ctrl + F (with quads)

Thanks to Mr Zak in the comments.


Why is the shadow colored and not black?

Select the object and deselect the "diffuse" setting under Visibility

here with diffusion on:


Correctly applying new materials to the object

It's a little difficult to test since you didn't provide a .blend, but this should give you a solution.

First of all, remove this line from your script:

# mat.use_shadeless = True

Shadeless is what is making it look flat.

Second, the texture. You had it right in your first post: you want it to be UV mapped.

# this is correct:
mtex.texture_coords = 'UV'

But in order for it to show up properly, you need to UV unwrap your model. You can find an abundance of tutorials for it online, and if you already know how to do it you can disregard the rest of this answer.

Imagine this is your chair back:

Go into edit mode with Tab, and select where the seams of the texture will go. This will make sense in a second. Here's approximately what I'd recommend, for a chair.

Notice that if you took scissors and cut along these lines, you would be left with a bunch of more or less flat pieces. This is exactly what you want. Now press CTRL + E and click Mark Seam.

If you deselect all (A) then you'll see red marks where you "cut" your mesh.

Press A to select all agaain, and press U and click Unwrap. In the bottom left corner of the 3D view, change it to a UV/Image editor.

Press ALT + O, and browse to the texture you want, and then using R G and S, position the unwrapped model the way you want it. You may want to line the grain up with the vertical axis for example.

And you will be left with a gorgeous chair back.

If you look around at the backside, you can see the seams too.


Mesh is Grey after adding an Image/Texture to a material

I can see you're using Blender Internal. Use Viewport shading  and select Material to see your image or texture in the viewport. And to achieve what you want, create new image in the UV editor, open the texture in it and unwrap the mesh. Scale down the UVs if necessary to have them inside the image area.


How to create a .blend in specific directory and write objects on it?

Writing data into .blend files which are not existing yet works just fine. What you need to pay attention to is to make sure that the directory where the file is supposed to be stored in exists.

So in your given example, check if the folder C:\Users\Jea\Desktop\snippets\armature_snippets\ exists using the os.path module, and if not, create it:

if not os.path.exists(directory):
    os.makedirs(directory)

I'm on a Linux machine here, so I cannot check if the Python implementation of these methods on Windows is case sensitive or not. On Linux it is, so '/somePath' is considered something else than '/somepath'. Maybe you came across that?


I use 2.69. I resolved my problem of the Mesh Analysis not functioning when I deleted or, less drastic, switched off the Mirror Modifier. ie, clicked the Eye icon to off.


Object is not visible against the background of another object

Most likely this is due to outlines settings or around that:


Blender 2.78 with Windows 10 lags when interacting with the UI

I found the solution, right click on the blender shortcut>Run with Graphics Processor>Integrated Graphics. It should run smooth when you do that. No need to roll back any graphics drivers, just use your integrated graphics to model and you can still set your 960m to render in the settings.

In case you are not able to see the option, Open NVIDIA Control Panel, from the Desktop menu and check 'Add "Run with graphics processor" to Context Menu'


Without using an Empty, how is it possible to have an object bend on the Y (or X) world axis using the Simple Deform modifier?

I figured it out. In Object Mode, rotate the plank on its side by -90 degrees in the X axis, freeze rotation and then rotate it 90 degrees in the X axis again.


While in the edit mode, select the bones and press "W" on your keyboard, you will get options


Creating normal map from foam like geometry

I think you need Bump Map (Heightmap) ...

Unwrap from top view
Create this material with disconnected, but selected Texture node (and newly created image texture)
Bake Emit pass

Save as OpenEXR or some 32bit format.

Use the baked texture for Plane object material as Displacement ...

... wait a minute ... you said for Unity ... do you want to bake pyramid shape or foam structure for pyramid?
The thing is I used it as a Heightmap that is possible in Unity, but require dense geometry ussually optimised by tesselation - nice quick explanation - Displacement in Unity.
On other hand using Bump or Normal map affects only shading - light behaviour on a surface, that will never gives you believable result for such object.

Source

Again I didn't notice the date ... that is terrible system ...


What is the best approach to modeling a non-human character with an obscure/disproportionate anatomy?

I suggest using sculpting with dynamic topology. It is perfect for extruding tentacles, ears and horns.

Also available are extrusion in edit mode. Select a quad and hit e. Drag out a bit, move and rotate and continue extruding to form your limb. Apply subdivision to get a smooth surface (2 or 3 steps maybe).

With subdivision modifier:


To make your active camera match up with the viewport, use Ctrl + Alt + 0 (Numpad 0, the other zero won't work).
Also, you can track the camera to an empty with the Track To constraint. This will force your camera to point to the empty, which you can place in the center of your medium complexity face mesh.

To set up the Track To constraint:

Select your empty first, then camera.

Ctrl + Shift + C key, and choose Track To from the menu.

Then, go to the Properties panel > Object Constraints tab. The Target: should say Empty. Change the To: axis to -Z and the Up: axis to Y.

Now your camera will always point to the empty, making things easier for you to position.


There are a couple ways around this:

Split your .blend files: This is probably the best thing to do anyway, since you seem to be using Unity's automagic importer.  This will allow Unity to conceptually separate your meshes into their own discreet thing, and if you change them, the changes will propagate correctly.
Split through prefab:  You can take the multi-tree model, delete all the meshes down to one tree, and save those changes as a separate prefab.  This has issues though, mostly because if the file change noticeably, you will need to redo the prefab.

Scale is mostly arbitrary, but you can change Unity's import scale by clicking the model in the assets browser, then going to the inspector and playing with the Scale Factor (top line).


You must have set the object as the "active camera".

In Blender even a mesh can be a camera.

There is a bunch of ways to change it but the shortcut is to select the new

camera and Ctrl+ Numpad 0

How can I make a camera the active one?


tl;dr: Always use GGX, set your roughness map to Non-color Data and square it with a math node before plugging it into the Glossy BSDF.

Different microfacet distributions will have differently shaped specular highlights. Beckmann and Ashikhmin-Shirley are both similar to a Blinn-Phong specular highlight that you might find in a game engine or Blender Internal, although they're normalized so that tighter highlights are brighter and duller highlights are less bright.

If you are just rendering for yourself I'd recommend sticking with GGX unless you've got a really, really good reason not to. The longer tail on the highlight makes the microfacet distribution more believable. Generally people remap the roughness map to make it more perceptually linear, so that if something is 30% glossy (for example) a specular highlight will have a radius of 30% of the radius of the hemisphere. Renderman, Unreal Engine 4, and Substance Designer and Painter all square the roughness for GGX, while Cryengine uses the formula roughness=(1-smoothness*0.7)^6 (Schulz 2014) because Cryengine loves to be weird and do things differently. Finally, Marmoset Toolbag 2 and Unity both use a normalized Blinn-Phong BRDF which is most accurately reproduced in Cycles by plugging the roughness through an RGB curves node and plugging that into a Glossy BSDF set to Ashikhmin-Shirley. Here's a chart with all of the different microfacet models and remappings. Note that all of these assume you read your roughness map either from an alpha channel or from a texture that's marked as Non-Color Data! Otherwise, the remapping is going to be different from what you probably intended.

From left to right, the roughness or glossiness parameter is increasing from 0 to 1 in increments of 0.1. From top to bottom, they are vanilla Beckmann, vanilla Ashikhmin-Shirley, vanilla GGX, GGX with roughness squared (like UE4 and Renderman), GGX with the roughness squared and inverted for easier comparison to Cryengine's remapping, the Cryengine GGX remapping itself, and the Unity/Toolbag remapping of Ashikhmin-Shirley. Here they all are again with more reflection bounces and an environment:

Beckmann acts particularly oddly at higher roughnesses (>.6) so if you're going to use it I would stay away from making your materials rougher than that. Ashikhmin-Shirley looks better, but GGX looks the best in my opinion. As far as remappings go I think Crytek's is the most linear-looking but I prefer to use the UE4 mapping as Substance Painter and 3D-Coat both support it and it blends well enough between material layers with different roughnesses.

The RGB curves node that remaps Unity/Toolbag 2 smoothness to Ashikhmin roughness looks like this if you're interested. I just eyeballed it but it's pretty close:

The points are as follows: (0,0), (.13182, .05625), (.45455, .18750), (.81364, .36785), (1, .61250). This inverts the roughness map (just like Toolbag and Unity) and compresses it to a region where most of the plausible surfaces are, as well as making the highlight's size roughly linear as smoothness varies, making texture authoring more predictable.

Here's the node setup for the Crytek roughness remapping that converts smoothness to GGX roughness.

The UE4/Renderman/everything else roughness remapping is easy to set up:

Note that in all of these cases a 100% rough glossy BSDF still doesn't look the same as a Diffuse BSDF. Because the BRDFs that Cycles implement always reflect the light depending on the half angle, rough glossy BSDFs will look really rough but will still look like rough metal instead of a rough dielectric.


Is there a way to display only a certain view in the viewport?

SOLVED: Go to the desired position in the 3D viewport, press Alt+B, and box select around the desired area. This will make everything outside of that ray hidden:

Press Alt+B again to return to the normal 3D viewport display

Note: This can not be animated, and does not render.


how can i set particles static until collision affects to them?

Just set the friction to max, bouncing to lowest and the damping also to (i think) max - just try out. Just keyframe that values until your monkey touches, than you can change them on that keyframe. The touch of your monkey you can either manually set via keyframe, or e.g. by an invisible plane you insert there and then you know also, when it starts touching.


How to convert image textures to different formats?

In the UV/image Editor select the texture or image you want to convert and press F3 (or Image->Save As),

Then select which format you want to save as.

(If you don't see these options on the left side of the screen press T.)

NOTE: Gif files are not supported in blender..

see http://wiki.blender.org/index.php/Doc:2.6/Manual/Data_System/Files/Formats


Press the plus icon next to ["armature"]to open up the hierarchy.  Like files and folders
There you will see your mesh which can then be selected.


exporting blender ABC to 3DsMAX with working Material ID

there is several steps to achieve that:

Export the material with OBJ format from Blender (this one using Blender version 2.92)

Warning: if there is an error "error in file: meshName = shapeName" when importing OBJ in 3dsmax, when export OBJ choose "Limit to selection only", if the mesh contain more than 1 object make duplicate then combine all these into 1 object, the aim here is to populate all material into 1 multimaterial

Import that OBJ in 3dsmax to get the material
turn on checkbox 'Import Materials'

now you will get all material ID in 3dsmax

Export alembic (ABC) file from blender
turn on checkbox 'Face Sets' when exporting

Import alembic (ABC) in 3dsmax

Apply that multi material to ABC in 3dsmax

Setup these materials based on your render engine in max


Dissimilar movement between parent and child in BGE

Your problem description indicates you have a non-uniform scale on one or more parents. According to your file the problem is the "Player" object.

Solution:

Ensure the scale is set to (1.0, 1.0, 1.0).
You can do this by pressing ⎈ CtrlA > Scale.


Please follow installation guide.
You receive error message because you are trying to install add-on repository instead of release. Make sure you download add-on release using link provided in step one of installation guide.


How can I add more than one custom property to an object?

Actually, when clicking on ADD, a new line appears with the property default name prop, which you can change for the required value.


Single face displacement will only get you so far.
Just to illustrate.

Single face displacement

The image texture is used to "extrude" the original face.
Notice the incomplete rims, rough appearance, and high required geometry.
Faces: 1 000 000

Multiple Faces

Three faces on top of each other.
Displacement is used on the middle face only, to creating the wavy pattern.
Top and bottom faces have solidify modifier to add thickness.
Faces: 1000


The the Make Links operator to link objects between scenes.
Select a bunch of objects, press Ctrl + L Make Links > To Scene then pick a scene from the list.
Beware that without further action these linked objects remain linked and are in fact one and the same, that means any transformations made in one scene will propagate to others both in Object Mode and in Edit Mode.
To make them independent select them and press U Make Single User then choose an option. Object will make them move independently but still share Object Data or geometry. Object & Data will make them unique and completely independent.

For 2.8 series this can be found under the 3D View header menu, either under Object > Relations > Make Single User, or Object > Make Links.


Simple rotation animation using command-line python script

In these two lines, you are rotating on the z-axis and then keying the x-axis, which means you aren't doing any animation.

mycube.rotation_euler = (0,0,180) # (x, y, z)
mycube.keyframe_insert('rotation_euler', index=0 ,frame=100) # index=0 is x-axis

Changing the axis you keyframe will most likely not provide the expected result. While by default blender's UI uses degrees for rotation, when setting rotations in python you need to specify in radians, which means it will be rotating over 10,000 degrees in 100 frames.

Also note that to properly change the current frame you should use frame_set(), but you don't have to change frames in your script as the keyframe_insert() specifies what frame the value is set for.

import bpy
import math

scene = bpy.data.scenes["Scene"]
mycube = bpy.data.objects['Cube']
mycube.rotation_mode = 'XYZ'

scene.frame_start = 1
scene.frame_end = 100

mycube.rotation_euler = (0, 0, 0)
mycube.keyframe_insert('rotation_euler', index=2 ,frame=1)

mycube.rotation_euler = (0, 0, math.radians(180))
mycube.keyframe_insert('rotation_euler', index=2 ,frame=100)

scene.render.use_stamp = 1
scene.render.stamp_background = (0,0,0,1)

scene.render.filepath = "render/anim"
scene.render.image_settings.file_format = "AVI_JPEG"
bpy.ops.render.render(animation=True)


Displacement Map (Micropolygon Displacement) displaced weirdly

You have forgot Material Settings Displacement set True

Also you able to manipulate displacement by Math nodes.


Blender 2.8: any alternative for changing between modes other than the (uncomfortable) pie menu?

You can simply change the keymap in User Preferences. Or - the fast way - in the top left corner, where you have the dropdown for the modes: Click once to show all the modes, then right click on Weight Paint -> Assign Shortcut.

You can do that with almost everything in Blender 2.8.
Another Option is (in the same Context Menu) "Add to Quick Favorites". Then it will appear under the Menu that you get when pressing "Q".

Hope that helps!


It seems square samples is enabled. So everything is calculated ith 4096 sampels. In a quick testes 256 seemed enough.


Object appears smoothed after rendering but not in viewport

you have a subdivision surface modifier (or multiresolution) set to render only, not visible in viewport but active when rendering.

Click the eye to see it, click the X to remove it.

As suggested by Chebhou, the subsurf modifier can also be different in viewport/render because of the subdivision levels number set for each.


Blender model won't produce valid stl for printing

2 problems I can see straight away with your model.
First off, the part "base enclosure" has backwards normals. This plays havoc with booleans when they get applied during export and with slicing programs. Pretty sure some of your boolean parts have bad normals also because when you apply all the booleans there are still many bad contiguous edges found by 3D Printing Toolbox. Selecting all in edit mode and SHIFT-N fixes that. Also, select all vertices and merge by distance has over 400 verts that are duplicates, also bad for 3D printing.
Second, your scene is set up to export 1000 times smaller than what you draw at. It's a common mistake when setting up for 3D printing. You need to change your Unit Scale to 0.001, then scale up your model by 1000.

After fixing these issues I could slice it with no problems in PruserSlicer.


What is the replacement for scene.update()?

Many instructions point to:

bpy.context.view_layer.update()

That's also what's mentioned in API documentation


Setting the "Volume Initialization" type to "Volume" on the inflow icosphere seems to do the trick. But this seems to have the opposite behavior, where if I don't animate it, using shell/both is what works but not volume. I think I just have much to learn.


Navigate through an animation with a single key

This can be done relatively easily with a logic setup similar to this:

Here the only game property we will need is an Integer property. It is named Animation, but you could name it anything you want.
The Actuator sensors are triggered when a certain action is being executed, by inverting the output, it will only activate when the action has finished extincting. This means that, after you press ➔ and Animation is equal to 1, frames 0-60 of your animation will play. When the animation has played up to frame 60, the first actuator sensor will trigger, increasing Animation by one, so the next time you press ➔, the next animation will play. The same thing will happen for frames 61-120, and frames 121-180, Except that, on frame 180, Animation is assigned increased from 3 to 4, and the set to 1 again so the animation can loop again. You could have as many Play actuators as you want before you loop the animation, but it was easiest to do three for this example.
(we need to test it)

It Works - YaY!!
of course, if you don't feel like re making that yourself, you can always take apart/play with/modify the blend file. :-)


Try Shift + C  shortcut. That should reset the 3D cursor to the center and your view-port.


For anyone else having this issue, I resolved it by removing some keyframes from the offending actions that were related to bones that no longer existed.

FBX exporter ignores actions if there are any errors in them, and I guess having those extra keyframes for non existent bones was messing it up.

If you have missing actions, check that all of your keyframes are related to existing bones.


Attribute problem with defining Camera for context object

The properties panel has some of its own context members that only work in the property panel space. The "context" attribute of the space is shown in the icons across the top which change for what type of object is active, eg a camera icon for the data part of a camera object, in which case context.camera resolves to the data part of the active object, similarly for context.lamp and context.speaker for those types of object.

This is something to look out for when refactoring code from space_properties to, for instance, the 3D toolshelf. Anyhoo a good workaround here is

cam = context.scene.camera.data

the "active camera", ie the one that renders the scene, or for the context object

cam = context.active_object.data

and in the poll method make sure 'context.scene` and or context.scene.camera are not None, and if using the latter that context.active_object is not None and  context.active_object.type is 'CAMERA'

example poll

    @classmethod
    def poll(cls, context):
        if context.active_object is None:
            return False
        return context.active_object.type == 'CAMERA'


How to make the object I'm exporting as fbx to be in the middle of the scene when I import it?

Its not uncommon to do an export script that center the model apples transformation tringulates etc and then export each model according to a naming convention to a specific directory for the current project.

If you are doing these type of tasks often it might be worth the effort.


Why is the object move arrows no longer fixated to it?

As per @FFeller solution in the comments I assigned the 3D cursor as the pivot point.
Docs


Can Animation Nodes extract data from dupli-instances?

I don't think the API provides such access. However, it is very easy to generate this information yourself based on the data already given by blender. For instance, vertex dupli-instances data can be generated as follows:

Similarly, we can do that for polygons, edges, particles, and frames.


Hide backface with xray and object wire mode?

I found out that I missed the latest release and that this feature was in it.

For future reference, here is how to do it:

Turn on X-Ray, located under under Display in the Object panel.
In the 3D view > properties-panel (N), under Shading, check hidden wire.


Display text on screen - relative to launched command?

In the past there was a screen cast add on.
Here is some history.

http://www.blendernation.com/2014/07/02/screencast-keys-addon-is-removed-b3d/

The info window type shows user operations.  The default vertical size of the window was increased to see the contents.

Python Script Software writers find this useful.


BGE: How can I make a hostile animal artificial intelligence?

You need to use states. Basically this will be :

Near property Player > And > State set state 2

It will look like this.

Now on state two, you need an Always sensor rigged up to a Steering acctuator with the player being the target object.

To avoid being stuck in state 2 forever, make something to switch back when the player isn't nearby anymore.


Method 1 - Dupliverts

You should use a mesh such as a cube or a simple Icosphere for your particle, this will allow you to properly shade the particles like any other mesh

Select the particle mesh, in my case an Icosphere
Select the ocean
parent the particle to the ocean, Ctrl P
Select the ocean
In mesh panel, set duplication type to verts

http://www.pasteall.org/pic/show.php?id=67612

Method 2 - Particle System

Make sure your particle system is one the bottom of the modifier stack.

In the particle system enable Use Modifier Stack

If you want to use another mesh as the particles you need to select the particle system and under the render tab, Select Object as your render type. Then you can choose you object.


If you wanted to go to the trouble of setting up a SSH into the Windows computers, you could control them over the network from your Mac. The problem is that it takes a lot of work to set up a Unix-Windows SSH. You can find resources for doing that here. If you are comfortable with the working in the Unix shell and do get that set up, then you can put together a "pseudo" network render that doesn't need the Blender Network Render. I use a similar method to render on Linux servers since they don't have a GUI.

Install Dropbox on the Windows computers. Make sure that you know where the Dropbox folder is.
In the .blend file you want to render, under the Output panel in the Render settings, uncheck "Overwrite" and check "Placeholders".
Upload the .blend file to Dropbox, so that it automatically is copied to both of the Windows computers.
Run Blender on each of the Windows computers from the SSH shell. You can use the command <path to blender> -b <path to file> -o <path to Dropbox> to run Blender in the background and render whatever file you specify. Both of the Windows computers will render whatever frames you specified in the .blend file to the Dropbox folder.

The advantages of this method are:

You don't have to use the network renderer (no "Slave" and "Master" configuration to worry about)
It is really easy to add in another computer: just install Dropbox, SSH in, and run the command.
You can see exactly where each of the working computers are from the terminal on your Mac.

Disadvantages:

It requires a basic knowledge of the Unix shell (command line)
Could possibly be an extra bit of a pain since the Windows computers would have to have extra programs installed to be able to communicate in that way with the Mac.
Every time you cancel mid-render, each computer will leave a blank image file (the one it was in the middle of rendering). This isn't a big deal as long as you remember to delete it, so that the computers will pick up where they left off.

Basically, there isn't a simple way to do what you want. In spite of that, it is possible. Hope that this helps!


In your modifier you can simply un-tick constant offset and relative offset, use object offset instead, and target an empty at your axis point and rotate the empty to set your increments. You will need to offset you blade from its origin in edit mode to create space for the motor but sure both objects share same origin location.

Another method I prefer is to use duplication.

Create a circle primitive the size of the motor, give it 7 vertices, under the duplication tab in its object properties select verts and tick rotation, parent your blade to the new object and make sure it has the same origin, align it to Y axis. Hit ctrl+shift+A to 'make duplicates real' and you can delete your original blade.


No solution to "Bone Heat Weighting: failed to find solution for one or more bones" blender 2.8

To be more specific, I have already tried a "remove double/merge by distance" on the mesh, and a scale
Found the solution: I fixed the nose vertices which was dirty and the parenting worked. Thank you for reading :)


It does appear that a suspended scene does not respond to any events, which sounds right when you think about it.

A solution is to use a second scene to control the play. When starting game play connect a scene actuator that sets a second scene as a scene overlay. This second scene only needs one object, which can be an empty, and contains the pause/resume pieces as you have shown, just with the pause/resume scene set to the first scene not the second that has the pause controls.

If you have setup a scene as an overlay to display scores etc then you can just use one of these objects.


How to apply a force via python to a rigid body wheel

I just got it working myself.

The solution is the motor constraint. Using the motor constraint alone, the vehicle will fall apart. Thus you have to add another constraint between each vehicle and the body - a hinge constraint to only allow rotation.

Thus the complete setup looks like this

Create the vehicle (body and 4 wheels as seperate objects)
Create a Hinge Constraint between each wheel and the body (I used an empty for it - take care of the right rotation)
Create a Motor Constraint between each wheel and the body (Angular movement - I used an empty for it - take care of the right rotation))

Now you can check out the context menu of the angular velocity. There you can find the option "Copy Data Path". This will copy the relative property path of the object to use it withing your scripts

Then you can use it for example like this

constraints = [bpy.data.objects['fl'], bpy.data.objects['bl'],
    bpy.data.objects['br'], bpy.data.objects['fr']]

for c in constraints:
    c.rigid_body_constraint.motor_ang_target_velocity=5
    c.rigid_body_constraint.motor_ang_max_impulse=100


How can i disconnect part of mesh, reconnect it to another part and make it a part of different UV island?

This is old question but I'd figure I'll post possible answer anyways because someone else might google this.

I'd just pin (select these verts and press p) the vertices in uv editor that need to stay put. Leave all seams unpinned. Then just press u and do basic uvunwrap the whole mesh. Only those vertices that you wanted to move should move. If you get weird result then you probably have a missing seam, wrong vertice pinned, hidden geometry in edit mode or something else. After the uvunwrap press alt-p in uv editor to get rid of the pin tool.


start with a shape like this and unwrap it.

then add an array modifier and a curve modifier to control the array.

Blend file here


API: is it possible to save a variable's value for pose space deformations?

Thanks to Leander's comment about custom properties to help me get on the right track.

There is the custom properties subsection in the object tab (found in the properties window). Most of us may be familiar with it, as it is fundamental to doing things such as controlling multiple shape keys or other effects. At the time I knew about these, but not as much as I thought. I didn't want to use these at first because I didn't want the rig's custom properties section to get filled up with a bunch of junk, since I feel that areas should be reserved for users. But since Leander suggested such a thing could be done with code, I looked into the topic further, now searching "properties" as my keyword, to see if I could manage to do this in a discrete way.

https://docs.blender.org/api/2.79/bpy.props.html
- "Custom properties can be added to any subclass of an ID, Bone and PoseBone."

At the mention of custom properties being used for bones as well, I looked and found that indeed, there is a hidden custom properties subsection for each individual bone. This is great because: 1 I can't think of any user who would need to go into this section, to manage custom properties per bone, so this stuff should, for the most part, stay out of users' way; 2 it helps perfectly organize where my data should be found, making the coding a bit easier.


cycles adding texture to face via python / import script

For materials, this is simple: each polygon (face) as a "material_index" property which corresponds to the object's "material_slots" property.

For the UVs, that can be more complex. Here is how Blender stores all that:

UV layers are in "obj.data.uv_layers".

But to create uv layers, you need to go to "uv_textures" and add one via "obj.data.uv_textures.new( 'name' )".

You can now access to "obj.data.uv_layers['name']" and to "obj.data.uv_layers['name'].data". This last data is an array that contains information for each vertex in the mean of uv layer vertex (not 3D vertex, because a 3D vertex can be represented many times in the UV map).

What is unifying all these is the concept of 'loop'. 'loop' is a per face information.

You have a 'main loop' which is into "obj.data.loops" and contains the 3D per face information for each vertex. Say we take "loop_info = obj.data.loops[0]", it contains "loop_info.vertex_index" (the index to find the 3D vertex in "obj.data.vertices"), and other information like vertex "normal".

Now an uv layers is also a per face information (a loop). "obj.data.uv_layers['name'].data" is a loop (organized with the same index order as the main loop).

If we take "uv_info = obj.data.uv_layers['name'].data[0]", "uv_info.uv" is the 2D coordinate in this UV map.

Last thing you need to know (I think), the correspondence between a polygon and the loops: this is stored in the polygon itself. If you get "polygon = obj.data.polygons[0]", then you can get the loop projection of its vertices in "polygon.loop_indices".

For instance, "obj.data.uv_layers['name'].data[polygon.loop_indices[0]]" is valid.

I think the other aspects are relative to your file format.

Concerning images. You can start with "img = bpy.data.images.new(name, width, height)". Color information is in "img.pixels" organized from bottom left to upper right (UV like). "img.pixels" is a 4*width*height float array containing R,G,B,A values (black is 0, white is 1).

Following the comments... I cannot imagine what your file format is.

So I can only, give some advices and a little help...

Warning this code is untested (as I have no data), so surely, there will be some bugs here. But I hope that will help for the principles of how it works:

Materials part: just for the comment at the end

modelName = "xxxx"
mesh = bpy.data.meshes.new( modelName )
obj = bpy.data.objects.new( modelName, mesh )

for textures in range(0, MtlCount):
    StrLen = struct.unpack('i',fdata.read(4))[0]

    mtlname = fdata.read(StrLen).decode()

    MyTextureNames.append( mtlname )

    new_mat = bpy.data.materials.new( mtlname )
    new_mat.use_nodes = True

    #I do prefer using .data instead of .ops because ops often need a context and/or a mode
    obj.data.materials.append( new_mat )

Creating the mesh, with some guess about unpack (as I've never used it).
But that should work and be faster than a for loop.

def ToTuples( aList, tupleSize ):
    return [tuple(aList[x:x+tupleSize]) for x in range(0, len(aList), tupleSize)]

#Shorter... probably much faster than loops
myVertices = ToTuples( struct.unpack( 'f', fdata.read( 4 * 3 * VertexCount ) ), 3 )
myFaces = ToTuples( struct.unpack( 'i', fdata.read( 4 * 3 * FaceCount ) ), 3 )

mesh.from_pydata( myVertices, [], myfaces )
mesh.update()

Face material attribution: 2 examples

#If face/material is describe as face index to material index in your file
for fIndex, mIndex in ToTuples( struct.unpack( 'i', fdata.read( 4 * 2 * FaceCount ) ), 2 ):
    mesh.polygons[fIndex].materialIndex = mIndex

#If face/material is describe just as a sequence of material index in the same order as the faces
for fIndex, mIndex in enumerate( struct.unpack( 'i', fdata.read( 4 * FaceCount ) ) ):
    mesh.polygons[fIndex].materialIndex = mIndex

UV map:

#Assuming you have one UV map and all polygons are tris
#=> you have 3 * FaceCount uv definitions in Blender, so this is the size of the 'loop(s)'
#But I do not know how your file is...
#So, I guess it is defined as the following, assuming the vertex order of the face is the same as above:
# faceIndex, vertex1co, vertex2co, vertex3co
# All these is 7 * 4 bytes * FaceCount

uvTex = mesh.uv_textures.new()
uvMap = mesh.uv_layers[uvTex.name]

for fi, v1x, v1y, v2x, v2y, v3x, v3y in ToTuples( struct.unpack( 'i f f f f f f', fdata.read( 7 * 4 * FaceCount ) ), 7 ):
    #Find the polygon
    polygon = mesh.polygons[fi]
    #In the uv map, get the corresponding vertex using the polygon loop index (for first, second and third) and set its uv coordinates
    uvMap.data[polygon.loop_indices[0]].uv = (v1x, v1y)
    uvMap.data[polygon.loop_indices[1]].uv = (v2x, v2y)
    uvMap.data[polygon.loop_indices[2]].uv = (v3x, v3y)

I don't think this is the place to do more... and doing more needs to know the specifications of your file format...

Hope it helps!


Fill along the front of a path of an SVG

Don't needlessly convert your bezier to a mesh unless strictly necessary, it is a destructive process and will ruin your model and the benefits of using curve objects.

For an animated outline and fill effect you will need to independent copies of your original SVG imported curve object.

Animated Outline

For the animated outline make sure a new copy of your original curve is set to 2D, non-cyclic (i.e. open) and has no fill. Then add a Bevel Width to it as desired then animate the Bevel Factor Start or Bevel Factor End property by keyframing it.

Animated Fill

For the fill animation a new independent copy of the original curve is needed. Extrude it and bevel it as desired, by using the builtin Curve Extrude and Bevel properties.

Afterwards add a Build Modifier to it, and adjust the animation parameters as desired. You can see the result by scrubbing the time line.

To animate fill followed by extrusion afterwards, keyframe the "fill process" of the Build modifier so it starts and ends first, then animate the Extrude parameter of the curve by keyframing it, so it only starts after the build concludes


Blender image output is greyish and not white

Why is this happening?

The image's colorspace, and the color space that blender is using to display them are not the same.

Images displayed in a different color space will always look wrong

The values for what you call "white" are different depending on the color transform you use in the color management section.

If you are dealing with video files only, using sRGB values, and not rendering anything that uses a wide dynamic range, then you don't need "filmic", which is the "default" option on blender.

Set the View transfrorm from Filmic to sRGB (or "standard") in the color management section. To understand the difference read the following links:

White background with filmic blender

and

Render with a wider dynamic range in cycles to produce photorealistic looking images


Black line appears when rendering in cycles

Your hair mesh is going inside the face and due to that line is showing while render.

you may edit the hair mesh and pull outside few vertices to remove this line.
So while you are in edit mode Edges should look like this:

Updated:
Problem area is seems to be here:

These 2 vertices are going under the face mesh.

I cant reproduce the black line though, but here is how it might be issue and fix

Problem:

Grab these vertices :

Move vertices out of the face like this:


How can I find all the vertices/faces inside a 3D sphere in script

Thanks for clarify

Computing the distance requires a square root. However, both sides of the inequality can be squared so you lose the square root and end up with basically this:
r = radius of sphere
distance = (x - x0)² + (y - y0)² + (z - z0)²

where x, y, z are the coordinates of one vertex IN the sphere
and x0,y0,z0 are the coordinates of the vertex that you are looking for.

distance = radius  -> vertex in the edge of sphere
distance < radius  -> vertex inside sphere
distance > radius  -> vertex outside sphere

please use this code as example

import bpy
import bmesh
import random
from math import sqrt

def create_uv_sphere(name, u, v, d):

    #https://github.com/zeffii/BlenderPythonRecipes/wiki/bmesh_ops_primitives
    # bmesh.ops.create_uvsphere also accepts a matrix keyword argument,
    # which i've dropped from the example.
    bm = bmesh.new()
    bmesh.ops.create_uvsphere(bm, u_segments=u, v_segments=v, diameter=d)

    # create new empty mesh and fill with uvsphere
    mesh = bpy.data.meshes.new(name + "_mesh")
    bm.to_mesh(mesh)
    bm.free()

    # create object and link to scene
    obj = bpy.data.objects.new(name, mesh)
    bpy.context.scene.objects.link(obj)
    return obj

def calc_distance(v1, v2, radius):
    distance = sqrt( (v2.x - v1.x)**2 + (v2.y - v1.y)**2 + (v2.z - v2.z)**2)

    if distance < radius:
        inside =True
    else:
        inside =False

    return inside

#############################3

name = "my_uvsphere"
u=30
v=30
d=1
create_uv_sphere(name, u, v, d)
bpy.data.objects[name].select = True
bpy.context.scene.objects.active = bpy.data.objects[name]
bpy.ops.object.mode_set(mode='EDIT')

obj = bpy.context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)

vs =bm.verts

if hasattr(bm.verts, "ensure_lookup_table"):
    bm.verts.ensure_lookup_table()
v1 =vs[0]

number= 500
counter = 0
a=-d
b=d
while counter <=number:

    v2 = bm.verts.new((random.uniform(a, b),
                       random.uniform(a, b),
                       random.uniform(a, b)))

    inside  =calc_distance(v1.co, v2.co, d/2)
    if inside:
        v2.select = True

    counter+=1

bmesh.update_edit_mesh(me, True)


Blender for Mac 2.9.1 can't find edge vertex face select buttons

You are trying to edit a curve, not a mesh object.
They are different kind of objects, the menus change depending on the context. Curves have no vertices or faces.
Take a minute to read the manual (not a video) to understand the difference.
https://docs.blender.org/manual/en/latest/scene_layout/object/types.html
For curves:

For meshes