text:
Rotate the viewport camera around x- and y-axis instead of x- and z-axis
When I press the middle mouse button and move the mouse, the viewport camera in Blender rotates around both the x- and z-axis, i.e. it pitches (x-axis) and rolls (z-axis).
From other 3D programs I'm much more used to the approach where the axis horizontal to the screen is x, vertical in respect to the screen is y and from the screen towards the user is z. The viewport camera in such software then rotates around the x-axis (pitch) and y-axis (yaw).
Is there a way to configure Blender's viewport camera to rotate around the x- and y- axes instead of x and z?


text:
Cannot pass arguments to Python script when executed by blender.exe
On Windows, I'm trying to have blender.exe execute a Python script that internally uses the argparse module for the arguments handling. What I'm struggling with is how to properly pass the arguments that the script expects on the command line.
I'm well aware of this similar question that was already posted here but the solution that is proposed there does not seem to work properly.
First, the script that I want to execute looks as follows:
import argparse
import os
import sys

def parse_arguments():
  parser = argparse.ArgumentParser()
  parser.add_argument('--input-folder', help='Folder containing the files to be imported', default='WhateverFolder')
  parser.add_argument('--output-file' , help='The path of the file to be created'        , default='WhateverFile')
  return parser.parse_known_args(sys.argv)

arguments, unknown = parse_arguments()

print('\n--input-folder: %s' % arguments.input_folder)
print('--output-file : %s'   % arguments.output_file)

print('\nAll arguments:')
print(sys.argv)

print('\nRecognized Arguments:')
print(arguments)

print('\nUnknown Arguments:')
print(unknown)

According to the already mentioned similar question the arguments that shall be supplied to this script need to follow the sequence -- because apparently that is how blender.exe recognizes arguments that it shall not process and instead forward.
However, when invoking the script as follows the script output shows that the parameters are not properly processed by argparse.
"%ProgramFiles%\Blender Foundation\Blender\blender.exe" --background --python test.py -- --input-folder OtherFolder --output-file OtherFile

The output that the script generates looks as follows:
Read prefs: C:\Users\<MyAccount>\AppData\Roaming\Blender Foundation\Blender\2.79\config\userpref.blend
found bundled python: C:\Program Files\Blender Foundation\Blender\2.79\python

--input-folder: WhateverFolder
--output-file : WhateverFile

All arguments:
['C:\\Program Files\\Blender Foundation\\Blender\\blender.exe', '--background', '--python', 'test.py', '--', '--input-folder', 'OtherFolder', '--output-file', 'OtherFile']

Recognized Arguments:
Namespace(input_folder='WhateverFolder', output_file='WhateverFile')

Unknown Arguments:
['C:\\Program Files\\Blender Foundation\\Blender\\blender.exe', '--background', '--python', 'test.py', '--', '--input-folder', 'OtherFolder', '--output-file', 'OtherFile']

Blender quit

As can be seen, the default value of arguments.input_folder does not get overridden with OtherFolder, nor is arguments.output_file set to OtherFile.
If I discard -- before the script arguments the script the outcome is as expected, i.e. arguments.input_folder is OtherFolder and arguments.output_file is OtherFile.
But the problem is that now blender.exe seems to interpret these arguments as something it needs to process which results in the following error message:
Error: Cannot read file 'C:Temp\--input-folder': No such file or directory

I'm using Blender for Windows, version 2.79b 64-bit.
What am I missing here? What is the proper way of passing command line arguments to a Python script invoked by blender.exe on Windows?

In the last link example the arguments before and including -- are stripped from the sys.argv list as argv try parsing that list for your arguments.

You can't use
return parser.parse_known_args(sys.argv)

Because what you have in sys.argv is '-- --input-folder...'
Instead, cut off the '--' from the string.
return parser.parse_known_args(sys.argv[sys.argv.index("--")+1:])

source: Stack Exchange

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

sort: votes


text:
How to use Blender for converting DX normal-files to GL?
How can I can use Blender to load normal maps made the DirectX way and convert them into openGL format?
EDIT: I got the linked node setup to work, thanks for the link. Also, the visual example of how GL files look lit from above while as DirectX files look lit from below was really useful.

I vote to reopen because you can do it inside Blender in shader nodes. All you have to do is separate RGB, invert G channel, then combine them back.

Seconded, this is the only functional difference between OpenGL and DX normal maps, the inverted Y/G channel.

As Crantisz wrote, the question is answered here: DirectX vs. OpenGL normal maps

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


text:
How to use select_circle in a modal operator to select faces in edit mode?
I'm trying to write a small tool where I can "paint" a face selection and at the same time expand this selection to its shell (essentially what select_linked() does.
I have set this up as a modal operator and selecting works fine while using:
self.loc = [event.mouse_region_x, event.mouse_region_y]
bpy.ops.view3d.select(location=self.loc, extend=True)

Sadly I can't seem to get it to work with select_circle.
Simply doing:
bpy.ops.view3d.select_circle(event.mouse_region_x, event.mouse_region_y, 10)

Gives me an exception: 1-3 args execution context is supported exception
I then tried to override the context like so:
override = context.copy()
override["x"] = event.mouse_region_x
override["y"] = event.mouse_region_y
override["radius"] = 10
bpy.ops.view3d.select_circle(override)

but this does not do anything..
bpy.ops.view3d.select_circle('INVOKE_DEFAULT')

selects but then the select_linked() does not work anymore :/
bpy.ops.view3d.select_circle('EXEC_DEFAULT')

also doesn't seem to work.
The complete code for the addon is here: https://gist.github.com/sschoellhammer/bcafcb2cdec2e2aee08c6c0837a88559
I'm sorry, I'm still fairly new to blender scripting. If you have any pointers for me, please let me know!
Thanks so much!
seb

Ok I figured it out..
from:
(Is there a way to set the radius of the new circle select tool by python script)
def get_3d_area_and_region(self):
    self.view_3d_area = None
    self.view_3d_region = None
    for area in bpy.context.screen.areas:  # Cycle through all the avaliable areas
        if area.type == "VIEW_3D":  # if area is called VIEW_3D
            for region in area.regions:  # Cycle through all the regions in that area
                if region.type == "WINDOW":  # if the region is WINDOW
                    self.view_3d_area = area  # save the area and region in variables
                    self.view_3d_region = region
                    return
    print ("Could not find area/region")

and then
override = context.copy()
            override['area'] = self.view_3d_area
            override['region'] = self.view_3d_region
            bpy.ops.view3d.select_circle(override, x=event.mouse_region_x, y=event.mouse_region_y, radius=100)

I still don't really understand why the context area information of my own operator is not enough and I still have to query all the areas extra. Oh well, some day I will know more..:)


text:
UPBGE - Camera Background Image
I'm trying to run the game with a camera background image, like pre-rendered background games (Final Fantasy, Resident Evil...) When I run "embedded start" it works, the camera background image appears, but it doesn't appear when I run "standalone start". Do you know which is the best way to do this? Thanks so much.
Miguel

As it stands, it is kind of difficult for us to understand what your problem is in order to help you.  Please add some details about what exactly you are doing and what "it works/doesn't work" indicates.

in my opinion: it is pretty clear what he wants. @Miguel: did you ever try it with a HDRI?

Sorry guys I don't know why I didn't receive notification of your responses. I abandoned the project. If I take it back and get any progress I will post it here.


text:
GN: Replace certain string character with certain mesh in Geometry Nodes?
Does somebody figure out how to replace a certain string character with a certain mesh in geo nodes?
I've tried but the slice string node doesn't allow field input.
This screenshot is not geonodes, just so you can understand me.

This other one is what I have in geonodes.

Thank you very much.
Miguel

Please be so kind and tell us more. Did you create the characters in Geometry Nodes, or are they available as mesh? How are your Geometry Nodes built? Is there a screenshot of it? Possibly it would also be good if you could share your blend file with us: https://blend-exchange.com Thank you!

Hi! Thank you very much for your response. It's a random string inside GN that I want to replace with a different mesh for each character. I mean all A's a cube, all B's an sphere ... like that. I update the post with a gn screenshot (older one was "handmade") and the blend file. Thank you!

Interesting question, because there is no String to Value node. Hm. The solution will probably be a bit clumsy in this case. ...think about it.

@quellenform It'S actually a pity that there's nothing like that. Not exactly String to Value, maybe, but something like Character to Code for example, so that like in Excel you can have a character and get its ASCII code from it. This way you could put the objects in a collection and assign each index to an ASCII code, like "Code-65 = Index of Collection Object".

Yes, both of them would help. I'm trying with string length but I can't find the solution.
The other problem that I see is that slice string node doesn't allow field input so.... how could we do this for a random number of characters?

I have found an answer but sadly not an elegant one. I use a Math node to check a character then use a switch to set an appropriate output value (In my case a position in a texture colour ramp).
Unfortunately, this means that every character has to have three nodes for it - Math, Value, and Switch.
Of course, I will eventually use a slice string to get one character at a time from a longer string and set vaious objects' colours accordingly but it would have been so much easier if there was a character to ASCII or similar.


text:
Keyword "filepath" unrecognized
I'm getting this error and I can't find a solution. Could someone help me?
Python: Traceback (most recent call last):
File "\Text", line 13, in
File "C:\Users\migue\Desktop\blender-3.4.1-windows-x64\blender-3.4.1-windows-x64\3.4\scripts\modules\bpy\ops.py", line 113, in call
ret = _op_call(self.idname_py(), None, kw)
TypeError: Converting py args to operator properties: : keyword "filepath" unrecognized
def execute(self, context):
    if context.scene.custom_properties.stl_directory:
        # Load the STL file
        bpy.ops.import_mesh.stl(filepath=context.scene.custom_properties.stl_directory)

Thanks,
Miguel
this is the full code
import bpy

bl_info = {
    "name": "STL Importer",
    "description": "Import an STL file and apply a Geometry Nodes modifier.",
    "author": "BRON",
    "version": (1, 0, 0),
    "blender": (3, 0, 0),
    "location": "View3D > Tools",
    "category": "Import-Export"
}

class CustomPanel(bpy.types.Panel):
    bl_label = "STL Importer"
    bl_idname = "OBJECT_PT_custom_panel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = 'Tools'

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

        box = layout.box()
        box.prop(context.scene.custom_properties, "stl_directory")
        row = box.row()
        row.prop(context.scene.custom_properties, "yaw_type", expand=True)
        row = box.row()
        row.prop(context.scene.custom_properties, "num_pieces", expand=True)
        row = box.row()
        row.operator("import_mesh.stl", text="Import")

