Pie Menu Box Overlapping Python Question

Not an idea solution, but it gets the job done. I went ahead and just made it 4 menus that are broken up using "column_flow".

here is the code example...

class EditorSwitcherMenu(bpy.types.Menu):
    bl_idname = "editor_switcher_pie_menu"
    bl_label = "Ian's Tools"

    def draw(self, context):

        layout = self.layout
        #layout.scale_x = 50
        #layout.scale_y = 50
        pie = layout.menu_pie()
        #pie.scale_y = 1

        box = pie.split().box().row().column().column_flow(2)
        box.scale_x = 2
        #box.scale_y = .6

        box.operator("ian.recalc", text="Recalc Normals", icon='TIME')
        box.operator("ian.flip", text="Flip Normals", icon='TIME')
        #box.operator("mesh.primitive_cube_add", text="", icon='DOT')
        box.separator()
        box.operator("ian.ngon", text="ngon convert", icon='GO_LEFT')
        box.operator("ian.tri", text="tri convert", icon='ACTION')
        #box.operator("mesh.primitive_cube_add", text="", icon='DOT')
        #row = box.row(align=True).column_flow(2)
        box.separator()
        box.operator("ian.cpiv", text="Set Pivot Curve", icon='POSE_HLT')
        #box.operator("mesh.primitive_cube_add", text="", icon='DOT')
        box.operator("ian.cpipe", text="Curve Wire 1", icon='IPO')
        box.operator("ian.cpipe2", text="Curve Wire 2", icon='IPO')
        box.operator("ian.cpipe3", text="Curve Wire 3", icon='IPO')
        box.operator("ian.cpipe4", text="Curve Wire 4", icon='IPO')
        box.operator("ian.cpipe4", text="Curve Wire 5", icon='IPO')

        #box = pie.split(percentage=.80).box().row(align=True).column()
        box = pie.split().box().row().column().column_flow(2)
        box.scale_x = 2

        #box.operator("mesh.primitive_cube_add", text="", icon='DOT')
        #box = pie.split(percentage=.80).box().row(align=True).column()
        box.operator("ian.modelprep", text="Ian's Obj Prep", icon='VPAINT_HLT')
        box.operator("ian.modelprepnv", text="Ian's Obj Prep NO VPaint", icon='WPAINT_HLT')
        #box.operator("mesh.primitive_cube_add", text="", icon='DOT')
        box.separator()

        box.operator("ian.batch_export", text="Export to Substance", icon='RECOVER_LAST')
        #box.operator("mesh.primitive_cube_add", text="", icon='DOT')

        #box = pie.split(percentage=.80).box().row(align=True).column()

        box.operator("ian.exddo", text="Export to DDO", icon='RECOVER_LAST')
        #box.operator("mesh.primitive_cube_add", text="", icon='DOT')
        box.separator()
        box.operator("ian.pbrmap", text="PBR Map", icon='COLOR')


Run python file in blender from command line

An example that should work with Blender 2.80:
The directory:

folder
  | -> main.py
  | -> scripts
         -> __init__.py
         -> hello.py

scripts/__init__.py:

from scripts.hello import *

scripts/hello.py:

def hello():
    print('Hi')

main.py

import bpy
import sys

if __name__ == '__main__':
    sys.path.append('')
    import scripts
    scripts.hello()

And you launch it with: blender -b -P main.py.


How to snap the right edge of a strip to the playhead instead of the left in video editor

You can do the trick with if len(bpy.context.selected_sequences) > 0: bpy.ops.sequencer.snap(frame = bpy.context.scene.frame_current - bpy.context.selected_sequences[0].frame_final_duration).
Unfortunately you cannot write something specific like an expression into the Frame field fo the RNA SEQUENCER_OT_snap when you use sequencer.snap as the operator identifier for a new key map item in your Input Configuration.
But here's a workaround based on another answer here with the advantage that you can use any scripts saved in text data blocks via a hotkey:
Workaround [use this line of code via a Sequencer Hotkey]
Preparations

Save the following Script as a *.py file onto your Computer:
import bpy

bl_info = {
    # modified version of zeffiis quick script runner, see https://gist.github.com/zeffii/2b488961226ee1ecefcf
    "name": "Sequencer Script Runner",
    "author": "Samoth",
    "version": (0, 1, 0),
    "blender": (2, 7, 6),
    "location": "Sequencer, Properties Panel (right)",
    "category": "Sequencer"
}

class GlobalScriptRunner(bpy.types.Operator):
    bl_idname = "sequencer.script_runner"
    bl_label = "Sequencer Script Runner"

    def execute(self, context):
        # or put own script here...
        textblock_name = context.scene.global_script_to_run
        textblock = bpy.data.texts.get(textblock_name)
        if textblock:
            textblock_as_string = textblock.as_string()
            exec(textblock_as_string)
            return {'FINISHED'}
        else:
            return {'CANCELLED'}

class ScriptRunnerPanel(bpy.types.Panel):
    """Creates a Panel in the Sequencer Properties Panel"""
    bl_label = "Script Runner"
    bl_idname = "SCENE_PT_script_runner"
    bl_space_type = 'SEQUENCE_EDITOR'
    bl_region_type = 'UI'

    def draw(self, context):
        layout = self.layout
        layout.label('Script to run from Shortcut')
        layout.prop_search(context.scene, "global_script_to_run",  bpy.data, "texts")

def register():
    bpy.types.Scene.global_script_to_run = bpy.props.StringProperty()
    bpy.utils.register_class(GlobalScriptRunner)
    bpy.utils.register_class(ScriptRunnerPanel)

def unregister():
    bpy.utils.unregister_class(GlobalScriptRunner)
    bpy.utils.unregister_class(ScriptRunnerPanel)
    del bpy.types.Scene.global_script_to_run

Select it via Install from File... in the Blender User Preferences' (Ctrl Alt U) Add-ons tab and enable it.

Save the above Code line that does the trick into a new Text data block in a Text Editor view.

Usage

Assign a new Hotkey for the Add-on:

Select Sequencer and then Sequencer (Global) in the Input tab in Blenders User Preferences.
Scroll way down and Add New
Put sequencer.script_runner into the Operator Identifier Field
(You can see that it worked when the Key map events title will change to "Sequencer Script Runner" and the RNA changes to SEQUENCER_OT_script_runner)
Assign a Hotkey Combination, probably use Keyboard and Shift Alt S

Open a Properties Panel in the Video Sequence Editor
Select the above created Text data block via its name in the Script Runner panel
Just use the newly assigned Hotkey with some selected Strips (I tested it with a Color Strip) and enjoy ;-)

Explanation
You could put your Script lines directly into the Add-ons code into the def execute(self, context): block (where I placed the comment # or put own script here...) and omit the whole Panel creation stuff below. But this will reduce your abilities to this single usage example.
This way with the selectable Text data block you can save multiple ones, name them accordingly and run any selected one of them via the same Hotkey. And this has the huge advantage, that you can do context related stuff in there. You will notice that the above Script line won't work when you simply put it into a Text data block and hit Run Script (which already has a Hotkey assigned). That's due to your cursor not being above the VSE when you hit Run Script and therefore Blenders context is wrong for this to work properly. This isn't the case when you selected a Strip and then call the Script via this Add-on via the newly assigned Hotkey. Then you'd still be hovering over the VSE, so the context for the Script line is fine and it does what you asked for.


Attaching another object to cloth simulation

You can define a Vertex Group and assign the tag mesh to it. This Vertex Group ("Stiff" in the example) you can add under Property Weights of the cloth sim and experiment with the values.
All in all, I got a good simulated shape but it's not suitable for animation because the collision detection is inaccurate and the tag appears sometimes on the other side or gets overlapped (clipping).
I removed a few edges of the tag, it's more low-poly than the rest. But I am not sure if that is a good idea (collision). You can also try and add some of the verts around the tag to the Stiff group for a better result.
The simulation is somewhat sensitive to the entered values. Small changes to Self Collision for example can have larger effects. If the value for Self Collision in my example is increased from 0.001m to 0.005m then the plane wraps around the tag and goes crazy.
Good luck ;-)


For simple situations you can probably get away with snapping or the drop to ground addon.

For more complex situations, rigid body physics can be used:

You can probably use the convex hull collision shape (also see unexpected reactions in a quiet simple rigidbody physics simulation), but if you need concave collisions then you'll have to use the Mesh collision shape.

The mesh collision shape can be quite unstable, mesh to mesh collisions in particular.

One way to mitigate this is by increase the number of simulation steps in Properties > Scene > Rigid Body World:

But this doesn't always work completely. If you need to use the mesh collision shape, try to have it collide with a non-mesh shape if possible.

Also see Tips for making Mesh Rigid-body collision shapes more stable


Importing problems (*.3ds distorted / *.obj no materials)

I understand your frustration.

I see on the site there's a FBX model as well. Have you tried that?
I too have this experience with 3ds format (seems broken with recent max export). Also there is issues getting 3ds out from blender and into recent 3dstudio max versions (format has changed it seems)

If the FBX does not work,
(I'm not sure if you are on windows or linux ), but if you are on windows I would try to use this converter:
http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=22694909
convert the fbx to dae \ obj \ 3ds with this tool and try those files, that might help as well.


How do I display the absolute file (or directory) path in the UI

There is no reason to display the absolute path nor convert it or set some default path because the user can set it to absolute or relative in the File Browser (N) which is actually a nice feature. If you really need an absolute path representation at some point, just call bpy.path.abspath(path) as explained in How can I get the full path of the selected file from the file explorer?.

Further reading

How can I get the full path of the selected file from the file explorer? (potential duplicate)
Trouble file StringProperty subtype FILE_PATH (potential duplicate)


To change the Weight value press W (being in Weight Paint mode) and drag the cursor inward/outwards the small circle showing the weight value. After pressing W you may also type the value using numerical keyboard (e.g. you press W, then 1) and the weight value changes to 1).

Remember that you may also use shortcuts to change the Radius (press F) and Strenght values (press Shift+F). Use these to work faster.


The face at the right of the window is a NGon (a polygon with more than 4 vertices). NGons prevent Loop Cut to find his "way" in your topology, so LoopCut just stops when he found a NGon.


Can't find the palette to alter new objects

It sounds like you resized the top portion of the tool shelf, and collapsed or shut the operator properties part.
If that is the case you should be able to click on a little plus button on the bottom of the tool shelf and get it back. Then you can drag the separator to resize the operator properties.


With dynamic topology, to extend the mesh with additive geometry, use the snake hook brush. Use the grab brush, if you want to make small tweaks to geometry without changing the topology.


BKE_bpath_absolute_convert: basedir='', this is a bug

