Cant Find Shaders
I'm in the process of moving to a new computer, and apparently my installation of Carrara on the new computer is unable to find scene shaders/textures for old scenes that were brought over from the old computer.
I've had this problem before, and never quite figured out what's going on. I assume that the path to the Runtime and its shaders on the new computer doesn't quite match the path on the old computer, so the path to the shaders in the old scene files doesn't match. Hence it gets lost finding the shaders.
Anyone know if there's a fix for this? When it tries to load an old scene, for each shader or texture it needs it throws up a requester, and you have to manually search for the location and tell it where to go. For a big scene that can mean 100 textures you have to manually locate. Pretty frustrating.
Comments
Do you have the same OS on the new computer?
The basic contents are installed with the program and if you have W7 and before XP, the path is not the same one (“Program files” for XP and “Programs” for w7).
It is the same thing if you jump from 32 to 64 bits.
For this reason I always record internally my projects and all my runtimes contents on a second disk (E).
Thanks. I'm going from Windows 7 to 8, and I think some of the old files that I never use are earlier than that, probably from when I was using 32 bit, and now it's 64 bit.
What's so frustrating is when the first requester comes up asking you to locate a texture, Carrara should be smart enough to see that there is a new path, and use that as a search path whenever it can't find a texture. But it will ask for a texture, you tell it the location, and then ask for another texture in the exact same folder !!!!
Is there any way to tell Carrara to use a new path when searching runtimes? No way I can spend literally hours trying to manually find each texture in a scene just so it will load.....
You can reload your runtime(s) if you click on a black icon to the right side of the timeline (sorry, my work computer is closed, I can't do a screenshot).
But, your scenes, you must do that manually, I think...
Thanks, but I tried that the other day and it doesn't seem to help. It seems like it should work, since it would be telling Carrara "here's the location of the runtimes, use this", but I guess not
You can create a "false" file with exactly the same path as before…
Hi Joe - who-will-never-post-here-again :) As do I :)
Best try is to rebuild the directory structure of Win7 in Win8. As Dudu said: something is ever changing from one OS-version to the next.
I have my runtime-structure on a separate partition and this works since Windows XP. I can/could share projects between XP, Vista, W7 and W8. But that's for the future organization.
For now: where are your textures etc. located in Win7? Make the same directories in Win8 and put all the stuff in there at the same place. Because (some) of the former Win7 directories are no longer treated as system-directories in Win8, that should give no further problems.
Thanks. I'm just not sure what the old paths were... :)
And then for any new scenes, the "new" paths would cause a problem
By the way, these old scenes were from a computer that is long since gone, so I don't know exactly where the runtime paths were located. I guess I'd have to open a .car file and see what path it's referencing, but no clue how to do that.
All of this because Carrara isn't smart enough to understand what the new path is.....
No. Carrara old scenes will load from old paths; new ones from new. Carrara is in this way delighting stupid :)
Besides of the zip-compression problem: I just made a test, new scene, sphere, color channel, texture map, choosen what was presented, which wasn't something useful, saved file uncompressed, that's it:
Apth "J:\\Runtimes\\DAZ\\Runtime\\textures\\Surreality\\V4\\Keziah\\surkezi100sds.jpg"
RRpt "\\textures\\Surreality\\V4\\Keziah\\surkezi100sds.jpg"
Rpth ":::Runtimes:DAZ:Runtime:textures:Surreality:V4:Keziah:"
First line gives you the complete path where all of your older texture file should be located.
Okay, thanks....Good info.
Now if I can just figure out how to successfully uncompress and read a compressed .car file....
Tried renaming it with .zip, and ran 7-Zip on it, and it seemed to be successful, but nothing will open it. Not Wordpad, not Word....
My very fuzzy recollection was that I previously had my runtime separated on a D: drive. But with this new computer the D: is already taken as a restore drive...darn
It is a problem I have run into as well, and unfortunately I think the only solution was to either go through the search or just scrap the scene and start over. I think in a way it was less of a PITA to just start over.
If it was something I really needed or wanted, then I would go through the process.
Some scenes, I just canceled out the request(s) and the geometry of the objects with the broken paths came in with the default gray shader. From there I would either load a texture fresh from the runtime (if it was a Poser or DAZ figure), or rebuild the texture using the shader editor. At least that way, if you load an image map from a folder in the shader editor, Carrara will remember the path to the folder if you need to load another map from the same location.
Joe,
If you are using 7-Zip there is NO need to rename the compressed .car file to zip. 7-Zip will uncompress the .car file. Note that the 7-Zip unzip process removes the .car from the file name.
I use the free Notepad++ to read and/or edit the file. After finishing with the file, just add the .car suffix "back" to the file name.
Cool !! Thanks...
So is there a global path reference I can change in the .car file to redirect it to the new Runtime path, or do I have to do it for every texture? In which case I might as well just go thru the tedious loading process instead and find them one by one.
hi joe welcome back
dont know if this will help
Okay thanks all...
I successfully unzipped and opened the file in Notepad++, and found out that my old path was indeed D:\Runtime.
Unfortunately, on this new computer D:\ is the "recovery image", and there's all kinds of warnings not to change that. And there's nowhere near enough space left on D:\ to copy my runtime to it. And the idea of having two duplicate copies of my runtime just to fool Carrara annoys the heck out of me... :)
And also unfortunately each texture has a separate path reference in the .car file, so I can't just change one line and have it redirect all texture path references.
This is frustrating.
HEY, I DID IT !!
I simply edited the text file in Notepad++ to replace all occurrences of D:\\Runtime with C:\\Runtime, saved it as a .car text file, and it worked !!!
Well, almost....
Some of the shader references were in a different path, but 90% of it came in fine.
Thanks to all !!!!!
Okay, to summarize....
The process goes something like this:
1. Download the free Notepad++
2. Using 7-Zip, unzip the .car file (right click on file in File Explorer, and select "Extract to here"...it will give you a new file in the same folder)
3. Open that file in Notepad++
4. Search for "runtime", and note the path
5. If the path is different from the desired path, do a global find and replace with the correct path
6. Save the text file
7. Rename the text file with a .car extension (in windows File Explorer, make sure you've checked "File Name Extensions" under Show/Hide)
8. Open the file in Carrara. If it still requests shader or texture paths, make a note and repeat the process for those you missed.
Actually it's pretty painless, unless you have to do it to 100 scene files. Like me. :)
Glad you got it working Joe. I'll be in the same boat as you when I eventually upgrade my computer in a couple more decades. ;-)
Darn....just when I think I have it licked...
Anyone know what to do when after you unzip the .car file it's too big to be opened by Notepad++ ?? It went from 120MB compressed to 1GB uncompressed !!!
Okay, well I answered my own question....
Downloaded another free utility called GSplit, and ran the unzipped .car file thru GSplit before editing. It splits the file into 5 separate pieces (calls them .gsd files), and you can read those into Notepad++. It just means you have to search and replace in each of the 5 files...
Once you have edited and saved the 5 files, you double click on the .exe it generated in the same folder with the split files,and it unites them back into a single file.
And wonder of wonders, it actually loaded in Carrara. Cool.
Thanks again everyone for the help !!!
Sorry for the workaround, but I seldom use Notepad++ on files > 1GB, so I didn't knew this limitation.
But: did you check that Notepad++ (I have to say: I'm in no way associated with the programmer, I only like this as a capable freeware editor :) ) has a search-and-replace-function for files: you don't have to load every file, but you can batch-progress a bunch of files, which should work quite nice on your situation, where one runtime-location has to be changed to another. Check the tabs in the search-and-replace dialog box.
Thanks Frank...
I finally got around to trying your suggestion of using the Find in Files feature of Notepad++ to automatically search and replace all incorrect Runtime path references in the piece files after the "too large" car file is split using GSplit.
Well, it does work !!! It's a bit tedious, but what I did was this:
1. Make a dedicated folder just to hold the split file pieces generated by GSplit
2. Once you've run GSplit, it will add an executable in that folder to make it easy to re-unite the pieces when you're done. However, that executable will cause Notepad++ to crash when executing a "Find in Files", so you need to temporarily move it out of the folder.
3. Run the Find in Files, specifying that special folder as the search folder.
4. I got multiple "File is too big to be opened by Notepad++" during the search process, but I just acknowledged them and finally the results popped up. Go figure.
5. That tells you what existing Runtime path references are in the .car file, and in which piece file they are located, so you can then decide if you need to do any replacing.
6. Then go thru and do the same Find in Files, but specify what to find and what to replace. It should go thru all the files and do the replacing, even though it gives "File too big" messages.
7. Once that's done, save the file(s), then bring the executable back, and run it to re-unite the files.
I worry about the constant "File too big" messages, so I'm not sure this is ultimately the way to go, but it seems to work. If nothing else, it shows you what and where the existing Runtime path references are, so you can go directly to that piece and manually change it.
Anyway, thanks for the help, that seems to work.