class CustomProperties(bpy.types.PropertyGroup):
    stl_directory: bpy.props.StringProperty(name="STL Directory", subtype='FILE_PATH')
    yaw_type: bpy.props.EnumProperty(
        name="Yaw Type",
        items=[("MAXILLARY", "Maxillary", ""), ("MANDIBULAR", "Mandibular", "")],
        default="MAXILLARY"
    )
    num_pieces: bpy.props.EnumProperty(
        name="Number of Pieces",
        items=[("14", "14 Pieces", ""), ("16", "16 Pieces", "")],
        default="14"
    )

class ImportSTL(bpy.types.Operator):
    bl_idname = "import_mesh.stl"
    bl_label = "Import STL"

    def execute(self, context):
        if context.scene.custom_properties.stl_directory:
            # Load the STL file
            bpy.ops.import_mesh.stl(filepath=context.scene.custom_properties.stl_directory)

            # Apply the modifier based on the user selection
            if context.scene.custom_properties.yaw_type == "MAXILLARY":
                obj = context.view_layer.objects.active
                obj.modifiers.new(name="Maxillary", type="NODES")
                if context.scene.custom_properties.num_pieces == "14":
                    obj.modifiers["Maxillary"].node_group = bpy.data.node_groups["Maxillary (14 pieces)"]
                elif context.scene.custom_properties.num_pieces == "16":
                    obj.modifiers["Maxillary"].node_group = bpy.data.node_groups["Maxillary (16 pieces)"]

            elif context.scene.custom_properties.yaw_type == "MANDIBULAR":
                obj = context.view_layer.objects.active
                obj.modifiers.new(name="Mandibular", type="NODES")
                if context.scene.custom_properties.num_pieces == "14":
                    obj.modifiers["Mandibular"].node_group = bpy.data.node_groups["Mandibular (14 pieces)"]
                elif context.scene.custom_properties.num_pieces == "16":
                    obj.modifiers["Mandibular"].node_group = bpy.data.node_groups["Mandibular (16 pieces)"]

        else:
            self.report({"WARNING"}, "Please, select an .stl first")

        return {'FINISHED'}

def register():
    bpy.utils.register_class(CustomPanel)
    bpy.utils.register_class(CustomProperties)
    bpy.utils.register_class(ImportSTL)
    bpy.types.Scene.custom_properties = bpy.props.PointerProperty(type=CustomProperties)

def unregister():
    bpy.utils.unregister_class(CustomPanel)
    bpy.utils.unregister_class(CustomProperties)
    bpy.utils.unregister_class(ImportSTL)
    del bpy.types.Scene.custom_properties

if __name__ == "__main__":
    register()