You're assigning to fname but then you're using filename in the next line. Same for tempFolder and tempfolder. This runs without error:

import bpy
import os
import tempfile

filename = bpy.path.basename(bpy.context.blend_data.filepath)
fname = os.path.splitext(filename)[0]
tempfolder = tempfile.gettempdir()
finalpath = os.path.join(tempfolder, fname)
bpy.ops.wm.save_as_mainfile(filepath=finalpath, copy=True)


Decided to try the dir() approach until someone proposes a better solution. Seems to be working for simple materials without textures, as well as some modifiers, etc. To me this looks pretty dangerous, tho.

In order to later update Blender objects based on the generated dict, I had to skip read-only properties.

def bl_to_dict(bl_object, ignore_getters=True):
    """Generic Blender object to dict converter."""
    skip_attributes = ['__doc__', '__module__', '__slots__']
    supported_basetypes = [
        "<class 'bool'>",
        "<class 'int'>",
        "<class 'float'>",
        "<class 'str'>",
        "<class 'list'>",
        "<class 'set'>"
        ]
    # TODO:: Add support for more types for which casting helps.
    supported_casts = {
        "<class 'Color'>": 'list'
    }
    # TODO:: Figure out how to support bpy_prop_array, bpy_prop_collection, etc.
    # TODO:: Perhaps recurse on members of more complex classes.
    d = {}

    attributes = [x for x in dir(bl_object) if x not in skip_attributes]
    for name in attributes:
        # Get attribute value.
        val = getattr(bl_object, name)
        # Ignore getter properties.
        if ignore_getters:
            try:
                setattr(bl_object, name, val)
            except AttributeError as err:
                continue
        # Check against supported types.
        type_str = str(type(val))
        if type_str in supported_basetypes:
            d[name] = val
        elif type_str in supported_casts:
            d[name] = eval(supported_casts[type_str])(val)
        #else:
        #    print("Type {} of attribute {} not supported yet.".format(type(val), name))
    return d

def dict_to_bl(bl_obj, bl_dict):
    """Update a Blender object from a dict."""
    for key, val in bl_dict.iteritems():
        setattr(bl_obj, key, val)
    return bl_obj

# From here on it's easy to either convert the dict
# to a string, to pickle, json, p-code or whatever it.

Disclaimer: The code is provided as-is. It's not guaranteed to work or anything. Getting and resetting random properties (basically what this code does) might seriously mess up stuff in Blender.


How to prevent my operators changes to a scene from being saved to file

I ended up duplicating the meshes with bpy.ops.object.duplicate(). Requires the mesh to be selected and visible, for some reason, so I unhide it with o.hide_set(False).
I didn't delete the duplicates for testing, which resulted in an infinite loop when iterating over for o in context.scene.objects. So I collected all meshes first in a list, then iterated over that list.


How to mathematically define a torus in a volume

This can be achieved by using the following node setup:

The formula which I implemented in order to achieve this can be found in the Wikipedia article for Torus. Note that this only works for tori whose big radius is greater than or equal to it's small radius.


I think that this is probably just because of the differences between Cycles and Eevee.  Eevee only "guestimates" the lighting, while Cycles calculates each beam of light and it's bounces. This is one of the reasons it is good to plan for which render engine you are planning on using before you start the lighting process.

BTW, I like your images. :)


Lost my rotary selector (Tab Key Pie Menus)

The Pie Menu is an addon

You can enable/disable it on the User Preferences Add-On section (Ctrl+ Alt+U)

Note that one can customize which Blender menus are displayed as pie menus using Preferences settings group in the User Preferences > Pie menu rollout (settings are available only after the addon is enabled):


In Cycles Preview (not rendering), GPU is 20 times faster than CPU, but only double in Rendering!

CPUs work better when using tiles, escpecially smaller tiles. While GPUs work better when using bigger tiles or in the case of preview, 1 tile the size of the whole image. So when previewing it's just like one big tile, and that's why the GPU is much faster. and when rendering, it uses small tiles, and that's why the CPU performs better when rendering.


Check Render Resolution Percentage

Factory settings have a percentage of the render size set to 50%, that means the to the values in the upper fields , a multiplyer of 0.50 units will be applied.

This feature it's very handy when it comes to build a quick preview keeping the final output proportions.

I you would like to render in full resolution just enter 100% as percentage.

Note: beware that the field accepts values also above 100. Count wisely the number of zeros.


Hotkeys to change viewport (Maya preset) won't work, why?

Everything works as expected, it's just that the keybindings assume Ctrl+0 should be pressed in order to activate front ortho view according to the Maya interaction preset (not Ctrl+Numpad 0).

If numbers from Numpad were expected it would be visible from this setup.


How to reduce edges and make a face out of it?

Just as Tainin said it is not possible to make a curved/bent/folded surface without joining two or more vertices with an edge. However you can make a low Poly model and use smooth shading (in tools menu) to give a more curved shade effect. Or perhaps the normal maps might help depending upon the purpose of your 'Ship'.


Where have RNA datablocks gone since 2.78b?

I believe they were removed from the outliner display to improve the drawing speed.

I have been using the Development tools API navigator to get access to the RNA information.


Found that I had PYTHONPATH set as an Environment Variable so I'm going to set up a batch file that resets that var before starting Blender.

This does resolve my issue, for anyone else with the same problem.


Euler Mixing

First, I want to tell how to mix between two eulers (Animate one euler into the other). The mixing factor will range between zero and one where zero means the first euler and one means the second euler and any factor in between zero and one is a linear interpolation between the two. It is clear that the factor for our animation will be the time, but lets worry about that later. The equation for the mixing (linearly interpolate) between two eulers $e_1$ and $e_2$ using the factor $\alpha$ is:

$$
e = (1-\alpha)e_1 + \alpha e_2
$$

Which is easily implemented in Animation Nodes as follows:

Now if I use the output as the rotation of an object and gradually increases the factor, I will get an animation like this where the $y$ value goes from zero to 180 gradually:

Now, if I want to utilize this to create an animation, I would use the current frame as the factor, but since the frame will change from zero to one in $\frac{1}{24}$ of the second, which is very fast. To slow it down, I will divide the the current frame by 24, that way, it will reach the maximum value (1) when the frame number becomes 24, because $\frac{24}{24} = 1$, so you see that the dominator of the division is actually the duration of the animation in frames. I will also add a minimum node to make sure the factor don't exceed one:

Now what if I want the animation to start at a certain frame? To achieve that, we have to make sure that the factor of mixing is zero for all the frames that preceeds the required start frame. To do that, we can subtract the start frame from the current time, making all the frames before it negative, if we then clamp the output to zero, all negative numbers will be zero and we would have achieved what we wanted, here is an example where we set the start frame to be 24:

Animating Objects

We are now ready to animate the list of objects you have. Lets say we have this setup:

If we want to animate the objects, we will multiply their matrices by a rotation matrix with an animated euler (Euler we computed in the foregoing section), like this:

If we want the animations to start at different frames, all we have to do is subtract those frames just as we learned before:

Since we clamped the factor, the objects will stay at their final orientation after the duration of the animation is finished.

If we want to change the rate of change of the animation, we can evaluate the factor at some interpolation having the same derivative as the one we want, for instance, to create an ease-in-out effect, we can evaluate the factor at a sinusoidal interpolation:


Camera settings to simulate miniature scale model

The best way to do this is just to find the real life values - as a ballpark, try scaling your model down to the 'model' size that you want, somewhere in the order of 10cm. You might want to adjust the blender grid and unit settings to make this easier to work with. The only other thing left to do is choose an aperture.

Generally photographers might use a wide aperture (low number) to get this effect. Start from 2.8 and see if it is too much/not enough. From there, adjust the focus distance, aperture and model scale to fine tune the result.


As you have noticed, drawing bgl is relative easy. For trivial stuff many settle for immediate mode, because the overhead in their drawing routine is never noticed (either a really fast processor, or simply minimal drawing instructions).

As soon as you crank up the amount of geometry and complexity of the drawing call, you will need to think about optimizations and perhaps use a DisplayList. Optimize the code you were using in immediate mode first. Use timers and reproducible geometric inputs to see what kind of effect your code modifications have and figure out which parts take up the most time overal and concentrate on those, profiling helps.

A DisplayList isn't magically going to make your fresh bgl drawing faster.

You already noticed that using the push / pop matrix for 3 vertices can introduce more overhead than calculating them directly.
a .co  is already a Vector, it doesn't need to be recast as a Vector()
I'd try some counter intuitive things like pre-calculating the coordinates for all polygons you intend to draw, then for-loop through them inside GL_TRIANGLES where each 3 new vertices pushed is part of a new Tri.
Consider numpy! initial filling of arrays may be the bottle neck, after that you can get a lot of processing done very fast with the right constructs. (becomes off-topic for BSE)

50k plus edges, in your program translates to 50k polygons with 150k vertices, that's a lot of geometry to update/recalcuate with python and bgl at a high frame-rate.

It may be worth considering splitting it into subsets, if not all data needs to be updated
If it makes sense, show only a sampling of all your points, show more samples in the area you are editing, and less or no samples from beyond it.
If it's not visible, does it need to be calculated.
does it need to be 3d? it's easy to convert view3d 3d coordinates to 2d screen coordinates, and drop edges if they don't meet some criteria like:

the length of the edge on-screen is below a set amount of pixels, don't calculate draw arrow, don't draw it.
are both (or just one) coordinates of the edge visible, decide based on this whether you need to draw it.

only consider selected edges (this will include the active edge).

Alternatives to bgl

Mesh

For Sverchok we found it was worth experimenting with a non bgl way of displaying mesh data, by generating a Mesh object and let Blender take care of the Drawing! Such a Mesh object can either be wiped and refilled between updates or you can use a foreach_set('co', flatlist) when the geometry of the existing mesh has the same amount of coordinates as the geometry you're trying to replace it with. It might be worth reading the code we settled on: nodes/basic_view/viewer_bmesh_mk2.py  -- there's no guarantee this this will be any faster, but it does sidestep home-grown bgl code.

DupliVerts + rotation

It is possible to make a secondary mesh with only the points where these arrows are supposed to appear, and then assign the vertices of the secondary mesh each a custom normal by doing v.normal = orientation. The duplicated Object will then rotate to point in the orientation passed to the normals. Example code: https://gist.github.com/zeffii/d61a4963e6c093dda52b

