You can try Proxe's addon here https://github.com/trentinfrederick/name-panel
and see if it will work for you. It is supposed to support batch renaming, so maybe that could work.

Edit: I will try to get some working examples in picture form tonight and update here.- craigo

From the author, Trentin Frederick:

  Summary

  This add-on allows for batch naming operations and displays object datablock names in a single panel within the 3D view, don't take my word for it though, check it out

  The whole goal behind this add-on is to consolidate names and naming operations, while granting fast access to a few options here and there, I hope that this add-on saves you a lot of time.

  Overview

  This addon offers a panel that displays object related datablock names below the object and object data name fields, offering quick access within the 3D View to all available datablock names, along with an occasional option or few, like a mini outliner, filter options are located towards the top of the panel and the panel itself is located in the properties shelf of the 3D view and in addition this add-on comes with a series of operators that save a lot of time when renaming datablocks, the operators are as follows;

  Auto Name

  This operator allows for quickly naming objects and those object's modifiers, constraints, object data and for pose bones, bone constraints. It works by assigning names based on type, the names used are defined by the user and can be saved with user settings. (Options saved with the current scene)

  Batch Name

  This operator is the big work horse here, through its various toggle options and input fields you are able to perform find and replace text operations (with regular expression support) to almost all datablock names in the file and control how duplicate names will be numbered. The pop-up is a bit clustered but is fairly straightforward to understand once you use it a time or two, the tool-tips indicate what the option is doing/allowing.

  Note - This operator can be accessed either through the item panel special menu or in the outliner header, it can be called from any window type, just search 'batch'

  Batch Name Copy

  This operator is meant to fulfil the need to transfer names from some object datablocks to others, essentially copying them and pasting to the targets, this is done on a per object basis unless the 'use active object' option is active, which will then transfer the source name from the active object to the selected objects.

  WARNING! - By default all three operators DO NOTHING, you MUST activate the appropriate filters in the operator's pop-up

  If you have any questions, comments, concerns or suggestions; please reply to this thread.

  Please report any bugs either on this thread or github.

  WARNING AGAIN! - By default all three operators DO NOTHING, you MUST activate the appropriate filters in the operator's pop-up."


If the new topology has the same number of edges you can copy them with the Data Transfer modifier.

Move both models so they overlap
Add the Data Transfer Modifier: Modifiers >> add modifier (to new object without edge marks) >> choose Data Transfer >> [x] Edge Data, enable sharp and nearest edge.


Removing solidifier mod on a certain part of a mesh

Yes, you can add a vertex group to your mesh, which lets you apply the modifier to a specific set of verticies alone.

See this for more information on the solidify modifier, and this for information on creating vertex groups.


Ensure that the UV islands are not touching. If the bleed is 8 then the island distance needs to be 16.


I've noticed that the slider in the particles tab is all the way down. Would scrolling up solve your issue?


How to handle distortion at the poles of a UV sphere?

One way is just to add extra supporting geometry around that part:

Another way is to use a quad-based style of cap:


One rigify button missing from the whole body control

It was just missing a layer. So while playing around with the pose mode layers. I had found it.


Cycles having trouble calculating light from multiple emission objects

Try disabling multiple importance sampling in the material settings of the large emission plane.

I'm not sure exactly how multiple importance sampling decides what to do, but I suspect its deeming the giant emission plane much more likely to contribute to those samples than the tiny mesh light inside the lamp mesh.
As a result, it concentrates its efforts on the big mesh lamp, at the expense of the little mesh lamp. Disabling MIS on the big lamp takes it out of the importance sampling equation entirely, so special treatment is concentrated on the small lamp again.

You can also use a spot lamp in place of the tiny mesh lamp. In general, the lamp primitives are faster and less noisy than mesh lights.


Deleting Diagonals from a mesh automatically?

You might be looking for limited dissolve! All you have to do is select your mesh in edit mode and search for it in the space search bar.

Before:

After:


firstly my dude, no beginner should be undertaking this, it is a large scale project. secondly,

