Join our discord community

Forum breadcrumbs - You are here:ForumPrism: GeneralPrism and textures
Please or Register to create posts and topics.

Prism and textures

Hi guys, I keep moving forward with prism and the moment of shading

What would be the advice to handle the textures? perhaps we just have to place the textures in the "\ 04_Assets \ Textures" , and the prism assigns a relative path?

When you have your textures in \04_Assets\Textures and drag them into Maya, Maya will make the path relative automatically.

Prism doesn't really manage your texture workflow, so feel free to test out different ways to find the one which works best for you. If you come up with good ideas how Prism could help you with the texturing workflow, let me know.

I'm also still trying to get my head around the textures workflow.

I really like having my textures at $hip/tex and the same with Cinema4D. Tex folder right there in the same directory as the .c4d scene file. (I'm mentioning C4D because I'm hopeful about C4D Prism integration.)

My problem with this is that if I build textured assets which are in their assets directory, and then I move them into shots, which live in the shots directories, I have to manually copy over textures. Obviously I'd also have duplicates of textures (assets and shots).

If I just put all textures in \04_Assets\Textures\ how would I make that use a relative path? I ask because I would usually do something like ..\..\..\04_Assets\Textures, which is relative to my scene file. But then the shots directory is "deeper" than the assets directory, so then I still have to relink textures when moving assets.

Am I missing something more simple?

I had many discussions about the texture workflow, but every idea I heard so far has some advantages and some disadvantages. Like you already mentioned, if you have the textures of an asset next to the scenefile you'll have problems if you want to use the asset in other locations.

If you want to use the \04_Assets\Textures\ folder, you should make your texture paths relative to the project and not to the scenefile. For example in Houdini, Prism sets the $JOB variable whenever you change the Prism project. So in your texture nodes you can use $JOB/04_Assets/Textures and then it doesn't matter if your scene is in the assets folder or in the shot folder. I don't know how C4D handles that, but in Maya it works the same. Prism sets the Maya project to the Prism project when you launch Maya and then all texture paths in the Maya scene can be relative to the project folder.

Ah, of course, fantastic.

So would it work if I add something like $tex = $JOB/04_Assets/Textures to my houdini.env file, and then I can just use $tex/texture.jpg in my texture nodes?

I'll look into setting variables in C4D, not sure how to do it...

 

No that wouldn't work because the houdini.env file gets evaluated before Prism sets the $JOB variable. You need set the $tex variable after Prism set the project and the $JOB variable. You could do that by adding this line of code to the Houdini Prism plugin or a custom Prism plugin in the onProjectChanged function.

hou.hscript('set tex= $JOB"/04_Assets/textures"')

I can give you more details where you can find this function if you need it.

Ah I understand, thanks so much, I'll implement that  in the morning.

Probably irrelevant, but In another pipeline tool I have used, this is solved using symlinks - "virtual" folders inside shot/asset folders that point to common asset libraries - textures, exported models, render output paths etc. This greatly simplifies everything and allows you having essentially whatever folder structure you like, without duplicating files - as all symlink folders point to the same locations. Symlinks are very popular on linux, but few people use them on windows although it's a very powerful feature of every modern file system.

This also allows to have better organization for everything - keeping rendered sequences, cache files, other temp files etc in separate locations as scene files - this comes in very handy when cleaning project for archiving as files are not mixed up under the scene folders.