drawback is that if you go into Edit Mode for the duplivert mesh, the normals will reset. (but you probably don't even need to go directly into edit mode for that mesh..)
it is possible to use foreach_set('normal', flatlist) on the data.vertices collection which is quite fast.


Why does a cross effect in the Video Sequence Editor overwrite a multiply effect?

It sounds like your cross effect strip is being applied on top of the multiply effect strip.

The result of the effect strip completely overrides any strips below it. To work around this, use the cross effect strip to blend the multiply effect strip and the black color strip.

There are many variations on how to go about this, for example:

Method 1

Add a Multiply effect strip with the image and the video strips selected.
Add a Cross effect strip with the Multiply effect strip and the color strip selected.

Method 2

Add a Cross effect strip with the color strip and the video selected
Set the Blend of the image strip to Multiply in Properties region (N) > Edit strip > Blend

Method 3

Add a Multiply effect strip with the color strip and the video selected
Add a black color strip on top and keyframe the Opacity in Properties region (N) > Edit strip

Method 4

Without any effect strips:

Set the blend of the image to Multiply and move it above the video strip
Add a color strip on top and keyframe the Opacity.

Also see this question.


Why doesn't rigid body physics work properly after I add the Build modifier?

I suggest to add an invisible wall to bypass the problem of the cube physics when the build modifier is attached to it. So the ball will collide and bounce on that wall.

This is a quick experiment where the cube acts the way you need (I don't know why it works):

https://filebin.net/zisptqbp3v67qm9c


As Batfinger already said the points on the mesh are called Vertices and not Nodes. Nodes are a completely different sphere of blender which includes stuff like materials and compositing.

As for you question, selecting the Vertices and pressing F will fill in the faces.


Compositing Mist Over Multiple Render Layers

Use a math node in the compositor set to “minimum” to merge multiple mist passes:

“Occluding” objects in the mist pass will always have a lower value than what they are occluding, since the distance range of the mist pass is the same for all layers. “Minimum” takes the smaller of the 2 input values. So this will simply merge all occlusion objects. Just add more math nodes if you have more than 2 layers: you can merge a 3rd mist pass into the combined results the same way you merged the first 2.


Is there a way to add a custom Pie Menu in 2.8?

there are two ways to add custom pie menus.

get the Pie Menu Editor addon (paid).
code it yourself, its not that difficult, you can use my pie menu addon as a starting point, if you have never coded you might want to learn about python first or just copy the code below and put it in a file that ends with .py go to the Add-ons tab and click install, chose the file that you made with the code below.

This is a basic addon that should do the job, the default keymap is Ctrl + D
import bpy
from bpy.types import Menu

bl_info = {
    "name": "S.Simple Pie Menu",
    "author": "Syler",
    "version": (0, 0, 0, 1),
    "description": "Adds Pie Menus",
    "blender": (2, 80, 0),
    "category": "3D view"
}

addon_keymaps = []

def add_hotkey():

    wm = bpy.context.window_manager
    kc = wm.keyconfigs.addon

    if not kc:
        print('Keymap Error')
        return
    # object Mode
    km = kc.keymaps.new(name='Object Mode', space_type='EMPTY')
    # here you can chose the keymapping.
    kmi = km.keymap_items.new(
        VIEW3D_OT_PIE_template_call.bl_idname, 'D', 'PRESS', ctrl=True, shift=False)
    addon_keymaps.append((km, kmi))

def remove_hotkey():
    for km, kmi in addon_keymaps:
        km.keymap_items.remove(kmi)

    addon_keymaps.clear()

class VIEW3D_MT_PIE_template(Menu):
    bl_label = 'S.Menu Navigation'
    def draw(self, context):
        print("test")
        layout = self.layout
        prefs = context.preferences
        inputs = prefs.inputs

        pie = layout.menu_pie()
        pie.prop(inputs, "view_rotate_method", expand=True)

class VIEW3D_OT_PIE_template_call(bpy.types.Operator):
    bl_idname = 'sop.sm_template'
    bl_label = 'S.Menu Navigation'
    bl_description = 'Calls pie menu'
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):
        bpy.ops.wm.call_menu_pie(name="VIEW3D_MT_PIE_template")
        return {'FINISHED'}

def register():
    bpy.utils.register_class(VIEW3D_MT_PIE_template)
    bpy.utils.register_class(VIEW3D_OT_PIE_template_call)
    add_hotkey()

def unregister():
    bpy.utils.unregister_class(VIEW3D_MT_PIE_template)
    bpy.utils.unregister_class(VIEW3D_OT_PIE_template_call)
    remove_hotkey()

if __name__ == "__main__":
    register()


How do I change the axis reference point of an object?

You need to set the object's origin to the center of the circular base.

Go into Edit Mode (Hit Tab). In edit mode you can select vertices, edges or faces. To switch the mode to vertices, or edges or faces hit CtrlTab. Select the one that's convenient for you.

The goal is to have the center vertex on the circular base selected or a loop of edges around the circular base, or all the faces of the circular base. Whichever's center point is at the center of the circular base. Now set cursor position to selected. Use ShiftS. Select cursor to selected. Now exit out of edit mode. Hit Tab.

Now set the origin to 3D cursor. Use ShiftCtrlAltC. Set origin to 3D cursor. Now you can position the object in reference to the new object origin. Done. :-)


How to add ambient light when using cycles render?

In a typical photographic situation, you would add fill light from a soft / broad source. This could be above your object in question, or a fill light lower down and in front. Using an area light allows you to get the softer breadth required to avoid hard shadows.

Light ratios also tend to be completely whacked unless you are using a viewing transform that emulates a more photographic range of light as well, typically over-crunching the shadow data, and horrifically crimping the highlight data that is in an image. If you are interested, have a look at this question.


coinciding faces - how can I remove both of them

If I understand you correctly, you want a hole through the mesh. Before you extrude, turn on snapping to vertex.  Now extrude and snap to one of the vertices of the back face. This way the faces will be exactly overlapping. Now just delete them with X. At the end do Remove Doubles from the Vertex menu. The vertices will be joined.


Create 3 curves/pipes that intersect holes in multiple objects and are equal distance from each other

Final

Bevel for Curve (wires)

In this step you will create Bevel object for main curve.

  Changed to method Duarte Farrajota Ramos mentioned in comments.

Shift+A > Curve > Circle.
In Edit Mode select all and duplicate your Circle than scale it down.
Turn on Snapping and move duplicated Circle up.
Switch Pivot Center to 3D Cursor.
Duplicate smaller Circle and rotate it by 120 degrees.
Repeat step 5. for another Circle.
Remove bigger Circle.

Main Curve

Here you will make Bezier Curve which you can manipulate as you want and it will keep your wire in place.

Shift+A > Curve > Bezier.
Go to Data tab.
Select Bevel Object.
Crank up Preview Resolution.
Most probably you will need to scale down your Bevel Object.

Placing Main Curve in holes

I've used a bit tedious way. Most important thing here is to have the same number of vertices in Bezier Curve (Main) as number of hole objects.

Select inner loop of hole object and place 3D Cursor in it - Shift+S.

Select vertex from Main Curve and move it to 3D Cursor - also Shift+S.

Repeat for every hole selecting another vertices from Main Curve.
Select all vertices in Main Curve and V > Vector than V > Automatic to have unified handles.
Tweak handles to be round.


Huge increase of memory use when increasing the resolution

If you see memory usage changing while rendering, it could be because of Denoising enabled, try:

lowering the render tile size
changing the tile order (from Hilbert to Left-to-right), so the minimum number of tiles are kept in memory
disabling Denoising altogether

Explanation why extra memory has to be used for denoising is here:

Why does Denoising take up so much memory?


Fluid sim effector not working correctly

It appears that you found the solution?  Your blend file worked for me.  The Collision Effector surface thickness has to be at least 0.5 Thickness, which I have reported as a bug.  And I have no idea why the default Sampling Substeps is '0', when I find that is often insufficient.


How do I “group” objects so they all move together? (Version 2.8)

Parent

You can select many objects first, choose the candidate parent last and then parent.

Please note Blender always has many options to achieve similar goals.  There is the concept of Join and Blender Armature.  This proposed answer will focus on Parent.

Parent menu has many options Control-P. Use the keystroke because Blender will give you more options this way

To remove the Parent with options press Alt-P

Those options may keep your original transformation.  I believe the parent feature is able to do what you want.  Object Keep Transform.

Parent and Group are two distinct concepts in Blender.  So you may want to use Blender terminology.

Here is a video tutorial for creating a group and parenting. It may or may not be the same version of Blender you are using. You may choose a different tutorial on the topic of [Parent] which you like better. I just did a quick search.

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

or the manual

Parent Concept

https://docs.blender.org/manual/en/latest/editors/3dview/object/properties/relations/parents.html

Group Concept

https://docs.blender.org/manual/en/latest/editors/3dview/object/properties/relations/groups.html


How to Extrude so That Extruded Face Isn't Parallel

I am a newly-converted fan of the Offset Edges plugin.  It does exactly what you're describing (I think, based on your description).

https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Modeling/offset_edges

Edit: it does this type of thing:


Texture is only rendered correctly in first frame

The cause of my problem was that I had not set Still Frame Number to 1, see this post: Bug? Voxel Data Animation Issue (Still Frame Number Keyframe not rendering).

Maybe it helps somebody else.


It looks like you could use a Boolean Difference modifier to cut a hole into your main object.

In the gif it looks like the face you selected is connected to the object that is going to be used to cut a hole. In order to select the whole cutter object, select the face shown in the gif and press Ctrl+L. Then press P and separate it from the main object. Once separated, press TAB and go into Object Mode and select the object that is going to be cut. Go to the modifiers panel and add a Boolean modifier to the main object. Change the Operation to Difference and for Object select the object that is going to be used to cut the main object. Then press apply and there should be a hole in your main object.