the easiest way to get a meshes height in the BGE is by using a raycast actuator tied to an object and returning it. (which in your case isn't even neccessary).

grass doesn't repeat but whatever, you can use random.seed to sorta accomplish this.

setXYZ is how you alter objects in realtime, which ALSO isn't what you want, as any 3 dimensional grass in a game is animated, and you don't see 3 dimensional grass in 3d games, as it looks poor and slows fraps. (you can however use it to place grass at vertices)

third you don't need the normals, like at all.

here is a working example of grass seeding.

created specifically for your purpose using the BGE.

if you want it to flow in the wind, or be hyper realistic you'll have to animate it yourself.


(Blender 2.82) Mantaflow Fluid Simulation not working

Your flow object might be too small for your given resolution. Try Increasing it or set your flow object to planner, apparently it should make it work with the lower resolutions.

I'm also trying to make a fountain and until there's a adaptive domain for liquids I'm not sure if it's quite possible.


How to prevent holes that makes the displacement modifier?

On the Displacement Modifier, you can change the strength to a negative value.

EDIT:
You'll get what you are looking for if you modify the image that you're using to drive the displacement so that the value for the plane in isn't gray, but black.

Think of it this way: Black becomes the lowest point in the displacement and white the highest.


Here is an example that creates a Texture Image Node for the material Material with Python:

import bpy

node_tree = bpy.data.materials['Material'].node_tree

node = node_tree.nodes.new("ShaderNodeTexImage")
node.select = True
node_tree.nodes.active = node

The new node is selected and made the active node of the node tree.


Trying to make a water droplet, rotate line into 3d object

USING A SPIN TOOL:

With the pivot point type set to 3D Cursor snap the cursor to the center of a grid (Shift+C) then add a single vertex. In side view create the droplet's profile by extruding the vertex with E or Ctrl+LMB. Go to the top view and press Spin button (located in a Tool Shelf). Play with the steps number.

USING A SCREW MODIFIER

Select the profile and give it a Screw Modifier. Set the steps as you like. This is a better method as it's not destructive for a mesh.


How to make the edges of an object blur (to alpha)?

To Blur the Edges you could put a masking Texture (BW) into the fac of a mix node that mixes your prefered shader with an transparent shader.

I did it with a generated radial texture, but you could do it also with a premade texture, from your image editing software.
If you want a blur-node in blender look at Bashis work: https://www.blendswap.com/user/bashi

my Node-Tree:

Edit1:
for simple shapes like rect and circle it would be possible via ramp and mapping
for complex shapes you could do it possibly via python but its not simple!

So i think the best way for you is to do it with external software like photoshop. I prepared a workflow that creates the map from your shape so you dont have to approximate via drawing:

Render with orthogonal camera topdown, your shape with emission shader and black as color. Worldbackground transparent, so the edge filter from step 3 will work.
unwrap your Mesh-shape from within the orthogonal camera with the option "Project from View" (not with bounds).
Put the rendered image from step one into your image processing software like photoshop and apply an edge-filter like "inner glow" with white as glow color and play with the settings as you wish and add white Background
Import image from step 3 to Blender as fac in Mixshader from my original post and use "UV" in TextureCoordinate node. Because of step 2 your image aligns perfectly.


Where is fluid bake completion time reported?

I don't know of any bake times being displayed.

To work out the bake time of a simulation that you have already baked, look in the cache folder and compare the earliest modified date to the latest modified date, the difference is how long it took to bake.

It isn't hard to setup a timer yourself. Rather than start the bake by pressing the bake button, you use a simple script that runs the bake operator and has timing around it.

import bpy
import time

startTime = time.process_time()
bpy.ops.fluid.bake()
timeToBake = time.process_time() - startTime

print("Time to bake the fluid sim was",timeToBake,"seconds")

This will print the time to the console - that is the terminal you started blender in. Alternatively you can paste the above code into blenders python console to see the result there when it is finished.

You also use wallclock timing with something like --

print("Start - ",time.strftime("%Y-%m-%d %H:%M:%S"))
print("End   - ",time.strftime("%Y-%m-%d %H:%M:%S"))

around the fluid.bake


press ShiftSpace or CtrlUp Arrow or CtrlDown Arrowto exit full screen, or go to view->Toggle full screen


Some nodes have similar "brothers", so a single py file that deals with all the "family".

It can be the same kind of node, but for several data types or slightly different operations. Usually, it is allowed to later switch to another type or operation inside the node or in the advanced panel (or hit U).

specifically about object input:

generic\data_input.py is used for any input.

...\animation_nodes\nodes\generic\data_input.py

other generic nodes are found in eneric folder, but not only:

mix data and animate data deal with all float, vector etc types
in list you have create list and combine list (all list nodes switch type by connecting sockets etc so it's more obvious)
some nodes like math also can be directly searched or called as Add, Substract etc.
others too have "search tags" so that you can bring them by searching for slightly different name or bring them with a certain setting already on.

For example, rotation/convert rotations has several types of conversion, (euler to matrix, quaternion to axis angle etc) so in a search you can  already say "matrix" and see matrix to euler and it will bring the node with that specific setting on.


Can I only Render light that psses through an object?

See this .blend file. I used nodes with the Transmission Depth node and two emission shaders joined with a mix shader. Set the green one to 0 strength and it should have the desired effect. I'll post a screen shot of the node set up in a moment. (The node set up for the lamp. It's a point source directly above the glass sphere.)

Here is the node set up.

The green is what will go away. The pink it what will be rendered.

Green disabled (strength is set to 0).


It seems a bit tedious to paint a b&w stitch directly in Blender but you can:

Create a stitch on a flat plane:

Choose the top view, in Solid mode, in the Viewport Shading panel, choose Matcap and choose the normal matcap:

In the View menu, choose Viewport Render Image:

In an image editor, only keep the normal map image:

Unwrap your object and use the image in an Image Texture plugged into a Normal map in order to create your stitch:


PBR material : how to use a RMA file in Blender?

You don't need the height map for this.. the normal map will work fine (make sure to add the vector Normal Map and make the image texture non-color).

The RMA works like this.. add the RMA image texture and then add a "Separate RGB" node.  Each channel in the RMA is an input into your BSDF shader.  Most of the time it's this...

Red = Ambient Occlusion (you can add this with a multiply on your Base Color if you want)
Green = Roughness
Blue = Metalic

I know this is an old question but maybe this will help others as this comes up early on Google for RMA and Blender.


When subdividing only the vertices inside the circle, you created N-Gons. That means that some of your faces had more (or maybe less) than 4 vertices.

As you have guessed, the catmull-clark interpolation for subidivison does not work well with n-gons and can produce a messy result.

There are multiple ways to locally add some finer details when using a subdivision surface modifier but the one you used will produce a bad shading if you do not retopologize the area to avoid n-gons.


How to perfectly align UV coordinates automatically?

Follow Active Quads is indeed the best automatic preset to use in this situation, however its use is slightly nuanced, and until recently I didn't know how to properly use it myself.

Start by erasing your existing UV Map from the Properties Window > Object Data > UV Maps, so you can start afresh.

Select one random face, any four sided face will do, and unwrap it using the basic U > Unwrap > Reset option so it is unwraped as a perfect square.

This will also make it the nominal active quad, only then can the Follow Active Quads option be used since it will use the active face's coordinates to unwrap the remaining mesh.

Now select all faces and unwrap them using U Unwrap > Follow Active Quads, should yield an even quad orthogonal grid.

Afterwards if you wish to make it fit inside de [0,1] UV space then either scale it down until if vaguely fits inside the image area, turn on UV > Constrain to Image Bounds and scale it up manually; or use the operator UV > Pack Islands to automatically fit maintaining proportions.


is there a way to copy part of pose into another pose

This is old, but the answer will help other people with the same question.

Yes, you can copy part of a pose into another pose. The armatures must be identical. The best way is to create a pose library and save both poses.

Select the pose from which you'll copy a part and go into pose mode.
Select the bones to be copied.
Tip: Hold Ctrl when selecting a parent bone and you'll select all the children.
Ctrl+C or Pose > Copy pose.
Now switch to the pose to be modified. Still in pose mode, Ctrl+V go
to Pose > Paste Pose.


Weird Unwanted Symmetry during Sculpting

In the symmetry settings, set your radial X parameter to 0.


The UV project modifier requires a lot of geometry to project the image properly.

Either subdivide your geometry manually by switching into Edit Mode > RMB > Subdivide (also accessible from the Edge menu) or just add a Subdivision Surface modifier to your geometry and set it to Simple which essentially does the same but in a non-destructive way:

No UVs are required but you'd have to make sure that the Aspect Ratio of the image matches the X and Y properties of the modifier eg. for a 16:9 or 4:3 image, set the values accordingly:

Related: Camera projection without generating UV's?


This deformations appeared in this 3D round model that I'm trying to create

You are probably using the "Subdivision modifier" applied to the car mesh.
You should learn how to control this modifier (it's one of the most complex things in 3d software). Here some basic info: https://docs.blender.org/manual/en/latest/modeling/modifiers/generate/subdivision_surface.html#control

The easiest way to go on with your work is to disable the subdivision modifier and work in a "low poly / flat / shade flat" way.

Once you mastered basic modeling, you can try experimenting also the "subdivision" things (here one of many tutorials you'll find on youtube: https://www.youtube.com/watch?v=xmIIIcCUm8E)


Export rest pose to unity as default action

Select your character > click the pose data property tab >
Skeleton > Rest Position > reset the rest position
Pose Mode: How to reset transformed armature to its rest position?


How do I copy the shape of one object to another?

Everything was easy. You just have to turn on "tissue" addon, then select pattern you had previously created and choose the mesh to apply the pattern to.
Here is great tutorial - Default Cube


2.8 Add multiple image texture nodes simultaneously

First of all enable Node wrangler addon

Edit > Preferences > Addons > Enable "Node Wrangler"

Now go to shading workspace and a principled shader
Select the shader and press CTRL + SHIFT + T and select all your files and click Principled texture setup.
Now blender will automatically set up all the nodes for you.


You can use any shape you want.
Sculpting modifies a mesh in real time, so at any point you can switch to edit mode and edit the polygons directly, then switch back to sculpt mode, etc.
There are two usual workflows for sculpting:
Dynamic topology
You don't need to subdivide your mesh if you use dynamic topology, the mesh will be dynamically subdivided as you sculpt.
Enable it in 3D view > tool shelf > Dyntopo (Topology pre 2.71), or by pressing CtrlD:

See the wiki for more info.
This will create a mesh of triangles, so depending on the project you may need to do retopology after you are finished sculpting.
Multiresolution
Non-destructively subdivide your mesh with a multi resolution modifier, which lets you handle multiple levels of subdivision at once.
Because of this, it's quite useful to use on a low poly model, sculpt details, and bake normals.
Also see What is the difference between a subdivision surface modifier and multiresolution modifier?


You can create a New Bone group (adding it to the existing ones), or move them into a single layer.


Animate Glass BSDF Index of Refraction over Time?

Have you keyframed them? Go to frame 10 in the timeline, set the IOR to 1.1, right-click the IOR, click "insert keyframe." Go to frame 30, set the IOR to 1.8, and insert the keyframe again.


Has the Control Key + Rotation snapping increment been changed or dropped?

If you choose to rotate with 5 degrees precision (or another transform operation), you should hold Ctrl while performing transform operation; if holding Ctrl and Shift rotation will happen by 1 degree. Snap during transform should be turned off, but its option Increment should be checked:

Transforming without precision will be done in case of other snapping option selected.

If you turn on Snap during transform, you can perform transforms with precisions without holding Ctrl:

You may want to read about performing transforms with precision in manual.


How to copy constraints from one bone to another?

Blender has a built in way to copy bone constrains, but it only copies from one bone.

In pose mode, select the bone you want to copy the constraint to, then select the bone with the constraint (that way it is the active bone).

Then press Space to bring up the search box and type in "copy c", select "Copy Constraints to Selected Bones".


Some objects cannot have Modifiers on them (lights, empties, instances).
When such objects are selected, the Modifier Tab (little wrench) just isn't shown.


I recently experienced a similar issue. I found that, by default, images textures are set to sRGB;

Setting the normal map's image texture's color space to "Non-Color" should correct the issue;


Blender to Unity Workflow - Blender Render or Cycles

In a 3D game developing workflow you should not worry about the render engine since you won't use it. Render engine is only used if you want to produce final pictures in blender. Since you only want to produce 3D models (even with shader, texture etc...) you have no use of Cycle and you better stick with blender render.
You should understand that the render engine that matter for you is the one of Unity.


2 ways you can mirror

1st method : If yes then delete the half. And the part which you want to mirror is loose or say separate parts so join Ctrl+L and make it one mesh and then mirror it.

or if you do not want to join and keep separate

2nd method : Just group the half you want to mirror. with selected half group press shift+D and without moving just rotate 180 on x axis. (As the 3d cursor is set)


Mark Seam. Select [all] vertices. UV unwrap. Then move those islands that you desire to be [not affected] off the UV Map, to the side.
Set Mapping Mode to Clipped, Not Repeat.
You can see this How do I put a stencil-like texture across a sectioned object?
Know that no matter how you UV Unwrap all vertices have a texture coordinate. Even if you can not obviously see the vertices,  they still exist.  You may have seen where some mesh models have duplicate vertices that are difficult to see.  A similar lack of obvious problem can occur with UV Maps. UV Vertices can exist in the same location and be a vicious trap for the unwary Blender user.
You can identify the UV location of a face by selecting it. You can see this How can I tell what part of the model the UV map is from? (In Blender)
UV Map data Can be built with Multiple UV Unwrap user operations.  When you select [part] not [all] of mesh to UV Unwrap ... this really means ... take the explicit command for the current selection and do not change the other locations of the unselected vertices ... and use a default location for faces if the UV Map is entirely new.  Selecting part of a mesh to unwrap does not mean ...... the unselected vertices should be unaffected by the texture.


Mapping an Aitoff projection onto a sphere

Hammer Projection

Nodes on left, UV map on right

A while back, sh*t like 6 years ago,  I wrote a number of map projections, including Mercator and among them the Hammer, close relation to Aitoff which I've cleaned up for blender 2.8

UVMap result on default UV sphere

To use, run the script in text editor, or install as addon. Adds a Hammer projection entry to the UV mesh edit mode menu.

from numpy import sin, cos, sinc, arccos
from mathutils import Vector, Matrix
from math import degrees, pi, sqrt
import bmesh
import bpy
bl_info = {
    "name": "Hammer Project",
    "author": "batFINGER",
    "version": (1, 0),
    "blender": (2, 80, 0),
    "location": "View3D > Mesh > UV UnWrap > Hammer Project",
    "description": "UV Hammer Projection",
    "warning": "",
    "wiki_url": "",
    "category": "UV",
}

class Spherical:

    def __init__(self, vert, north=(0, 0, 1), long0=(0, -1)):
        self.vert = vert
        self.north, self.long0 = Vector(north), Vector(long0)
        v = vert.co
        R = v.length
        lat = pi / 2 - self.north.angle(v)
        is_pole = v.xy.length < 0.0001

        long = 0 if is_pole else v.xy.angle_signed(long0)

        self.R = R
        self.lat = lat
        self.long = long

    def __repr__(self):
        return "%.3f, %.3f, %.3f" % (self.R,
                                     degrees(self.lat), degrees(self.long))

class HammerUV:
    def x2(self, lat, long):
        a = 2 * sqrt(2) * cos(lat) * sin(long / 2)
        b = sqrt(1 + cos(lat) * cos(long / 2))
        return a / b

    def y2(self, lat, long):
        a = sqrt(2) * sin(lat)
        b = sqrt(1 + cos(lat) * cos(long / 2))
        return a / b

    # Aitoff equations (no joy)
    def x(self, lat, long):
        a = arccos(cos(lat) * cos(long / 2))
        b = 2 * cos(lat) * sin(long / 2)
        return b / sinc(a)

    def y(self, lat, long):
        a = arccos(cos(lat) * cos(long / 2))
        b = sin(lat)
        return b / sinc(a)

    def uv(self, face, uv_layer):
        ''' Map a UV face '''
        # see if face is east / west
        c = face.calc_center_median()

        for l in face.loops:
            luv = l[uv_layer]
            # apply the location of the vertex as a UV
            p = self.pts[l.vert]

            lat, long = p.lat, p.long  # % longfix
            # quick hack for now.
            if l.vert.co.y > 0:
                if c.x < 0 and long > 0:
                    long = -long
                elif c.x > 0 and long < 0:
                    long = -long

            u, v = self.x2(lat, long), self.y2(lat, long)
            uv = self.translate + self.scale @ Vector((u, v))
            luv.uv = uv

    def calc_uv(self):
        bm = self.bm

        uv_layer = bm.loops.layers.uv.verify()

        bm.select_mode = {'FACE', 'VERT'}
        bm.select_flush_mode()
        bm.select_flush(True)
        # adjust UVs
        for f in bm.faces:
            self.uv(f, uv_layer)

    def __init__(self, me, bm):
        def pt(v):
            s = Spherical(v)
            return s

        # add a new uv map
        uv = me.uv_layers.new(name="Hammer")
        me.uv_layers.active = uv
        self.bm = bm
        # spherical coords for verts
        self.pts = {v: pt(v) for v in self.bm.verts}
        # radius average of calc'd s.R
        self.R = sum(s.R for s in self.pts.values()) / len(self.pts)

        # scale UV to [0, 1] make scale matrix
        scale_x = 0.5 / self.x2(0, pi)
        scale_y = 0.5 / self.y2(pi / 2, 0)
        self.scale = Matrix([[scale_x, 0], [0, scale_y]])
        # and transform vector
        self.translate = Vector((0.5, 0.5))

class UV_OT_HammerProject(bpy.types.Operator):
    """Create a Hammer Projection UV Map"""
    bl_idname = "uv.hammer_project"
    bl_label = "Hammer Project"
    bl_options = {'REGISTER', 'UNDO'}

    @classmethod
    def poll(cls, context):
        return (context.mode == 'EDIT_MESH')

    def execute(self, context):
        obj = context.edit_object
        me = obj.data
        bm = bmesh.from_edit_mesh(me)
        merc = HammerUV(me, bm)
        merc.calc_uv()
        bmesh.update_edit_mesh(me)
        return {'FINISHED'}

def unwrapmenu(self, context):
    ''' menu item '''
    self.layout.operator("uv.hammer_project")

def register():
    # add to edit mesh > UV menu
    bpy.types.VIEW3D_MT_uv_map.prepend(unwrapmenu)
    bpy.utils.register_class(UV_OT_HammerProject)

def unregister():
    bpy.types.VIEW3D_MT_uv_map.remove(unwrapmenu)
    bpy.utils.unregister_class(UV_OT_HammerProject)

if __name__ == "__main__":
    register()

Since it is a UV mapping can also use it on other spherical meshes like the icosphere

I added the code for the Aitoff projection, but have not quite managed to get that one "steady", not sure about the sinc(...) method required for that one.

Using Nodes

In https://blender.stackexchange.com/a/159492/15543 dabbling in nodes I came up with a node setup to generate latitude longitude using object texture coordinates.

Basically the equivalent node setup to the script above, generating the UV and feeding into texture node.

Tissot index hammer projection image from wiki by Justin Kunimune CC BY-SA 4.0


Mirror modfier gap not to merging because of multieresolution modifier

The Multires Modifier has to be the first one in the stack, you cannot move it anywhere else. That's why Blender always first evaluates MultiRes, then the Mirror. The trap you're falling into here is that with the Multires you very likely deformed vertices in the center line, which moves them away from the symmetry plane, and thus the Mirror doesn't merge them any more.

A usual way to avoid this is to apply the Mirror before you even add the Multires to the mesh, and sculpt the mesh using X-Mirror, so all sculpting happens on both sides of the model.

However there might be a quick fix: Try increasing the Merge Limit until the center line merges again, and then check the rest of the model if vertices accidentally merge there as well. If you're lucky, the deformation has not been too destructive yet.


Best way of connecting two meshes, one with many faces

A typical subdivision approach would avoid using meshes of different densities where possible, and rely on Catmull-Clark subdivision to create curvatures/circles..

Any (6+)-gon will make a reasonable circle under subdiv. Often made from 4 quads:

Select all quads
CtrlX Dissolve central vertex
AltP Poke single face
-CtrlShiftB Bevel central vertex
Shipped Add-On, Loop Tools > Circle the result

Then, with extrusions, and some rotations/scales around Custom Orientations, you can model something like this mask without having to reduce topology to match between densities.

If you do really need to match areas of significantly different detail, often, to avoid fiddly hand work, you can model at a lower level of subdivision than your intended result, apply one level of subdiv, and continue modeling from there.


You have converted key frames to an Action Strip (AS):

NLA Blender documentation

Disclaimer: I'm not so versed in the AS.

EDIT for clarification : From the doc:

  The NLA editor can manipulate and repurpose actions, without the
  tedium of keyframe handling. Its often used to make broad, significant
  changes to a scene’s animation, with relative ease.

You convert key frames to Actions for easy reuse. Instead of key framing again or copy and paste keys (for example) of a running animation that need to repeat a couple of times, you repeat the cicle N times using the properies of the Action. Also you can Link Duplicate (Alt+D) an Action, this give you the ability to modify the original Action and all the successive Actions will be modified as well.

end EDIT

It means that all the key frames for the camera are now one Action Script, if you want to modify or add new keys you need to edit the Action Strip be selecting the AS and press TAB, now you can add a new key frame or delete them too.

I remember that the AS will override any key that is not in an action script in Tweak Mode. If  you want to add a new key but not in the same AS, your new key need to be converted to an AS in order to override the last AS. Or look at the properies to define if an AS last key is permanent.


Is it possible to use timeline markers for driver expression?

It is possible to use marker for rendering frame ranges, but not through driver, which is normally used to trigger value change based on Scene.frame_current. What you need instead, is property manipulation based on TimeLineMarker.frame.

The only thing you need to do is iterating over Scene.timeline_markers, because manipulation of Scene.frame_start and Scene.frame_end for each render batch is already taken care of by the addon. Get the list of frame ranges used by the addon, which is Scene.batch_render.frame_ranges, and insert positions of the pair of markers into it. It is this last step that wouldn't be made simpler by a driver.

Below's an operator for you to edit and use. It converts each pair of markers named start and end directly into frame ranges:

class OBJECT_OT_MarkerToFrameRanges(bpy.types.Operator):
    bl_idname = "batch_render.marker_to_frame_ranges"
    bl_label = "Marker To Frame Ranges"

    def execute(self, context):
        batcher = context.scene.batch_render
        marker_list = sorted(context.scene.timeline_markers,
                             key=lambda x: x.frame)
        marker_frame_ranges = []

        for marker in marker_list:
            if marker.name == 'start':
                marker_frame_ranges.append({'start': marker.frame})
            elif marker.name == 'end':
                range_dict = marker_frame_ranges[-1] if marker_frame_ranges\
                    else {}
                range_dict['end'] = marker.frame

        for index, range_dict in enumerate(marker_frame_ranges):
            marker_start = range_dict.get('start', 0)
            marker_end = range_dict.get('end', context.scene.frame_end)

            if index >= len(batcher.frame_ranges):
                bpy.ops.batch_render.add_new()

            batcher.frame_ranges[index].start_frame = marker_start
            batcher.frame_ranges[index].end_frame = marker_end

        return {'FINISHED'}

EDIT: To strictly answer your question: Yes, it is possible to use timeline marker for driver expression. The function below will return True only if there's a marker at the current frame:

def any_marker_at_frame():
    frame_current = bpy.context.scene.frame_current
    markers = bpy.context.scene.timeline_markers

    for m in markers:
        if m.frame == frame_current:
            return True
    return False

bpy.app.driver_namespace['any_marker_at_frame'] = any_marker_at_frame

You can then use any_marker_at_frame() in your scripted expression.


Custom Tab on TOOLS region only appears when there is an object on the scene

When we define a custom panel, it's bl_category property defines the name of the tab that it will be displayed in. As long as there is an active panel for a tab it will be shown.

A panel can have a poll() method which should be decorated as a @classmethod that determines if the panel can be displayed or not, by disabling the only panel displayed in a tab, the tab will disappear. To keep a tab visible you need a panel that is always visible, possibly by removing an existing poll() method.


How to set parameters of orthographic camera to see only a specified plane

You can create a macro with the following steps for each plane:

set plane as active object.
bpy.ops.view3d.view_axis(type='TOP', align_active=True)
bpy.ops.view3d.camera_to_view()
bpy.ops.view3d.camera_to_view_selected()
if needed, change your render resolution to the same dimensions of the plane.


First I have to say, that key background is not very good. It needs to be  a very separate colour to skin and foreground (blue or green is best) and it should have NO shadows. Either from folds or from the foreground objects. An even flat plane of color is best.
You could try the Keying screen Node derived by tracking marker samples or you could mix multiple keys to try and build a better key.
Here are a couple chroma keys added together with some erode node added to clean the mask up. Notice that I am using the colours of the foreground object, then I invert the matte to generate a key.

I only have your sample frame to work with so it may fail during animation.

You would still have to use a tracked mask to clean up the holes in the foreground element. Good luck, you're really going to need it.


Cycles Render - Glass Shader: Some faces are rendered black

This has a rather simple reason.
Your edges are too sharp, and Blender doesn't like it.

Solution
1) Apply a small bevel to your edges
2) Set shading to smooth
3) Boom. You're done.

