This might be more related to Linux than to Blender but maybe someone is using a similar setup... :) I'm using Blender 3.x on a dual-boot PC with Win10 and Ubuntu. Many older scenes were created on Windows with file paths pointing to the textures on different drives and partitions. When using the same scene on Linux, the paths can't be found, of course. Is there a way to point Linux to the right paths without changing the paths in my Blender scenes? I know that I could simply use "Find missing files" on Linux but then the scenes would have missing textures on Windows. Also, I'd like to avoid saving all images with the Blender scenes to keep them lean... Thanks in advance!
-
$\begingroup$ This is one good reason why all projects should be self contained and all images and external assets should be stored inside a single encompassing project folder using relative paths. Otherwise try to use OS agnostic paths like mount points docs.microsoft.com/en-us/windows-server/storage/disk-management/… $\endgroup$– Duarte Farrajota Ramos ♦Jul 21, 2022 at 11:06
-
$\begingroup$ I agree, thank you. However, I just tried with a scene that contains some plant models from addons like Botaniq and Vegetation. Even after packing the file in Windows these textures are missing in Linux. Any idea how to fix that? $\endgroup$– VoltagoJul 21, 2022 at 17:57
1 Answer
Yes. You can use Symbolic Links
.
A symbolic link is a shortcut file for any directory or file. The symlink or soft link are the other names of the symbolic link. In Ubuntu, symbolic links work like a string that generates paths between various files and directories. These links are frequently utilized for linking libraries. It also ensures that files exist in consistent locations. Symbolic links are used for storing numerous copies of the same file in several locations while still referring to the same file.
The syntax is $ ln -s [Source_File_Path] [Symbolic_Link_Path]
so if Blender is pointing to a file /path/blender/points/file.ext
but your source file is at /path/to/my/source/file.ext
then you can use this syntax to create a soft symlink using:
$ ln -s /path/to/my/source/file.ext /path/blender/points/file.ext
-
1$\begingroup$ This acutally works like a charm, thanks a lot! :) $\endgroup$– VoltagoJul 23, 2022 at 8:51
-
$\begingroup$ glad that works for you. symlinks are my fave and they're pretty awesome. linux for the win! :) $\endgroup$ Jul 23, 2022 at 8:52