If I understand what you mean, you wish the bottom of your sphere object to touch exactly the grid, as if it "felt" on a virtual ground (that doesn't exist).

To achieve this, you need to tell blender exactly what you mean by bottom, unfortunately. I.e., you need to (temporarily) move the origin of your sphere to the object's mesh feature you wish blender snaps everywhere, even to the grid.

E.g. you need to go into edit mode, select only the bottom (vertex?) of your mesh,

then go back to object mode, and select "Object > Set Origin > Origin to 3D cursor"

After doing so, the snap command referred to the absolute grid snap

will allow you to exactly snap the (temporary) origin of your object as you wish.

Then you can restore the origin of your object using another option from the same menu above, i.e. "Origin to Geometry"

If you had a "floor" object like a plane or else, you could maybe use a rigid body simulation to let your sphere fell onto the "floor", but that requires much more setup for a simple task like this, although it could be useful though to let  as series of objects (e.g. tree shaped objects) to fell onto another one (e.g. a mountain shaped big object) instead of placing them manually...

The rigid body simulation will also be quite real, and your object would need to sit perfectly on the floor or, as maybe in the ICOsphere above, it would roll on a side, etc. Not recommended in this case.

I hope this answers you.


Are you having trouble when moving your object too? Because I had the same problems before. To solve, deselect everything in edit mode and then go to object mode. You can click to an empty place for deselecting everything or doubleclick on A fastly.


If, for example, you've rotated your bone, i > Location won't save the rotation but only the location, so you need to make sure that you've keyframed the right data.

What you can do to avoid that is to always save LocRotScale.


Mesh unwraps in undesired way (seams are not obeyed)

Your mesh has some problems.  You have not joined the wing to the body correctly which has left unconnected edges and interior faces. This is the cause of the extra UV islands.

You can see the problem area by clicking Select -> Select All By Trait -> Non-manifold.  You should remove the interior faces and connect the wing to body for the mesh to unwrap properly.

You also have several nasty poles that may affect the way the mesh deforms once rigged.  If you are intending to fix these, it might be worth altering the topology before you UV the mesh.


why UV texture seems to be translucent on renders?

Well, I just find what was causing my problem: the white specular.

Lowering the specular intensity and darkening it actually solved the "issue":


In this case you can use the "Fast" mode in the modifier settings in order to limit the heavy calculations caused by the "Exact" solver mode.


How do I keep my texture when making my object low poly?

I've never used Adobe Fuse, but you can keep the high poly texture and use it to the low poly with the baking technique. After you unwrap the low poly model, just create a new blank texture in the UV/Image Editor. Make sure you have a material for the high poly with all needed textures, and another material for the low poly. In this material, add a texture image node (you don't have to connect it to another node, just create and place it) and choose the empty texture you created before.

Using Cycles, set the Bake Type to Diffuse (or any other property of the high poly's shader, if you need it) and active the Selected to Active checkbox. Click the high poly object first, then the low poly and eventually click Bake.

The texture you created before now contains information (the diffuse color in my example), and you can use it in the material of the low poly object (just connect the image texture node you created before to the shader node you need).


Grease pencil 2.8 render doesn't work with pixel filter?

Yes, those are for general settings. The grease pencil settings (on viewport) and (on render) that you want to play along with, are right here:


Rendered frame rate is different than the original footage's

Make sure the frame rate is set to 30 here.


What you try is:

verts_file.write("%i " % (v + 1))

But v refers to a MeshVertex instance. What you need is the .index property of the vertex:

verts_file.write("%i " % (v.index + 1))

Or count yourself:

for me in meshes:
    for i, v in enumerate(me.vertices):
        print("%i " % i)
        print("%.16e %.16e %.16e\n" % v.co[:])


Background Video is shown in Rendered mode but not when szene is rendered

Try any of these node setups in the compositor:

Movie as background:

Image as background:

Source:
cycles not rendering movie clip used as background


Why wireframe thickness changes in edge mode?

Swapping between the different edit modes changes the look to show you what you're editing. Vertex select makes the points thicker, face select will highlight faces, and in your case, edge select makes the edges thicker.

It's purely UI based, the actual thickness of your edges is not changing. Renders won't look any different.

To display the same thickness, use the Viewport Overlays menu.


Orient animated camera horizon to object Y axis

I found solution.

Locked Tracking to Empty moved along object Y angle.


Plane ..(single quad face, CtrlXdissolve internal edges if not)
Edge Mode, select long edges, right-click menu > 'Subdivide'
In the adjust last operator panel, (bottom left of 3D view) set the number of cuts to 19.


To speedup rendering, you may render smoke, sparks and  volcano separately. Maybe you have accidentally rendered every 2nd frame? do the frames per seconds from the render settings match the video output FPS settings?


I am not an openGL expert. The documentation links to OpenGL 2.1. I don't think this version supports render to texture.

import bpy
import bgl

viewport_info = bgl.Buffer(bgl.GL_INT, 4)
bgl.glGetIntegerv(bgl.GL_VIEWPORT, viewport_info)

WIDTH  = 400
HEIGHT = 400

img = bpy.data.images.get("texture")
img.gl_load(0, bgl.GL_NEAREST, bgl.GL_NEAREST)
tex = img.bindcode

out = bpy.data.images.new("output", WIDTH, HEIGHT)
buffer = bgl.Buffer(bgl.GL_FLOAT, WIDTH * HEIGHT * 4)

bgl.glDisable(bgl.GL_SCISSOR_TEST)
bgl.glViewport(0, 0, HEIGHT, WIDTH)

bgl.glMatrixMode(bgl.GL_MODELVIEW)
bgl.glPushMatrix()
bgl.glLoadIdentity()

bgl.glMatrixMode(bgl.GL_PROJECTION)
bgl.glPushMatrix()
bgl.glLoadIdentity()
bgl.gluOrtho2D(0, 1, 0, 1)

bgl.glClearDepth(1.0)
bgl.glClearColor(0.0, 0.0, 0.0, 0.0)
bgl.glClear(
    bgl.GL_COLOR_BUFFER_BIT |
    bgl.GL_DEPTH_BUFFER_BIT
)

bgl.glEnable(bgl.GL_TEXTURE_2D)
bgl.glBindTexture(bgl.GL_TEXTURE_2D, tex)

bgl.glBegin(bgl.GL_TRIANGLES)

bgl.glColor3f(1.0, 1.0, 1.0)
bgl.glTexCoord2f(0.0, 0.0)
bgl.glVertex2f(0.0, 0.0)
bgl.glTexCoord2f(1.0, 0.0)
bgl.glVertex2f(1.0, 0.0)
bgl.glTexCoord2f(1.0, 1.0)
bgl.glVertex2f(1.0, 1.0)

bgl.glEnd()

bgl.glCopyTexImage2D(
    bgl.GL_TEXTURE_2D, #target
    0, #level
    bgl.GL_RGBA, #internalformat
    0, #x
    0, #y
    WIDTH,
    HEIGHT,
    0 #border
)

bgl.glBegin(bgl.GL_QUADS)

bgl.glColor3f(1.0, 1.0, 1.0)
bgl.glTexCoord2f(0.0, 0.0)
bgl.glVertex2f(0.0, 0.5)
bgl.glTexCoord2f(1.0, 0.0)
bgl.glVertex2f(0.5, 0.5)
bgl.glTexCoord2f(1.0, 1.0)
bgl.glVertex2f(0.5, 1.0)
bgl.glTexCoord2f(0.0, 1.0)
bgl.glVertex2f(0.0, 1.0)

bgl.glEnd()

bgl.glFinish()
#bgl.glGetTexImage(bgl.GL_TEXTURE_2D, 0, bgl.GL_RGBA, bgl.GL_FLOAT, buffer)
bgl.glReadPixels(0, 0, WIDTH, HEIGHT , bgl.GL_RGBA, bgl.GL_FLOAT, buffer)
out.pixels = buffer[:]
img.gl_free()

#reset
bgl.glEnable(bgl.GL_SCISSOR_TEST)

#necessary(?)
bgl.glViewport(*tuple(viewport_info))

bgl.glMatrixMode(bgl.GL_MODELVIEW)
bgl.glPopMatrix()
bgl.glMatrixMode(bgl.GL_PROJECTION)
bgl.glPopMatrix()

Result


How to select extruded vertices in bmesh?

Bmesh ops have return values.

Unlike bpy.ops which only return a status of operation, bmesh.ops in many cases return a result. bmesh.ops.extrude_edge_only(...) is one.

It returns a dictionary with a list of elements. {'geom': [<BMVert(0x7fc7a6b0ef50), index=528>,....]}

There is an example on bmesh ops api that uses extrude extensively.

import bpy
import bmesh
from mathutils import Vector

ob = bpy.context.object
me = ob.data

bm = bmesh.from_edit_mesh(me)
selected_verts = [v for v in bm.verts if v.select]
# deselect all verts
for v in bm.verts:
    v.select = False

edges_to_extrude = [e for e in bm.edges if not e.smooth]

ret = bmesh.ops.extrude_edge_only(bm, edges=edges_to_extrude)
geom_extrude = ret["geom"]
print(ret) # the geometry returned from op.
del ret

verts_extrude = [ele for ele in geom_extrude
                   if isinstance(ele, bmesh.types.BMVert)]
# select them
for v in verts_extrude:
    v.select = True
bmesh.update_edit_mesh(me)


You should definitely look into rigging. It's often used to animate characters, but has a place anywhere you're trying to deform an object like this.

I would add several bones along your shape, then parent the shape to the armature using envelope weights. See here.


for stability I don't allow bones to follow paths.  Instead I use an 'Empty' or dummy invisible 2D plane and parent the main armature to that, then have the dummy follow the path.  You could try that.

It's an easy matter to vary the main armature's attitude/rotation/pitch etc without having to worry about any interaction the path constraint might have.  I don't recall ever having problems varying individual bone movements either.


The answer to the problem is that I was trying to parent the object in REST mode. In order for this to work it has to be POSE mode.

If anyone wants to contribute an understanding of what REST mode is even for, that would be helpful for anyone getting to grips with this problem.


I would recommend using the bisect tool (new in Blender 2.69):

Enter edit mode (Tab), then press Space and type in Bisect, or select Bisect from the toolshelf (under Add).
Click and drag, to bisect the object.

Press F6 to bring up the options for the tool, and select clear inner, or clear outer depending on which half you don't want.

If you don't want to delete half, but just want to select it:

Instead of step 3, press H to hide the loop:

Hover over the half you want and press L to select linked vertices under the cursor:

Unhide everything (AltH), leaving you with one half of the object selected:


How do I keep particles invisible until x seconds after they're emitted?

If you're using Cycles, you can accomplish this by mixing with a Transparent shader depending on the Age output of the Particle Info node:


Is it possible to create realtime outline effect in Eevee, only with shaders?

Here's a rough attempt in eevee.

A Shader to RGB and a color ramp in constant mode, with a limited range of colors, then used for color in an other diffuse shader, will take care of the toon look.
Fresnel used as fac to mix a black diffuse shader will create the outline (I added a color ramp to distort the Fresnel info a bit).


How to snap the center of a face to another face?

You can use Vertex Snapping.

You can enable it by clicking on the magnet icon or If you wan't to use it temporarily, hold down Ctrl.

I would recommend setting the second option to active:

You use it by moving your object in edit mode Tab:


Single a single material across several objects with individual control

Select the part of the material that you want to share and make it into a group with ⎈ CtrlG. Use the group in each material with any custom nodes you may want for the object.

Using a group you can connect any inputs you want so that each material can use different values to customize the material for each object, while the nodes in the group stay the same.


Show progress bar in Blender 2.8 exporter

This is all I've found so far:

import bpy

win = bpy.context.window_manager

win.progress_begin(0, 100)

for i in range(1,100) :
    win.progress_update(i)

win.progress_end()

Update

According to the source code this was intended to be a real progress bar, but that was back in 2013, unfirtunately it seems to have fallen into obscurity.


You should use your favorite search engine to find the dimensions of the camera sensor and lens used in your device, Then type them into the  Sensor and Lens settings for motion tracking in the Movie Clip editor. To make a new preset just press the Plus sign on the camera presets so that you can use it for future projects.


Symmetrize bone generates flipped X axis

Yes this is how it is supposed to be. And you are right, you cannot easily copy over your limit constraints, if they are defined in world space. Since the "world axis" are not mirrored.

But if you set them to local space, they should copy just fine. And local space is what you want anyway in most rig constraints. Otherwise depending on rotation your bend axis would change and a bend forward in t-pose would become a painful bend in any other pose ;)