Bevel outer edges.
This will take care of those sharp edges, and also make Blender happy.
4 segments are enough, set the width as desired.

Set smooth shading.
This will smooth out the normals, so the transition is more gradual.

Looks good!


When is vertex painting the right choice to color a model?

Vertex color is faster to setup, and not needing any texture image or UV-unwrapping can be perceived as an advantage in itself. I've helped a colleague setting up his characters for an animation training DVD (cover). He uses mainly vertex color, and not resorting to complex lighting or texture tricks to convey subtly varied colors in each character.

Another project I've been involved in consumes 1.5GB of RAM when rendering, mostly for textures. This one's memory requirement would be orders of magnitude lower.

If your character design needs the detail, then using image/procedural texture would be justified. Otherwise, vertex color can be a viable alternative, especially on computers with less RAM to use.


How to export physics data from Blender 2.80 now that BGE is gone?

Looks like I can answer my own question.

After some digging I found another simple add-on compatible with Blender 2.8 (this time called "bullet-blender-exporter", LOL) that exports a .json instead of a serialized .bullet file. A nice work-around for anyone that needs to export quickly the rigid bodies and constraints from Blender.

For anyone interested the add-on is this: https://github.com/xu-xionglong/bullet-blender-exporter


Linux, Save As Game Engine Runtime not working

