I’ve just made public the repo for the Blender Shotgun integration I’ve been working on lately:
It has been tested under Windows 10 with Blender versions from 2.82 to 2.92 (alpha). Since it has only been tested in Windows, I’m sure there will be some adjustments to make to use it for other operating systems. Also, apart from a few people recently giving it a go, the engine has not been run in production, so feedback is very much welcomed or even better contributions to the git repo.
I’ve implemented the hooks for all the default tk-apps. There are quite a lot of different type of files that can be imported into Blender, so pay special attention to the documentation regarding tk-multi-loader2 to know what is supported by the engine for now. (ie. USD not there). As always, depending on your pipeline/workflows requirements you might want to modify/tweak the hooks accordingly.
You will find handy the config folder within the repository, that contains the changes to apply to your tk-config-default2 environment config yml files, templates, engine_locations.yml , etc… to have all the tk-apps
Take a look at the README for detailed instructions on how to get the engine up and running and more information about implementation details.
Hope this opens up some options for studios that are using Blender in production, I would love to hear if you end up using it!.
I have got to add that we successfully tested the engine with 2.90 and newest tk-multi-workfiles2 and tk-multi-publish2. We are going to try it in production really soon, so going to report how it goes.
Thank you so much for the valuable testing @mmoshev, very much appreciated! (make sure to use the latest tk-framework-shotgunutils (v5.7.7+) to avoid the threading problem you might have experienced in the early tests)
This is now plugged into our pipe and it’s great to see SG inside Blender! Congratulations on making this happen
At first glance it seems kinda buggy/laggy in places, but it’s hard to say if that’s Blender or SG (I don’t use Blender).
Two things I noticed right away:
The Breakdown app shows legacy objects in the scene (that is, Load in some stuff, delete it, then run Breakdown and you’ll see those things still).
The Breakdown Update doesn’t work on Alembic files (it says it updated, but the object data doesn’t change).
For our workflow in Maya we Reference Alembic and update the Reference, for Houdini we path swap and Rebuild. I suspect the Alembic data being ‘Imported’ is no longer ‘linked’ to the data on disk.
In spite of these things, it’s an awesome backbone for us to plug some basic pipeline bits into.
Thanks very much for testing it and running it in production, glad to hear timing was good
I found that using the latest version of Blender and latest of the tk frameworks made things a lot more stable. I do not use Blender as an artist so I imagine there will be cases where things break. If you find some of those, please use the issues in github so they can be taken a look an others are aware too.
I remember that I could not find a way to reference alembics (link in Blender terminology) so, I think the updating might not be as easy as just changing a path to the new cache, (this is what is used for other updates).
I can imagine a couple of ways:
Someone with actual Blender TD knowledge tell us if there is indeed a way to reference the abcs in the blender scene so they can be updated later.
Or (this would require changes to the hooks), when publishing caches (ie. from modeling), maybe you could publish a .blender scene that contain just that cache so it can be referenced (linked) later on that way. (I think this was my go to trick to be able to reference GPU Caches in Maya and seemed to work)
As we use Blender more in production I’m sure we’ll build some approaches on top of the awesome work you’ve put in place. I’ll be sure to use the github page when that time comes.
Chiming in late here to add my accolades to the pile! This is so awesome, Diego; thank you for this and all of your contributions to the Toolkit ecosystem!
Hey, Diego, we spoke on Linkedin about the OBJs not being Referenced
I was speaking to someone who wrote some parts of the alias integration and they were telling me you might need to change
She said this would be the point here.
The approach would be to when a OBJ is imported you reference the name and timestamp
Scan scene method - list all OBJ file - the breakdown will look at the OBJ path and then the obj path will be seen in the Breakdown UI. In the background to change the obj, you need to delete in Blender the old obj import and bring in the new one.
Hey @mexicoucg welcome to the community. I think this question better be in its own thread (don’t know if mods can move it).
The first thing to check is whether sgtk is in the PYTHONPATH. Open the Python console in Blender and try import sys; print(sys.path). Is toolkit also on P:\?
I was able to successfully integrate this with Blender. However, when I try to save the file using Shotgun - File Save Dialog Box, I get a warning saying - “No template found”
@Diego_Garcia_Huerta Thanks a lot for the github codes. But when I config it to blender3.2 , it has some issues, the menu can’t be displayed. I got the following message from console: ImportError: cannot import name 'QtGui' from 'tank.platform.qt' (C:\Users/xxxx/AppData/Roaming/Shotgun/ldtc/p122c199.basic.desktop/cfg/install/core/python\tank\platform\qt\__init__.py)
In recent months in my company we have begun to gradually consider integrating tookit as our pipeline.
One of the first issues that have been put on the table is the integration of the 3d pipeline. Since we have always had it separate from vfx but we want to join it with toolkit.
In our studio the main 3d application is blender, and this is where the subject of this post comes from.
I have read this post and it has given me hope, but it is from last year and new versions have been released. The last post of Ricardo said that in the last vesions it wasn’t fully operative. So I wanted to ask the community how is the status of the blender integration now.
Does anyone have the integration working? What version are you using? Is stable?
Thanks in advance!! Any info on the feasibility of this would be great