How to stack UV island using Python in Blender?

Here we need three things:

Find the 2d cursor position
Check the mode we are in before processing the UV coordinates
Use the UV layer to find UV coordinates

For each face, once UV coordinates are found, calculate their center and offset the coordinates by the difference from the cursor.
Note that if no UV editor opened, won't find the cursor and does nothing.
Commented code:
import bpy
from mathutils import Vector

def find_cursor_location():
    # Look through area and find the first image editor
    for area in bpy.context.screen.areas:
        if area.type == 'IMAGE_EDITOR':
            return area.spaces.active.cursor_location
    return None

obj = bpy.context.object
cursor = find_cursor_location()

if cursor:
    #Check the mode as we cant do it in edit mode
    mode = obj.mode
    if mode != 'OBJECT':
        bpy.ops.object.mode_set(mode='OBJECT')

    me = obj.data #Need to get it here in case mode is changed
    uv_layer = me.uv_layers.active

    if uv_layer:
        for poly in me.polygons:
            # Get all Uv coordinates of the face
            uvs = [uv_layer.data[loop_index].uv for loop_index in poly.loop_indices]
            # Its center
            center = sum(uvs, Vector((0,0))) / len(uvs)
            # The needed offset
            delta = center - cursor
            # Shift UV coords
            for uv_data in [uv_layer.data[loop_index] for loop_index in poly.loop_indices]:
                uv_data.uv -= delta

    #Back to the mode we were in
    if mode != 'OBJECT':
        bpy.ops.object.mode_set(mode=mode)


Okay, so I figure out a solution for now.  I was able to use texture paint and switch to vertex mode to paint each part of the armature (shirt, body, tie, etc..)
These changes were permanent.   FYI it is not as good as textures but I am still trying to figure out how to change the colour of the original textures.  If I figure it out I will update.


The problem is that your object's origin is in the middle of your object. The Mirror Modifier uses the object's origin to mirror from, so you need to do one of two things.

Either set the origin of the object to your 3D cursor
Or add an Empty to the center of your scene, and select it in the Mirror Object option in the Mirror Modifier to mirror from the Empty's origin


What Inverse kinematics technique does the legacy IK solver use?

TL;DR The legacy solver uses Jacobian IK.

I'm not very familiar with the IK implementation, but here is what I've found out from Blender's source.

source/blender/ikplugin/intern/iksolver_plugin.c contains (parts of) the code that make up the legacy solver. In this code iksolver_execute_tree() calls execute_posetree() which creates the IK solver using IK_CreateSolver(). This results in the creation of instance of IK_QSolver. This object contains an instance of IK_QJacobianSolve which is used when execute_posetree() calls IK_Solve and passes IK_QSolver as argument.

This means the solver uses Jacobian IK. The actual implementation of the solver can be found in intern/iksolver/intern/IK_QJacobianSolver.cpp.


fractured object meshes follow along path in order in AN

You can use an ID Key to define an order using the selection tools as follows:

To use those indices to define the delay order of a follow spline action, you can can simply sort the objects based on the indices as follows:


How to transfer weights between vertex groups on separate meshes

am dum dum and found the answer like 10 min later.

Answer was to use a Data Transfer modifier on the mesh, have both Backup Mesh and OG Mesh in the exact same position, then enable Vertex trasnfer thingy, select the mesh you wanna transfer weights to in my case "UwU -> Nyaa"
(apologies for custom theme, hopefully its understandable)

this means whatever weights are on the "UwU" vertex group will be transfered over the "Nyaa" group. now the reason they need to be exactly positioned is because its more of a weight projection transfer rather than a seamless transfer.

Another useful and more practical method (suggested by moonboots in the comments, thanks!) is to use the "Transfer Mesh Data" tool, easiest way is to Search "Transfer Mesh Data" and once you click on it you will see similar settings than the modifier.

For transfering vertex groups make sure the active groups on both meshes are the ones you wanna transfer, way it works is transfering Active object's weight over to selected.


How to hide light object keeping the brightness alive?

You achieve it by removing camera from ray visibility like here


Viewport objects became transparent gray. Fix?

Be sure to have the X-Ray disabled in the Viewport Shading menu (see image).


Get length of Bezier curve with python? (For driver)

The animation node plugin implements a node for calculating the length of a curve:

You find the sources here.

An older BA thread also provides some snippets.


How can I delete the same animation/curve channel from all selected objects?

Find and remove
The fcurves collection of an action has a method to find fcurves from data path and index, and a remove method.
The same action can be linked to multiple objects, so will use a set to find all the actions' fcurves.
There really is no need to look at the group, location x keyframes have data path 'location' and array_index 0.
Test code. Since you mention you are going to convert this to an operator have added the context variable context = bpy.context  Once test code works, lose this and use the context argument passed to operator/panel methods, when pasting into operator code.
import bpy

context = bpy.context

data_path = "location"
index = 0 # location.x or location[0]

#objects = bpy.data.objects # all
#objects = context.scene.objects # all in scene
objects = context.selected_objects # selected

all_fcurves = set(
    o.animation_data.action.fcurves for o in objects
    if o.animation_data and o.animation_data.action
    )

for fcurves in all_fcurves:
    fcurve = fcurves.find(data_path, index=index)
    if fcurve:
        fcurves.remove(fcurve)

for bones the data path is akin to
'pose.bones["Bone"].location`

in which case to find  x location keyframe it could be simpler to replace the find method with
def find(fcurves, data_path, index):
    x = [fc for fc in fcurves
         if fc.data_path.endswith(datapath)
         and fc.array_index == index]
    return x.pop() if x else None

Thanks, I can use your answer later, but you missed the exact point of
my question. I do not know that the user will delete specifically the
X Location channel. Instead, I want to present a list of channels from
all selected objects to the user, so that he will select, for example,
"I want to delete the Z Location from all selected objects". However,
I could not find a way to convert location[2] to "Z Location".

Re-read the question appears to be a pretty good attempt at an answer to part i. Generally the idea is to have one question per question , re part 2
Can get the name of the property via the "RNA" eg if an object has an fcurve with datapath "location" or "rotation_euler"
>>> C.object.bl_rna.properties['location'].name
'Location'

>>> C.object.bl_rna.properties['rotation_euler'].name
'Euler Rotation'

>>> C.object.bl_rna.properties['rotation_euler'].subtype
'EULER'

>>> C.object.bl_rna.properties['location'].subtype
'TRANSLATION'

As for the axis name from index, have asked this question Python RNA getting the names of Vector axes. (eg "g" is color[1])
>>> index = 0
>>> "XYZ"[index]
'X'

and as for your third question, with espanol selected as language.
>>> bpy.app.translations.pgettext("Location")
'Posición'

consult the docs.  https://docs.blender.org/api/current/bpy.app.translations.html#module-bpy.app.translations


How to generate a normal map from a bump map?

In Cycles, you can do like this :

create a plane and unwrap it
add a material to it, like this in the node editor, from left to right : UV input node, your source image, a bump map vector, connected to the displacement of the material.
The result image (on the right) is added and selected in order to be baked to.

Now go to the render panel, in the bake section : choose bake type = "Normal", and click "bake".
Here is the result :

The blend file :


adding to @moonboots Comment: In edit mode, select vertex, vertices, or part of the "bar" you want to be the Pivot point (internal cylinder), and then RMB: Snap vertices: Cursor To Selected.

Then in Object Mode: RMB: Set Origin: Origin to 3D Cursor.  Then your pivot point will be correct

I then did the same for your "Plane.014" connection point internal cylinder.
I then aligned the bar (origin) to the Plane.014 origin:

And then the rotation of the bar was as desired:

Here is the result:
Also consider setting the Pivot Point to Individual Origins when doing these adjustments, as the 3D Cursor may not be where you want (usually located at 0,0,0):


Varying Intensity of Texture Map Over Single Mesh

You can use vertex paint and input the result with an attribute node:

here is a detailed mesh

Here is the vertex paint

Here is the node setup

and here is the result


You will need to alter the code used to build blender to make it draw the highlights differently.

You can however toggle the display of each highlight separately, so you only see one at a time. In the 3DView Properties region N you can find the mesh display panel -

Note that the mesh display settings are unique to each object, not a global setting.


Particle hair does not follow rigged mesh

Problem solved: This effect vanishes, when the particle system is located after/below the subsurface modifier.


Why would adding a parent with Python make the child unmovable?

This works fine:

import bpy

C = bpy.context
bpy.ops.object.text_add(location=(0, 0, 0))
a = C.object
bpy.ops.object.empty_add(type='PLAIN_AXES', location=(0, 0, 1))
b = C.object
a.parent = b
a.matrix_parent_inverse = b.matrix_world.inverted()

As you can see:

There must be something wrong with the code you use for creating the objects.
You should try removing the parenting part of your code and see if the code around it works fine.


I don't know if it helps to remind that X-mirror works along the x-axis. Your character would need to face negative Y to take advantage of that. And Object>Apply>Rotation also.


While using a brush texture in paint mode the value of the texture is mixed with the brush color.
To paint with the original color of the texture set the brush color to pure white.


How can I adjust text size of the interface in Blender 2.8?

Open the preferences (Edit > Preferences). There are two options that allow you to change the font size.

You can adjust the overall size of fonts and widgets using the Resolution Scale in the Interface tab.

Alternatively if you want to change the font size without affecting the size of icons and widgets, you can modify the theme's font size in the Theme tab under Text Style. There you can adjust the size using the Points option for panel titles, widgets and widget labels separately.


Actually you won't get rid of a lot of edges with X > Limited Dissolve because you need almost all of these edges to keep your holes.

Here is an explanation of what I mean:


If you want to shift the UV maps around you could use the random output from the Object Info node to give each texture a random location.

My simple node layout:


