text:
GDAL installation
I am trying to install GDAL to use it with BlenderGis, but I am not able to run it. I have Python installed with brew.
I tried a similar flow as described here for Mac: https://github.com/domlysz/BlenderGIS/wiki/How-to-install-GDAL
When I run from osgeo import gdal I get:
/Applications/Blender.app/Contents/MacOS/Blender
^[[C^[[CError: Python: Traceback (most recent call last):
  File "/Text", line 1, in <module>
ModuleNotFoundError: No module named 'osgeo'

I found my python installation here: /opt/homebrew/Cellar/python@3.11/3.11.4_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/
I did this to copy it:
cp -rf /opt/homebrew/Cellar/python@3.11/3.11.4_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/osgeo/ /Applications/Blender.app/Contents/Resources/3.6/scripts/modules/

After that I tried to copy it into folders to modules/osgeo and now I am getting this error:
DEBUG:BlenderGIS-228.core.checkdeps:GDAL Python binding unavailable
DEBUG:BlenderGIS-228.core.checkdeps:PyProj unavailable
DEBUG:BlenderGIS-228.core.checkdeps:Pillow unavailable
DEBUG:BlenderGIS-228.core.checkdeps:ImageIO Freeimage plugin available
Error: Python: Traceback (most recent call last):
  File "/Applications/Blender.app/Contents/Resources/3.6/scripts/modules/osgeo/__init__.py", line 30, in swig_import_helper
    return importlib.import_module(mname)
  File "/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'osgeo._gdal'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Text", line 1, in <module>
  File "/Applications/Blender.app/Contents/Resources/3.6/scripts/modules/osgeo/__init__.py", line 35, in <module>
    _gdal = swig_import_helper()
  File "/Applications/Blender.app/Contents/Resources/3.6/scripts/modules/osgeo/__init__.py", line 32, in swig_import_helper
    return importlib.import_module('_gdal')
  File "/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_gdal'

Please, any idea how to make it working?
Edit 2023-08-13:
I tried to run /Applications/Blender.app/Contents/Resources/3.6/python/bin/pip3 install gdal
But getting error:
/Applications/Blender.app/Contents/Resources/3.6/python/bin/pip3 install gdal
Collecting gdal
  Using cached GDAL-3.7.1.1.tar.gz (776 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: gdal
  Building wheel for gdal (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [182 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-11.00-arm64-cpython-310
      creating build/lib.macosx-11.00-arm64-cpython-310/osgeo
      copying osgeo/gnm.py -> build/lib.macosx-11.00-arm64-cpython-310/osgeo
 ...
      creating var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn
      creating var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c /var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmpy53sf_2s.cpp -o var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmpy53sf_2s.o -Wno-error=unused-command-line-argument-hard-error-in-future
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      1 warning generated.
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c /var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmp_txcjv3e.cpp -o var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmp_txcjv3e.o -Wno-error=unused-command-line-argument-hard-error-in-future
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      1 warning generated.
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c /var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmps7suvkhh.cpp -o var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmps7suvkhh.o -Wno-error=unused-command-line-argument-hard-error-in-future
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      1 warning generated.
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c /var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmpk2r8008m.cpp -o var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmpk2r8008m.o -Wno-error=unused-command-line-argument-hard-error-in-future
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      1 warning generated.
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c /var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmp_fh4vxo4.cpp -o var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmp_fh4vxo4.o -Wno-error=unused-command-line-argument-hard-error-in-future
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      1 warning generated.
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c /var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmplb3ylobc.cpp -o var/folders/5y/1mtr8g5d22z7m61s_46gjwv80000gn/T/tmplb3ylobc.o -Wno-error=unused-command-line-argument-hard-error-in-future
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      1 warning generated.
      building 'osgeo._gdal' extension
      building 'osgeo._gdalconst' extension
      building 'osgeo._osr' extension
      building 'osgeo._ogr' extension
      creating build/temp.macosx-11.00-arm64-cpython-310
      building 'osgeo._gnm' extension
      creating build/temp.macosx-11.00-arm64-cpython-310/extensions
      creating build/temp.macosx-11.00-arm64-cpython-310/extensions
      building 'osgeo._gdal_array' extension
      creating build/temp.macosx-11.00-arm64-cpython-310/extensions
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c extensions/gdal_wrap.cpp -o build/temp.macosx-11.00-arm64-cpython-310/extensions/gdal_wrap.o -std=c++11 -Wno-error=unused-command-line-argument-hard-error-in-future -I/opt/homebrew/Cellar/gdal/3.7.1_1/include
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c extensions/gdalconst_wrap.c -o build/temp.macosx-11.00-arm64-cpython-310/extensions/gdalconst_wrap.o -Wno-error=unused-command-line-argument-hard-error-in-future -I/opt/homebrew/Cellar/gdal/3.7.1_1/include
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c extensions/osr_wrap.cpp -o build/temp.macosx-11.00-arm64-cpython-310/extensions/osr_wrap.o -std=c++11 -Wno-error=unused-command-line-argument-hard-error-in-future -I/opt/homebrew/Cellar/gdal/3.7.1_1/include
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c extensions/gdal_array_wrap.cpp -o build/temp.macosx-11.00-arm64-cpython-310/extensions/gdal_array_wrap.o -std=c++11 -Wno-error=unused-command-line-argument-hard-error-in-future -I/opt/homebrew/Cellar/gdal/3.7.1_1/include
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c extensions/gnm_wrap.cpp -o build/temp.macosx-11.00-arm64-cpython-310/extensions/gnm_wrap.o -std=c++11 -Wno-error=unused-command-line-argument-hard-error-in-future -I/opt/homebrew/Cellar/gdal/3.7.1_1/include
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -mmacosx-version-min=11.00 -arch arm64 -mmacosx-version-min=11.00 -arch arm64 -I/Users/brecht/dev/build_darwin/deps/Release/python/include/python3.10 -I/Applications/Blender.app/Contents/Resources/3.6/python/lib/python3.10/site-packages/numpy/core/include -I/opt/homebrew/Cellar/gdal/3.7.1_1/include -c extensions/ogr_wrap.cpp -o build/temp.macosx-11.00-arm64-cpython-310/extensions/ogr_wrap.o -std=c++11 -Wno-error=unused-command-line-argument-hard-error-in-future -I/opt/homebrew/Cellar/gdal/3.7.1_1/include
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
      extensions/gdalconst_wrap.c:156:11: fatal error: 'Python.h' file not found
      # include <Python.h>
                ^~~~~~~~~~
      extensions/gdal_array_wrap.cpp:179:11: fatal error: 'Python.h' file not found
      # include <Python.h>
                ^~~~~~~~~~
      extensions/gnm_wrap.cpp:180:11: fatal error: 'Python.h' file not found
      # include <Python.h>
                ^~~~~~~~~~
      extensions/osr_wrap.cpp:180:11: fatal error: 'Python.h' file not found
      # include <Python.h>
                ^~~~~~~~~~
      extensions/gdal_wrap.cpp:180:11: fatal error: 'Python.h' file not found
      # include <Python.h>
                ^~~~~~~~~~
      extensions/ogr_wrap.cpp:180:11: fatal error: 'Python.h' file not found
      # include <Python.h>
                ^~~~~~~~~~
      1 warning and 1 error generated.
      1 warning and 1 error generated.
      1 warning and 1 error generated.
      1 warning and 1 error generated.
      1 warning and 1 error generated.
      1 warning and 1 error generated.
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for gdal
  Running setup.py clean for gdal
Failed to build gdal
ERROR: Could not build wheels for gdal, which is required to install pyproject.toml-based projects

I tried to fix it with: Python.h missing in Blender Python? but without success.

you can install blender python modules using pip. u have to install them using the scripting tab inside blender because blender is bundled with its own python version, independent of your system-wide python.

I tried this and I am getting error when trying to install gdal with command /Applications/Blender.app/Contents/Resources/3.6/python/bin/pip3 install gdal
error: extensions/gdalconst_wrap.c:156:11: fatal error: 'Python.h' file not found       # include <Python.h>

I tried to follow this guide https://blender.stackexchange.com/a/107381/172085 but still not success.

no do it inside of blender Text Editor in the scripting tab

@HarryMcKenzie it is giving me the same error fatal error: 'Python.h' file not found       # include <Python.h>

So I was able to fix it by running this:
/Applications/Blender.app/Contents/Resources/3.6/python/bin/pip3 install --upgrade setuptools

This thread helped https://github.com/pypa/packaging-problems/issues/573


text:
Object disappearing when rotating camera in Blender 4
I have installed Blender 4 and after opening my previous file from v3 I got strange behavior about disappearing. Please, any idea how to fix this?
In those two images I just slightly rotated camera.

edit: tried to change clip start distance and it broke it

Might be because of ur clip distance, try to lower it and check

tried to change it, see image in edit. But, when I set clip start to 0.001 m and clip end to 1000 m it seems fixed. So I had probably big values there.

yes, if u're modelling a flat or bulding you would probably be fine with 0.1 start and 1000 m end clip

Thank you. I probably set it far, because of sun, it was too bright so I was playing with it.

@Dawe What does the sun have to do with clipping distance?

@GordonBrinkmann nothing probably, I was just playing around with it

This issue is introduced when the clipping value is too big.
It can be found here in View:

With these settings it works perfectly:

Hi, thanks for the post. This site is not a regular forum, answers should be substantial, stand on their own, and thoroughly explain the solution and required steps. One liners and short tips rarely make for a good answer. If you can, [edit] your post and provide some more details about the procedure and how it works, perhaps add a few images illustrating some steps and final result. See How to write a good answer?, otherwise it may be converted to a comment.

source: Stack Exchange

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

sort: votes


text:
Render not maintaining transparency when using volumetric lighting (Cycles)
I have been working on a pre-rendered game for quite some time, and wanted to add an object to the game with a transparent background but still having and being affected by volumetric fog to match up with the rest of the game. If I turn off the volumetric lighting and check the transparent box, everything works fine, but the moment I turn on the volumetric lighting, the render background is no longer transparent! Is there any way I could get this render to just include the door shown in the image below? any help would be greatly Appreciated!

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer - like before and after screenshot, what the desired result should look like. What options did you change (screenshots of tweaked settings). Or even a .blend file for others to test.

Well, of course the background is no longer transparent (or at least not fully transparent), because there is volumetric fog. If it were fully transparent you would not see the fog...

//EDIT: The following methods will only work if you use an object as surrounding volume, not if the volume is set in the world itself.
If you want to see the fog occluding the object but make the rest of the image around the object transparent, you have to do that in compositing and the help of, for example, a Color Ramp.
Here a scenario: I have put Suzanne in a box with blue fog and there is a pink light shining on it. You can clearly see the pink light on her head and the face is occluded by the blue fog:

But as you can see in the Alpha channel, the background is not black (fully transparent) but grey. Of course not, because if it had no slight opacity there would be no fog visible:

Which brings us to the problem that you have if I understand the question correctly, if I would overlay this image onto some other background (in this case simply a green color) in the Compositor, the background is also affected by the fog:

But what you want is seeing the pink light and blue fog on the monkey head, but the background should be plainly visible without any fog effect obstructing it.
One way to achieve this is the following:
Plug the Alpha output into a Color Ramp and its Image output into the Fac input of the Alpha Over node. Then move the black slider very far to the right side until the background is completely transparent. How far is dependent on how dense and thus opaque the fog is:

Another way would be to put Suzanne in her own collection so that you have two, one just for the monkey and one for everything else (or at least the volumetric fog object!). Then add another view layer and in the first leave everything visible, in the second you disable everything except the monkey collection by unchecking the collection with the fog object:

If you now go to the Compositor you need two Render Layers nodes, one set to the view layer where everything is visible, the other just for the monkey. The Alpha output of the monkey layer goes into the Fac input of the Alpha Over node:

This method unfortunately requires rendering the scene twice, one time for each layer, but when there is nothing in the second layer except for the monkey it should not take too long.
If you do not want to overlay the monkey directly in the Compositor but instead save an image of it with a transparent background, you can use one of the two methods describe above to use a Set Alpha node with the resulting alpha information (here shown with the last method):

It sort of works, I copy the exact same node setup as you have in the example and it turns out like this: file:///C:/Users/cyrfa/Downloads/EX.jpg. I'm not sure why this is or if my render is simply too noisy.

@sypher That's a local link to a file on your computer. I cannot open it.

Thats odd, is there any way to upload an image to a comment? Or can I share the file with you?

You can edit it into your question, but I suspect it is just your volume is very dense - at least in the example I can hardly see anything because it is so dark. The more dense, the less transparent and the harder it gets to separate object from background with a Color Ramp. Too noisy? I used denoising, did you? And did you try the first or second method?

I used the first method, I wasn't exactly sure how to do the second one because my volumetric lighting is in the world settings and not an object. But I just added the image to the post so you can look at it now.

@sypher Oh, good to get this information, that wasn't clear from the question. So, I'm sorry: none of these methods will work when it is in the world settings.

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


text:
Combining Remesh Modifier with Displace Modifier and Vertex Group
I'm a newbie in the Blender world and have a problem where I haven't found a solution even after several hours of trial & error and online research.
I have an STL file with terribly bad geometry. The surface is supposed to be smooth. Except for a special area on the top which is supposed to be roughened. I have grouped this surface into a vertex group. The finished part needs to be 3D printable.

As I understand it, I need to repair the unusable geometry with a Remesh Modifier (either Voxel or Sharp) and then use the Displace Modifier to put a texture on the surface of the Vertex Group.
In principle, this also works very well. With the Remesh Modifier I get a really neat geometry and also the Displace Modifier basically leads to the desired result at first. But as soon as I limit the Displace Modifier from the whole part to the area of the vertex group, the texture suddenly disappears.

I have already experimented with making the Vertex Group into a separate Selection. But then the Remesh Modifier doesn't work as I had hoped.
I'm pretty sure I'm just missing some completely trivial intermediate step. However, I currently don't even know what to search for.
This is my Blender-File:

I would be more than grateful for any relevant hints.
Happy Blending!

Hello please share your file: https://blend-exchange.com/

The remesh destroys all vertex groups, because it completely replaces all of your vertices.  So after the remesh, there are no verts assigned to that group, hence no displacement.  You could consider a data transfer modifier, after the remesh, targeting a copy of the mesh with no remesh, to copy VGs to your remesh.  Or, you could apply the remesh and then paint the VG.  Probably, neither of those things are really trivial.

Thank you very much for the two feedbacks!
@moonboots: I uploaded my Blender file and added the download link to my question. Thanks for pointing that out.

@Nathan: I will take a look at the approaches you suggested.

@Magestic Thanks but actually I think Nathan has answered, you should apply the modifier is the result suits you, recreate a vertex group and use if for your Displace modifier

Let's duplicate your object to make a backup, then apply the remesh modifier, from the modifier's dropdown menu, and examine the mesh:

A quick look in weight paint mode shows us that our vertex group didn't survive the remesh modifier:

That makes sense.  Vertex groups are values attached to vertices, and none of our original vertices survive the remesh modifier.
We can go ahead and work with this mesh if we want, we'll just have to re-paint the vertex group.  We can see that as soon as we start to do so, the displace shows through:

If we don't want to repaint this group by hand, we can use a data transfer modifier to copy it from our old mesh-- in this case, from the backup we made.  We'll remove the modifiers from that mesh, move it back to exactly where it was, display it only in wireframe so it doesn't get in the way, and then create a data transfer modifier on our remesh, copying vertex groups on "nearest face interpolated" mode:

If we want to go all the way to a data transfer, we don't even have to apply the remesh modifier.  We can't paint by hand in the middle of the modifier stack, but we can data transfer in the middle.  So we could remesh, data transfer, and then displace, all live, all non-destructively, if that's what's needed.

Many, many thanks! Your last non-destructive approach is exactly what I was looking for. It's even pretty darn easy to implement. Thanks for the introduction to the Data Transfer Modifier. That was completely new territory for me up to this point...


text:
Correct Mesh Deformations?
I created a Mesh of a 3D letter "P"
However, in order to have the open space in the middle of the Mesh I needed to have more than one face on the very top, which causes the material to look unrealistic. (I circled the deformities)

So I am not sure if this is possible, but I want the mesh to have a clean top. I changed the shading to flat, which did make the top have a clean cut finish, but the siding did not have the look I was going for.
Is this possible?
Here is the blender file: https://www.dropbox.com/s/ye5m8oj9p51lz7w/01.blend?dl=0
Thanks!

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


text:
How can I solve this problem, while baking a high poly to a low poly one?
I'm trying to bake textures to a low poly, and here is a glitch I can not understand:

My low poly unwrap is fully split, and the high poly use object mapping (cube map)coordinate which is a small cube.
Developing with OpenGL, I could imagine it comes from a bad texture coordinate for this particular vertex, but how could I verify that in blender?
Thanks in advance.
edit
Here is the uv's:

I've set The island margin of smart uv, to make sure no overlapping occurs, but the glitch reapears
.
edit
here is the .blend:

edit
Maybe theres a trick with Object Mapping Coord, or a bug.
I've tried with generated mapping, no problems, But I would have preferred object mapping, for uniformity across models.

You could open file with your mesh in Blender, select mesh, enter Edit mode and check if there are overlapping faces on UV map. See instructions on UV mapping mesh for more details.

@MrZak: effectively, when I scale down the low polly unwrap, and put some space between faces, the glitch is gone. But the unwrap is done with seam at each side, and should normaly work without modification, maybe scaling up the model could help, I'll try. Thanks for the help

Can you include a screenshot of UV/Image Editor with mesh in Edit mode and all the faces selected ? Also if it's ok to have seams on each side you could use not manual unwrap method, rather then Smart UV Project (it just may be faster to set up).

There could be some hidden problems here; probably, materials aren't assigned in desired way, or still there's a face/edge taking zero area in UV map; as of now it seems that there's wrong mapping on the lowpoly (mapping of the highpoly isn't important). Could you upload problem part of the file to blend-exchange.giantcowfilms.com ?

@MrZak: ok done, I've also restart from scratch an even more simple one, but exactly the same problem arise

While it is possible to bake using Object texture coordinates, I'd recommend stick to using UV, taking into account that you assign seams on the mesh. And these seams won't have no sense since they aren't used by Object texture coordinates.Regarding to baking - I was able to bake the texture, and I'm not sure for now why it didn't work for you.

The only thing I change is materials' assignment. I add 'brick' and 'roof' materials, assign them to adjacent parts of the mesh, select 'Material.001' and bake. See here for details about materials' assignment

@MrZak: I'm under linux with an old radeon card, maybe it's a bug, I've tried to make a single object of the highPoly, assigning material per face, but not change. I've also tried to unwrap the highPoly to rerset default uv (overlaping ones) even if I do not use uv for texturing the highPoly

@MrZak: I've tried to use 'Generated' mapping coordinate, and the glitch disapears, but I would have preferred static foreign cube (object mapping) to have uniform size of details among different models, thanks for your time zak.

I can't tell how it'll work with old radeon card on linux of course; here you can download your file, which works for me (it's packed with textures), so you can press Bake after download and it should work. If it doesn't then yes, it's a bug. Good luck with project!

@MrZak: It worked once, then I got same results, even when redownloading your .blend. So it's a bug (radeon, or blender or some pixel lib of linux.

@MrZak: When viewport shading is set to 'Rendered', baking output is correct (very strange)

Finally, the way to solve this glitch is to set viewport shading to Rendered while baking.

This is clearly a bug in old rendering engine which seems solved in new Rendered viewport engine.

Please add some more details for people who may have this question in the future.

I don't know much about blender source code, The OpenGL feature used in the rendered viewport are surely different from other simpler (and older) viewports. The Rendered Viewport and Baking are options surely linked in source code (I think they emerged at the same time), but without diving in source code, It's impossible to say more.

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


text:
How to import PyQt into Blender?
I have been trying to import PyQt into Blender following Has anyone hooked up PySide to Blender? in Windows. However I am unable to get it to work.
import sys
sys.path.append('C:/Users/apple/blenderqt/py/Lib/site-packages')
import bpy
from PyQt5.QtWidgets import (QApplication, QWidget, QToolTip,
    QPushButton)
from PyQt5.QtGui import QIcon, QFont

class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        QToolTip.setFont(QFont('SanSerif', 10))

        self.setToolTip('This is a QWidget widget')

        btn = QPushButton('Button', self)
        btn.setToolTip('This is a QPushButton widget')
        btn.resize(btn.sizeHint())
        btn.move(50, 50)

        self.setGeometry(300, 300, 300, 220)
        self.setWindowTitle('Icon')
        self.setWindowIcon(QIcon('web.png'))

        self.show()

if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

I followed the same steps in the other question and PyQt works fine in the virtual environment but it does not work when I put it in the Blender project. What is the problem?

I have PyQt5 working from within Blender on Windows 10. There are likely multiple setup scenarios that are possible and you didn't provide any information on exactly what errors you are running in to, so I'll describe the setup that is working for me::

blender-2.76b-windows64.msi
PyQt5-5.5.1-gpl-Py3.4-Qt5.5.1-x64.exe
python-3.4.4.amd64.msi  (probably not required)

In my case, I had already installed PyQt5 in to an existing python-3.4.4 installation. The PyQt5 installer does not support installing to multiple locations, but I suspect I could uninstall and then reinstall it into the {blender-install}/python directory.  What I did instead was create a text file named qt.conf inside of my {blender-install} directory with this content:
[Paths]
Prefix = C:/Dev/python-3.4/Lib/site-packages/PyQt5
Binaries = C:/Dev/python-3.4/Lib/site-packages/PyQt5

The PyQt5 installer usually puts a qt.conf file in the python-install folder for you with relative paths. (My python install folder was C:/Dev/python-3.4).
One technique I found useful for troubleshooting things was to run the blender.exe from a DOS command prompt.  At first when I tried launching a QApplication, blender and everything would immediately crash and there would be no error message. By running from the DOS command prompt, I was able to see the errors. (This is different from the console window within Blender which does not have the chance to show errors when Qt crashes Blender itself.)
With the above done, I was able to run your script above. However, because you called app.exec(), once the Qt window was shown Blender became completely unresponsive. Closing the Qt window then immediately exited blender.
It doesn't seem to be necessary to call app.exec(). I also thought it would be necessary to somehow start the Qt event loop, but that doesn't seem to be the case. This answer on StackOverflow might explain why: https://stackoverflow.com/questions/28060218/where-is-pyqt-event-loop-running
For my own test, I used this simple script:
import sys
sys.path.append('C:\\Dev\\python-3.4\\Lib\\site-packages')
import bpy

from PyQt5.QtCore import Qt
from PyQt5 import QtGui
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QGridLayout, QLabel, QLineEdit, QWidget, QPushButton

class TestWindow(QWidget):
    def __init__(self, parent=None):
        super(TestWindow, self).__init__(parent)

        mainLayout = QGridLayout()

        test1Label = QLabel("Test 1:")
        test1Line = QLineEdit()
        mainLayout.addWidget(test1Label, 0, 0)
        mainLayout.addWidget(test1Line, 0, 1)

        test2Label = QLabel("Test 2:")
        test2Line = QLineEdit()
        mainLayout.addWidget(test2Label, 1, 0, Qt.AlignTop)
        mainLayout.addWidget(test2Line, 1, 1)

        button = QPushButton('Close', self)
        button.clicked.connect(self.handleButton)
        mainLayout.addWidget(button, 2, 0)

        self.setLayout(mainLayout)
        self.setWindowTitle("Simple Qt Test in Blender")

    def handleButton(self):
        print("close clicked")
        app.beep()
        window.hide()
        # note that at this point, I think the Qt app
        # is technically still 'running'

try:
    app = QtWidgets.QApplication(sys.argv)
    window = TestWindow()
    window.show()

    # I was surprised to see that it wasn't necessary to
    # somehow start the Qt event loop.  Normally something like
    # app.exec() would need to be called, but that of course
    # would hang blender. I found some info on why
    # event loop likely works from within blender without
    # additional setup here:
    # https://stackoverflow.com/questions/28060218/where-is-pyqt-event-loop-running

except Exception as e:
    print ('error')
    print (e)

If the above does not help, consider posting more information about exactly what errors or response you are seeing.


text:
The array control is messed up
[]
So i have modeled a bill here [see pic] and i want to rotate it with an empty object like every other tutorial you see on youtube...
But there, DANG!
It doesn't transform as expected!
It squishes and distorts for every iteration you add, its frustrating
Other than starting completely on a basic cube, i followed hoards of youtube tuts that always starts with the cube.
Do i have to start at a cube and forget about the dollar bill?
please help. :(

If you could upload your .blend file to this website, it would help greatly.

ok, where is the upload button?

Click in the big box in the middle of the screen to select your file, then click the orange upload button.

dude there's a problem with that uploader too

is that uploader in test phase still?

No. I honestly have no idea what the problem you are facing is now.

Make sure both your objects have applied scale and rotation. Ctrl + A > Apply Scale and Alt + R to clear rotation.

ok ill try that :)

thanks, the squishing  was fixed now, but the scale is still magnified

ah! ok got it :D you have to fix the scale for the empty as well


text:
the bake button is not where it should be

I was trying to bake a displacement map into the actual map following
https://www.youtube.com/watch?time_continue=94&v=McALCOr39rY&feature=emb_title
for how to do it but I can't find any bake options. please help
Here is the save file for anyone that would like to check problems with the mesh or the UV:
I have seriously no idea.

Did not look in depth into your file tested it out etc. but if you just go to the shading tab (at the top), the Bake button appears.

Hello :). @WhatAMesh is probably right. Different workspaces sometimes 'forget' to load some UI elements. Switching to another workspace, or creating a new one should help.

@WhatAMesh, I tried going into shading, didn't work. any idea what might be the problem ?

The baking option in the rendering properties tab is not in the Eevee rendering engine.
Selecting cycles rendering engine shows the baking tab for me in 2.82.7

Go to Edit > Operator Search > Bake and done


text:
Why curve modifiers deform my mesh
I have this: a plane, as you can see.

Object mode:

And a Curve:

When I try to create a rolling mat effect, using the curve modifiers, the plan is deform like this:

What I want is to keep the mat dimensions. Thanks.

Check the radius of each control point of your curve and set them to 1. You can select all of them and set the "mean radius".
Most likely you scaled down or up your curve then applied the transform. This actually keeps the curve at the same position but changes the radius of each control point.

Note : You can deactivate the use of the radius of control points altogether by toggling "radius" in the curve properties. That means any deformation using this curve will consider every control point with a radius of 1 :

I'm not the OP, but thanks for the explanation! I finally understand why sometimes my mean radius is at 200, even though it should go only up to 100.

Yes that's a bit confusing. I have added additional info if you want to keep the small "V" lines along the resolution points when playing with a small curve. just deactivate the "radius" checkbutton in the curve settings.

Thanks @Gorgious! Your the man!!!!


text:
Link only materials
Is it possible to link from another file only the materials, but not the rest,
or append an object, but with link with only to the materials?

Yes, it is possible. Link the object, then make it local, the datablock and materials will still be linked.

I tried and is not working with bones and a complete character

Well then edit your question and detail your exact steps and expected result. Illustrating it with well-cropped screenshots would help as well.

There is a way to do this, if you are looking for just the materials, not the objects. Go to the link or the append tab like you would when linking a normal object, then go to your .blend file you want to link from and select materials instead of objects that you want to link from the scene. Now it should show up in your materials tab, unless you are in a different renderer than the material is supposed to render in. This should work.


text:
How to develop a 3-D svg dynamic file using Blender
My challenge is not Swift. My challenge is the development of the 3-D svg dynamic file using Blender.
I have worked with Blender a small amount and its use is currently intimidating
I am developing a Game Controller activated game called Croquet Player.
The proposed game sequence is as follows:
1 Using Swift, the Game Controller moves the Player toward the Ball = done
[2] The  dynamic svg Blender file takes over and rotates the Player such that his head is always facing the Ball and moves the Mallet in such a way that the flat head of the Mallet is pointed at the Ball = not done
[3] When the Game Controller moves the Player such that the Mallet eventually contacts the Ball, the Swift code hits the Ball and it moves = done
And the above sequence starts over: 1 move Player toward Ball, [2] rotate the Player toward the Ball as it’s moving toward the Ball, and repoint Mallet toward the Ball, [3] upon the Mallet actually contacting the Ball, hit it.
Here is a screen shot of a sample of the Player’s & Mallet’s orientations as I just described:

Please note this is just a screen shot that illustrates the above rotation and re-positioning goals with various angles.
Also note, that for obvious reasons I am seeking one svg whose imbedded code does the Player rotation and Mallet re-positioning for me. In addition, one svg negates the necessity of 8 static poses. One svg provides a seeming infinite number of poses.
And lastly, please be assured I have reviewed seemingly countless videos describing Blender. When I stated above intimidating, that was a large intimidation to the point of being almost un-understandable.
Unfortunately, I don't have access to a Blender expert who in person and in the space of 10 minutes could say "John, here's how to do it".
Oh, how I wish.

I think you're very unlikely to get any answers here as your question is well outside the remit of this Q&A site! See https://blender.stackexchange.com/help/on-topic.

John, I just clicked on your link and I just do not see any access to posting this question. If this is accurate, I guess I am just on my own

Blender seems like the wrong tool for this. It mainly outputs rendered raster files, it doesn't excel at vector files, even less dynamic ones.

I'm open to suggestions, Duarte

@JohnLove You're effectively asking multiple questions about how to do things in Blender which is discouraged in a single question. https://blender.stackexchange.com/help/dont-ask.

I respectfully disagree. Guidance is one thing. Nevertheless, a good question may consist of 2 parts especially when these 2 parts are tightly integrated as they are in my case. There is a whole slew of examples, notably in Quantum Mechanics and mathematics

Anyway, as already stated, I will continue on my own. Bye!

SVG files are inherently two dimensional. If such effect is even possible, it would likely be through faking the transform with 2d distortions. To my limited knowledge that would only be possible through scripting them using something like Javascript or SMIL, and as far as I know there are no graphical editors to make these types of dynamic SVG animations through a GUI

"The dynamic svg Blender file[…]" - what do you mean by this? I searched for dynamic svg file and couldn't find anything that would seem relevant. Also I don't understand the rest of the sentence "[…]takes over[…]" - how could a file take over? A Blender file can possibly be designed to offer an application-like interface, but Blender is far from satisfactory in providing such functionalities (I know some features are planned to make it better, "starting files" or something like that). In the past (previous Blender versions) there was BGE…

So I am back to using Swift to select between multiple static poses. Nothing wrong with that EXCEPT I would be stuck with having to convert say 10-20. 2D pngs to 3D. For example 1 3D image for every 5 degrees of rotation

Quite honestly I do not know how to do the above conversion in Blender. The mountain of videos go rapid fire to the verge of being UNunderstandable. I am not blessed with a in person Blender expert who could lean over my shoulder to show me in 10 minutes how to do that. 10 lousy minutes


text:
My eyeballs won't move with my rig
ETA
I parented the eyeballs to the head bone and it worked! Mixamo had hidden the bones so I did not think that it would be viable to parent the eyeballs to a bone, but if you choose the "bone" option then a drop down menu appears that allows you to select a bone and now the eyes are moving with the figure. I'm just adding this so other people will see it if they encounter the same issue.

I made a character and uploaded it into Mixamo. Mixamo wouldn't take my textures so I redid the textures with the new rigged mesh and I replaced the eyeballs using the TinyNocky eyeballs (because those eyes are just awesome). So the rig and mesh are all participating together except for the eyeballs. When I join the eyeballs to the other parts of the mesh, the body or the hair or the sweater or anything, the eyeballs refuse to move along with the body. I have parented the eyeballs to the armature as an object and as an armature and neither work.

Join them to the rest of the body, select them in Edit mode and assign them to the same vertex group as the rest of the head?

Feel free to post the solution to your problem in the answer section below. You also can mark your answer as "accepted" with a green checkmark so other people who have the same problem will easily find it.


text:
How can I have Screencast display keys pressed during transform operations?
I'd like for the Screencast to display keys that are pressed after a transformation is begun. For example, after I select this cube and press S to scale, I then press Z 3, but neither the Z nor the 3 are displayed:

How can I get these keys to show?

You need to add addon first and then enable it after that it will show the key that you press on the screen. Video show how to do it

Scaling is a modal operation itself, just like the screencast keys. During the transformation, all events are consumed by that modal operator and never occur for the screencast keys addon. There is no controllable event bubbling like in browsers.
It could only be solved by a native screencast keys implementation through which all events would have to pass first.

Is there anyway perhaps Blender's undo history or something like that could be used to show it perhaps after the event? I assume no. Or could you have a keylogger kind of thing that would be like a blender addon?

btw, I assume anything even remotely resembling anything keylogger-ish is anathema in open source, but idk :P

You can actually check the operation log and try to reconstruct what was entered, e.g. bpy.context.window_manager.operators[-1].properties.value

Oh well, that's outta my league. Thanks anyway!

Found this
https://github.com/chromoly/blender-ScreencastKeysMod https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/3D_interaction/Screencast_Key_Status_Tool
that can be installed by downloading the zip and added via the addons install button.
It correctly captures the modal events like numeric values entered while doing a grab.
Slightly more limited that the original addon with no clock and no nice mouse icon.


text:
How can I make a long strand of bones without having to extrude each one?
How can I make a long strand of bones without having to extrude each one? Here is what I'm trying to accomplish:

Subdivide One Large Bone
Thankfully there is a very easy way to do this: simply create one large bone the length you want your final strand of bones to be, then Subdivide that bone repeatedly:
Select bone -> TAB -> W -> Subdivide

After selecting subdivide you can also press F6 (or use the panel at the bottom of the tools sidebar) and change the number of cuts.


text:
Is there a way to make comments in the node editor?
I'd like to have a node like the Frame node but one that can have lots of text, not just a header. I've looked and it looks like there isn't any such capability so far, so I was wondering how easy it would be for someone to create a custom Comment node as an add-on or script (I don't know the differences between the two). I myself would love to leave detailed comments in complex node trees so that I can figure out what I was doing/what to do when I come back to them months later.

Related: Node containing text?

Since version 2.74, blender has has the ability to display text blocks in the node editor.See the manual.

Add a frame node, then in the properties region add the text block you want to display. (A text block is simply a file made in blender's text editor.)

The frame will display the text exactly as it is in the text editor without word wrapping, you have to add the line brakes in manually (by pressing Enter at the end of the line).
This is the easiest way to make notations in the node editor.

I can't figure out how to add text to the Text: input

@endolith go to blender's text editor Shift + F11 then press the "New" button to make a new text data-block. Now that text file will show up in the list so you can add it to the frame node.

It seems that since at least blender 3.1.2, the frame node does in fact wrap words.

Alternatively, if you want something quick and easy ..

I'm sorry. I didn't mean it to be snippity, and I'm sorry if I have offended you in any way.. The grease pencil is a good idea, I personally just can't imagine writing with a mouse (maybe it's just me).

Well, really all art on a computer is difficult with a mouse.  It wasn't until I got a pen tablet that I stopped suffering from claw hand after a couple of hours of work.  Now I can go all day, every day without destroying my hand.  Combine that with pressure sensitivity and the extra price is well worth the extra money.
Sorry for the 'Fake Gandalf' comment. Name calling is totally inappropriate under any circumstances.

There's no support for text wrapping in Blender, so it's impossible to have a multi-line label or StringProperty. But it's possible to have a collection of strings and draw them in a column inside of a custom node:

bl_info = {
    "name": "Comment Node",
    "author": "CoDEmanX",
    "version": (1, 0),
    "blender": (2, 67, 0),
    "location": "Node Editor > Add > Other Nodes > Comment",
    "description": "Add a node comment node (string property collection)",
    "warning": "",
    "wiki_url": "",
    "category": "Node"}

import bpy
from bpy.types import Node, Operator
from bpy.props import BoolProperty, IntProperty, CollectionProperty

class NodeComment(Operator):
    bl_idname = "node.comment"
    bl_label = "Node Comment"

    index = IntProperty(default=-1)

    @classmethod
    def poll(cls, context):
        return (context.area.type == 'NODE_EDITOR' and
                context.area.spaces[0].node_tree.nodes.active is not None and
                context.area.spaces[0].node_tree.nodes.active.bl_idname == CommentNode.bl_idname)

    def execute(self, context):
        node = context.area.spaces[0].node_tree.nodes.active
        if self.index == -1:
            node.myCollProperty.add()
            node.myBoolProperty = True
        else:
            try:
                node.myCollProperty.remove(self.index)
            except IndexError:
                print("Invalid collection index")
                return {'CANCELLED'}
        return {'FINISHED'}

# Derived from the Node base type.
class CommentNode(Node):
    # === Basics ===
    # Description string
    '''A comment node'''
    # Optional identifier string. If not explicitly defined, the python class name is used.
    bl_idname = 'CommentNodeType'
    # Label for nice name display
    bl_label = 'Comment Node'
    # Icon identifier
    bl_icon = 'GREASEPENCIL'

    myBoolProperty = bpy.props.BoolProperty(name="Edit")
    myCollProperty = bpy.props.CollectionProperty(type=bpy.types.PropertyGroup)

    def init(self, context):
        self.width = 300

    # Copy function to initialize a copied node from an existing one.
    def copy(self, node):
        print("Copying from node ", node)

    # Free function to clean up on removal.
    def free(self):
        print("Removing node ", self, ", Goodbye!")

    # Additional buttons displayed on the node.
    def draw_buttons(self, context, layout):
        #layout.label("Node settings")

        row = layout.row(True)
        row.operator(NodeComment.bl_idname, text="Add", icon="ZOOMIN").index = -1
        row.prop(self, "myBoolProperty", text="", icon="GREASEPENCIL")

        col = layout.column(True)

        if self.myBoolProperty:
            for i, line in enumerate(self.myCollProperty):
                row = col.row(True)
                row.prop(line, "name", text="")
                row.operator(NodeComment.bl_idname, text="", icon="ZOOMOUT").index = i
        else:
            for line in self.myCollProperty:
                col.label(line.name)

import nodeitems_utils
from nodeitems_utils import NodeCategory, NodeItem

# our own base class with an appropriate poll function,
# so the categories only show up in our own tree type
class MyNodeCategory(NodeCategory):
    pass

# all categories in a list
node_categories = [
    # identifier, label, items list
    MyNodeCategory("OTHERNODES", "Other Nodes", items=[
        NodeItem(CommentNode.bl_idname, label="Comment"),
        ]),
    ]

def register():
    bpy.utils.register_class(NodeComment)
    bpy.utils.register_class(CommentNode)

    try:
        nodeitems_utils.register_node_categories("CUSTOM_NODES", node_categories)
    except:
        pass

def unregister():
    nodeitems_utils.unregister_node_categories("CUSTOM_NODES")

    bpy.utils.register_class(NodeComment)
    bpy.utils.register_class(CommentNode)

if __name__ == "__main__":
    register()

Thanks, that looks like the best viable solution since there's no other real comment node, but I don't know anything about coding for blender, so how would I implement this?

Not sure what you mean, you can install above code as addon and use the comment node (I hope!). Haven't tested it in-depth, so better check before production if it's kept in .blend on save while addon is disabled.

Thom Blair, save the code above as a .py file and place it in the Blender\2.69\scripts\addons\ directory. Then in Blender you can go to user preferences>addons and you should be able to find it and enable it by checking the check mark. Then it should work in Blender.

Thanks! That worked great! Thankfully someone had just mentioned how to install a script to me, so I'm just listing the steps below for anyone else:
(1) open the Text Editor window (2) click the New Text button
(3) paste in the code
(4) click the Run Script button
(5) then CTRL + U to save the startup file

There is an addon that can make it possible adding Note Nodes.
It is stated everything needed on the BlenderArtists page where addon was posted,  I will make short summary here to not make this answer link-only.

Functionality. You can create the node from a panel (which opens with
  N) in the node editor called Note. Either an empty node or
  from clipboard.
A note can either be linked to a blender text buffer or store text. If
  text is stored a linked file is ignored. You access settings of the
  node from the properties of the node (press N to open).

(Italic is mine).
What it looks like:

image from BA post

Download
Documentation

Also please note that only people with this addon can read your note as is stated on documentation page

I tried to install this add-on to the latest version of Blender 3.2, but the load failed due to errors.

This is silly but it's also instant, built-in and easy unlike the other answers. Downside is you're limited to one short line. Simply set the 'Label' property of the node you're commenting.


text:
How can I make unique rocks in Blender without having to model them by hand?
How can I make unique rocks in Blender without having to model them by hand? I've tried making them by hand, but often they don't look as realistic as I'd like.
Plus, sometimes I'd like to have LOTS of them but don't want to spend the time modeling them all. Is there an easy solution?

Add Rocks
The Add Rocks addon allows you to quickly add randomly generated mesh rocks, thus making it much quicker to add detail & realism to your outdoor settings. Here you can read about this addon.
Here are some examples of the presets and some variations:

To enable this addon:

Download it from here.
Now open User Preferences:
Info header  →  File  →  User Preferences

Click on Addons at the top of the Preferences window, and then click on the Install from File button at the bottom of the window:

Next:

Find the addon file and select it. (NOTE: The file can be a .zip file -- you don't have to unzip it first.)
Click the Install from File button
Then enable the addon by clicking on it's checkbox on the far right
If you want this addon to be enabled by default in the future, click on the Save User Settings button:

To add a rock to your scene:
SHIFTA -> Mesh -> Rock Generator

Adjust all the settings:

One very neat feature is that you can make as many rocks as you want all at once, each one unique, by setting the Number of Rocks at the top -- here I'm making 500 all at once:

Notice at the very bottom, there are some presets:

NOTE: You MUST set all the settings the way you want them to be before you do ANYTHING else, otherwise they cannot be changed through the same settings panel. After you click away from the rocks, you can only modify their parameters via the modifiers that are on them:
Object Properties panel -> Modifiers tab

Apply All Modifiers BEFORE Rendering
One thing to be careful of is that each rock created has many modifiers on it and these DRAMATICALLY slow down rendering speed! So, to get around this, you really need to Apply all modifiers BEFORE attempting to render your scene. To do this you can do either of the following:

Manually Apply Modifiers:  This is an easy method, but it can take a lot of time if you have more than 1 rock:
Select rock -> Object Properties panel -> Modifiers tab -> click the Apply button on the modifier

Convert All Rocks to Mesh: This is the best and quickest method if you don't want to sit around clicking "Apply" for a long time:
Select ALL the rocks at once -> ALTC -> Convert to Mesh
This will very easily Apply ALL the modifiers without you having to do anything else and you can now render quickly and easily:

What version of blender and the addon are you using? I could not get it to work on 2.7 and a few 2.6x versions I tried.

It works fine for me in 2.69 and 2.70a. What problems are you encountering?

@David I just updated my answer to clarify how to install the addon & made it much easier to install. See if that helps. :)

There is also a Rock Generator add-on that comes with Blender v2.79 and higher. You can check this box in the Blender Preferences: Add-ons: Objects: Rock Generator.


text:
How can I customize which Tabs show in the Tool shelf/panel?
I'd like to be able to add or remove some of the standard tabs on the Tools panel:

because if I shrink the tab area, the tab names become unreadable:

So, is there a way to remove some of the tabs that I never use?

Afaik the only way is to remove the tab in the python file of the UI toolbar. You can find this file in your blender folder. For me it is:
C:\Program Files\Blender Foundation\Blender\2.XX\scripts\startup\bl_ui

The name of the file is : space_view3d_toolbar.py
For removing a tab you have to open this file with for example Notepad++.
Then you have to find the tab that you want to remove. If you want to remove the Relations tab for the object mode, you can follow below example.
First you have to find the section of the code for the object-mode. You can find it with this header in comment:
# ********** default tools for object-mode ****************

Next you have to find the right tab. The name of the tab is in the bl_category, so for our example we have to find this:
bl_category = "Relations"

Now we can get rid of our tab, by either deleting the class of the tab, or by just making it a comment block like this:

You just have to put three quotes like this: """, before and after the class that you want to comment out. I prefer to put the class in comment, so that you can recover it if you do something wrong.
Now you can save your file and restart Blender.


text:
Can I make a custom node from a group and have that available in other projects?
I've found some neat combinations of nodes to create certain effects, so I'd like to make them a group and then have that node available on my list of available nodes, even when I reload the startup file. How would I do that?

related: http://blender.stackexchange.com/q/3455/599

You can save the startup .blend by clicking File > Defaults > Save Startup File. This will save everything (except for user preferences) to be loaded as the default state when Blender starts up. That includes all geometry, textures, brushes, node groups, UI layouts, the 3D view orientation, etc.
I like to save my node groups in a separate "library" file and link/append them in, that way I don't accidentally lose them if I overwrite my startup file on accident (I've done that before..)
How to embed a node group in the startup file

If you haven't already, make a node group by selecting the nodes and pressing CtrlG (AltG to ungroup).

Save it (CtrlS)

Open your startup file (CtrlN)

Press File > Link or File > Append. In the file manager which appears, navigate inside the file with the node group, select NodeTree and then select the node group.

Linking means the node group is only stored in the "library file" and if you make any changes to it, those changes will carry over to your startup file (also, if the library file is deleted or moved, the node group will be missing in the startup file).

Appending copies the node group so it will always work.

In the node editor, add the node group (ShiftA> Groups > group name) and press the F icon (F for Fake User) on the node to save the data block even if it has no users. This will ensure the node group is saved even if it is not used in any materials/node trees in that file.

Delete the group node (Del). Provided you enabled Fake User by clicking the F icon, it will still be in the add menu even after reloading the file. Rearrange the UI how you want it to appear when you start blender.

Save the startup .blend (File > Defaults > Save Startup File).

This procedure should be the same for all types of nodes (Composite, shader, etc.)

How can I do this with a single node, and not a group of them? Can I make a group of a single node?

@EspenSales Yes, you can make a group containing 0 or more nodes. Not sure why you'd want to though..?

It's because there's this group called "Chocofur" at chocofur.com who have designed custom nodes to make simple shading easier. It's pretty neat. Anyway I have explained the situation before in a question I asked here

@EspenSales Those are node groups already, no need to put one of them in another group. You can append those directly (start from step 4 in this answer)

Oh, well then! I thought Chocofur had made nodes from scratch by using python or something (yes I'm a noob)

Also, I got lost between step 4 to 5... I'm supposed to append the node group before I do the Shift A > groups > group thing right? And how do I do that one too (Shift A > groups > group)? Do I do that in the append window? Because that won't work either...

@EspenSales Ah, my bad, I had the image in the wrong place. Hopefully it's clearer now :)

When I group the nodes, all of a sudden the nodes have a yellow header and the background is greyed out - how do i get out of this view?

@fabriced Press Tab or the up arrow in the header

"Navigate inside the file with the node group"  How? Clicking or double-clicking the blend file does nothing

@endolith Whoops sorry, in 2.8+ the Shift F1 shortcut was removed and by an awkward coincidence now just changes the active area into a file manager. Try clicking File > Append (or Link) in the top bar menues instead

I wouldn't recommend to add everything to the Startup File. You could also create a node library (.blend file) to hold all your nodes and link and/or append groups from the library to your current project.
Accessible from the Info Header

File Link Ctrl-Alt-O
File Append Shift-F1

A nice example library: bwide-nodepack-for-blender
You find the nodes within the .blend file in the folder NodeTree:

Video tutorial on Creating a Reusable Node Library

How can I do this when i only want to add a single customized node, and not a group of nodes?


text:
Is there a way to stop Blender from performing an action once started?
For example, sometimes I accidentally switch to Material view for objects instead of Textured and since my computer is very slow, it takes WAY too long until I can do anything again. So, I'd like to be able to hit a key and have Blender stop trying to display Material view.

Nope.. I don't think this is possible.

I didn't think so but it'd be SO useful!

Alt + 4 will stop the action by stopping blender full stop. Other than you hit esc during certain times only.

@Vader Alt+4 switches to layer 14..

Will that mess up anything, like leave it in an unstable state?

@ThomBlairIII I think Vader means Alt+f4, which will kill blender.

By "kill" do you mean quit?

Yes. http://blender.stackexchange.com/q/582/599

Oh, I just want to hit esc or break. Thanks though!

@ThomBlairIII I meant Alt + F4 not Alt + 4

This would be a really valuable feature.  It is very easy to click the wrong button (e.g. Bevel rather than Boolean) which will crash the program on a complicated model.  Other programs (e.g. PTC Creo) have the ability to cancel any operation by pressing the Pause/Break button which can avoid hangups or forced process kills.

It depends, some actions you can stop, others you cannot. However you can always stop blender by closing it Alt + F4 or killing the process. Some things can be stopped in blender. If it is possible to stop an action you can do it with the ESC key.
Actions that cannot be stopped:

Changing shading style in the viewport, e.g changing to textured or materials can take some time if you have a lot of textures, there is no way to stop this
Applying/Modifying modifiers, e.g when you accidently increase the numbers of arrays to 400 blender will take a long time to compute this depending on the complexity of the object. Same goes for other modifiers.

Actions you can stop mid process:

Rendering, you can always abort a render at render time
Baking textures, similar to render: e.g baking a normal map.
Baking fluids: Smoke and Liquid simulations can be canceled just like renders.

You can also cancel these actions with the GUI by clicking on the X:

If you are using Linux, you can instantly kill a process by typing the command xkill into the terminal.  After hitting enter, you can click on whatever window you want to kill, and it will end it with speed that is unmatched by any other killing process.  (Pretty much as soon as you click it.)

I personally think that with modifiers it should be considered a bug. It's way too easy to accidentally tell Blender to perform an operation that it won't finish in a reasonable amount of time, possibly also crashing. It should give some kind of confirmation before starting an action that'll take a long time to complete.


text:
Can I animate a mesh using raw vertex coordinates per frame?
I'm interested in creating an animation in Blender that involves an intricate and roughly-scientifically-accurate animation, that appears to be beyond the ability of Blender to perform easily and accurately. This animation will be mixed with other animations in the same scene that will be done using standard keyframing/rigging.
As a result, I'd like to write a program that generates mesh data for each frame and outputs it in some format (likely X,Y,Z, and a few texture parameters for cycles, perhaps U/V for a UV map). Is there a way to easily import this bulk mesh data into Blender so that I can obtain an animated object, without importing a separate mesh per frame?

This sounds very much like having a shapekey for each frame.  This somewhat related answer mentions the point cache.  And this one .. one could argue the softbody solver  "involves an intricate and roughly-scientifically-accurate animation"

I would suggest writing to an Alembic file. Blender has nice support for it, and it's a quite compact file format that's fast to read. It also supports things like changes in mesh topology, vertex colours, and point clouds.

It would make more sense to write a file that allows morph controllers for your model.
COLLADA allows this, and is an open format, so you're free to use it.
https://en.wikipedia.org/wiki/COLLADA
I would suggest using the Python version  http://pycollada.github.io/
As that's in keeping with the way Blender scripts are written, to keep things simple.

Does this assume any sort of morph behavior? (i.e. can I set up a morph that simply takes identity transformation of my input data and applies it to the mesh, frame by frame, or am I forced to deform an existing mesh in an indirect manner?) Alternatively, can a COLLADA file simply contain an entity that has a different (independent) mesh each frame?

You'd generate object data, then use morph targets to move it.  On the other hand, if you want to use a separate object-per-frame, you can.  Nobody's stopping ya, it'd just take a ton of memory.  Might have to write a script that shows the object at its desired frame, and hides all the others.


text:
Texturing / UV Mapping doesn't unwrap properly
After trying to do this, I got a first model made in the hammer editor and I had issues to apply any textures what so ever I tried to just recreate the items in blender by using the original as measurements. Now the issue is that when I try to get a UV Map, it gets all scrambled and pushed in one corner.

When I try to paint it applies the color everywhere although it shouldn't. :C
Any tips or things I have to take care of or on what to avoid doing?
Here a picture of the model itself.

Edit:
Here a second attempts to make something more simple for blender to unwrap. I created a frame with 4 cubes that got stretched and joined. 2 of the 4 cubes got 2 sides removed each to remove unnecessary faces.
However the UV map still is fubar.
When I try to manually unwrap it I don't know how to align them properly since it's all a mess. :C
Any tips or or good tutorials you can recommend to understand what is going on here?

BTW the other two bares were created with a single block and extrusion.

Hello :). Please upload an image of your UV map, so we can see what exactly you're talking about. You can also upload you file, to check for possible issues.

Which method of mesh unwrapping have you used?

Looks like automatic unwrapping to me. Use manual unwrapping instead. Try to imagine how and where you would cut the lines in order to create a paper cut model.

I added a picture to show you what the uv map look like all the time.

Hello :). It seems your UV map isn't updated. Here is a great tutorial on UV unwrapping by the BlenderGuru himself. Good luck.

Thx @JachymMichal. Will have a look. Funny thing is it was on one of my playlists but I haven't watched it yet. haha ^^'


text:
How may I get a single stripe of color to flow along an object?
I'm toying around and trying to get a single red stripe to flow along the length of a cylinder. I'm trying to copy ideas from this tutorial, but I can't quite get it right. I made a gradient with three colors (white, red, and white) and I've got the bands of color being produced alright, but they're a bit skewed and don't line up perfectly with the geometry.
My aim is to incorporate this into some sort of abstract looping animation.
Think of an LED strip, and having just a single LED light up and go down the chain. I want to achieve that similar look using a cylindrical object, and a stripe of color. If I could get it to work with a bent cylinder (like one along a curve) that would be great too.
Any ideas?
Here's what I've got so far:

Could you add some illustrations? One colored strip or several? How the cylinder has to be bent?

I added one to the main post, sorry about that. I'm trying to have just a single strip at the moment. I'd like a simple U-shaped bend for now. I'm trying to get the stripe to start at one end, and flow all the way to the other. Obviously mine isn't working that well right now, haha.

We can use the "generated" coordinates (from "texture coordinates" node) property: the coordinates are given before any modifier deformations. Using it can simplify what we have to do here.

Or with several rings:

The base shape is a tube/cylinder with a simple deform modifier to make to U shape:

And the node setting is the following:

Take Z value of the generated coordinates (remember this is still considered as a non bent cylinder)
Substract it to some value that will be animated to move the ring(s)
Keep positive value
Multiply (integer values) to have the amount of rings
Take module 1 to keep something between 0 and 1
Compare the result to 0.5 with an epsilon that gives the width of the ring

The documentation about generated texture coordinates:

Automatically-generated texture coordinates from the vertex positions
of the mesh without deformation, keeping them sticking to
the surface under animation. Range from 0.0 to 1.0 over the bounding
box of the undeformed mesh. See Texture Spaces for more information.

Thanks a ton! I understand all of the math, except the very last bit with the compare node. This is a very helpful solution nonetheless. I appreciate your help!

Compare compares two values and the result is true if their difference is under epsilon.

@lemon could you have a look at this one. https://blender.stackexchange.com/questions/197178/blender-project-a-map-on-a-sphere  Feel the same method could be used with 2x1 grid warp warp to make sphere. The map could be aligned to grid center clipped and distorted with nodes to desired lat long corner box.

@lemon would it be possible to make the white strip an emission shader, while keeping the black part of the shape a regular diffuse shader? Could I just mix the two with a Mix Shader? Sorry for the add-on question, you've been a big help already. :)

@n0ah, yes: the result is black and white, so you can use it as fac for a mix shader.

@batFINGER, don't exactly understand what you mean and the relation with this question here?

Thought maybe if making  a sphere like so. https://blender.stackexchange.com/questions/24043/how-to-animate-morphing-a-rectangular-plane-into-a-sphere/24053#24053  Did start an answer with this link in it, couldn't get the decal mapping to work, computer crashed never went back to it.

Another way would be to use an empty and an UV Project modifier on the arc.

In your arch object, add an UV Project modifier and set the empty as the base object.

In your shader, separate the X coordinates of the UVs of your object, and add a Math node set to Compare around 0.5 to get a white stripe. The Epsilon value of the Math node controls the width of the stripe.

Result :

Clever usage of UV project.

It's definitely powerful for UV manipulation. :) I just wish it was a little easier to use or clearer what the settings do

Oooo, I like this! Thanks!

@Gorgious is there a way to have the UV Project only affect the stripes material? I'm trying to set one material to be static for the shape, and then have a second material for the stripe. Currently, my static material is moving with the stripe. Is this possible?

Yes, you just have to use multiple UV maps. In the UV Project modifier you can set which UV Map to project to, and in the node editor, instead of the Texture Coordinate node, use an UV map node which lets you choose which one you want. To add an UV map to a mesh, go to the mesh properties tab (the icon with a downward facing green triangle), expand the UV Maps panel and click on the +. Let me know if you have trouble doing it

Here is a alternative to Lemon's solution, much more limited but works for simple object like the one you show. I create a plane, subdivide it, give it a Simple Deform and a Solidify modifier. Then I use the Texture Coordinate's UV output socket, and you use the Mapping X Location value to make the stripe follow the shape:


text:
Blender array modifier wont rotate around empty object
I want to place object radiallty around a center pivot. I know it can be done with array modifier.
So I tried and got a weird result and I cant figure out what is wrong.
At cursor is the Pivot object. And the one above it is the original. I want to rotate it around Y axis so it would create a circle of these shapes, but instead I get this. And if I rotate the empty object in any way it just rotates the object around some random axis. I'm using blender 2.83. What am I doing wrong here?

You have to do this with a curve.
1) Add a circle curve around the center pivot that is the size of the array circle you want.
2) Change the "Fit type" in the array modifier for the arraying objects to "FIT CURVE".
3) Select the circular curve you added as the array curve.
Result: You can array around the curve and get the result you wanted.

I did nothing. i added circle curve. and set fit type to fit curve. I have only 1 object. If i added offset. other elements appeared but on a straight line.

Ah yes. I forgot. You also need to add a curve modifier for the objects to go around the curve. Add that and select the curve.

Also the object needs to be at the pivot point or the curve radius gets larger and objects are deformed.

You can adjust that by scaling, and by changing the number of objects. You have to set the array back to fit length, but it wont change much. If all still doesnt work, you can set the object origin to the center pivot, and duplicate around the center.

Fixed count fixed the issue. Fit curve leaves 1/4 of the curve uncovered.

When you give an Array modifier an object-offset target, there is a transform that would take the original of the arrayed object to the target.
For example:

The original cube is the one at 3 o'clock. Although the cube's mesh is at X=2, the cube's pivot, the object, is at 0, and aligned to the world. It's the larger yellow axes in the picture. (The mesh was moved in Edit mode, leaving the object behind.)
In the picture, there is also an Empty at 0, the smaller orange axes. The transform that would take the cube object to the Empty is a rotation of 30 degrees. The Empty is the target of the object-offset array.
The transform that would take the original object to the target in an object-offset array is the one that's given to each iteration of the array, with respect to the previous iteration. So, above, each element of the array is rotated 30 degrees from the previous one, about its own object axes.
In short, to get a clean rotation, without a translation being added, too, the object's axes must be coincident with the target, just rotated, that's all.


text:
Why does my curve not fill correctly?
I have imported a .svg of a logo that's pretty complex. When extruding it looks quite good but I want more than the outlines to be filled.
When switching to 2D and fill both sides it does not fill inside the curve (yellow on left picture) but rather randomly (right picture).
What am I doing wrong? Is there a better way to make the logo solid?
Best regards,
Daniel

Things to look for: open paths, overlapping or intersecting segments.

Does this answer your question? SVG Curve Incorrectly Rendered

https://blender.stackexchange.com/questions/75728 https://blender.stackexchange.com/questions/52825 https://blender.stackexchange.com/questions/47217 https://blender.stackexchange.com/questions/65555 https://blender.stackexchange.com/questions/56344


text:
How do I create a property in a panel to edit particle systems?
I have been trying to create a panel that has a particle system's modifiers, but I do not know how to call the particle system in the panel and I do not know how to get the properties. I tried following the answer on Modifiers: add and set "live" parameters then apply via python.
def draw(self, context):
    layout = self.layout

    obj = context.object

    row = layout.row()
    row.label(text = "Basic", icon = 'WORLD_DATA')

    row = layout.row()
    row.prop(obj.modifiers['Particles'], "count")

It would be something like:
particles = obj.modifiers.get("ParticleSystem 1")
if particles:
    row = layout.row()
    row.prop(particles.particle_system.settings, "count")

or
particles = obj.particle_systems.get('ParticleSystem')
if particles:
    row = layout.row()
    row.prop(particles.settings, "count")

I tried it out but the row won't appear.

then you aren't passing it the right names. In console do  obj.modifiers[:] and obj.particle_systems[:]  to get the lists..


text:
Deleting object generated from particle system
I followed a tutorial online on using particle system to generate lots of buildings on top of a plane and I was supposed to press B to select some area of the plane to delete a row of buildings.
However, that only deleted the portion of the plane underneath and not the buildings. When I press B in Edit mode, I am not able to select and highlight the buildings, only the plane underneath get selected.
Can someone please help? (I am a beginner)
I tried uploading the .blend file here but unfortunately it is not processing the upload.
Thanks in advance.
This is my file

Can you provide a link to the tutorial ? The particles won't be accessible for selection unless you convert them to meshes like here or here

This is the youtube link https://www.youtube.com/watch?v=XCEN0qQOsIA (around 30:10). Doesn't seem like any conversion was done in the video . I have also attached my file above. Thanks

The only thing Andrew is doing in that moment is selecting that plane underneath, just like you did, and deletes vertices of that plane. He makes roads in that way. You won't be able to select buildings themselves as they don't actually exist yet as a anything selectable. Another way could be to Vertex Paint plane and add created vertex group in Particles settings > Vertex Groups.


text:
Armature moves when switching from Edit to Object Mode
The position of the bones on the arms changes when I switch modes and I cannot figure out how to fix it..

The problem is created by the IK bone pivot not align to the child bones in edit mode. Use the cursor to snap all the bone pivot to the same location. Also make sure that your bones are rotated so that it is perpendicular to the front view as much as possible - at rest.
Attached is are the bones rotated and all the IK pivots of the bone aligned properly.

Snapping the bone pivot onto the same location do the following - In edit Mode.

Select the end bone nub.
Use CtrlS choose "cursor to selected"
Select the other bones hit CtrlS choose " Selection to Cursor"
If required , go to pose mode and reset all rotation and transformation using
AltG and AltR

Below, you can see 3 spherical nub aligned. The 2 red ones and the big green one    needs to all be aligned in one spot using the "Cursor to selection" then " selection to cursor" method.

sorry I don't get step 3. Which bones do you mean? When I selected Lower_Leg.L and selection to Cursor, the bone gets dislocated. BTW Alt G sometimes doesn't seem to work after I make a lot of changes and I have to resort to Ctrl Z.

You have 3 bone at the foot that needs to be at the same xyz coordinate at it's pivots. Namely the lower leg, the foot and the IK foot bone. If you looked at my blend file I have also reposition the knee bone and the elbow bone and alter the "pole angle" of the constraint. You will also find that I have done the same to the lowerarm and the arm IK bone so that their pivot point is one the exact same spot.

As long as all your bones are aligned properly in edit mode. Hitting Alt G and Alt R will work. As all the transformation will reference back to the edit mode's bone transformation coordinate. When your IK object location do not match your child bone's nub it can cause resetting the bone in Pose mode to not behave appropriately.

You need to first do "CURSOR TO SELECTED" meaning you have to select the first target you want all bone to target to. Select the Lower leg bone nub, it's the spherical shaped object highlighted in light blue in the image. Then select the other bone nubs ... eg. the foot spherical shaped nub and the foot IK spherical shaped nub. and do "SELECTED TO CURSOR"

Don't go selecting the whole bone you only need to align the bone nub, which are the spherical ends of the bone object.

I have aligned the nubs but the bones still move in the different modes. Do the nubs need to have same rotation as well as location? Here is my blend file after adjustment. I have also rotated all the bones to face the front.

The answer is sort of correct. Hawkenfox meant to say "Shift S", not "Ctrl S" while in edit mode on an IK bone. This should solve any confusion. Ctrl S is used to save the file. At least it is in Blender 2.78a.

I just had the same problem, even by applying "with automatic weights" the armature would be out of the mesh, then I realized that I hadn't applied my mesh's modifiers, such as subdivision surface, I clicked on the apply button then I went to object mode and selected my character then shift selected my armature and ctr+p then "with automatic weights" that was it.

authors: Александр Кучеров

authors: Алексей Бишоп


text:
Curve modifier -applying Nurbspath displaces the object
I have attached a blend file with tunnel and path objects.
When I apply object for curve modifier ie Nurbspath, my tunnel moves to a totally different location.
I have checked all my settings and can't find the source of the problem..

The curve modifier is complex and it takes some playing with it to get used to how it works.  Start by looking at how your objects are orientated in space.
In object mode, the curve is orientated with its X-axis along the global negative Y-axis and the Y-axis along the global X-axis.

Examine the curve in edit mode.  Your curve is oriented along the Y-axis with the curve normals along the X-axis.

In object mode, apply (Ctrl + A) the curve rotation.  Now the object's Y axis points along the curve and the object's X-axis points along the curve's normals.

The tunnel object is also rotated.  Apply the rotation so the tunnel points along the positive global Y-axis.

Now add the NurbsPath to the Curve modifier and set the deformation axis to Y.  The tunnel is deformed along the curve, but the roof is lying on the X-axis.  The curve thinks the X-axis is 'up' because its normals point in this direction.

Select the curve and tab into edit mode.  Select all of the control points and adjust their Tilt by 90 degrees (Ctrl + T, 9, 0).

Now you can adjust your curve's control points to make a nice, smooth tunnel.  Hint: turn on the Merge option on your array modifier.

Is there a reason you have to use a nurbs curve. Here I used a bezier curve it fits and plays nicely with the curve modifier.
Blend file here...

Yes, I am following the BlenderGuru tutorial on underground tunnels and a path seems to be easier to use. Sorry I am a beginner but I think using a path is more appropriate for this example. I think I followed his instructions closely but can not understand why mine is messed up.

Usually when the object jumps around when you apply modifier it's due to it's rotation orientiation of the two. Meaning the local rotation axis of the nurbs path and the mesh isn't align in the same axis. You may want to check how you created your objects. Creating a path or curve in the front view is different when you do it in the top view. Depending on the view you use, it will define it's local axis orientation at the moment of creation.

thanks, I will keep that in mind. I did many things wrong so I started the project from scratch and path works this time for some reason. the reason I wanted to use path is that it starts as a straight line with lots of handles whereas for Bezier I have to do a lot of work just to extend and straighten the curve, rotate each handle etc.


text:
applying solidifying modifier distorts object
I am using the solifying modifier for the first time and following a tutorial but not sure why my object got distorted.
I tried many things including removing doubles, applying the scale (forgot to include this in the gif animation below).  Could you please have a look?

The scale still isn't applied fully, so that's first problem. Second - there are some flipped normals, use Ctrl+N.

I have already tried all those before. In fact, I displayed all my normals to make sure they face outwards. Nothing seems to work:(

Sure, thanks for your help - I have corrected for both and here is the file which still shows the distortion.


text:
Object disappearing and origin points
I highlight an object in Object Mode but when I click TAB to go into Edit mode, the selected object always disappears. However when nothing is selected, the middle tracks disappears after TAB. What have I done wrong?
I created two railway tracks with one Mirroring the other.
However the origin point is not in the middle of the two rails. Could you please explain:
- why this is the case, and how it ended up there?
- where the origin point ought to be and how can it be corrected?
I am assuming the origin points of all the objects in the scene are out of whack with each other? Is there anyway to clean up the whole mess?
I am a beginner and I am extremely confused with origin points - I have played around with "origin to geometry" and other "fixes" but I always end up with objects getting displaced or creating more mess. Or when I switch betw object and edit modes, I get objects moving or disappearing. Any advice to a noob would be much appreciated.
Please find attached Blend file.


text:
Rigify Generated Rig just absolutely refusing to bind to mesh

2 Full screenshots added
I made a mesh for a character on Blender 3.6.1 and I have followed about twenty tutorials on youtube on getting the Rigify rig to attach to the mesh. I have already merged vertices and simplified and I just do not know what I could possibly be missing at this point. Any tips or tricks would be appreciated for sure!
I am using the new curves system for the hair and so the hair is not joined but merely parented to the mesh but the sweater and jeans and shoes were joined onto the body which was sculpted separately. The vertex count is only 54114 if the hair stays as curves and if I convert the hair curves to mesh it jumps up to like 13 million.
Please help!
[

Please use proper screenshots rather than taking photos of your screen. In Blender, use the Window > Save Screenshot or Save Screenshot (Editor) menu. (The 'Editor' one allows you to save just one area of the screen by clicking on it.)  There's a good tutorial showing fixes for problems with rigify here.

thank you for the tip! I added a full screenshot now

I'd suggest you work your way through this video which covers most of the common problems with getting Rigify to behave. If you still have problems you may need to share your blend  file if it isn't too large. You can share it via https://blend-exchange.com/ if it's smaller than 30Meg following the instructions there to copy the link to your question into the field on that page and it will then appear in your question.