```

I haven't tested, but most likely, you are overwriting the interal import_mesh with your own, which doesn't take any arguments.
so change  bl_idname = "import_mesh.stl" to "import_mesh.my_stl_importer"

Thank you so much Frederik! It worked. I just also had to change the  row.operator("import_mesh.stl", text="Import") to  row.operator("import_mesh.my_stl_importer", text="Import")


text:
GN "Smooth" Solidify
I've managed to make a smooth solidify:
I attach the file.

But how could I do the same on a concave or convex mesh? Like, for example, this deformed half semisphere.I've tried adding the normal to the position and then using a maximum vector math but I couldn't find the solution.
It should look evenly smooth ("the solidified part"), like the 1st example. The deformed original mesh should maintain the same as it was:

UPDATE:
I made it work on a curved surface with the following nodes, but this setup ISN'T VALID for me, cause I need it to work on a maxillary surface. It's for creating a guard, so it maintains the teeth shape on the inside but it's smooth on the outside. (last image) I also attach the .blend file:

Could someone help me, please? I know in 3.5 I could use the blur node to smooth it but I would like a more efficient solution.
Thank you very much,
Miguel

Hello, what should it look like when the solidify is applied ?

Hi, Gorgious. It should look evenly smooth ("the solidified part"), like the 1st example. The deformed original mesh should maintain the same as it was.

Isn't it enough to just extrude then smooth? How to eliminate obvious proximity crease intersections?

Yeah, but this is quite similar to using 3.5 Blur Attribute Node as I mentioned at the end of the post. But you need many iterations to make it smooth so it's quite computational expensive. There should be another way to do it limiting the extrusion, shouldn't it?


text:
Not possible to move vertices on Z axis
I created a mesh by using the mirror modifier. I cannot move the vertices of that object on the Z axis after applying the modifier.

What am I doing wrong?

Where is the best place to upload files for this forum btw?

http://blend-exchange.giantcowfilms.com

You have scaled your object incredibly small and to zero on the Z-Axis. If you ALTS in Object Mode (to remove scale) and then either zoom out, or hit the Home you will see your model again and can edit if further in Edit Mode.

Thats true, I selected all vertices and pressed S -> Z -> 0.

You have your object scaled to 0 on the Z axis.
Tab into Object mode and in the Property Region area to the right of the 3DView, below Scale, set Z to a non-zero value.

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


text:
How to set rest pose as pose?
UPDATE: Here is the .blend file
I would like a step by step guide which shows how I can make it so that the current pose looks EXACTLY like the rest pose.
This is my armature in rest position:

This is how it looks like in pose position:

I want to reset the pose position to look like the rest position.
I tried Pose -> Clear Transform -> All.

But this is the result:

you probably habe issues with your IK Bones. In Rest Mode (I think) IKs are not calculated

I don't think so, I followed a professional tutorial.

I tried everything now, I even copied the original rig from another professional model and same problem. This is most likely a bug.

In Outliner change to "Current Scene" in dropdown, r/click on
"metarig" and click "Delete heirarchy". You have two identical rigs
and meshes, although metarig only shows origins suggesting you
deleted in edit mode. Irrespective, it messes with your active rig.
Select your mesh and apply rotation and scale (ctrl-a).
In pose mode select shin.l and delete the Limit Rotation constraint. In the IK panel set the Pole Angle to 0.
In pose mode select shin.r and set the pole angle to 0.
Ditto forearm.l, set pole angle to 90
Ditto forearm.r, set pole angle to -90

edit: formatting

Thank you very much! I also had to move the pole targets for the arms, but now it looks much more like the rest pose.

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


text:
Export 3D model from blender to .cad
I need to export my models to .cad format.
But Blender has only one exporter for AutoCAD, but the file format is .dxf.
My only idea is to download AutoCAD so i can import my model into it and export to .cad. But im not sure if this is even possible.
Is there another way to export my model to .cad?

Welcome Edward :) .dxf is Autodesk's official interchange format: https://en.wikipedia.org/wiki/AutoCAD_DXF and should work fine. Anyway, enjoy blender.se!

Thank you @poor :) But i have to send the 3D Models to a company, and they say they only accept .cad Format.
Someone on cadtutor.com said ".cad is not common and created by a program that's no longer exist... ". So maybe i have to search for a better company..

Mmh. Not an expert in cad, but I think converting isn't an option, since you can't double check the file for correctness afterwards. Might be helpful: http://www.file-extension.org/en/extensions/cad

It seems that even Autocad cannot open .cad files (QuickCAD format, owned by... Autodesk!) see https://knowledge.autodesk.com/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/How-to-open-QuickCAD-cad-files-in-AutoCAD.html the suggestion is to use AutoSketch  to convert it to dxf...

I already have the models as .dxf, but the company needs .cad

So, your only chance could be to use QuickCAD...

Thank you, i was thinking the same. But im afraid that i can't import my models to QuickCAD, so i have to create them again in this software.


text:
How to bake texture with same brightness as original?
I try to bake this simple model in cycles render engine.

but the bake result is always much darker than the original.
How can I bake it so that the result will be an exact copy of the original textures?

Render Settings:

World Settings:

I learned it from this video:
https://www.youtube.com/watch?v=Aq2tUT0iyCQ

Result of Turning Indirect and Direct off (only Color is on)

Looks washed out.

cycles or blender internal baking? is your world white? what options did you select in the baking tab?

I am using Cycles render engine. I will update my post with more infos.

could you try to disable indirect and direct and bake. It will probably solve your problem

I tried this already. I will post the result

also for this case it would be much faster if you switch to blender internal for baking

But will I loose all the cycles informations then?

make a backup to make sure you loose nothing but in my experience cycles settings are saved to survive that switch

also what you could do to make it work in cycles (I guess) is make your would completly white and move all lamps to disabled layers to make sure every part of your mesh will get the same amount of light

@HenrikD, i think making the world white did the trick :) I also had to reload the baked texture, because it somehow still took the old bake... I will try to reproduce it, then you can make an answer if you like so I can accept it. Thanks for your help !

As it turned out the simplest solution to this problem was to make the world white and disable any lamps to make sure every part of the mesh gets the same amount of light. Blender Internal would be a good alternative but if you're working in cycles you probably don't want to redo all settings after switching back. (Though I do think the setting will stay)

you mean if you put your light sources on an different layer and bake with only the white world?

Sorry, It was my fault. Ignore the comment


text:
Import Unity Model and Animations to Blender
I try to import the ThirdPersonController (Ethan) which comes with the "Standard Assets" with all animations, to blender.
I imported the model "Ethan.fbx" to blender by using the FBX importer, with default options.

The bones are rotated weird, so I changed it to this:

Now I try to import all the animations into blender, so I can view and edit them. I tried to import the animation HumanoidRun.fbx (again with the fbx importer and default settings) but now another Armature was added:

How can I properly import Ethan to blender with all animations?

I know this is an old post, but if anyone experiences the same issue, it's very easy to fix.
To import fbx:

Go to File > Import > FBX

When importing the fbx make sure to

Select your fbx file
Select armature in Import FBX option Area
Select automatic bones orientation
Select import

If it's not working as expecting, play around the primary and secondary bones options, but usually, if your fbx is working in unity, the automatic option will do it for you.

Good luck, never give up - keep the good work :)

The fbx importer in blender has import settings. On the armature tab of import settings, set the
Primary Bone Axis = X Axis
Secondary Bone Axis = Y Axis

Then Ethan will import fine. I'm not sure if the backwards face bones are intentional. I think so.
A lot of the animations are not in the fbx file, the ones provided by standard assets are in other files, are used by the third person controller using retargetting in meccanim.
I found the answer for the fbx importer on digitalrune


text:
Flipping keyframes in walk cycle animation not working
I try to flip my keyframes like in this tutorial.
I do everything exactly like in the video, but it fails.

Select all bones from armature.
Set timeline frame to 80
Select all keyframes from frame 1
Click on
Click on

Result:

What am I doing wrong? I just try to flip the keyframes like in the video.
The bones are named with the naming convention name.L and name.R.
I was already reading many same questions, but there is no working solution.

Something weird is going on, but you can solve it by selecting in edit mode all the .L bones, delete them, then select all the .R bones, Shift+D to duplicate, Esc not to move them, Shift+C set the cursor to center, make the cursor pivot point, Ctrl+M X to mirror the bones on the X axis, Then Armature - Flip Names.
Everything now works as expected.
The reverse (L-R) of this whole operation doesn't work!

If I do this then all my inverse kinematic setup and weight painting gets lost

No, everything remains, as the "flip names" functions is intelligent and the mirror copies constraints also. Try it on a copy file. The only thing that you'll have to redo is the animation (the single pose, in fact) as the "weird" thing affects it also.

But I just tried it with the exact steps from you and the inverse kinematic is lost :/

Try inverting L and R

If I understand correctly what you're asking, this is an animation problem, not a rigging problem.
It looks like the rollMain.R bone has rotation data only in the x channel (the y and z channels have been cleared), but rollMain.L has keys in all three (x, y, and z rotation channels). When a situation like this comes up, the x rotation data is copied into all three channels on the 'mirror to' bone. The fix is to do this:
- Clear Single Keyframes on the y and z rotation channels for rollMain.L
- make sure auto key is turned off
- set the y and z rotation channels to '0'
This problem always comes up when copying single-channel data to a bone where all three channels have keys already set (four channels in the case of quaternion rotation). Blender gets confused and puts the single channel data into all channels.


text:
Black spots in render view, while material view shows correctly
This is my model in material view:

This is how it looks like in render view:

As you can see, there are alot of black spots.
Why is this the case?

The problem occured because the object has multiple UV-Maps and the wrong was selected for rendering:

I was able to solve it by clicking on the camera symbol of the correct UV-Map.


text:
Show only certain curves of multiple layers in graph editor
I'm struggling with the animation workflow in Blender. One of my biggest issues is with displaying only relevant curves in the graph editor. So say I want to change the z-location curves of 20 layers. Is there a fast way to display those curves (and only them) or do I have to open and close 20 little triangles and manually click on the eye-symbol of all the x and y location curves?

That is exactly what the Search tool is used for.

Tip: You can also filter channels by data types with the Filter tool nearby on the same header, if you need to.

You can left click hold and drag to quickly toggle multiple channels.

Hold left click and drag all the channels you wish to edit

The OP wants to hide x and y, not x, y and z.

Indeed, I only need Z.


text:
Why will Blender sometimes not select the object under the cursor
How does Blender determine which object it selects when you right click in object mode?
I'm confused, because sometimes Blender won't select the object I'm clearly clicking on.
I made a video of one such situation for an example:
http://youtu.be/zmnRDUoOO5Y
In the video, I'm clearly clicking on top of the armature object, but Blender keeps selecting a different object that is not even under the mouse cursor.

This is not a bug, however this could be a feature request in that you would like to have the margin distance decreased/smartened. I have noticed the same issue, so I hope it gets addressed in the next release or so!

Because there is margin distance (in screen pixels) such that blender will select an object even if you click slightly next to it.
So that mesh gets selected instead of armature because it is on top of the armature and the pointer is within the margin area. When you zoom in the pointer is no longer in margin area and the armature is now the top most object.
Honestly blender could do picking much more smartly and also check if something is directly beneath pointer even if closer_to_camera mesh qualifies for selection.

Related: https://blenderartists.org/forum/showthread.php?426150-Object-Selection-Accuracy
This was also driving me nuts so I searched the source code for answers. Turns out there's a massive 28 x 28 selection hitbox around the mouse cursor hard coded in to the select operator. It feels very clumsy and inaccurate.

You can specify the object you want to select with Alt+RMB. This will bring up a menu of objects close to the cursor. This is useful in situations where there are lots of objects on top of or close to each other.

alt+Rmb does not always work i just tried it and it would not show certain objects

I just tried in 2.77 and it works. Are you in object mode?


text:
Create edges for a set of vertices with Geometry Nodes
I have a collection of vertices and I want to connect some of them by edges. I need to compare any possible pair of vertices and their attributes to decide, whether they should be connected.
How can I facilitate an operation acting on every possible pair of points/vertices of the geometry?
Would it be helpful to have an exact copy of the geometry?
I basically need to get a pair of indices, such that I can extrude one vertex into the direction of the other, once the pair is selected by some selection function.
Further information:
The vertices that are displayed on the screen are actually points that live in an eight-dimensional space. The full eight-dimensional coordinates are stored inside the attributes associated to every vertex. Whether two vertices are connected by a line depends on the distance of these vertices in the eight-dimensional space.
I want to go over each pair of vertices, evaluate there distances in eight-dimensions (just applying a function to the attributes of the pair). Depending on this evaluation an edge will be extruded between the pair of vertices.

" I need to compare any two pairs of vertices" - two pairs, or one pair = two verts? Can you describe why you need this to avoid an XY problem?

I changed the typo. Of course only one pair of verts. What do you mean with "XY problem"?

https://en.wikipedia.org/wiki/XY_problem

This setup connects pairs of vertices, which sums of indices are divisible by $8$:

How do you get such a nice line structure in your geometry nodes setup?

@p6majo you can enable snapping in node editors.


text:
How to freely rotate compound object with copy rotation constraint
I created a book that can be opened and closed. The rotation of the spine controls the opening and closing animation. The cover and the back of the book are children of the spine and the rotation of the spine is copied. This makes the book unfold or close.
The problem arises, when I want to rotate the entire book. This leads to an unwanted relative rotation of the cover and the back. Is there an easy fix or do I have to reconsider the setup?

You have to go to the end frame. The book is scaled up during animation.

You could parent all unparented objects to a higher root object like an empty, then rotate that. Or you could instance your model like I explain in this post and then just rotate that. Objects keep their animation even when instanced in GN.

I tried the first suggestion. It doesn't work. The issue remains. I add the file.

You can instance the animated objects from their own collection, like I refer to in this post, animate those in place in that collection, then animate the instanced object to get the rotation.


text:
Is there any way possible to tail a falling star or comet-like particle?
I am trying to set up a simple space like gravity particle system for animation, but I have no idea how to make a tail on a particle to make it look like the way I want (Including the gradient) I basically have the particle system ready, but I just don't know how to make the tail. Any help would be appreciated, Thanks!

For the particles:

Start with a sphere
move one vertex far away using proportional editing  so that neighbor vertices are also stretched proportionally

to create the cloud of particles, use 2 array modifiers to create a matrix, apply the modifiers and separate by loose parts

use proportional editing with Random and smooth fall off in order to arrange the particles. Alternatively, use Randomize Tranform.

create a gradient based shader, use Color Ramps to control color, emission and transparency fall offs (don't forget to turn Alpha Blend mode for transparency to work)

For the background:
Create a world shader based on spherical or linear gradient. Use the Vector Mapping scale, position and rotations to control gradient position in the sky.

For animation: Here is the same object used in a particle system (added plane emitter and moved camera around):

I see this is made for a still image, but will I be able to make this as a particle system? I know how to, but I've had issues with mapping material node and particle systems when the particle moves. I am trying to make an animation with it

Nothing prevent you form using this comet object in a particle system...

I added a screenshot of the same scene but using a particle system instead of Array modifier

Ok, I'll give this a try, I was on the road for the past day getting home safe, Thanks

Glad it helped!


text:
Hexagon problem with a body, how i can remove them?
Someone can help me? How can i remove this hexagons?
After selecting all similar faces

Can you add a screenshot with some of these ngon faces selected? Eg in face select mode select one hexagon, then select > similar > polygon sides.

Done, now what?

Wondered if you had dupe mesh below.   See  https://blender.stackexchange.com/questions/84520/removing-triangles-and-ngons   https://blender.stackexchange.com/questions/78578/optimizing-mesh-to-quads-only   https://blender.stackexchange.com/questions/205702/how-to-fill-ngon-with-quads  https://blender.stackexchange.com/questions/199830/convert-polygons-or-ngons-to-quads-using-bmesh  If not mentioned one method is to poke (adds a center vert and contect making a triangular fan, then tris to quads.  Do you know how it got that way?

I joined two objects with the "boleans" modifier, I set join, not difference, and I smoothed the corners in sculpting mode

sorry man, but what you recommended me, doen't work. Any others tip?

IDK ... It looks beyond easy fixing..  if it was me would consider starting again and not apply modifiers (easier to fix pre-subsurf), or else clean by removing  the "frayed bits" to manageable   seams and fill holes with grid fill or bridge etc. Would  Also consider making the question title more explanatory of your issue   "Mesh trashed after ... can it be fixed."?


text:
Transparent Plane with Screw Modifier
I'm having trouble making a plane using the screw modifier transparent, because "the plane" is shining through?
In this video, using an old version of Blender (2.78), it looks as easy as enabling transparency, and adjusting the alpha https://youtu.be/owid9yrq97s?t=2494
However in the "new" version of blender (2.92.0), it seems they've quite reworked the way materials work. I've created a material that uses an Emission and Transparent BDSF shader, through a mix-shader, so I can adjust the transparency, and while it's working great for "solid?" objects, it doesn't work for the object using a screw modifier:
I've tried to create a minimal example below:
Fac ("alpha") 1 is great. There is no transparency.

But when I adjust it down.. I get two different colors.

I'm using the screw modifier for the object, so I imagine that it's being drawn over itself? And that I'm seeing the object over itself. Because if I delete one of the vertices, like in the gif below, suddenly I get the color that I want? But then I don't get the shape that I want anymore.

Furthermore I would really like to keep using the screw modifier, so I can lock different angles to keyframes and do the "radial animation"-thing.
I've tried enabling Backface Culling, it has the same result as deleting the vertice: (I reckon it's probably not "the same," but it looks identical.)

Disabling "Show Backface" and "Backface Culling" gives this really weird color, that I believe is due to some clipping:

It feels like I'm missing something super simple, but I was at it for 4 hours the other day, and since I very recently picked up Blender, I'm simply not aware of what tools I have at my disposal.
I've tried searching online, but I'm just not sure what I should be searching for, "transparent plane screw modifier" isn't giving me anything other than tutorials on the "screw modifier" or "transparent planes."
Thank you.
PS: I am using the Eevee render engine. I don't know if this bears significance.

You're using a completely opaque shader on the uppermost rendering, then you use a mix factor. If you used exactly 50% mix the all places of your mesh where the rays go through it twice will actually have full opacity, (0.5 first bounce, 0.5 2. bounce) it's behaving as expected in my eyes. I'm guessing you want something like start and end caps? Try beveling a curve along a bezier circle.

Alright, so I'm not entirely happy with this solution, but maybe I should be?
I've managed to work around it by.. enabling Backface Culling on the material:

I've been here before, but I also noticed that you can "flip normals" under the Screw Modifier:

Now I can duplicate the shape and remove the Screw Modifier:

.. and finally set the "plane with the screw modifier" as a parent object:

Setting it as parent isn't strictly necessary for the color part, but it makes it quite nice to scale and manipulate otherwise...

If anyone has a good solution that just uses the single object with the screw modifier, I would like to see that!
This feels quite hacky, but "if it's stupid and it works, it's not stupid"


text:
How to bake ambient occlusion using custom split normals
i have custom normal in purple line,

when i bake ao to vertex ,it used vertex normal instead(blue line),and ao is not like a ball-shape leaf ao


text:
Weight Painting: How to set weight for part of mesh for only one vertex group?
My problem is that I use Auto-weight when connecting armature to mesh. This causes lots of unwanted weighting on close proximity parts.
Sometimes I want certain parts to be weighted by only on one vertex group. Say a bag (mesh) must only be connected to the hip (vertex group) and shouldn't have weight from other vertex groups.
Is there a way to quickly define the weight of the mesh for only one vertex group without going into other groups and removing the selected mesh?
OR
Is there a way to unweight (weight 0) on all the vertex groups save one?

if you select those vertices, then on the right of the vertex groups list, there's a dropdown menu (down arrow) > Remove From All Groups, is it what you want?

Exactly. Thanks.

If you select those vertices, then on the right of the Vertex Groups list, there's a dropdown menu (down arrow) > Remove From All Groups.


text:
Selecting items in Outliner using hotkey (B)?
I select multiple items using the B in the outliner window, but when I want to parent them (using CtrlP
) to the last selected object (I select object seperatley, LMB
), it won't parent.
Just to clarify - this is for organization sake - got lots of WGT from an armature, I just want to store them hidden from the outliner.

When you're trying to parent, is the cursor over the outliner or the 3D view?

AS per the answer by @DuarteFarrajotaRamos , do the B selection in the Outliner, then move the cursor over the 3D View and Ctrl + P for parenting, the only thing is you SHOULD have the cursor over the 3D View window, not over the Outliner window, keep in mind Blender's functionality is relative to the type of the View.

Ctrl + P for parenting only works in the 3D view As far as I know, not in the outliner, so pressing Ctrl + P in the outliner will not work only directly in the viewport.
There are other ways to do this if you want to do it directly from the outliner though, you could use B for selecting as you already do, then click and drag&drop to parent by clicking on the object's icon to the left and dragging from there over to another object you want to parent the selection to.
Would this work for you?
Edit I was just made aware that it only parents one object at a time though, so it may not suit your needs entirely.

Dragging in the Outliner for parenting works, but keep in mind you can not drag multiple objects, you have to do them one by one.

True, wasn't aware of that, thanks for the explanation. I'll update the answer accordingly.


text:
Automatically dissolving edges in quad faces that share same normals
Good morning,
I'm trying to getting from this

to this

Is there an automatic way to limited dissolve all only square adjacent surfaces of a mesh into few only squares surfaces (or rectangular surfaces).
Situation:
The fact is I had a text object, then limited dissolved for having n-gon only surfaces, then applied remesh for have square only surfaces. Now I have too many useless square surfaces that I think can be collapsed in few ones.
What I need
The point is, I want a meshed extruded text to have as few as possible quadrangular surfaces, without altering its perimeters (only collapse same angle quadrangular adjacent surfaces int as few as possible bigger quadrangular surfaces).
Already tried
I've already tried the remesh modifier, but it only messes up the border of my text mesh.
Hope I make myself clear in my explanation.
Thank everyone for any answers

Welcome to BSE, Are you looking to a fully automated way, because it's possible to select faces with similar normals, then you can dissolve the edges using that selection, but of course some manual work will still be required.

Can you try to enhance the format of your text a little, specially the title?

Have you looked into the decimate modifier with yhe "planar" option, it won't create quads but it can collapse edges of planar faces within a certain threshold. Maybe it's a good starting point.

@Georges - 1) the title, as you modified it now is not explaining my question: I asked to "collapse same angle quadrangular adjacent surfaces into as few as possible bigger quadrangular surfaces" which is different from your version "dissolving edges in quad faces that share same normals" (in this case, the faces I'm getting could also be n-gons), please, edit the title back to original - 2) if I select faces with similar normals, like you said, and then dissolve the edges of this selection, I could also obtain n-gons ... that is not what I want: I want to get only quadrangular faces.

I edited the title because it was unclear, if you check the image that you attached, the results you want are Ngons! It doesn't matter if they look square, they have more than 4 vertices, so they are Ngons. I asked that you edit your format before SUGGESTING edit, the edit were approved by other moderators. I believe you can still edit your question and title.

#Georges ... you are right, thank you for the explanation of "It doesn't matter if they look square, they have more than 4 vertices, so they are Ngons" ... thank you again. So, maybe is that my question is not possible answerable at all? (due to the impossibility of translating a mesh with curve perimeters into bigger-and-little quadrangular surfaces only)

@Duarte Farrajota Ramos ... thank you for your advice, I've tried as you said, to use decimate modifier with planar option: anyway, adjusting the angle value to more than or equal to 10°, it just deform the mesh. Using it with < 10° as per angle value, it just create n-gons, which is the situation where it started all (after I've Text -> Mesh -> Limited Dissolve and before Remesh) ... anyway, thank you for your consideration

@MAries I really don't know an automated way to do that, if I knew I would post it in an answer. Besides, it all depends on your mesh, try uploading your .blend file, may be someone can help provide an automated or at least an easy manual way to do it, you can upload your file here: http://blend-exchange.giantcowfilms.com/

Do you really need quadrangular faces or simply to lower the vertices amount keeping the exact same external shape ?

@lemon ... it's not a must, but I want to know how to do it. Or if it is not possible. Thank you

@Georges ... this is the file https://drive.google.com/open?id=0B2t6C4o5L_DjdjVoMjJ2cXlHSTg

There are lot's of variations, each character has it's own shape, and curvature makes it even harder, so I don't think there's an automatic way to apply this to all characters with the same parameters, I could be wrong, if there's a way I would like to know about, yet it's doable in a semi automated way, reducing the mesh significantly without changing the contour, then connecting few vertices manually to get all faces to be quads. May be if you can explain what's the purpose of the procedure (why are you looking for this specific results) there could be other workarounds possible. @MAries

@Georges ... Thankyou ... my goal is to have a mesh (turned from text) which is lowest-ploy possible without impacting text-font-shape (that is to reduce rendering time) ... and the quad shape faces, I wanted them because I've read that many game rendering engines works much faster with quad-gone surfaces and so I want to learn Blender using quad-gones as much as possible

@MAries Quads, Tris and Ngons are just the way computer show you the object's structure in view port, Quads are easier to "work" with, this is concerning user experience, while computer actually treats everything as Tris, since it's more accurate to calculate a surface using 3 points, rather than 4.
3 points will guarantee a flat surface, I researched this matter before, and most of the answers where that this is a myth, game engines will always treat your mesh as Tris, no matter how you build them in your 3D software.

A partial solution that lower the mesh vertices but does not keep the quads.

Join the two shapes (to work both on 'Marco' and 'Aries'). For that select them both in object mode, then CtrlJ
Go to edit mode and delete the bottom faces vertices, so that you keep only the top faces

At this step you have the exact same shape, except it is flat :

Go to object mode
Convert to curve AltC, then "curve from mesh/text"

You obtain this (no faces) :

Go to the properties panel and in the curve tab, then click on 2D

This makes the faces reappear :

Now to regive volume. Convert again to mesh (AltC then "Mesh from curve/.../text")
The inner mesh is the following :

You can now extrude it again to regive the original volume.
So no quads. But starting with 41 402 vertices, you now have 8 080. And the shape is the same.

@MAries : i know you probably started with a text which is similar to the curve version I propose here... but I hope this proposal helps to move things...

Limited Dissolve will make that much faster and simpler.

ok @MrZak... this answer was just about going on as no one gives a way...

@lemon ... thank youo for your consideration and for your answer. Even if I meant to obtain quad surfaces for the mesh, it gave me hints on the reversal way to handle such "once-text" mesh. I appreciate it

@MrZak ... yeah, "limited dissolve" is what I've used in the process: "text" -> convert from curve to mesh -> limited dissolve (obtained n-gons) -> remesh modifiers (obtained 4-gons .. but too much ;) ) ... thank you also for your consideration

... as I've already stated in one of my comments to my request, as Georges pointed out to me "It doesn't matter if they look square, they have more than 4 vertices, so they are Ngons". So, maybe is that my question is not possible answerable at all (due to the impossibility of translating a mesh with curve perimeters into bigger-and-little quadrangular surfaces only)


text:
How to open system console to get output from Blender on Mac OS 10?
Noobie here.
Should I open Mac terminal and cd to /Applications/Blender/ which is where my Blender app is? Doesn't seem to work for me trying to run script from Text screen in Blender. I guess there is no way to see output within Blender itself?

Related 1 2

Right click on the Blender icon in the Applications folder and select "Show Package contents". Make an alias of Contents/MacOS/Blender by right clicking and selecting "Make Alias". Rename it and move it somewhere you like.
This opens the console in the background, next to the Blender application.
source:
https://www.lynda.com/Blender-tutorials/Set-up-Blender-console-window/486043/533594-4.html

this is so much more straightforward than the answer above and works perfeclty, wondering why its not the selected answer?

The only way to see the Blender console and thus the script output is to launch Blender from a terminal using the full path to the executable: "/Applications/Blender/blender.app/Contents/MacOS/blender"
All script output will appear in the terminal only.
Following @DickMeehan's comment and since I hate to install yet another App, here is the AppleScript to automatically start a Blender with its Terminal window.
Note: tested on MacOS High Sierra 10.13.3 only:
    set blenderAppPath to "/Applications/Blender/blender.app/Contents/MacOS/blender"

    (* This command will open a Terminal app that should be closed with CMD-Q otherwise
   it will persist after Blender and the terminal window are closed with CMD-W *)

    set openCmd to "open -n -W -a /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal --args "

    do shell script openCmd & blenderAppPath

Refer to the following to make an actual clickable App using the Automator. This app can then be simply dragged to the launch bar for convenience.
https://apple.stackexchange.com/questions/84348/how-can-i-create-a-stand-alone-app-to-run-a-terminal-command

Please flesh this out a bit.  I have a feeling the OP thinks that changing console directory fo app folder of blender while blender is running will "magically" display the output, as opposed to starting the application from the console.  This answer was flagged as low-quality because of its length and content.

I admit, poor connectivity so quick and dirty answer... just edited, should be better now!

Following this suggestion if I want to see output from Blender I open it from Mac terminal with this command:
/Applications/Blender/blender.app/Contents/MacOS/blender .      I can open Blender by clicking on the blender.app but  cannot see the results in blender, I must have the terminal app loaded from the command line as above.

Thanks for the help. Just to clarify: My Blender app is in the a Blender folder within the usual Applications folder. I open Blender from the Mac terminal window  by entering:
/Applications/Blender/blender.app/Contents/MacOS/blender. From this point on Blender output such as print() will appear in the terminal window which should be viewed in parallel with the blender window.

Copying the path to blender and pasting into Mac terminal interrupts work flow. I found a nice free terminal emulator (one of many) called iterm that can be set up so that it opens Blender via a terminal window as above with one click. If you save your work as the default periodically via Ctrl-u  and then make a coding mistake that you don't want to unravel you can just close blender and reopen via iterm you will get your most recent save with little delay.

A really quick way for mac users to do this is to create an alias using the Terminal (It's not as scary as it looks)
open Terminal
type nano ~/.bash_profile
on the first line paste this alias blender='/Applications/blender-2.80.0/blender.app/Contents/MacOS/blender'
Exit nano by ctrl + x and press y to save changes
type source ~/.bash_profile
You only need to do this once.
Now every time you need to open Blender from the command line, open terminal and type blender
Blender will launch from the terminal and you can see the output.

If you want to be able to launch it like any other application, the simplest way is to do this:

Launch Automator (it is in your Mac's Applications folder) and launch Terminal (it is in Applications/Utilities).

Create a new Application in Automator.

Type "run" in the variables search field, and drag Run Shell Script to the right part of the workspace.

In Finder, locate Blender.app (it is probably in your Applications folder). Right click on the app and choose Show Package Contents. Inside the Contents, navigate to /Contents/MacOS/Blender

Drag this Blender file onto your Terminal window and Terminal will show you the file path. For me it is /Applications/Blender\ 2.9.app/Contents/MacOS/Blender, for example.

Copy that file path. Inside Automator, in the Run Shell Script text field, type open then space, then paste in the file path. Example: open /Applications/Blender\ 2.9.app/Contents/MacOS/Blender

Note: If you have multiple versions of Blender in your Applications folder (Blender 2.79b.app, Blender 2.9.app, Blender 2.92.app ...) and update regularly (as you should), then it might make more sense to create an alias in your Applications folder of .../Contents/MacOS/Blender called something like "Blender - Console" and use that for your shell script path instead: open /Applications/Blender\ -\ Console. Then you don't need to mess with Automator each time you get a new version of Blender - simply make a new alias with the name "Blender - Console". This way launching "Blender (Console).app" (or whatever you name it) will always point to the latest.

Name and save your launcher app in your Applications folder. Then in Finder you can drag it to your Dock.

8 (Optional). If you don't like the default robot icon, you can give your app a custom icon using Finder's Info window. In your Applications folder, select both Blender.app and your new custom app, then press CmdI to Get Info. Click on Blender.app's icon to highlight it, then CmdC to copy it. Then click to highlight your app's icon and press CmdV to paste the blender icon in.

You can create a custom icon too if you like, open it in Preview and copy it. But icon design is beyond the scope of this topic. Enjoy your custom launcher app.

Edit: One final thing to mention is that the first time you launch a newly installed version of Blender you should launch the Blender app normally instead of through your custom launcher. This gives macOS a chance to verify it so that you don't run into any errors when launching. In other words, let your Mac do this once:

Without creating a new application with Applescript and all, you can just create a shell script with the '.command' extension. The extension makes it clickable, which opens a console and executes the file.

Open a terminal
cd /Applications
nano Blender.command

paste this and save the file
#!/bin/sh

cd `dirname $0`;
./Blender.app/Contents/MacOS/Blender

chmod u+x Blender.command

Now click on the 'Blender.command' icon next to your Blender application.

It seem's I cannot comment.
Small note, blender 3.x is located at:
/Applications/Blender.app/Contents/MacOS/Blender


text:
How to make the Camera rotate more than one time?
How can I circle the camera around more than one time?

Hope you can help me.

Try to unparent the camera from the curve then add the camera a follow path constraint

@Joel, I edited your original post to include your video as animated GIF. In the future, please try to create and attach it yourself (https://blender.meta.stackexchange.com/questions/963/what-is-the-process-for-creating-gifs-for-questions-and-answers)

Double turn around a circular path -

Add a curve --> circle.  Set your total frames in the timeline to say 250.
In the path's geometry properties, set the "Frames" to 200.
At frame 1 keyframe the path's Evaluation time" which should be showing 0.000
Take the timeline cursor to (e,g,) frame 240.
In the Path's properties, set it's "Evaluation" time to twice that in the 'Frames' slot. (400) and  keyframe that.

Set an empty or other object to follow the path.


text:
I need an exact cut

I am fairly new to blender so I am having a difficult time explaining this but I need to cut completely through this object, level with the the top of the brackets.
Then I need to be able to have both pieces filled in so I can make them separate objects.
I would appreciate it if anyone could explain how to do this in depth, as I stated before i am still fairly new to blender.

Sorry, I can't get the meaning of "completely threw this object level with the the top of the brackets", even looking ar the image, pkease try a better or simpler description. Also, did you already try anything?

The knife tool is capable of cutting through objects. Press K in edit mode to activate, then look at the very bottom of the screen for the key options. In this case, press Z to toggle cutting through the entire mesh.
Note: all the keybinds applicable while you are using the active tool will be displayed at the very bottom of the screen here.

Another useful key for you is C, as this will constrain your cut by angle based on your viewport.
To align your viewport to the major axis (and enable orthographic view mode), use the numpad 1 for front view, 3 for side, 7 for top view and 9 to flip the view.
2, 4, 6, and 8 will rotate the view by 15 degrees, and 5 will enable/disable orthographic view mode.

would the knive tool be usefull here . Go to edit mode/ select the faces of your object that you want the knive to affect ( if you want the cut to go through your object, select tabulatore to select the whole object .)/ press shift + k   then to confirm enter .
then select vertices from the edge line that you want to separate and press v to rip .

This dosn't really help as the knife tool dosn't cut completely threw the model

how do i keep the 2 objects filled then, i can't just have emptyspace

If the model isin´t a single object the knive will not work, you can have different material´s an a single object by appending the materials to a single object. To fill empty space select the surrounding vertices and press f for faces.


text:
How could i make rotating tiles animation like in this video
So i've been triyng to replicate something that you can see in this new game of thrones intro starting at the 10 second mark, where the ground is made of these slabs/tiles and they rotate in this sort of nice wavy form.

I tried to play around with with different stuff in blender, but haven't been able to replicate this effect when there is hundreds of tiles.
Of course i could just animate each tile individually, but that would take ages.

Could you please explain a little better with words the effect you are trying to achieve, perhaps post an image or two, so your question doesn't rely exclusively on watching a video?

I agree with Duarte. The answer is most likely going to be Animation Nodes, though. Rotating tiles is what 80% of the tutorials using them demo.

You could select all the tiles that are meant to rotated and animate them all together, then offset the animations in the Graph Editor, after selecting all tiles except the first, by sliding (G, X) the start and end keys to the right, then deselect the second tile, and slide the rest of the keys to the right again, deselect the third tile, slide the keys along and so on. Still quite a bit of work, but not as bad as doing everything for each one individually.


text:
Blender 2.8, API, select_set( action = "SELECT") TypeError
According to Blender 2.8 WIKI API changes,
 the following script is now obsolete:
bpy.context.object.select = True

replaced with:
bpy.context.object.select_set( action = "SELECT")

However that's throwing a TypeError: required paramater "state" not specified..

The answer is:
bpy.context.object.select_set( state = True, view_layer = None)

That's the right syntax in Blender 2.8 Beta to the date, apparently the WIKI is not updated


text:
Blender 2.8 Crashed and cannot reopen the project anymore
Was simply sculpting, hid the object to start building an eye. Crashed when I showed the object back. When I tried to reopen the files, blender hangs then crashes.
When I try to reopen the file, Blender Hangs then crashed, If I try to append the only object in the mesh sub. I only see a cube.
Still, the file is more than 22 mb so it's a bit on the heavy side for 8 vertices.

Anyone got through this?
Thanks
https://drive.google.com/open?id=1BLcD8bU083yNJcufL7OrRJLIt3ekldKB
UPDATE: Thanks to Brenticus I'm able to continue this little sculpt, here's an update:

Thanks!

Just dug around in the file a bit, there's definitely more than 8 vertices there, something around 90,000. That said, I couldn't get anything to display, even after appending the object. I dug through the Blender file option in the outliner and despite being able to see that stuff existed, I couldn't interact with it. My guess would be that your file got corrupted somehow, and I'm not sure there's any way to get it back directly.

However, blender has a number of recovery options. You can try 'recover last session' or 'recover auto save' from the file menu, or check to see if any .blend1 or .blend2 files were created where the original file is stored. If so, you can open these with blender as they are basically just backup versions.

Thanks for the effort, In fact yes I tried all of this, even tried to open with former versions of 2.8 I had stored on my PC (It even crashes quicker). Desperately tried 2.79 (duuh). Blender just Swallowed it.
What is funny is that It was probably already unrecoverable WHILE I was working on it at some point!... May be a future version will be able to open it... Someday.
I added a screen shot of the work I was doing (I was recording the session,)
Thanks.

Well... Speaking of the recording... I checked and blender crashed (in session) exactly at the time I switched back to SCULPT mode.... May it stills tries to reopen the session in sculpt mode? Is there a way to override that behaviour?

While I can't tell you what happened exactly, I did find a way to recover your sculpt.
What seems to have happened is that somehow the object got removed, but the mesh data still stayed (I believe the technical term here would be Orphan Data). How that happened I'm not sure, but I tried appending the mesh again, and switched to the Data API view in the outliner and noticed it said 0 objects but 1 mesh.
The way to recover your object is to add another mesh object, go to the Mesh Data tab of the properties panel, and right at the top where it says the name of the object, on the left you can select different mesh data. Select the name of the object you're trying to recover and whatever mesh data the object you added had will now be replaced by the sculpted object.

Perhaps someone who knows more about this than I do can add something here. I'm not sure how a crash would manage to affect all the recovery files. If you delete the object intentionally the recovery options still work, so I'm really at a loss as to what could have happened.

This is an obscure feature... It thought at first that it was somewhere else than in Object Data but you are right, that button next to the object's name!
It simply works, I'll start to make several copies of my work from now on (like when we had softwares with one single undo), thanks a TON for your time.
You can never get angry at blender for too long...

I wouldn't call data blocks obscure. It is widely used functionality and also well documented. Also, Blender makes copies of saved files with .blend1 extensions so you don't override your work by accident and autosaves your files every 2 minutes. Go to File -> Recover Auto Save to recover them. However keep in mind pretty much any question about crashes is off topic here. Crashes are not part of Blender's functionality and are caused by bugs that need to be reported to developers since they cannot be solved here in an answer.

Thank you for clarifying. OP did mention that they tried all the recovery options, and that none of them worked. Regarding the nature of this question, since it's about how Blender can recover from crashes, isn't it valid? OP wasn't asking why, just if/how they can recover their work. Is it stated somewhere what questions are and are not valid in regards to crashes?


text:
How to transition between mountain and desert material?
I'e looked at many tutorials for creating desert mountains / deserts individually, but I'm trying to make a scene with a mountain in an actual, realistic desert, and I can't seem to match the materials correctly.
I don't have a direct screen shot (on another computer now) but basically I followed this tutorial to create a desert mountain https://www.youtube.com/watch?v=sxTc1rAd7Hk and basically everything was good following the tutorial, my mountain looks about like the one in the picture (taken from the video)

But now is where my question comes in: how can I actually combine this into a desert scene? As you can see in the picture, the material edges of the mountain mesh doesn't at all look like sand, and if I just put this on top of a desert like this:

then it obviously wouldn't at all look realistic, obviously.
I tried to just blend the two materials together using UV textre painting and (as an alternative) gradient masking in the cycles node setup (to basically just make a circle mask around the mountain, gradually fading into the sand material), I don't have a screenshot now, but basically: it didn't at all look realistic.
So if anyone knows some alternative way to combine the mountain material with an actual desert material, or someone make the desert match the mountain (other than just basic blending), that would be good.

The gradient material fading seems to be the way to go so it would be useful to add a screenshot of the result in order to diagnose the issue.

You can try burying the sides of the mountain under some of your sandy plane and some particles, as is shown in this answer: https://blender.stackexchange.com/a/44745/16395

@cegaton That question seems to be about blender internal, while this is about cycles. Answers don't really apply.


text:
fractured object meshes follow along path in order in AN
I want fractured object meshes to follow a path in a defined order in Animation Nodes, like in this video.
Here is a gif of the animation:

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:

Thats wonderfull work. can I move cubs along a curve instead of scale? actually I want to use this technic in to this work https://blender.stackexchange.com/a/130334/68233

as my guide video I wanted to reffer into 36th second https://www.youtube.com/watch?v=njkHH4_z77A&t=144s

@UDARAARAVINDA Extended my answer.

wonderful. I'm sorry to ask like this question,how do you use circle selection tool here? I can only use it in edit mode ,in object mode it doesn't select

@UDARAARAVINDA Using the C shortcut, not sure why it is not working for you. Also, please accept the answer if it answers your question.

Thank you very much.it works,I really appreciate you,my blender 2.8 version has a problem it is not get selection order but it works in 2.79.Thank you verry much


text:
How to apply a soft body simulator on a certain part of an object?

I am currently trying to make a jellyfish animation and I want to make it so that the 4 big tentacles slowly flop around, as if they're in water. In order to accomplish this, I'm attempting to create a vertex group for the tentacles and apply a soft body simulator to it. The goal is to make it so that the tentacles flop around like the moon jellys in this video
, while, at the same time, the main body keeps its consistency. Unfortunately, I'm having problems with the soft body simulator. Whenever I apply it, the whole thing distorts like this:

I've spent the whole day trying to figure this out, and haven't had any luck whatsoever. I read another forum somewhere that said to apply a rigid body with the soft body, but I haven't had any luck with that either.
Does anyone know how to apply the soft body simulator on a certain part of your mesh???
Here's a copy of my project.

The Laplacian modifier would do this.  Don't let anyone tell you it's no good when the model itself is also animated.  (Blend file available if needed)  Note, the tentacle flowing movements would need to be animated.  A lattice modifier might also do the job.

Did you try to assign the vertices of the non moving part to a Pin Group?

@Bruno I haven’t. Would you just weight paint the non moving part red and assign it to the control point

@Edgel3D I’ll try it out! Do you have the Blender file?

I have a few actually.  I've also been toying with your particular question and (sort of) done that in a hurry yesterday.  The demo gif's are too large, so I'll place those and some others with it into an mp4 video and put them up on Dropbox. You can view/download that first, see if anything interests you. Remember though, these are all animated tentacles/tubes.  None are automatic like @Bruno 's
Stay tuned...

@Edgel3D Thanks! I think the second video pretty much matches what I'm trying to do the most. How long did that animation take?

@SMH  , Not long once the 1st tentacle is meshed.  I'll have to post an answer in order to load the blend file on here.  That often takes more time than the whole Blend file, lol.

@SMH , I've got the answer ready but you don't think Cardboy0's answer below is a better solution for your situation?  My tentacles are separate meshes in order to insulate their animations and other factors from the main body and I gain the impression, most prefer the more biological approach.

@Edgel3D Sorry for the late reply. I thought I already replied. I actually ended up solving the problem. Thanks for your input and the video! it really helped!

No problems mate!  Glad you got there.

If you want certain vertices of your mesh (here: all vertices except the ones of the tentacles) to completely "ignore" the softbody-sim and animate like they originally did, three things are required:

The vertices you don't want to move need to be assigned with a value of 1 to your goal vertex group
The "Default" value in the strength settings of the goal property needs to be one as well
The max Strength value needs to also be 1

This basically tells the softbody-sim that those vertices want to be completely animated with their goal, which actually is just their default animation.
So basically instead of this:

make your vertex-group look like this:

Keep in mind however that even though those value-1-vertices will not be affected by the softbody-sim, they still will be taken into account while baking and thus slow down that bake. Don't ask me why.

thanks your input! I will probably be doing a project similar to this one and I may try you method. Thanks!

No problem my man

Cloth simulation Pin Group should do the trick. Just assign the non moving vertices to a specific group and use it in the Shape/Pin Group field of the cloth simulation settings panel.

How do you make it so that it's not as wrinkly and flaccid?
When I used the cloth simulation, it acted too much like cloth. Do you know if there's a way to make it drift like something fleshy or jelly in s current?

just reduced the tension, compression etc...  as you can see in the GIF screenshot. With default values, it is too stiff indeed

Sorry I forgot to actually post my answer. So what worked for me were these settings with the soft body simulator.

For the control point and the vertex group under goal, I used the "mb2" vertex group.

And for the springs under the edges section, I used the "big tentical" vertex group.

That seemed to do the trick.


text:
How to create individual shaped tunnel by using a curve?
I try to create a square shaped tunnel with the help of a curve and a cube, i have this path curve:

And i try to use the cube to create a tunnel or closed mesh which looks something like this:

I was able to create a circle shaped tunnel by changing the object data of the curve:

But is it possible to use individual forms to create tunnels?
I tried it with using a curve modifier in addition with an array modifier, but the result is ugly.

You can do this by using a square shaped bezier circle (no oxymoron here as you'll soon see):
First add a bezier circle (Add --> Curve --> Circle)

Then go to edit mode (Tab), select all the control points (A), then press V --> Vector, to make all the corners sharp.

While still in edit mode, rotate the circle along the Z axis by 45 degrees (R --> Z --> 45 ).

Now use this circle as a bevel object for your tunnel curve:

Scale the circle (S) to adjust the size.
You can manipulate this circle to change the shape of the tunnel's profile whichever way you'd like.


text:
Blender 2.8 - No xyz arrows on vertices in edit mode?
I stopped using blender for 2 years. Back then with 2.7 everything was cool. But now they changed so much, that I don't understand anything. Everything feels so weird, what did they done to that masterpiece?! In Blender 2.7 there were arrows on the vertices in edit mode:

Where are the arrows now? They were very useful

The gizmos can be brought back from the gizmo menu:

Tools also have gizmos by default:


text:
Update animated texture on plane when NOT selected?
I'm modeling a complex organic model guided by an animated texture as a reference.
This sequence updates fine as long as I only keep the textured plane selected.
Unfortunately it freezes updating when NOT selected (on editing another mesh) and I'm scrolling through the timeline to check if everything is fine.
Is it possible in Blender to make the sequence on the unselected reference image plane update constantly?
I'm modeling in standard 3D-view in Blender 2.77a
TIA!

As far as I know Blender viewport materials are mostly optimized for speed, so unfortunately I don't think there is any sure way to maintain animated textures in the viewport. Not sure though

Instead of editing your question with the answer to your problem (along with adjusting the title), please instead post it as an answer (you can do that right below these comments).  Then the site will show that this question has an answer, which helps others find it.  Thank you.

Since you don't add your answer as solution, I did it for you. I also tested it and it still works in v2.79

(Enhanced) Answer from OP moved here:
In Object Mode simply Add -> Empty -> Image

then open the desired movie or image sequence file(s) under the Empty's Properties -> Data

set the source to Match Movie Length and Auto Refresh.

This way the sequence not only updates correctly when the Empty is selected but also, when working on another object!


text:
palette not shown in texture paint mode
The palette is not shown at any brush i choose
Also i am not able to paint from any texture, and if i try for example using clone brush i would get just a black brush
If i try on another project these things it works, so, do you have any idea what may be wrong set up?
Any help is appreciated :)
Edit:
I realised that the problem is that some brushes miss, and i am still working so solve this
Some says that it s enough to open your project unchecking the load ui option, but for me it didn't work

You are using a mask brush which doesn't use colour.
Choosing a colour from the palette only makes sense with brushes that apply colour to an image such as draw. Brushes like smudge, mask and blur don't use colour information so don't see the palette. While the clone brush applies colour it takes the colour from the starting position not the current brush colour, so also doesn't get the palette visible.

authors: Павел Черняк


text:
Difference between variable and property scope in a script
My __init__.py script creates a panel that lets a user select the figure (typically a humanoid figure imported from Poser) she wants to give shaders to, defines the figure type and then sets the path to the image files used in the shader script.
The bit that creates the panel:
class MatShaderPanel(bpy.types.Panel):
    """Create shaders for your Poser figure: Panel"""
    bl_label = "Figure Files Util"
    bl_idname = "MATERIALS_PT_shaders"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'

    def draw(self, context):
        # sets renderer to Cycles
        if bpy.context.scene.render.engine == 'BLENDER_RENDER':
            bpy.context.scene.render.engine = 'CYCLES'
        layout = self.layout
        obj = context.object

        row1 = layout.row()
        row1.label(text='Figure Name')

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

        row4 = layout.row()
        row4.prop(context.scene, 'imag_path')
        row5 = layout.row()
        row5.operator("object.run_script", text='Apply Shaders')
        row5.enabled = context.scene.show_row5

I believe that I register that 'imag_path' property seen in row4.prop(context.scene, 'imag_path') in:
def register():
    bpy.utils.register_module(__name__)
    bpy.types.Scene.imag_path = bpy.props.StringProperty( \
      name="Images Path",
      default="",
      description="Defines the path to your images",
      subtype='DIR_PATH')
    bpy.types.Scene.figur_obj = bpy.props.StringProperty( \
      name="Figure Type",
      default="",
      description="Defines the base mesh name of your figure")

def unregister():
    del bpy.types.Scene.imag_path
    del bpy.types.Scene.figur_obj
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

However, the imag_path property doesn't appear to be available to the rest of the script. I was thinking of making it a global variable by setting it right after the import statements, but am not quite clear on whether that's the right approach. For example, this (in a subsequent function):
def shadersSetup():
    csvFile = imag_path + "/" + "image_List.csv"

...fails, as imag_path isn't available to shaderSetup().
Think I need to read up on property scope vs variable scope and how all that relates to modules. This doesn't discuss it any.
Update
Not the full answer yet, so I can't call this solved, but I did incorporate both batFINGER's and TLousky's suggestions. Unfortunately, I am still getting an error based on what gets written to imag_path in that DIR_PATH property(?) which allows the user to go out and find the folder containing the images. I mean the last part of the resultant path looks exactly right, but the first bit seems not quite right, somehow: here is the error:

Traceback (most recent call last):
        File "/home/robyn/.config/blender/2.76/scripts/addons/make_Shaders/__init__.py", line 102, in execute
          shadersSetup()
        File "/home/robyn/.config/blender/2.76/scripts/addons/make_Shaders/__init__.py", line 124, in shadersSetup
          iList = readImgList(csvFile)
        File "/home/robyn/.config/blender/2.76/scripts/addons/make_Shaders/__init__.py", line 113, in readImgList
          with open(fname, 'r') as csvfile:
      FileNotFoundError: [Errno 2] No such file or directory: '//../../AllTextures/AllSkin/PS_Syri/image_list.csv'

The part of the path displayed is correct, exactly. But the script seems to expect a fully-qualified path. And I tried: csvFile = os.path.join(os.path.abspath(scn.imag_path), "image_list.csv"). Still gave me a truncated path.
I do want to say I thoroughly appreciate your help.
2nd Update
Since the problem with the path still exists, I've been running a series of test on this path issue, double-checking that the path and the file do indeed exist. I did change the csv_Path property to take the file name now:
bpy.types.Scene.csv_path = bpy.props.StringProperty(name="CSV Path",
  default="*.csv",
  maxlen=1024,
  description="CSV location",
  subtype='FILE_PATH')

Mind you, I thought by doing a default="*.csv", it would only display that csv file in the folder, but it displays all files.
Here is the path testing code:
scn = bpy.context.scene
csvFile = os.path.abspath(scn.csv_path)
csvPath = csvFile[:-14]
fullyQP = os.path.join(os.getcwd(), csvFile)
print("scn.csv_path: " + scn.csv_path)
print("csvFile: " + csvFile)
print("csvPath: " + csvPath)
print("Joined cwd and the CSV: " + fullyQP)
print(os.path.isdir(csvPath))

Here is the output to the print()s:
scn.csv_path: //../../AllTextures/AllSkin/PS_Syri/image_List.csv
csvFile: //AllTextures/AllSkin/PS_Syri/image_List.csv
csvPath: //AllTextures/AllSkin/PS_Syri/
Joined cwd and the CSV: //AllTextures/AllSkin/PS_Syri/image_List.csv
False

The last is most significant, as it is not seeing that relative path as a workable path. In my preferences, under File, I have Relative Paths ticked. I'm completely baffled as to how to proceed.
ETA: I guess if I can't get this working, I might need to have the users put those csv files (and image files) where Blender and the script can easily find them. Thing is: what I was hoping was that they could use existing folders somewhere in their /runtime/textures/character directories instead of having to make a copy to their Blender projects folders.

Don't think you'll get away with changing properties in the draw method of a panel, in your case the render engine.  Also using os.path.join(scene.imag_path, "image_list.csv") is good practice.

You were right, batFINGER... changed to Blender Internal and the If statement failed. Working in the function further down (shaderSetup()) which is where it should have been. Also, added os.path.join()  - thank you for the suggestion.

related: http://blender.stackexchange.com/questions/26898/how-to-create-a-folder-dialog/26906#26906

Is the filename image_list.csv or image_List.csv if you're on linux it's case sensitive.  Also do you need the csv file, you can select multiple files from the filebrowser http://blenderartists.org/forum/showthread.php?164765-Scripting-examples-for-2-5-update-Mar-26th-2010&p=1975106&viewfull=1#post1975106 or if you do why not make the string_prop a FILE_PATH and pick the csv file itself.

Your suggestion makes good sense, batFINGER, for a number of reasons, paramount of which being: if a .csv hasn't been created, selecting the folder only will still cause the script to fail. I should be able to get the location of the files from that.

I've gone ahead and implemented your suggestions, @ poor, but the problem persists: Blender will not recognise a relative path as a valid one, but will see a fully qualified path as valid. Not sure if this is okay, but so that it can be viewed in its entirety, I've posted it to my github-unstable site.

@RobinsSea Sorry for the delay, but I did not received any message. Probably because of the whitespace between the 'at' and the name. Anyway, paths needs to be valid :) All you need is os.join(), see: http://stackoverflow.com/questions/10918682/concatenate-path-platform-independent and avoid somthing like path[:3] in order to write platform independent python. Hope this helps :)

Also important to know: http://blender.stackexchange.com/questions/12152/absolute-path-of-files-in-blender-with-python

@poor thanks for the tip on leaving out the space. My path-to-csv is created by the user navigating to the file (so it - and the related images referenced in the csv - can be anywhere on the drive, not just in the same folder as the .blend. Therefore, although in my case the images are in a subfolder which is in the same Projects folder that holds the the .blend, that may not be the case for the user. os.path.abspath( path-to-csv ) returns: /home/robyn/Documents/Blender/Projects/AllScripts/Shader_blend/../../AllTextures/AllSkin/PS_Syri/image_List.csv - not valid: it includes the .blend. :-/

@poor I do want to thank you for looking at this. I've updated my git to have a testing branch which has the full code - I did use  ideasman's example, but I'm convinced I'm missing something.

Sorry, meant to say: bpy.path.abspath( path-to-csv ) returns: /home/robyn/Documents/Blender/Projects/AllScripts/Shader_blend/../../AllTextures/AllSkin/PS_Syri/image_List.csv

When you add a property to the scene type, such as with your bpy.types.Scene.imag_path, you need to access it through a scene object.
For instance:
print( bpy.context.scene.imag_path )

Or in your case:
def shadersSetup():
    csvFile = bpy.context.scene.imag_path + "/" + "image_List.csv"

You actually have used it this way in another part of your code, which gave away the hint:
row4.prop(context.scene, 'imag_path')

IMO using a property group makes most sense and is easier to manage: http://blender.stackexchange.com/questions/26898/how-to-create-a-folder-dialog/26906#26906

I agree. Also with  batFINGER's comment from above advising to use os.path.join as a safer, platform independent way to concatenate paths.

@TLousky - As this script is to be platform-independent, I will definitely include this approach. @ poor - I've had a look at the script you linked to: thank you for the heads up and the suggestion. Whilst running the script from text editor was simple and didn't require using properties, I think your approach might be needed to manage material_slots for a figure.

I'm going to close this question (which totally became more of a path issue than anything else) by saying that os.path.join() works in this context: by placing the files you wish to access in the same folder as the .blend, and then using bpy.data.filepath:
blendPath = bpy.data.filepath
blendDir = os.path.dirname(blendPath)
csv_file_path = os.path.join(blendDir, "path_List.csv")

blendDir is the fully-qualified path to the currently opened .blend, in which directory the path_List.csv will also reside.


text:
If "bpy" in locals(): evals to True on first run
I've put together this multi-module script, which lives in a make_Shaders folder, which is also the name of the module that makes the shaders: make_Shaders.py. I'm using this code in the __init__.py to load (import) the modules:
# 'borrowed' from Antonioya - elegant solution!
path = sys.path
flag = False
for item in path:
    if "make_Shaders" in item:
        flag = True
if flag is False:
    sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'make_Shaders'))
    print("make_Shaders folder added to pythonpath")

if "bpy" in locals():
    import imp

    imp.reload(figure_Defs)
    imp.reload(make_Shaders)
    print("make_Shaders: Reloaded multifiles")
else:
    import figure_Defs
    import make_Shaders

    print("make_Shaders: Imported multifiles")

When I zip and install this in a brand-new .blend (just opened Blender), I get the following error when I try to tick the 'Activate' tickmark:
addon_utils.disable: make_Shaders not disabled.
Modules Installed from   '/home/robyn/Documents/Blender/Projects/AllScripts/make_Shaders.zip' into '/home/robyn/.config/blender/2.76/scripts/addons' (make_Shaders)
addon_utils.disable: code_autocomplete not disabled.
make_Shaders folder added to pythonpath
Traceback (most recent call last):
  File "/home/robyn/blender276/2.76/scripts/modules/addon_utils.py", line 324, in enable
    mod = __import__(module_name)
  File "/home/robyn/.config/blender/2.76/scripts/addons/make_Shaders/__init__.py", line 61, in <module>
    imp.reload(figure_Defs)
NameError: name 'figure_Defs' is not defined

addon_utils.disable: make_Shaders not disabled.

Line 61 is the last statement in this segment:
if "bpy" in locals():
    import imp

    imp.reload(figure_Defs)

It seems "bpy" is in locals() straight away, when first starting Blender, which this says wouldn't happen:
This code works as follows.
If __init__.py() is run for the first time, i.e. on starting Blender with the addon enabled in your default.blend, "bpy" in locals() is False. The other files in the package are imported, and Imported multifiles is printed in the terminal.
Thank you for considering my little dilemma.
Edited to Add
I double-checked case and spelling of the modules: both correct.

Is import bpy before or after the code shown above, secondly when importing use from . import make_Shaders  and lastly why do you need to add to the sys.path ?  The addon registration will do this for you. Once it is enabled you can from make_Shaders.make_Shaders import xxxx for example.   Also can I suggest all lower case for make_shaders and camel case for class names class MakeShaders

Is my face red! The import bpy is before... it should be after. I will change to from . import make_shaders (changing case to lower) as you suggest. The only bit I still don't get is this:     "Once it is enabled you can from make_Shaders.make_Shaders import xxxx" - I thought I was limited as to where I can issue an 'import' statement, as in, not in a function.

Oh, and as to the why am I adding to the syspath? got that from Antonioya, and it seemed like a good idea that the time, particularly since I've been having such dramas with paths. Finally resolved the path problem in that other thread by using a csv to store the path to the images. This works in both Linux and Windows: the users put in the path themselves. Probably not ideal, of course, and it's going to be a nightmare to error-trap... perhaps a try - except in the execute().

Following batFINGER's sage advice, I've done the following. I think I get the from make_Shaders.make_Shaders import xxxx now. I haven't seen this syntax exactly anywhere, but it works an absolute treat. My actual statement is:
from make_shaders.make_shaders import buildShader
from make_shaders.figure_defs import matZones

'buildShader' and 'matZones' both being classes. This approach works perfectly, and is an excellent solution to managing multi-file modules. Incidentally, I took out the add to syspath stuff as well. Thank you, batFINGER. Wish you did a correspondence course... :)


text:
cuCtxCreate: Invalid device with two different Nvidia cards
cuCtxCreate: Invalid device with two different Nvidia cards
I'm running Ubuntu 14.04 with Nvidia drivers 375.66 installed from the Nvidia site. I've got two cards: a GeForce GTX 560 and a GeForce GTX 1060 3GB. Using Blender 2.79 downloaded from blender.org, if I enable CUDA and use Cycles with GPU, everything works fine if I use either card individually. But if I use both cards, though, I get "CUDA error at cuCtxCreate: Invalid device". I'm using the default scene, so there's no memory issue.
I looked around the web and found a couple other posts with the same issue. The only one with a solution was here and the bug mentioned there.  Unfortunately, the fix there, a clean install of Ubuntu, didn't help me---I had the same problem. (Though I used KDE neon, not Ubuntu 16.04.)
I'm using the downloaded 375.66 as if I use the Ubuntu provided driver, nvidia-384, performance using the 560 is terrible---it takes 30 seconds to render the default cube.  However, I do get the same bug with the 384 driver.
Questions: (1) Is this something that has any chance of working? Or are the cards just too far apart in what CUDA versions they support?
(2) If this might work, an ideas on what to do to track down and fix whatever's causing the problem?
[edit]cegaton suggests that the 560 is not worth bothering with.  Perhaps, but based on my benchmark runs, it's not nothing; the benchmarks I've run show it running about 1/3 as fast (that is, taking about 3 times longer for most scenes).  Also, the 560 has 2GB of memory compared to 3GB for the 1060 so the memory issue isn't as big as suggested.
I will try the suggestion, though, and see if it speeds up the 1060.[/edit]


text:
Bump map not applying at all
I've been trawling through the web for 2+ hours on this issue, determined to find the answer instead of creating a new thread - but I can't seem to find a solution that will work for me at all.
I've applied a normal map to the plane that acts as a table, but no matter what I do I cannot get it to raise up or down. I've attached both a screenshot from the 3d viewport + node view, and the final render as well.
Any help would be greatly appreciated!!
P.S I've been following this guide: https://www.youtube.com/watch?v=izqZe8s_Jmw

can you share the normalmap?

I'm unsure if this is what you meant - https://imgur.com/a/duWw6 - if not I'll do my best if you explain it. Cheers!

The Normalmap is the map you see in the middle of this image. https://en.wikipedia.org/wiki/Normal_mapping#/media/File:Normal_map_example_with_scene_and_result.png
Can you show what image you plugged in the second image texture slot in your Material (the one which goes into the normal Map Node).
Normal map and Bump map are two different concepts

Looking at your node setup, the Texture for the diffuse color should NOT be set to non-color data, but "Color". Also, are you using a bump map (greyscale) or a normal map (purple-colored)? (as already asked by @monatsed) Those have to be treated differently.

michaelh thankyou, I am using a normal map (purple-colored). @monatsend I managed to get that view of my plane - it was a flat blue surface. I can upload another picture if it doesn't violate the forum rules

yes you can add more pictures to your post, but I would recommend that you append a .blend file (https://blend-exchange.giantcowfilms.com/). and don't forget to pack the textures in the file.
If you dont want to share your files, just create dummys. The only important part is your normal / bump map and the Material.

@monatsend Thanks for offering to take a look. I've edited the post with my blend file :-)

The problem is with the normal map it self. For some reason its not the correct one to use... It is compressed and generates unwanted stepping. You should download correct diffuse and normal maps (don't use printscreen or similar).

Yes. Your normal map is completely useless. There are only some artefacts on the map. It is otherwise completely empty. (i.e. a solid color without variation) You should be able to see faint lines similar to your wood texture.

You guys are great, thanks for letting me know and being able to identify the issue so promptly. +1 to you all

You should really plug your normal map into both the Diffuse and Glossy node, however, that's not why you are seeing no effect.
The normal map you are using is basically flat. You can see this by looking at it in the UV Image Editor. It's from a glossy surface with virtually no variations in surface depth. You will simply not see much, if any, effect from that normal map.
To contrast, look at the normal map you are using (basically all one colour) and then look at this (randomly selected) one I found on Google from a brick surface that has a lot of variation: http://jsoverson.github.io/texture.js/demo/images/brickwork-normal.jpg

+1, not enough rep to do any more. Thanks for the advice on both counts. After plugging your brick wall map in it's clearly working.

No problem. Yes, there is nothing wrong with your setup as such. Just that normal map is from a basically flat, polished surface so... no bumps

If you want to generate a quick Normal map from your Image texture. try this tool. It is very basic but you can use it for free.
http://www.smart-page.net/smartnormal/
just open your texture from you disc via the load button. and increase or decrease your Bias.
If your normal seems to point in the wrong direction, just pick "flip green channel"

Another very handy comment. Monatsend you helped me through the intial part, so I wish I could select two correct answers. That tool is extremely helpful and got me a very nice finish with the texture I used.

I'm glad that I could help you. ;-)


text:
Subsurf modifier seems to prefer a vertex for no reason
I have what I thought to be a regular shape with quads only, but as you can see, there's a prominent "ridge" on one of the edges and I can't figure out why:

Here's the topology of it:

I thought maybe there was duplicate vertices so I did a "merge by distance", but nothing changed. Drawing a rectangle on top of one of the suspect vertices selects a single one as well, so I don't think that's the issue. The crease on all edges is also set to 0. Another peculiar thing is that selecting
Another peculiar thing is that loop selection doesn't go all the way around the object:

Here's the blendfile:

Going into edit mode, I see the shading is not correct.
To fix this, select the object, go into edit mode, select all vertices and then recalculate normals (shiftn).

@jeanluc You should also add a question to your future posts

That did it, thanks. Do you know of any resources on how normals affect subsurf?


text:
Does Blender compute all previous modifiers to a Geometry Nodes each time a value is changed in the GN?
Does Blender compute all previous modifiers to a Geometry Nodes each time a value is changed in the GN?
-I mean, for example, if I have a big mesh and I want to reduce its vertices with a decimate modifier before the GN. Does Blender compute that modifier each time I change a value in the GN?
-And another question: If I add just two nodes, a merge by distance and then a set position. Each time I made a change in the set position does it also compute the merge by distance? Thanks
Thanks!

Merge by distance doesn't do the same as decimate. So if one performs and other doesn't, I think that kind of helps to determine which performs better.

Thank you Marynas, I undestand so I updated the question. But the main point is if it computes all modifiers previous to a GN each time a value is changed in the GN. Thanks!


text:
Cave generator: flickering issue
I'm creating this cave generator in GN. It generates a cave from a curve line. This curve line start and end points are based on the camera 'y' location.

The issue here is that the mesh flickers as the camera 'y' location changes... because it's generating the curve each time that value changes.
Is there any way to avoid this flickering? I know I could try creating a cylinder mesh and then deforming it along the curve but it's a little bit messy.

Thanks

You can fix it by snapping camera position

Thank you very much! Is this much more computationally expensive than deforming a cylinder along the curve? Thanks!