Head mesh jumps into the eye mesh after joining armatures

I had a look at the file. This is caused by your shapekeys that uses vertex groups. Weighting is also assigning vertex groups. And that's what is conflicting here when you skin your headmesh. When i remove the vertex groups for the shapekeys before skinning then all works well.

So, first skin the head mesh, then create the shape keys for it.


How to disable All Face and Vertex modes when vertex painting?

This option can be found beneath the 3D View. Its icon is a cube with a grid on it.


What is the reason the view isn't rotated around the selected object?

Go in Edit mode and select all, as you can see you've accidentally created a vertice far from the origin point of your mesh, it completely moves the rotation centre of your 3D view (as the Rotate Around Selection option, in the User Preferences, seems to consider the Geometry Origin, not the current origin of the object, as its pivot point):

In Object mode, if you selected this object, you weren't able to see this vertice, it looks like you can see edges and faces (surrounded by an orange line) but not isolated vertex.


Cycles SSS not working on AMD Radeon GPU

The fact that a feature is supported in Cycles doesn't mean it is supported for all computing methods, nor across all devices.

It is largely known that OpenCl computing on AMD branded cards is not at the same level of support as CPU rendering or CUDA on Nvidia cards. Not only is performance non-optimal, there a lots of bugs and limitations, and many features are not yet supported.

[According to the manual as of 2.78# series SSS is not supported in AMD cards as stated in the Render Features page.

That may change in future, Mai Lavelle's work on Cycles Split Kernal may make it to 2.79, and may bring new features with it including SSS for OpenCL


How to intersect a texture with another mesh?

In order to replicate the effect , as shown by the question you have given above , in 2d with textures you will have to use a different approach, which is by using the blender's node editor,  the texture (here, logo) you want to apply the effect on should be added as an image texture in the node editor and then you will have to add a mix node and mix it with a transparent shader. Now, you can create a gradient and use a color ramp to tighten it up, also connect a Voronoi texture in between the texture node and mapping node in order to create a river like effect and use the x or y co-ordinates of the mapping node to make it go all the way from black to white ( if you want to inverse it just make it go from white to black and add an invert node after the color ramp ) and use it as a factor for the mix node. Finnaly you are going to achieve the effect you are looking for.


How to connect vertices of two grids efficiently?

Select boundary loops, which actually will be used anyway afterwards, and proceed with Bridge Edge Loops.

Select all the geometry of both grids.
In 3D View header menu choose Select > Select Boundary Loop (or find it from Space menu).
Once boundary loops selected it's time to connect them. Press Ctrl+E >  Bridge Edge Loops.


Mesh appears normal in solid mode but looks weird in textured mode

The most likely cause would be the normals, that is which way the polygon is facing, the outer side is the one that has the texture drawn on it. In edit mode select all and press CtrlN. If that makes it worse try CtrlShiftN to flip them the other way.

Worst case scenario you can select individual faces and flip the normals using Mesh->Normals->Flip (Flip normals is also available in the specials menu W)


Sure. The easiest way is probably to enable the “UV Sync Selection” option, which is the button that looks like two diagonal arrows at the top left of the UV editor:

This will synchronize your UV selection with the selection of geometry in the 3D viewport. Then you can just select whichever faces you want to separate in the UV editor, move your mouse cursor to the 3D viewport, and press Y to split the faces within a single object or P to separate the faces into a new object.


Having issues moduling zootopia style fur

I am kind of where you are right now. I can give you some input maybe.

There might be a better way but a workaround at least is to duplicate the parts of the mesh and then separate them into a new object. That way you won't get hair in areas you don't want it. You can hide the emitter, so you only see the hair.
It will probably look better if you use more parents and less children.
Might be okay if you do it like answer 1.
You can set the thickness of the hair at the root and the tip. Yours is probably still set to 1 at the root. Try lowering it to 0.25
I am not sure, maybe related to question 2.


How to make a circular set of verticies square

After subdividing the cube/square to match the circle subdivisions number (with W-->Subdivide) you may try to join vertices using the Bridge Tool. Select the vertices with Alt+RMB as pictured below, hit Spacebar, type 'bridge edge loops' and then dissolve the newly created edgeloop. Select it with Alt+RMB, then hit X-->Dissolve Edges. At the very end select the vertices of a square, hit Spacebar, type Grid Fill and set up the settings as pictured below.


Displace modifier RGB to XYZ Direction, how to invert on the x axis only

I have solved my issue using nodes rather than a modifier thanks to the suggestion @Allen Simpson commented. I'm fairly new to the workflow and application of shader nodes but I will try to explain in more detail.
My issue was that I needed to turn my texture map into a Vector Displacement node to point my displaced geometry in a consistent direction something the Displace Modifier can also do using the textures RGB values. the only issue is the modifier method requires you to set RGB values in the Texture Properties > Colors > R,G,B and it only accepts values 0-2. you can use the strength value in the Displace Modifier to multiply that value even in the negative direction but it applies it to all 3 RGB values equally. not sure if there is a way to do what what I needed via the modifier but that's ok.
After giving the shader nodes another go I found the Separate RGB node and everything clicked from there. After feeding it my color from my Image Texture nodes output I fed the R value, which represents the only axis I wanted to modify, into a Math node and multiplied by -1 and fed the output and the G and B into their respective X, Y, Z values in a Combine XYZ node. Then I dropped that output into a Vector Displacement node to give the displacement its direction.

With this solution you can easily build a vector by adding a Math node to each of the other values on the Separate RGB node before combining them as XYZ!
Also to answer my own other questions;

Clamp works like Clamp in the Mirror Modifier in that IF there are any values below 0 and Clamp is turned on, it reverts to 0 but it does not automatically grant your colors RGB values to go below 0. No such thing as a negative color value after all. Not sure if there is a way to get the negative values for the Displace modifier but its not that way. Nodes do a good job of letting you take a value from the color and then mod it as you need. Much easier imo.

Not sure but it seems like a harder way to do this, but it would be good for getting a different effect. I think it can make really psychedelic kaleidoscope like geometry animations?


The Distribute operator from the OscurArt Tools addon works fine, however it expects one object from those to be distributed put at the end of the distribution area. This means one should select one object of those overlapping ones, move it away as desired, then select all the others, make the standalone one as active and run Distribute.

There are 5 monkeys overlapping in one spot in the first frame on the image below; one is moved to the right on the second, and then the rest of them are distributed with addon.


Armature pose position is different orientation from initial layout in edit mode, and automatic weighting problem

In the IK constraint of your lower arm, you have to correct your Pole Angle to something like -180°. You often have to make this kind of correction after you've parented. I see you already changed to -90° but this was not enough.

I guess there are some other corrections to do. Personnaly I would parent the hand to the handle, and deparent the pole target from the handle, and make something simpler for the foot, etc... but maybe I miss something   ;)


Fill Curve Cube without intersecting parts

Well,This expected from what you did.There is no way to solve this.

Instead you can use the Wireframe modifier to generate a similar result.

You can also flatten the face to get a more neat result:

Flatting can be done using the keys S + Axis + 0 after selecting the right faces.


How to import Zbrush brushes(files .ZBP) to Blender

In fact there is a pack of ZBrush sculpting brushes for FREE on the BlendSwap site which could be of your interest...

https://www.blendswap.com/blends/view/86419

Hope it helps buddy, Jan


How can a single Curve Interpolation Mode set to Constant?

You can select left-click-select every single Key in the Graph editor and press T to change the interpolation. This will always only affect the interpolation up to the next key of that one curve.

Further controls for this:

A deselects all keys, just like in edit-mode.
L selects all keys of the curve of which one key is currently selected.
Tab locks the selected curve to prevent it from being edited.


The issue is in your skinning.

For a mesh to be deformed by a bone, you need this mesh to be assigned to a vertex group named exactly like the bone.

Your eyes are assigned to a single vertex group named "Eyes", while you have two bones, named "Eye.L" and "Eye.R". So you have to remove that "Eyes" group, create new groups with the bones's names and assign the geometry accordingly.

Also, for each bone not supposed to deform the mesh, you should uncheck the Deform panel:

This will avoid unnecessary calculations, memory overload, and such non-deforming bones won't create vertex groups as they don't need to.


Is there a global wire (display) option, not wireframe mode?

Currently 2.80 version only has global "wireframe displaying" option in overlays:

If you need a solution for 2.79, you can find some addons, witch toggle this settings for all objects in scene. For example:

https://meshlogic.github.io/posts/blender/addons/toggle-object-wire/


Is there a way to split a flat multi-poly face into squares and triangles easily?

These functions can be useful for you. Hit ctrl+e or ctrl+f in edit mode.


Turns out it was a Nvidia Driver issue (I was using v.372.54) even though their online support denied so.

Downgraded to v.368.81 and everything is back to normal :D


In Blender 2.8, how to make an animation with different objects appear at different keyframes

If I understand your question correctly you're simply trying to switch objects visible for one frame, then off again to be replaced by the next object at the next frame and so on...

The slo-mo video below shows masks 10, 11, & 12 being visually switched in and out at frames 10, 11 & 12 respectively.  This is done in the Outliner at right.  The eye icon is simply keyframed on or off by hovering over the icon, clicking so it's on or off, then pressing  "i" key. (insert keyframe)  If you make a mistake, hover on it again and press  "ALT-i"  to remove the keyframe, or CTL-Z.

Note - when not rendering  in OpenGL, the camera icons would need to be switched and keyframed the same way.


Trying to export rigged model to FBX. But it keeps spitting out weird errors

<genexpr>
    elem_data_single_int32_array(lay_uv, b"UVIndex", (uv2idx[uv_id] for uv_id in _uvtuples_gen(t_luv, t_lvidx)))
KeyError: ((nan, nan), 43)

The first (bottom) error suggests there are errors in the UV map. Try recreating the UV map. The FBX export module requires a valid UV unwrapping for all vertices in the model. Go into the UV Unwrap tab and re-unwrap your model(s).


Why are the python style modules of freestyle not working?

Yes there have been changes made to the freestyle api in various versions since it was added to blender. Freestyle is still there and working, it is just that some of the older python scripts might need updating. I'm not sure of any list of these changes, but you could compare the above page to this first release of the freestyle api. You could find the api used in other releases by starting here.

The first link you have are examples from five years before freestyle was added to blender and may not be close to the python support that was included with the first version of freestyle in blender.

Looking at the console output when using any of these older scripts might be helpful in finding where they fail.

The link to dfelinto's github repo has the same files that are included with blender releases, these files in his repo are identical to the current official development version of blender. Dalai is one of the blender developers and that repo is a copy of blenders code with some changes that he is working on.


To use the curve modifer you need to have a curve object.