Which exporter addon did you use? If you used the 'save game as runtime' it creates an executable for the platform you are on. This is found in the File->Export->Save Game as Runtime

If you use the 'Game Engine Publishing', you also need to download blender for the different OS's, and point the addon at the filepath for blender. This is a fair bit more complex, and the options are found in the Render Panel.

I'm going to assume you're using the 'save game as runtime'
If you are running windows, it will create an exe, if you are on linux it will create a linux executable - which does not have a file extension.
In a quick test I did, exporting it from my system worked find, although it took several seconds.

One thing to check is that there is a located blenderplayer file. When you chose 'save game as runtime,' you see this on the left:

Check that there is a file at the location in the circled box.

Also check what folder you're exporting it too. Neither of the folders shown in the question have the exported executable.


my texture turn to solid color when rendering. Looks ok in material mode. All other textures on the model look good just one surface

I figured it out ! There was a old baked UV map under the object data tap. I had made it when trying to bake textures for the walls. Deleted it and all is well.


Modeled car disappears in 'play mode' of game engine

Your normals are facing the wrong direction. The game engine does not render faces which are facing away from the camera since these are behind the object. However, your normals are facing the wrong way which causes the exact opposite to happen - back faces are drawn, front faces are not.

Select the problematic object and switch to edit mode with Tab.
Press A to select everything.
Press W-R to remove any duplicate vertices (as they may break the next step).
Press Ctrl-N to make normals consistent.


As Cegaton said,

  Z figthing... you have two or more overlapping faces

This happens when two or more faces overlap. When trying to fix this go edit mode TAB then press z to go into wireframe mode. The darker sections darker than the normal greys are where faces overlap. Follow those to the vertices and move the vertice. (you may have to move than one)

References

Cause of black artifacts in render?


For viewport painting:

make sure you have selected the correct image in the slot option ( left side panel slot tab)

uv editor:

make sure you have the texture active by selecting it from the drop down menu in your uv editor.

For both paint modes :