To create one place the 3d cursor in the same place as your text's origin and press ShiftA to Add->Curve>Bezier Curve.

Select the text and on the curve modifier set the bezier courve as the object to control the distortion for the text.

Editing the curve will allow you to distort and place the text.


UPDATE: The answer below is for Blender 2.92, in the experimental build 2.93.0 Alpha this already works. Keep the nodes in the order described down here. Set Vector to Attribute and enter the value vertex_normal (or choose it from the dropdown menu).
For Blender 2.92: Not the answer to get it working (because it doesn't in this or older versions), jut a quick explanation of how to setup the nodes and what they do.
The Align Rotation to Vector node rotates the points of the plane object according to values you enter in there (if Vector option set to Vector instead of Attribute). Which means, you have to put it before the Point Instance node to have an effect on the rotation of the instanced objects.
However, this only rotates all points into the same direction for X/Y/Z given by the three values entered there (all set to 0 would mean, the rotation isn't changed at all).
So Attribute must be the option to choose I guess - and this is the point where someone should take over who knows how to get the vertex normals. I don't know and can't find a list which attribute names Blender understands, but in my opinion the attribute which gets the vertex normal must be put in there and it should work as you want it.
I just watched a Youtube video on geometry nodes and talking about the attributes it was mentioned that the normal attribute is still a work in progress and yet only used by the Point Distribution node.


Path Animation Evaluation Time keyframe error

I guess you have automatically generated an animation and you need to delete if before creating any keyframe on the Evaluation Time value:

Select your bezier curve.
Open the Graph Editor.
Unfold BezierCurve on the left to select the Evaluation Time track.
Press N to display the Graph Editor properties panel on the right.
Press the Modifiers tab.
Delete the Generator modifier.


How to add Multires subdivide button to my own script

Pass parameters to layout.operator

The modifiers property panel is in "button context" and has a member context.modifier which the associated operators use.  In the 3d view toolbox there is no such context member, but we can pass the modifiers name to the operator.

Also rather than row after row, can use column layout.

import bpy

class CustomPanel(bpy.types.Panel):
    """A Custom Panel in the Viewport Toolbar"""
    bl_label = "MultiModifer"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "Sculpt"
    bl_category = "Tools"

    def draw(self, context):
        layout = self.layout
        obj = context.object
        mro = [m for m in obj.modifiers if m.type == 'MULTIRES']
        col = layout.column()
        for m in mro:
            col.label(m.name)
            op = col.operator("object.multires_subdivide", text="Subdivide")
            op.modifier = m.name
            op = col.operator("object.multires_higher_levels_delete", text="Delete Higher")
            op.modifier = m.name
            col.label(text="Multires Levels")
            col.prop(m, "levels", text="Sculpt")

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

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

if __name__ == "__main__":
    register()


Thnx, but i solved it before i read your post.
This is what i got

EDIT:
Here's how i did it


How do you simulate an LCD projector where a lamp projects a patterned light onto a surface? (cycles)(cycles)

You can do this with a spotlight using the pretty much the same node setup as you have but with an additional mapping node to position the image.

You also need to be sure to set the spotlight light size to something small or your projected image will look blurry.

And the result.

Update:

Here's it working with your blend file, no settings changed:


How can I export and store light curves?

I would encourage you to start with the CDL node, as it is easy to replicate and generate looks that can be loaded with OpenColorIO.

If you are using a complex node chain to modify an image, you can reuse your crafted looks. It will require a bit of learning and patience. If you wish to dive into this subject, feel free to wade through this longwinded post written by an idiot. Also note, Blender's curves (and the entire UI) isn't colour managed by and as a result it is not likely responding the way that one might believe it is.

This post over at Blender Artists is quite useful as well.


How can I get a random number that is constant per object in a material

OK, this is quite easily doable:

For the per-object random, go for the "Object info"-node. It has an output called "Random", which gives out float from 0 to 1.
For the per-particle random, go for the "Particle index"-node. It has an output called "Index". It gives out a number in a logical order. To create randomness, have it ran through the "Noise Texture"-nodes "vector" input. This will give you a random number (though for better randomness, I strongly advise you to crank up the "Detail value" to the maximum).

I hope this helps you.

For more useful tips about nodes, I strongly advise you to refer to Andrew Price's Cycles Input Encyclopedia (https://docs.google.com/document/d/1U6Ygtl7yBWi9MGcRfcEC7L4HPKCHH6t6nsqCfIutdFE/edit?usp=docslist_api) and Andrew Price's Cycles Shader Encyclopedia (https://docs.google.com/document/d/1U6Ygtl7yBWi9MGcRfcEC7L4HPKCHH6t6nsqCfIutdFE/edit?usp=docslist_api)


Unexpected rotation when exporting .fbx for Unity

That is because Blender uses +Z as a up direction whiles Unity uses +Y (most other 3D packages do so). So when exporting your file make sure you have pressed:

PS: I am not sure about the forward, you might have to try both -Z and +Z as I am not sure of Unity.


how to hide green pyramid of group objects handler

What you call "group objects" are in fact called Group Instances. They are objects using the Dupligroups feature to instance a group definition.

Any object can do that, but by default Group Instances are inserted in a scene as a Empty object type. Besides the group they are duplicating Empty objects can have a virtual representation in the 3D scene.

It can be one of several predefined shapes, and its size and settings can be controlled from the Object Data tab in the Properties editor.

What you are seeing are the arrows represeting these Empties. Either reduce the size of the empty display, or change it to something else that doesn't get in your way.

In the Properties Window > Object Data> Empty adjust the empty display settings.

Change it to either Plain Axis or something else that suits your need. Also reduce the Size property


Blender has a few oddities, including:

Script need to be reloaded/refreshed when changed/loading via the little double-arrow button in the node block next to the filename. Use that when/if loading/changing.
If there are ANY errors or oddities in your script (at least in Blender 2.8) - this will result in your node not changing to reflect the current script it's pointing at. i.e. It won't give you an error, but when changing the node block from one script to another - it simply wont change. (Button above can help your diagnose errors)
FYI - If not shades to not actually work - make sure you are not using GPU rendering. OSL works with CPU rendering, only. In addition - make sure "open shading language" is checked below the CPU option (in the Scene property under "Render Engine").


Why can't I see an outline around selected objects?

It sound like you disabled Show Overlays. You can activate the overlays by clicking the Show Overlays button, usually found in the top right corner.


It should be that you scaled the curve after setting the constraint.

select the curve and hit CTRLA and apply scale...

it should be fixed. Screenshots will follow if needed...

The answer is already accepted, but since I already have done screenshots, here they are, showing the problem and the solution... may help others understand.

first you set the follow path animation:

then you Z-scale  the path and happens this

but you can select the path, and apply the Z-scale

so you get the correct ball shape, no more deformed...

edit

screenshots showing curve frames count for the same curve Z-scaled (applied)

72 frames for both curves:

the second curve has frames doubled now...


Make the light follow the path with a Follow Path constraint, Target should be the curve that you want to use as path.

Then add a Track to constraint. Set the Target to the empty (or object you want the light to point to)  with the following settings:

To = -Z

Up = Y


I solved it. The problem whas crated by the power node that crated a mirror. I removed the mirror by seting all valus below 0 to 0.


Enable lamp 'Use Nodes' from python Console

This is the python command used to enable Use Nodes and change a lamp strength

Blender 2.79

# enable Use Nodes
bpy.data.lamps["your_light_name"].use_nodes = True/False

# set strength, set the default_value to whatever you like
bpy.data.lamps["your_light_name"].node_tree.nodes["Emission"].inputs[1].default_value = 10

Blender 2.8

# enable Use Nodes
 bpy.data.lights["your_light_name"].use_nodes = True/False

# set strength, set the default_value to whatever you like
bpy.data.lights["your_light_name"].node_tree.nodes["Emission"].inputs[1].default_value = 10


Try creating a material.

Blender internal:

Create a material in Properties > Materials panel:

To simply add some color, you probably want to set the Diffuse color instead of the object color:

Object color only affects the render when enabled in Material > Options:

Object color is used to add some color variance per object without adding new materials.

Cycles:

AFAIK, Object color is not used at all in cycles.

Render:

To give an object a color in the render for cycles:

Create a new material in the Materials panel by pressing Add new:

This will automatically add a Diffuse shader.
Adjust the Color input of the diffuse shader:

Viewport:

To give the object a color in the 3D view set the Viewport color in Properties > Materials > Settings > Viewport color:

Note that the Viewport color is separate from the colors defined in the material which will appear when rendered. (It will only affect the 3D view)


You can press ↹ Tab to switch in and out of a node group, or you can press the arrow button in the header to go to the parent node tree:

To ungroup nodes:

Go to the parent node tree
Select the group node
Press ⎇ AltG


Here's how I fixed it on my end.

Switch to edit mode and then press 2 for edge selection mode.
Select > All by Trait > Non Manifold
Deselect the open face at the very top of the arm
Press X > Delete Vertices
Select > All by Trait > Non Manifold (Again)
Press F to fill all the remaining holes.
Add a Remesh modifier to the object.
Set Voxel Size to .003 and Adaptivity to 0. Enable smooth shading.
Hit apply on the modifier and continue sculpting without errors. You might need to smooth out some areas after the remesh.

Here are images of these steps:


What have I done that causes the one face to be effected differently to the subsurf modifier?

The face was in fact detached. At some point I must have used the Hotkey Y and split the face whilst the face was selected. According to the blender Manual this disconnects (splits) the selection from the rest of the mesh and the border edge to any non-selected elements are duplicated and the “copy” is left exactly at the same position as the original.
To fix this I used the Remove Doubles tool which according to the Blender Manual merges the selected vertices that are closer than a specified distance to each other.

In Vertex Mode, Select all, Ctrl-V (shortcut to Vertex menu), Remove Doubles.

This answer was in fact provided by Robin Betts in the comments section. Many thanks to him.


It is possible to export a raster animation for Flash, (.flv). There are no Blender plugins (or native features) that let you author .fla or .swf interactive content. Some parts of the flash format remain closed source, but if someone really wanted they could using the MXMLC compiler.

The grasp that Flash once had on the interactive web has faded significantly with the growing improvements in JavaScript and adjacent technologies. Egged on a little by Apple's decision to stop supporting Flash directly on it's mobile devices. In light of recent (July 2015) revelations about years-old, but profound, security issues, the public's sense of trust in Flash isn't improving.

There are solutions for getting Blender content online and animated + interactive:

Code WebGL directly
Three.js
Blend4Web

intended to make the process a lot easier, a shining endorsement is the fact that NASA uses it. See this other answer about interactive web tech built with a direct pipeline from Blender.
Why the blender browser plugin is not updated?


How do I remove the line gap things after separating some meshes? (apple peeling)

Using the Data Transfer modifier to transfer vertex normals from an uncut whole apple to an apple that has been cut up into several seperate objects, (slices).

To the whole uncut apple object, apply any modifers.
Open up the Object Data Properties panel and enable the Auto Smooth option.

Give this apple object the name apple_whole.

In Object mode make a copy of apple_ whole.

Hide the "apple_whole"object.

Give the newly created object the name "Slice"
Add a Data Transfer modifier to the slice object.

The Source Object will be apple_whole.

Enable Face Corner Data and select the Projected Face Interpolation option.

Select Custom Normals.
In Edit mode selected the different slices and separate them into separate objects.

The the apple should now be sliced up into a number of different objects and each of these objects should have the Data Transfer modifier.

If you look carefully in the screenshots below you should be able to see the difference between a sliced apple without the Data Transfer modifier(on the left) and the sliced apple with the modifier (on the right).

Note; Thankyou to BGibonus (model) and AGF81 (texture) on Blend Swap for providing the Cylcle_compatable apple, free of charge, that was used in this post.


How to code a working Pie Menu for Sequencer?

Too many shortcuts in keymap def.

Define the space for keymap
Use keyword arguments to make sure they are assigned correctly.

edit:

wm = bpy.context.window_manager
km = wm.keyconfigs.addon.keymaps.new(name="Sequencer",
         space_type='SEQUENCE_EDITOR')
kmi = km.keymap_items.new("wm.call_menu_pie",
        type="S",
        value="PRESS")
kmi.properties.name = "pie.vsetools"


Material not showing up in Material (or Rendered) View Mode

In edit mode select the part of the mesh you want to use a certain material, then select that material from the list and press the Assign button.


First, instance a sphere a certain number of times and position them based on a number of random vectors.

Then, we create a material for those objects such that its emission color is initially zero and randomly increases to become one. The random output of the Object Info node ranges between zero and one, if we subtract one from it and clamp the result, it will be zero, if we add one to it and clamp the result, it will be one. So if we add to it a value that animates from negative one to one and clamp the result, we get the result we are looking for. The animating can be done through the Cycles material Output and Animate Float nodes.

Then, we will use the Find Close Points node to create connections between the dots.

Finally, by animating the Bevel End of the splines, we can make them grow as follows.


My Enviroment Background doesn't show up?

The environment is not showing up in the render because you have Transparent checked in the Film section of the Render property panel. Uncheck that and it will work.

I would also add that if you DO want to composite the foreground and background element, to leave the Transparent box checked. Then you can enable the Environment render pass and combine the foreground and background renders in the compositor.


How to change timing of my mocap BVH and how to optimize keyframes

You can use the Simplify Curves addon, which is already with your Blender.

Enable the Addon;
Switch to Graph Editor, select all curves that you want to simplify, press Space and search for Simplify Curves. Then press F6 to tweak the Error theshold.

To be more accurate, you have to remove those unneeded "interpolated" keys manually, which needs time.


Any way to weight paint a specific value?

If you're using 2.79:

You can set the maximum value of the brush from the "Weight" option under the brush, from my experience the assigned weight will not exceed this value.

If you select a part of your mesh you can assign a weight ranging from 0-1.0 from the Object Data Properties tab. You can also see & modify the values assigned from the N menu's "Vertex Weights" tab when a vertex is selected.


Your issue is that you've moved your viewport really far away from your scene, out of its render distance, so you couldn't even see your objects anymore.

One quick solution is to select any object of your scene (or just press A), and use the "view selected" function available in the View menun or via Numpad .. That's it.


Rendering only missing frames on animation

In the Render Settings under Output you will find the overwrite option will do what you want.

  Overwrite - Overwrite existing files when rendering.

What that means is that when overwrite is disabled and blender goes to render frame 12 and the file for frame 12 already exists it will not render that frame and go onto the next one.

For the VSE, if a bad (or empty) file exists for a frame when you add the image sequence to the VSE it will read the updated file for the bad frame/s once you have rendered them.


All meshes have different color, but they do have the same texture

UPDATE: you should try Gordon's proposal - he is an experienced PRO Blender user - i just started using Blender a few month ago...so scroll down to his professional answer.
repair your face orientation like this:
mesh -> normals -> recalculate outside

UPDATE:
i know, the "moderators" here are very fast with closing questions although they appearantly didn't check your blend file.
I never saw something like this, but i found a "workaround" for you.
Check this video how you can "repair" it.
https://youtu.be/UyEyzjV2r9k
Essentially you can at least improve it by adding some loop cuts at the right positions.
So here is Gordons answer:
Solution is quite easy, the darker part has some "thickness" to it and smoothing goes around the edges. Not even deleting the solidifying faces helps. Autosmooth would normally take care of that, but if you enable it you see the "30°" is greyed out. That's because there is some custom Geometry Data on the object. Click on Clear Custom Split Normals Data to remove it and Autosmooth works as expected. I've made some screenshots for explanation, too. –


What you suggested is probably the best option. Line up the edge loops, selected the two vertices across from each other and press "m" on your keyboard and select whichever option you wish. "At center" will bring the vertices closer to a midpoint and merge them, "at first will merge them at the location of the first selected, and "at last" will merge them at the location of the last one selected.
If the two parts are from different models though, there is no guarantee that you will have the right number of vertices to merge without messing up the topology, it may be worth it to re-model the smaller piece.


confused about "unwrap" vs "modifier unwrap"

You may be confusing the name of the modifiers, there is no "UV Unwrap" Modifier, there's only a UV Warp and a UV Project modifier.
Unwrapping, as you already know, is used to provide texture coordinates to an object so Blender knows how to apply a certain texture to the mesh geometry.
It is a manual process and sort of "destructive", in the sense that if you change the object's geometry after unwrapping (through modeling, sculpting or creating new geometry) you may need to adjust your UVMap afterwards or totally unwrap any newly created geometry.
It is however the only way to obtain correct texture coordinates for complex shapes. It is also the only type of texture coordinates that can be exported from Blender. If you plan on using the model elsewhere (like a game engine, third party application, or external software) it is required to unwrap your model so image textures can be applied reliably in the destination application.
Apart from that you have "generated" type of texture coordinates like Object or generated, which can't be exported and are generated by the render engine (Cycles or EEVEE) at render time. For many common cases and workflows where manually unwrapping is undesirable or unpractival these will suffice, if you don't require exporting your models.
For certain corner cases or specific applications you can use the mentioned modifiers for certain tasks in parallel with unwrapping or in its place, but they are not universal replacements for unwrapping.
UV Warp Modifier
The UV Warp Modifier, added to an already unwrapped object, uses two other objects to modify or manipulate an already existing set of UV coordinates. It may be used when you want an animated texture, want the UVs to somehow react to other objects, or edit UV Maps directly from the 3D view with interactive visual feedback.

UV Project Modifier
The UV Project Modifier is used as a replacement for UV unwrapping to generate a UV map as if a certain image was being projected over the mesh from a certain point in 3D space, like a true slide projector. It is often used for video mapping and inserting 3D objects into a real filmed scene.


When you open up the Spider-man model it blocks a script for the rig, which Blender asks your permission to run or ignore. I enabled the script the second time running it and the Misc tab showed up for me.


Are you in edit mode or object mode? If it says object mode in the bottom tab, press TAB to go to edit mode, usually you can fill using F.

If you're in wireframe mode you can't see the faces, Z is the default shortcut to enter and get out of wireframe


You can use the wireframe modifier without applying it. Just set checkbox on "Apply modifier" in the object settings on your model and the engine will do it automatically during export, so you can more easily modify your mesh in Blender if you leave the wireframe modifier on it.


Information about the side of the mirror (left or right) while using mirror modifier?

you can select one part of the mesh by using a two-tone texture with halves along the axis, in this texture the x axis have the red tone, meanwhile the y axis have the green tone, in this way you can either select texture U ,V or both that provides the mirror modifier.

In material you put the above texture in the red node, in node green you use the node group setup of the second panel, and you must place the UV "mesh" in only one halve. With this node-setup you have the information of U texture or V texture, and you could also work with symmetrical or asymmetrical textures, like the example, in the blue node you have a symmetrical texture, meanwhile in the yellow node you have an asymmetrical texture.

UPDATE

Apparently there's no need for an auxiliary texture, the blend file with the groupnode is here http://pasteall.org/blend/index.php?id=46015, set 0-1 for bypassing the symmetrization of the UV coordinates, set 1-2 for U texture, set 2-3 for V texture, set 3-4 for U and V texture symmetrization. The node also gives you the mask of each coordinate.


you can access to the cursor location with this code

bpy.context.scene.cursor.location


UV Project modifier doesn't line up with background image

You can simply type the dimensions of the preferred output into the UV Project modifiers Aspect values fields.

If you want the image to be distorted (anamorphic), then enter the scene's dimensions. If you want the image to fit the camera view (and therefore crop the overshoot), use the source image dimensions.


How to deform a surface 3-dimensionally with two curves

Ok, a triangle with one straight edge, two concave edges, and a concave bridge between them.
Let's start by making a triangle out of a plane like this:

Then delete only the face by selecting everything and pressing X, N.

Subdivide all three edges with 2 cuts and extrude and scale inward about this far.

Using individual origins (. for pie menu), scale the edges up until the corners are close enough to merge.

Press M and merge by distance. Increase the distance until the message at the bottom shows 3 vertices have been removed.

Select everything and fill with F.

Add a subsurf.
Holding Alt, click twice on a boundary edge to select the whole boundary. You can then set the edge creases to 1 with ShftE.
Tweak the vertices to your liking and you will get something like this:

If the normals are flipped, in edit mode, just press ShftCtrlN to calculate the normals to face opposite the "normal" direction (since the mesh is concave).


You select both objects and press Ctrl+J, to make them one object. But if you sculpt, you'll easily get the separate parts appear to be dividing up where they're not joined by their vertices. The best thing to do would be reduce the number of edge flows (temporarily) so you can cut an edge around the body where they meet the legs, delete the faces that are inside the legs, press Ctrl+J to join them, then merge vertices so you have one continuous surface.  Hopefully you have an UN-applied smoothing modifier on which you can delete to simplify the geometry.


How to reload linked libraries from script?

you can use the data of the blend file
bpy.data.libraries[YOUR BLENDER FILE NAME HERE].reload()


Select your object, use Shift+S, then select "Selection to Cursor" in the menu.


You have to add a displacement node (shift+A vector/displacement) to your texture and plug it to height socket.


Yes. Use the smooth modifier with a negative factor.