make sure your current texture brush isn't the target texture you're trying to paint on. In the texture option for your brush set it to none ( double check and make sure your mask doesn't have the same texture either )


How to move an object in to the corresponding mirrored coordinate (BGE)?

Sounds like a job for the modulo operator.  The boundary size is hard coded here, so you can delete that boundary cube. Set the worldSize variable to the size you want the boundary to be:

def update(cont):
    own = cont.owner

    own["pos"] = str([round(v) for v in own.worldPosition])

    worldSize = 10

    own.worldPosition[0] = own.worldPosition[0] % worldSize
    own.worldPosition[1] = own.worldPosition[1] % worldSize

And a screenshot for context:


The colors that I get in Python directly from the nodes are darker when written to an image file

Credit to: @MarkyMarg2 https://twitter.com/MarkyMarg2/status/1290834859875692547 for solving this.
The colors need to be gamma corrected.
Each channel of RGB needs to be run through this formula:
if c < 0.0031308:
    srgb = 0.0 if c < 0.0 else c * 12.92
else:
    srgb = 1.055 * math.pow(c, 1.0 / 2.4) - 0.055

Here's a working example:
import bpy

size = 16, 16
image = bpy.data.images.new("palette", width=size[0], height=size[1])

carray = []
cindex = 0

def to_srgb(c):
    if c < 0.0031308:
        srgb = 0.0 if c < 0.0 else c * 12.92
    else:
        srgb = 1.055 * pow(c, 1.0 / 2.4) - 0.055

    return srgb

obj = bpy.context.active_object
for m in obj.material_slots:
    if m.name:
        #print(str(m.material.diffuse_color[:]))
        #carray.append(m.material.diffuse_color)
        if m.material.use_nodes:
            for n in m.material.node_tree.nodes:
                if n.type=='EMISSION':
                    color = n.inputs[0].default_value
                    carray.append(color)
        #else:
            #carray.append(m.material.diffuse_color)

print(carray)

pixels = [None] * size[0] * size[1]
for y in range(size[1]):
    for x in range(size[0]):
        if cindex < len(carray):
            c = carray[cindex]
            color_fixed = [1.0,1.0,1.0,1.0]
            color_fixed[0] = to_srgb(c[0])
            color_fixed[1] = to_srgb(c[1])
            color_fixed[2] = to_srgb(c[2])
            color = color_fixed
        else :
            color = [1.0,1.0,1.0,1.0]

        print(cindex)
        print(color)
        pixels[(abs(y-15) * size[0]) + x] = color#[r, g, b, a]
        cindex=cindex+1

# flatten list
pixels = [chan for px in pixels for chan in px]

# assign pixels
image.pixels = pixels

# write image
image.filepath_raw = "/temp/palette.png"
image.file_format = 'PNG'
image.save()


How can I transfer weights from one bone to another?

If the two rigs has the same bone names, then you can transfer weights by selecting your mesh and going into the modifiers properties tab and set the Armature modifier to the new rig instead of the old one, then modify the parent of the mesh to the new rig as shown below:


Rookie mistake. I was calling bpy.ops.texture... instead of bpy.data.texture...


Replicate the light coming from a projector

I'm sure you used the search function and found how to make a projector spot lamp in cycles.

With this node setup you only need to add a cube with a Volume Scatter to create the volumetric lighting.

Use a highly saturated image.
Use a high contrast image.
If your image is neither, increase saturation and contrast with material nodes.
Use a low lamp size (0.0), otherwise your image will be blurry.
Use a strong lamp emission intensity (my value: 7000).
Use a small density of the volume scatter material.
Only encase the necessary areas with the volume scatter node to speed up rendering .


Python api - Rotate selected around vertex using bpy operator

The bpy.ops.transform.rotate() rotates on the object's origin.
You can  do bpy.ops.transform.rotate(value=yourValue,center_override=(x,y,z)) where x, y and z are the x, y and z of the vertex.
Basically the center_override overrides the rotation pivot position.


You only need 2 keyframes to control the way the rotor decelerates. Insert the keyframes, then go to the animation view. There you can adjust how the rotation shall behave over time. The default is an S curve:

But you can change that e.g. to an exponential curve:


Eyes as second mesh not following head as first mesh

Join the objects and armatures together as one object and one armature, then parent the eye armatures to the head.


How to prevent sculpting tools from affecting faces through thin walls?

Try enabling Front Faces only:

If that doesn't work, then try painting the vertices you don't want to change with the mask brush:

These masked vertices won't be allowed to change. To clear the mask, press ⎇ AltM.
UPDATE: In version 2.8 or higher of Blender, the Front Faces Only option can be found in the tool's header bar, within the Brush menu.


Where Is My Material Textures Influence Panel?

Shortly after I posted this, I narrowed down the answer!

After tracking down the differences between each set up one by one I realized I had forgotten one alteration: PC A's version of Blender had the Luxrender addon. After a very brief search I discovered this Luxrender bug.

Deactivating Luxrender and reopening Blender did the trick. The influence panel is back!

Thanks to anybody who came by. Maybe this will help someone else.


How to twist particle hair guide along a curve?

A Force Field of type Curve Guide can bend particles along a curve. The force field globally affects all particles systems and all particles. But you can limit the influence in the Particle Settings > Field Weights > Effector Collection. Select an empty collection to exclude all force fields.
Let's say you want to make pigtails. For this, you need 2 particle systems (for left and right), 2 density groups, and 2 collections each with one Curve Guide force field in it.


Vector Displacement not showing same result as the mask of it

I can't be sure this is your problem without seeing a bit more of your shader-tree, but..
There's a difference between Generated-space and Object-space coordinates, where render-time displacement is concerned.

The Generated coordinates of mesh elements are evaluated before
displacement. (They measure 0-1 along the sides of the bounding-box of
the (unscaled) object, irrespective of its size, oriented with the
object's local axes.)
The Object coordinates of mesh elements are evaluated after
displacement. (They are measured in Blender Units from the (unscaled)
object's origin, along the object's local axes.)

Both sets of coordinates translate, rotate, and scale with their objects.
So, in this cube being displaced to a sphere, with the same 3D texture, a grid of cubic cells with thin walls:

On the left, the Generated coordinates are evaluated in the original state of the cube, and displace along with it, 'sticking' to the surface of the deforming object.
On the right, the Object coordinates of shading-points are evaluated after displacement, so the
deforming surface 'swims' through Object space.
So, for example, if you're making masks for displacement, and want to see where they wind up on the displaced surface, it's much easier to work in Generated space. I put mine in a group that I can re-use around the tree, offset so the origin is at the center of the bounding box, and ready-separated, to avoid too many Separate XYZ 's and spaghetti:


You may have a problem with your navigation mesh. Make sure the navmesh is going around the wall. If it isn't you can punch a hole in it in edit mode, then reset index values in the Physics tab, and set Visualize on in the actuator to make sure it works. Hope this helps! If it doesn't you may want to check the navmesh normal up direction (It's the small "N" checkbox beside the up-direction listbox.)


Object lost in the space of 3d enviroment

Select the lost object  in the outliner, move the cursor to the 3D viewport and press Numpad . (numpad period). To zoom the view to the selected object.


How do I rotate an object that already has keyframes?

You can do so in Edit Mode. Anything you do in edit mode, rotation, scale remains like that in object mode.


When I Pose my Armature, the Mesh Attached "Fractures"

You should add some manual weighting:
Your procedure has created two new vertex groups: one named "bone", another named "bone.001".

Every vertex of your model will have a property called "weight" (range 0.0 - 1.0) for every vertex group associated to every bone of the rig.

If a vertex is weighted 1.0 to bone and 0.0 to bone.001, it moves along with the first bone and is not influenced by the movemets of bone.001.

If the two weights are both 0.5, the vertex will be moved by both bones, in a blended way.

There are many ways to assign the weight to a vertex, i.e.you can select a group of vertex in edit mode, then assign them to a vertex group specifiing the desired weight. Another popular but a little bit tricky method is to use weight paint mode.

Start your manual trimming of weights by assigning the vertex of that kind of "finger" coming out fron the knee, to both bones, not only one as it seems from the picture. Try to have all vertex with a total sum of 1.0 weight (1.0 - 0.0, 0.2-0.8, 0.5-0.5, etc .....)

Search for more info about "skinning".


My attempt to construct transformation matrix using 3 vertices (didn't work, need help)

As answered by batfinger in the comment. Just change the last line to

obj.matrix_wolrd = m

everything works well now. Thanks!


Restricting rotational movement on my model?

Sorry, I see a lot of mess in your file, some of the problems: objects don't have loc, rot and scale applied; some objects are parented one to another, you have three different rigs for a single simple character, bones are set to quaternion while animation is on Euler, and so on .....

There is no need of constraints, I think you should get a better understanding of the rigging principles and then start again from scratch.

As usual, there are many methods to reach yout goal, I'll try to illustrate one of them: in this method we don't use vertex groups: every object is directly parented to a bone of a single armature, and the 5 objects stitch together thanks to the armature parent ties.

After the end of modelling process, you have 5 objects: body, foot.L, foot.R, and the two eyes (after applying the mirror modifier).
Unparent (Alt+P) every object one to another, then move and rotate them to their rest position (it can be feets right under the body, in central position)
Select one object and apply (Ctrl+A) location, rotation and scale, so that every object has his origin in 0,0,0 location, 0,0,0 rotation and 1,1,1 scale
Create a new rig with one bone for the body, one bone for the leg.L and one for the leg.R (in your example there is no need for the other four "feets" bones), then, in edit mode, select (in this order) leg.L, leg.R and body bones, <Ctrl+P> and choose "Keep offset" option.
In pose mode select a bone and choose "Euler XYZ" option in the Nproperties tab; do the same with the others 2 bones.
Go to pose mode, select leg.L bone, go to object bone, select the foot.L, shift select the leg.L bone, press Ctrl+P and choose "Bone" option: in this way the whole foot.L object will follow all movements of the the leg.L bone.
do the same with foot.R and body (shift select eyes, body and body bone, in this latter case)
If you move (in pose mode) the body bone, the body object will follow it, and so will do the feets, because leg bones are parented to body bone and feets objects are parented to leg bones.
to program a basic walk cycle go to frame one, rotate the two leg bones in contact position (one forward and one backward), then select all bones and press I and choose rotation option. Go to frame 41 and press i again. go to frame 11 and select all bones press Alt+R to reset the rotation of the bones, then pressi I. Go to frame 31 and press I again. Go to frame 21 and set the legs rotation to the inverted contact position (one backward, the other forward).

Set the cycle from 1 to 40 and GO!

In this way the cycle will be:

1 contact
11 passing
21 inverted contact
31 passing
41 (1 again) contact

If you repeat the cycle, you can then animate the location of the body (which, as seen, will move the whole character).

Good luck and keep it on, I also had lots of headaches in understanding rigging, search Nathan Vegdahl free you tube tutorials for deep understanding of advanced rigging.


How do I separate 1 Vertex that has 2 UVs?

A vertex exists in five-dimensional space, with coordinates (x,y,z,u,v), so while two vertices may share coordinates in 3D space, they can still be in different places in UV space.

Every time you create a UV seam, or have two different shading groups (flat shading), under the hood you are splitting those vertices along the seam into multiple vertices. It's confusing though because Blender will still treat these as a single vertex in many circumstances.

The way you can get around with for UV editing is to turn off UV Sync Selection:

The down-side is that only elements of your mesh that you've got selected in 3D view will show up in UV view, but this will allow you to manipulate vertices separately in the UV editor, even if they appear to be the same vertex in the 3D view.


What settings do I change to render an animation of 60 fps instead of 24 fps for video editing?

Time is a relative concept when it comes to video and framerates.
If you want a second of video you need as many frames as the framerate (time base) you are working on. For example: a single second at 24fps needs 24 frames.
If you generate 60, then you need to playback at 60fps to get that same second on the screen, or you need to play some frames and drop (ignore) others if playing back at 24fps.
If your goal is to have more frames to be able to stretch the playback and generate "slow motion" or speed ramps without having to interpolate frames, then render the animation at 60fps or higher and play back at 24 fps so that those 60 frames will play over two and a half seconds (roughly)
What is the difference between changing framerate and time remapping? you ask.
If you change the "framerate", you will generate more frames for every second of video. The playback speed will need to increase as well to keep a second still a second. Most video editing software (not blender's VSE) can deal with different timebase for elements on the timeline.
If you use the "time remapping" settings in blender you will be changing the global speed of the whole animation but keep the timebase (framerate). If you set Old to be 100 and and new to be 200 your animation will play back in more frames within the same framerate. A second of the original animation will occur over two seconds now, creating two seconds worth of frames. You will need to adjust the Frame Start and Frame End settings for the render to accommodate for this change.
The decision is yours on which one to use,but in either case you need to re-render and bake the simulations again.


How to force an object into the render border?

Make sure your smoke animation is baked.

Go to your selected frame and delete all keyframes from the objects animation. Afterwards, you will be able to move your object freely.

(This will obviously delete the animation, so only do this if you are sure that you don't need it anymore.)


How to make a real mirror on blender with cycle engine

I felt this was a good question, so I've added an answer for future users. Also, maybe some of my info will add to what you've already discovered.

To make a mirror in cycles, use a glass shader (for obvious reasons), a fresnel shader (to ensure that the light hitting the mirror is complimented by the angle at which it’s shining, as described here), and a glossy shader at low roughness (which is similar to a glass shader but will bend light in a slightly different way, adding to the realism). These can all be easily found by hitting Spacebar and typing the node name. The base object is a simple mesh plane.

I’ve added two glass shaders with 2 different colours, for additional realism.

Be sure to add another coloured plane behind the mirror, so the light rays stop at the mirror glass (and are then reflected) instead of passing right through.


How to change the stroke placement of the grease pencil in the UV window?

After a loooooong time I figured out, I don´t know if it is a bug or something else.

Basically I need to select an image to be able to use the CURSOR for stroke placement, if no image is selected the stroke is automatically changed to VIEW when you try to paint something


Creating a 3d paint streak effect in Blender 2.8

Best way would be to create a texture, sculpting it is not the way to go in my opinion. I've actually done similar things in C4D. We would shoot real paint on camera on a white background, get rid of the background in photoshop and just assign it to a plane. Then you can do whatever you want with the plane, twist it and move it around. It's the easiest way and give the best result, you can just change color with a HUE node. Use the image to add displacement as well. An other way would be to create the texture fully procedurally but that's a bigger subject.

Give me 10 minutes I'll update my answer with an example .blend file.

EDIT:


How do I stop image textures from disapearing

First thing that pops to mind is that you do not have an active object using your texture. In the screenshot above, you can see the F button is pressed, so the button itself is dark grey in color. This means that it will be stored regardless of active users. The F stands for Fake, and what it does is simply adding a invisible object that you will never ever see, that has your texture applied to it. As far as I've come to understand it. So make sure this is pressed.

If your texture is still being removed, consider packing it into your .blend file like so:

You will notice the folder icon next to the + changes, meaning it's packed. This way, it is saved into your .blend file the same way objects, materials, etc are.

Your texture(s) are most likely being removed because Blender deletes unused files upon closing Blender to clear up space. When you make a new material, but decide that you no longer want it, you press the X button to remove it. This does not delete the material. It only gets deleted when you close Blender.

Hope this helps.


If you want only minimal changes, you can just snap the vertex to the edge. It is "messy" from a topology point of view but you will basically get what you want. (As long as you don't use any modifiers)

The quality way would be to add an edgeloop to the quads shown on the right (split each quad into two) and connect the vertex to the end of the edgeloop:


This is easy to do in the material of your particle object. heres a picture of my node setup

If you want a tutorial showing how i made this, Blender Guru has a tutorial on making sparks.

hope this helps

EDIT: you can adjust the color ramp, to adjust how soon the particles fade out and how long it takes.

Here's how it works:

the particle info node takes into account the particle settings.  It then allows you to access them in the material with it's output connections.  In this example, I divided the age by the lifetime, which gives me a the age of the particle, but also takes into account how long the particle will live, so we can use that value to effect the material.  The color ramp provides the control you need to adjust how soon it fades out and how it does.  you could use this for even more complex effects, like repeated flashing if you wanted to.  the value on the left of the color ramp is the start of the particles life, while the value on the right of the color ramp is the end.  Using this as the factor between an emission node and a transparent, causes it to fade around the middle of it's lifetime, (due to the way my color ramp is set up).

you can use the same principle to change the color of the particle over lifetime, the strength of the emission over lifetime, and almost anything else.  I hope this edit has been useful, and that you can use it for more blends.


You can give your eye cube a Boolean modifier. Create a second cube with a hole in it that is as big as your eye white area, make it invisible in the viewport and in render (Properties panel > Viewport Display > Dsiplay As > Wire and disable the camera icon in the Outliner), give your eye cube a Boolean modifier, mode > Difference, with the hole cube as Object. Now when you move your eyecube, the part that crosses the hole cube will be invisible:


Blender 2.8: dynamically set particle locations via python

Object.evaluated_get()

In answering Get particle location using python came across this one.

Note this will work with instanced object or collection particles. Not those rendered as halo.

Test script, set object with ps as active.  Sets all particles on current frame to location (1, 1, 1)

import bpy
from mathutils import Matrix

context = bpy.context

dg = context.evaluated_depsgraph_get()
ob = context.object.evaluated_get(dg)

ps = ob.particle_systems.active
po = ps.settings.instance_object

for p in ps.particles:
    p.location = (1, 1, 1)


Is it possible to make a video texture repeat in the compositor?

Load your video not using the Movie Clip Node but with the Image Sequence node (yes you can load video files in the image sequence clip).

Then enable the cyclic option and your video file will repeat on a loop.


From your image it looks like you have overlapping loops at the top of your cylinder, you can see that because of the face indicators appearing in the middle of the edges, and thats why you could not select the hidden edge to mark the seam and have a proper unwrap.


Can an add-on be automatically installed and enabled?

Part 1. Your user script paths

>>> bpy.utils.script_path_user(
script_path_user()
returns the env var and falls back to home dir or None
>>> bpy.utils.script_path_user()
'/home/batfinger/.config/blender/2.76/scripts'

And the addons paths

>>> bpy.utils.script_paths(subdir='addons')
['/home/batfinger/src/BlenderGIT/qtcreator_build/bin/2.76/scripts/addons',
 '/home/batfinger/.config/blender/2.76/scripts/addons',
 '/home/batfinger/src/Blend4Web-master/blender_scripts/addons']

Part 3.

Look in scripts/modules/addon_utils.py

from the console

>>> from addon_utils import enable
>>> enable(
enable(module_name, default_set=False, persistent=False, handle_error=None)
Enables an addon by name.
:arg module_name: The name of the addon and module.
:type module_name: string
:return: the loaded module or None on failure.
:rtype: module

To enable my sound drivers addon for instance

enable("sound_drivers")

Check out the source, there are other handy addon utils in there.

and for part 4, there's the operator to save user prefs.

 bpy.ops.wm.save_userpref()


Attach the points of one path to the location of another path

Not natively no, as far as I know. That sounds like the realm of NURBS based modelling, which is a stranger in Blender lands.

Maybe you should look into ACIS solid based modelling software, or NURBS surfaces modelling tools instead.

Otherwise if you want to stick with Blender maybe look into parametric modelling addons like Animation Nodes, or Sverchok which allow parametric modelling with a node based workflow.

If you want something simpler BSurfaces may also be worth a shot. It allows creating surfaces between bounding curve objects, like lofting, tabbed surfaces or ruled surfaces.


How to apply soft-body curves (noodle simulation) as solid object?

I didn't realise there is a set of 'bake' options in the softbody options. "BAKE DYNAMICS" does this. Then simply (in the case of curves) "CONVERT TO MESH".

After that your noodles are ready for eating (I've never baked noodles before this).


Modal Operator to Keep UI Active while Listening to Network Traffic and Updating Display

i will answer my own question:

instead of using a handler and registering it in scene update pre, turn it into a modal operator with a timer caller that checks the queue every close interval.

This way i will be able to execute any type of python script using blender api. You will bypass the handler problems!


Force object mapping to remain independent of group instance position

Vector math

You can get get rid of the dependence from object's transformation with vector math. Take for instance the location: by subtracting to the empty's object Texture coordinate the location coordinates of the rendered object you find in the Object info node.

Now all your instances will look the same as the group whatever their location is.

Notes:

this works only for location, rotation and scaling of the instances
require more complex math
there is no need of assigning the empty to the group


How can I fix animated text to stay inside the 'LCD screen'?

Let us say that your writer screen can display at most 20 characters, then we could trim the start of the text by subtracting 20 from the end as follows:


How does this normal map create surface imperfections instead of elevations/bumps?

You can bake textures like this in Blender. After setting up all the components of the shader you want to bake in the Shader Editor:

1 - Create a new image in the UV Editor

2 - Add an Image Texture in your Shader Editor and select the image you created in step 1 as the image being referenced

3, 4, 5 -  In your Render Properties tab, select Cycles, select your Bake Type (Normal in your case), and hit the Bake button

6 - A normal map will be generated consolidating all normal elements present in your shader as the image in your UV Editor


Generate x cubes at random locations but not inside each other?

A similar answer that utilizes Blender's Mathutils' Vector length property (prevents you from needing to calculate distances in all 3 axes individually):

import bpy
from random import random
from mathutils import Vector

cubeRadius    = 0.25
maxIterations = 1000 # Max iterations to prevent while loop from running forever

# min and max values for each axis for the random numbers
ranges = {
    'x' : { 'min' : -10, 'max' : 10 },
    'y' : { 'min' : -10, 'max' : 10 },
    'z' : { 'min' : -10, 'max' : 10 }
}

# Generates a random number within the axis minmax range
randLocInRange = lambda axis: ranges[axis]['min'] + random() * ( ranges[axis]['max'] - ranges[axis]['min'] )

size  = 250 # Number of cubes
cubes = []  # Cube coordinates list

loopIterations = 0
while len( cubes ) < size and loopIterations < maxIterations:
    loopIterations += 1

    # Generate a random 3D coordinate
    loc = Vector([ randLocInRange( axis ) for axis in ranges.keys() ])

    if len( cubes ) > 0:
        # Search for overlapping points (within the cube radius radius)
        overlappingPoints = [ p for p in cubes if ( p - loc ).length < cubeRadius * 2 ]

        # if any found, skip this location
        if overlappingPoints: continue

    # Add coordinate to cube list
    cubes.append( loc )

# Add the first cube (others will be duplicated from it)
bpy.ops.mesh.primitive_cube_add( radius = cubeRadius, location = cubes[0] )
cube = bpy.context.scene.objects['Cube']

# Add all other cubes
for c in cubes[1:]:
    dupliCube = cube.copy()
    dupliCube.location = c
    bpy.context.scene.objects.link( dupliCube )


You can achieve this by scaling the points along a perpendicular (Normal) axis:

Via Keyboard:

Alt+Space: Change Transform orientation to Normal
s: Scale selected
z, z: The axis to scale on; the first 'z' specifies the global axis. Pressing again specifies local.
0: The amount to scale by
Enter: Confirm the action

Via Mouse:

Then you need to left click anywhere in the scene to confirm and modify the properties of the tool.

And you will get all the points aligned.


Select all the leg armatures, in Object mode.
Go to the Object menu, >> Join (or Ctrl + J).

That said, I hope you didn't weight paint anything yet, because if so, you may have to rename some of your bones' VGs.


Can't see part of the mesh in object mode

Turn off Armature modifier's ... "Bind to" > Vertex Group.

Note : It also starts to render with no issue.

You can read more about Armature Modifier > Bind To > Vertex Group
here https://www.blender.org/manual/modeling/modifiers/deform/armature.html?highlight=armature


Material become black when observe from angle

This is a problem caused by the fresnel node. I believe increasing the geometry (for instance with Subsurface modifier) could potentially help.


Here's a clunky sort of first step (maybe not towards where you want to go):

Make a height-map of the subject (Mist Pass, 0-1, front to back of a containing cube)

Set up a node tree something like this:

Where each shading point asks whether, in 0-1 generated texture coordinate space, its Z value is close to the R value in the depth map for its XY. If it is, it lights up.

(Sorry to be confusing, but here, XY has been mapped to XZ, and Y checked against the map, to get Suzanne facing down Y)

The 'Close to' node group just returns 1 if Value1 and Value2 are within Delta of one another, 0 otherwise.

The 'Less Than' node checks if the Y value is close to 1, to get rid of the background, 'beyond everything' values in the depth map.

This is the result:

I tried projecting height-maps down X and Z as well, which could be encoded in G and B of the texture, but they were not automatically calibrated for position or scale, I may just have slipped up somewhere.

But I thought , anyway, it would be better to go for a spherical height map: bake a displacement map of the subject from an enclosing sphere, and store it as, say, a Mercator projection? And then, instead of using Z as the lookup, use the shading point's angles, theta and phi from the origin, to look up the point in the texture to check against.

Then you could use Alpha to store depth, and R,G and B to store R,G and B, to get colored (but not fully covered) volumes.

But since there will be lots of gotchas, and I'm not @Rich Sedman, that may take a while.


weird bump on object and dont know how to remove

nevermind! just fixed it. apparently i created another vertices inside the mug that was making it spike out. just deleted it!


icons_geom.blend - how to move a new icon into the export collection?

I was once more beaten by the obvious here.
Have a look at the Properties editor at the right. There is the Add to Collection button in the Collections panel in the Object properties of the selected object. And here you can find the Export collection in the list then.
Thanks goes to HooglyBoogly at Blender Developer here.


If you hold down the Shift key while making a brush stroke, the Smooth Brush will become active until you release the Shift key.

Sculptris uses what people call auto-relax smoothing.

I don't believe that Blender currently has anything analogous to that feature.

There is a thread hosted on Blender Artists that has been going for a couple years now and it's topic is Dynatopo sculpting.

There are many tips sprinkled here and there if you read through the whole thing.

http://blenderartists.org/forum/showthread.php?264568-Dyntopo-tests/page249&highlight=sculpting


Image texture not following the animation

As opposed to "object" texture coordinates, "generated" texture coordinates will stay stable "around the mesh" when the mesh is animated.

As "object" texture coordinates, at starting point, are here roughly between -1 and 1 (nearly a sphere) and "generated" texture coordinates are between 0 and 1, we can scale by 2 and remove 1 to go from the second to the first.

So that you can chain this mapping with the existing one, for instance:

or if you prefer you can also tune the value manually.


Your topology is not good, therefore it limits the improvements you can make. But you can make that corner much rounder with bevels:

Go in Edit mode > Edge select mode.
Select the edges of your corner.
Press ctrl B and drag your mouse.
Press + or - or scrollwheel to increase or decrease the amount of edges of your bevel.
Your corner is rounder.


2.79b to run script using command line in windows, preferably with a desktop shortcut or exe

Find the blender.exe and Right Click and select Create Shortcut

Due to permissions I cannot create a shortcut in the Blender folder so it offers to create it on the Desktop.

Find the shortcut and Right Click and select Properties

In the Target box append

 -b c:\tmp\target.blend --python c:\tmp\exportscript.py

to the fully quoted blender.exe
e.g.

"C:\Program Files\Blender Foundation\Blender\blender.exe" -b c:\tmp\target.blend --python c:\tmp\exportscript.py

Where target.blend is the blender file with the "pboard" object to export and exportscript.py is the original posters code with the "path" value set to match your environment.

I created a c:\tmp folder that has full permissions for the blender user and set the path

path = "C:\\tmp\\stl\\"

Now when I double click the shortcut, a command window flashes open briefly before closing. The file C:\tmp\stl\pboard.stl" is then available.


Bones, weight painting and very weird deformations

Enter edit mode for the armature and select the bone you want to be the parent. Go back to object mode.

Select the object to be the child, then shift select the armature.

Press CtrlP and select Bone. You can't choose which bone here, it will be set to the bone that was selected when the armature was in edit mode.

You can verify the settings under the Object Properties - Relations

You can choose to set these properties manually but you may need to re-position the object afterwards.


Multiple variables in Driver Scripted Epxression

In the screenshot that is failing you need to rename your variable to match the if statement, or you need to rename your reference used inside of the statement to match your variable name.

ALSO

As a good practice put the multiple AND portion of the statement in parenthesis like so:

Without Renaming your variable:

0 if (var > -0.5 and var < 0.5 and var_001 > -0.5 and var_001 < 1) else 2

With renaming the variable:

0 if (var > -0.5 and var < 0.5 and var2 > -0.5 and var2 < 1) else 2


The reason your fades are not working is two-fold.

Firstly, the Quicktime format does not support an alpha channel (I don't know of a video format that does... maybe GIF?).

Secondly, your RGBA colors are not pre-multiplied, but are "straight alpha." A bit of explanation here.

Consequently, when your frame gets put into the video format, the alpha portion of that image is simply discarded, leaving you with grey text that's no longer transparent. This didn't happen when you rendered it to images because PNG does support an alpha channel. Thus, you had text that was still fully grey, but it was also transparent. I'll bet that if you rendered to JPGs, you'd lose the fading as well because JPG doesn't support alpha. The question would be whether Blender would pre-multiply your alpha or just discard the alpha channel. I suspect it'd do the same thing that it did with the video and just discard it.

There are two solutions. One is to render pre-multiplied alpha. It's not going to be easy to figure out how to do this because it changed recently in the VSE. And there are a couple of different places in the rendering pipeline that pre-multiplication might happen. If anyone else knows, feel free to edit my answer. But this is a poor solution because the background of your video is incidental, not deliberately chosen. It's only fading to black because all the pixels that aren't rendered HAPPEN to be black when the alpha is discarded. This is a reasonable assumption to make, but it's an assumption not a decision.

The most correct solution is to make the decision of what to fade TO. You really ought not think in terms of "fade out." Rather, you should always think "fade to..." Even in your video, you're not wanting to "fade out." You're wanting to "fade to black." There are a number of ways to accomplish this, depending on what's what's best for your project. The option I'd recommend is to add an Effect Strip -> Color to the bottom layer, and set the color to black. Thus, when your text becomes transparent, there's still something behind it to render.

You could, of course, set the color of the Effect Strip to whatever color you want, and it'd work just as well.

I hope that helps!


How do I get my Cycles materials into blend4web?

In Blender there is the Cycles render engine (non-real-time) and the GLSL viewport (real-time). Both has its own set of material nodes. Blend4Web is a real-time engine and thus leverages the viewport's nodes.


How can I control the length of hair particles

Create a plane
Add particles and select Hair (as you've already done)
Style you hair see the following GIF

Now from Modifiers hit Convert

This will convert hair into a mesh

Now keep whatever you want, and delete whatever you don't need.

EDITED: To make it a little more controlled..

In these steps I gave thickness to "only-edges-mesh", because Hair by default are paths. converted into mesh by applying the modifier.

in this images.. I changed into "editable mode"
then selected "Edge" type (not vertex or face).
move to very close to the edge.
pressed "A" to select all edges (hair)
pressed "E" for extrude and pressed "x" to extruded the edge into "X" direction
pressed "A" again to select all edges
Pressed "E" to extrude and pressed "Y" to lock extrude only into "Y" direction.
.. see these are no cubic hair.
Added a box to boolean hair with it.

in this image..I am modifying with "Boolean"

scaled up the newly added box
positioned the box
selected hair.. and applied "Boolean" Modifier.
changed the boolean type..
changed the view to wireframe so I could see .. what is going on.
scaled up the box to the desired form..
Apply this modifier and that's what you needed.. right?


Accidentally made a partial wireframe. Does anyone know a fix?

You have deleted the edges.

  [Delete Edges] Deletes any edges in the current selection. Removes any faces that the edge shares with it.

As you can read in the manual entry, the adjacent faces are removed.

You probably want to dissolve the edges, since this will retain the faces.

  [Dissolve Edges] Removes edges sharing two faces (joining those faces).

However, since you have already deleted the edges you will have extra vertices between to adjacent edges. This would have not happened with the dissolve operation.

You can box select B the vertices. Then dissolve them X > Dissolve Vertices. After that you recreate the faces by selecting all A and filling with F.


Add modifier using API, override the modifier apply.

Would use

m =  ob.modifiers.new(name="Foo", type='DECIMATE')
m.ratio = decimate

to add a modifier, and override the context of modifier apply operator, just as you have done for material link remove.

bpy.ops.object.modifier_apply({"object" : ob}, apply_as='DATA', modifier=m.name)

Questionable whether you want to add and apply modifier for each material slot, check your indenting

Alternatively can deselect all,  set as active and select the active object in loop.  To set the context to each individual object. Suggest is the Equivalent of you "simply applying script to default cube"

Eg for 2.8

bpy.ops.object.select_all(action='DESELECT')
ob.select_set(True)
context.view_layer.objects.active = ob

to give the loop object context.

However would recommend using as few operators as possible...  see Python performance with Blender operators

Note incorrect context is a common cause of problems

https://blender.stackexchange.com/search?q=context+incorrect


The video texture doesn't need to continuously run in the background, as blender draws or renders a frame where the texture is visible it will read the one relevant frame from the video that it needs, this is similar to it reading any other image textures in your scene. As you are using a small video it will most likely be cached in RAM while it is being used and have little impact on performance.

To prevent your fire from always being visible you can animate the visibility of your plane both in the viewport and the render.


How to relocate a library using Python in 2.80 beta?

Going step by step in the native Blender code using a debugger, I was able to figure out the properties to give to the operator (which is wm.lib_relocate):

bpy.ops.wm.lib_relocate(
    library="cube-v02.blend",
    directory="C:\\Users\\someone\\Desktop\\",
    filename="cube-v01.blend"
)

Where:

library is the name of the library to relocate which seems to be the file name (without the directory part).
directory is the directory where the new library (blend file) is located.
filename is the file name of the blend file.


Merged characters hand to the arm and got a weird choppy result

Normals was inverted,
you can flip normals of selected faces while in Edit mode by:

3D Viewport Header -> Mesh -> Faces -> Flip Normals

If you want to quickly fix all the normals in your mesh, while in Edit mode you can use Recalculate Normals:

3D Viewport Header -> Mesh -> Normals -> Recalculate Outside (CTRL + N)
3D Viewport Header -> Mesh -> Normals -> Recalculate Inside (SHIFT + CTRL + N)

  Why are some faces in my mesh darker?

Thanks to Mr Zak & Thom Blair III


blender automatically add faces in object mode

The only reason I can guess so far is that you have hidden the faces with H instead of deleting them. Go into Edit Mode and press ALTH. The missing faces might appear.


Going into object and pressing shade smooth seemed to fix it while on the inflow object.


How to quickly select loops by skipping line by line

This might work for you, depending on your topology:

Select 2 edges at the right interval
CtrlShiftNumpad + (repeatedly), expand the selection at the same interval.
Header > Select menu, Select Loops > Edge Loops


How do I tell python to ignore a certain specified bone when it is not present in the armature

You can use try statement in Python script.
See the document here.
A simple script:
a_list = [1,0,2,3,4,5]
result_list = []
while a_list:
    try: # Try to run this block
        divider = a_list[-1]
        result = 60 / divider
        result_list.append(result)
    except: # if "any" Error happen, do this block
        print(f"Oops, something go wrong: divider:{divider}")
        break
    finally: # whether there is an error or what, run this block
        a_list.pop()
result_list

Output:
Oops, something go wrong: divider:0
[12.0, 15.0, 20.0, 30.0]

Please don't silently bypass an error in code, let user know what happens and if possible, let them decide what to do explicit.


Problem with mirroring (mirrored part is higher than the parent object and a middle object)

If you don't want to use mirror modifier, you can create linked duplicate of your object. Select the fender mesh, press Alt+D and click left. Now your duplicated object is at the same position as the original object. Now set the x-scale of your duplicate object to -1. Since the second object is not just duplicated, but linked, all mesh edits will show on both objects. This is also called an instance. You can make many instances of the same object.


How can i change a curve to have the same proportions on all its vertices?

First, select the good vertices in edit mode (at least three, one whole waveform):

Then press Shift+D, and then P to separate the new vertices into a new curve:

Now add an Array modifier to the new curve, making sure to tick the Merge checkbox:

You should now have something like this:

Notice that the fewer waveforms you select initially the more accurate the result will be, although it will take vastly more repeats on the Array modifier. It is however completely adjustable at that point, so it can be given the exact same number of waveforms as your other curve.

Once you are happy with the result, change the handles to vector, press Alt+C and convert to mesh, then the same and convert back to a curve, and change the handle type back to whatever it was. You should now have one continuous curve. The reason you need to do this is because you are not allowed to apply a constructive modifier on a curve.


Removing Anti-Aliasing from shadows in the BGE

This can be solved relatively easily, but you may have to make minor changes elsewhere to keep the crisp shadow edge as pictured here, only without the anti-aliasing

This is the type of shadow that you have now.

and I assume this is closer to what you want.

You can achieve this simply be changing the shadow casting setting on your shadow emitting lamps from Simple to Variance

of course, now you can tweak the settings to restore the crisp shadow edge. I found that by squashing the Bias, the shadow looked much better.

You will need to make all your shadow lamps have the same settings for the final result to look good. It is usually a good idea to only have a  few shadow lamps, one main lamp for everything, and then extra spotlights as needed. A better approach is baking on the shadows for the environment, and then use a spotlight parented to the character to give your character dynamic shadows.


blendergis is an excellent free addon for adding terrain and satellite found on github. easy to use a little tricky to install


How to texture a cube so that each face has the same uv coordinates?

Just go to edit mode, select everything, hit U and choose reset!


Choose Top Ortho view, enter in Edit mode, select the whole mesh, press U > Project From View, and click on the Scale to Bounds option on the bottom of the left menu (displayed with T), or choose directly Project From View (Bounds).


How to create a Life Preserver style texture?

Since you don't want to correctly unwrap each new object we need a procedural shader which uses the angle from the objects origin.

That way you can easily displace and distort without worrying about the UV.

First we need an atan2 node to calculate the circular angle as viewed from top.

It is show in the red atan2 box in the node overview. You can also find explanations here. I used the nodes in the first answer. Group them into the atan2 group.

(We'd manage with a simple arctangent node from cycles, but it doesn't hurt to have an atan2 in your library and it's not that complex.)

Use the objects X and Y coordinates as input.

Right now the values and in the range [-pi, pi]. Let's normalize them by adding pi and diving by 2*pi.

After that, multiply by the number of intersections you wish, and add the modulo and greather than to get separations of 0 and 1.

At this point, it would be smart to group the nodes into a rings group. That way, when we make this material a single user to change the colors or the amount of sections all materials will use the same ring group.


Best method for filling in faces in complex/irregular area

In my opinion your topology is a bit messy and you don't need as many vertices, but is it really important? You should not have any artifacts because I suppose it's going to stay a flat surface, you could even use huge ngons. Also don't hesitate to use tris on the round corners:

But here is a try with a bit simpler topology:

or even:


how to convert a shape key animation to a fluid?

Ok now it's clearer. If I got what you mean, I tried a (much simplified and rough) example.

I started from a simple sphere, set basis shape key,

added another, shaped it like a glass extruding vertices,

had the morphing effect.

Then set the morphed glass object as fluid,

added a surrounding big cube, set it to fluid domain,

and baked the domain.

When it finished, I hid the original glass shape, keeping only the domain visible. Now it seems to splash as you expect... does it?

Is this not working for you? Did you forget to bake? Of course I used rough fluid settings, you'll need at least much finer domain resolution.


Get points of Bezier Curve in coordinate space of the scene

Perhaps the following code gives you an explicit example of how to interpolate points on a Bezier curve.  (I almost forgot the matrix_world that batFINGER has already explained is very important)

import bpy
from math import *

def interpBez3(bp0, t, bp3):
    # bp1, HR, HL, bp2

    return interpBez3_(bp0.co, bp0.handle_right, bp3.handle_left, bp3.co, t)
#    return interpBez3_(bp0.co, bp0.handle_left, bp3.handle_right, bp3.co, t)

def interpBez3_(p0, p1, p2, p3, t):
    r = 1-t
    return (r*r*r*p0 +
            3*r*r*t*p1 +
            3*r*t*t*p2 +
            t*t*t*p3)

def interpBlenderSpline(spline, i1, t2):

    bp1 = spline.bezier_points[i1]
    bp2 = spline.bezier_points[i1+1]
    return interpBez3(bp1, t2, bp2)

def mission1(obj, t):
    """ mathematically correct spline interpolation """

    i1 = floor(t)

    curve = obj.data

    bpy.context.scene.cursor_location = obj.matrix_world * interpBlenderSpline(curve.splines[0], i1, t-i1)

def mission2(obj, t):
    """ spline interpolation that matches the resolution_u setting inside blender """
    i1 = floor(t)
    t2 = t - i1
    spline = obj.data.splines[0]

    res = obj.data.render_resolution_u or obj.data.resolution_u
    t3 = t2*res
    t3i = floor(t3) / res
    t3f = t3 - floor(t3)

    p8 = interpBlenderSpline(spline, i1, t3i)
    p9 = interpBlenderSpline(spline, i1, t3i + 1/res)

    p = (1-t3f)*p8 + t3f*p9

    bpy.context.scene.cursor_location = obj.matrix_world * p

mission1(bpy.context.active_object, 0.7)

The mission2 function is if you want the point to match how blender chops up the spline into line segments instead of being on the mathematically precise bezier segment.


There is no may of getting exactly the same effect, as you can only set weights on 'real' vertices, not the extra ones generated by subsurf, which just get interpolated. Automatic weights are just an easy way of setting the weights, it doesn't do anything that you couldn't theoretically do manually.

That said, when making characters, the subsurf modifier is generally placed below the armature modifier in the stack. This way the deformation with or without subsurf will be much the same as with subsurf, and subsurf is just used for smoothing and to support extra detail through displacement mapping. This is also important from a performance perspective, as the number of vertices can have a big effect on armature modifier performance.

Your base mesh, prior to subdivision, will need to have enough geometry to deform properly, which can mean adding extra loops around joints, but some experimentation is often required. In your case it looks like when you have added extra loops, they are too close to the joint.


You don't.

You worry about frame accuracy during editorial, lock your picture (no further editing), and then commence post production work.

At the point you have completed your edit, your motion picture is not being adjusted any further, and the frames are locked.

When you are finished with your post work, you simply take the output frames, per shot, and re-slug them back into where your original editorial frames were.


weird bone axis/rotation problems (from blender to UE4)

so i went back in blender to check de axis from my bones and meshes, and as far as i can see the axis's for the bones and meshes are there perfectly in place (as it should be, because of using the "shift+s" methode) (image 5A & 5B):

i have searched a lot on the internet but unfortunately i can't find the solution for this problem.. :|
and i really running out of options here.. :(

I'm using: windows 7, blender 2.80 & unreal editor 4.20.3

so if you know a solution, please tell me! ;D
really big thanks already for reading and thinking! ;)
gr grover

PS: i'm from the netherlands and i'm really bad at speaking and especially writting english, so srry if i made this hard to read! ;)


If inside 'elif' ignored / not working with autosmooth script

The problem here is not that the if statement in the elif was ignored, but rather the statement itself didn't evaluate to True. To help debug your control flow consider adding a temporary else statement with a print(). Even if you then still don't understand why an if statement isn't True you'll have localized the problem, and you can try to solve the real issue: comparing floats.

As a test you can even run this directly from the TextEditor, and check the terminal / console for the print statements.

some_value = 0.343523435235
if some_value == 0.34352:
    # do something
    print('yep')
else:
    print('some_value ({0}) is not equals to 0.34352'.format(some_value))

Use some aliasing and the rounding as suggested by jerryno. Another readability improvement is the inclusion of radians(180) and radians(30). These carry extra meaning to the reader (mostly you) than a rough float does.

import math   #  <--- yes!
from math import radians

class SetAutoSmooth(bpy.types.Operator):
    bl_idname = "set.autosmooth"
    bl_label = "Set Auto Smooth"
    bl_options = {'REGISTER'}

    # have a poll check for active_object (optional)

    def execute(self, context):

        data = bpy.context.object.data
        data.use_auto_smooth ^= True  # inverts

        # use the boolean directly, else it's like saying: if True == True
        if data.use_auto_smooth:
            if round(data.auto_smooth_angle, 5) == round(radians(180), 5):
                data.auto_smooth_angle = radians(30)
            bpy.ops.object.shade_smooth()

        return{'FINISHED'}

seen as the extra bit is only intended to be done if the use_auto_smooth is True after the inversion, then that will still need an if-statement. If you see so much repetition of code characters you need to think about using aliases (a variable to store a reference lookup) . It's easier to read and easier to write.

some Python notes

math.isclose()

Python 3.5 will be getting / has a new feature for testing if a float is close to another float, so we won't necessarily need to use rounding anymore. This feature is called 'approximate equality': read about it here https://www.python.org/dev/peps/pep-0485/

math.isclose(a, b, relative_tolerance, absolute_tolerance)

inverting a boolean

These two lines are functionally equivalent

data.use_auto_smooth = not data.use_auto_smooth
data.use_auto_smooth ^= True

The ^= is an augmented arithmetic assignment


What are the differences between rigging with bones using bones constraints or just using object constraints?

If it's just separate, undeformed meshes you're using, you could use object-level constraints.  But there are even some benefits to using Pose-space for mechanical stuff as well:

It makes things easier to revise.  If you decide to change the mesh after you've constrained it, you may run into some issues if say, the pivot point has changed on that object.  Same thing if you've parented it to another object instead of constraining.  If you had a bone deforming one object (and then another bone constrained to that bone) you now have a revisable system.
It allows for some pose-based tools, such as saving poses.  Granted, this benefit is only useful if you find you want to re-use key positions a lot.  If it's just a piston or something fairly cyclical, pose-saving isn't all that useful.


the scene has to be loaded to have access to :

# to load the scene
bge.logic.addScene('Hud')

#find the scene and object
scenes = bge.logic.getSceneList()
for scene in scenes :
    if scene.name == 'Hud':
        player = scene.objects['player']


How to remove motion blur from images using the compositor?

Motion blur is reducing the information in the image. There is no way to add that information back. Say that you took a video of something blurry, that looks like motion blur but isn't. There is no way (for a mathematical operation) to know if that objects should be deblurred.

There are approximations, but they are quite complex math operations and they always leave artifacts (due to missing information).


Critical Problem : Freeze Problem while Modeling in Blender 2.80 Beta

Watch your subdivision level:

6 is huge. Usually, you won't go over 2 or 3 in the viewport, and let the higher subdivision levels for the render only. Change that and you will have far fewer issues.
And considering your model, 3 really is enough.

Also, since you're using a mirror modifier, take advantage of it and model only half of your model. Right now you're modeling some parts only on one side, some other in both sides, it doesn't really make any sense, it doubles your work and the final result is messy.
You're using a solidify modifier to thickens your model, but most of your model has already some thickness. You should constraint the solidify effect on a vertex group.

Or, to solve both those issues at once: separate your model into several objects witch their own modifiers. Select your mesh parts needing thickness, press P and hit Separate selection. Let you solidify modifier on the new object, and remove it from the original.


How to properly setup linear deformation in Hook modifier?

This setup you can easily build using armature deformation, but not Hook. But if you want to use hooks, try vertex group setting in hook modificator:

I draw vertex group using weight gradient:

When add  weight group into modificator settings:


To show this you need to go under the Bone properties tab and then Under the Inverse Kinematics you can set the rotation limits of the bones as shown below:

Note: Only X and Z limits will be represented in the 3d view as rotation around Y is rolling the bone around it's axis so it can't be visualised


Is there a max tris count number that I should not exceed?

Nothing you need to worry about it. I'm sure nobody managed to get that many vertices that hit that limit and can still use Blender. Remember you have limited memory ;).

  Is there a default tris count number for small(ornaments)/medium(furnitures)/big(houses/terrains) that I should be aware of?
  No

  ... do I keep checking till the fps drops and try to dissolve meshes afterwards?

It is the purpose of profiling to identify bottlenecks. It depends how much effort you want to investigate in it.

  Objects in different layers or stand-by scenes that might appear briefly or not appear at all in the game affect the fps?

Not loaded scenes just cost disk space.

Inactive objects (residing in hidden layers) just cost memory and load time, but no processing time while the game is running.

Added Objects need additional processing time to get added (which just a little). After that they are treated as normal objects.

  Objects with dynamic physics or objects with animations or characters with armatures or in general objects that interact with one way or another, do they need lower poly count than a similar one that would not act like the above and let's say would remain static and act as a decorative level asset?

Every detail causes costs in one way or the other. If you do not need a detail it is more efficient to skip that detail.

Example: A tree can have a lot of polygonal details for rendering but much less regarding physics. Other details are better presented in a texture rather then lots of polygons.

In general it is better to care such things when you have performance problems. Otherwise you spend time on aspects that might not be relevant to your situation.

Surely this is different when working on large projects, with several team members, strict budget and deadlines. Even than you will hit performance issues.


How to move(without scaling) objects from center of those objects and preserving dimensions

Maybe this option is what you're looking for (Manipulate Center Points):