Tips for Setting up a 3D Pipeline?

pipeline

#1

Hello everyone.

If it wasn’t obvious from the title, I’m currently in the process of trying to figure out a 3D Pipeline for my studio. It’s fairly small, about 10~ people and an art team that’s currently about 3 people in house, 4 if you count me with them. We’re in the super early stages of starting the first 3D project at the studio so I’ve been trying to research 3D pipelines.

We’re using Unity and our 3D Artist already has Maya, Zbrush and all that. This is my first time being in a position with this much responsibility for a pipeline, when I started at this studio the pipeline was fairly well established already (though, in dire need of some streamlining and ease of use improvements).

I was hoping maybe someone has any kind of tips regarding this topic?


#2

A lot depends on what kind of content you need to make and how your artists want to work.

The first thing I’d start with, I think, is to make sure your artists have an easy-to-use and repeatable way to get their content into a format the game can use (FBX). You could think of your goal here as “make sure the artists never need to use ‘File -> Export Selection’”

I think in this day and age, we’re not doing a whole lot of asset setup in DCC. You can do a lot of that in Unity these days (materials, sockets, etc.). You’re really just getting geometry, joint, and animation data out of your DCC app.

Then I’d turn my attention to the character pipeline. Other folks might have better answers to some of these questions, but here’s a few things to think about:

  • Do you need first person hands?
  • How many skeletons are you going to use?
  • How are you going to make sure you can update rigs on in multiple animation files?

Some other uncollected questions you’ll probably want to answer:

  • Where do artists store their source data (.ma/mb, .psd, .ztl, .sbs)?
  • Where do artists store game data (.fbx, .tga)?
  • How will you develop tools for your artists?
    • PyCharm, check code into P4, publish latest tools to a network drive that users pull down from
  • How will you update the tools your artists are using?
    • I’m a big fan of bootstrapping Maya before it launches to include my managed code and its userSetup.py in the Maya script paths, so someone can launch Maya without the tools pretty easily

Best of luck! It’s a tough spot to be in. Be sure to check out the Tech Art Bootcamp presentations from previous years. In particular I think 2011 and 2015 might have some really useful talks for you.


#3

@ozzmeister00 nailed alot of it right there.
I would add to spend a decent amount of time testing and pushing workflows/ideas to the limit with colleagues (where possible).
Processes and pipelines may seem amazing in theory but, in practice, they can be a different beast altogether. Spend the time to know the flaws/limits/gotchas. You wont cover everything you’ll encounter during production, but you and your colleagues will be far more confident in it as you go on.

Also, think about bang for buck. Don’t waste a large amount of your time perfecting code or pipeline that only gets used a handful of times. You and your colleagues time is precious, so make the most of it.

Finally, speak to your artists too - they may be surprisingly vocal about how they’ve worked previously, what went well and what sucked.

All the best!


#4

And sometimes that doesn’t work when your artists are not very vocal. Backup plan is to simply watch them work. Identify what they do over and over again and try to make that process faster by adding tools where needed. Because sometimes artists don’t even realize they are doing something over and over which could easily be replaced by a custom script and a button. :wink:


#5

Some great paraphrased advice I found on here years ago:

“Don’t build anything so complex at the outset that you can’t just toss it in 6 months.
Because you’ll most likely want to.”


#6

Thanks for the tips so far! :slightly_smiling_face: I’m feeling a lot less lost about how to start things.
(Luckily, I’m still very much in the research phase at this point. Art is still very much still feeling out theme and style for the game right now, and we’re not even worried about getting anything Art related in game yet. So, It’s fairly relaxed right now)


#7

Having done this for teams that range from 5 to hundreds of people, I can give my 2 cents at least.

At that studio size, especially starting out, I would recommend a few primary infrastructure needs that are often overlooked, and WILL bite you in the butt on any size production you attempt:

  1. version control system. most small studios don’t do this, and run in big problems keeping track of what file is in what state… don’t rely on the method of naming files “character_final_07_revised”
  2. Shotgun. It is the best of breed for coordinating a team. along with the revision control system, you’ll now have your data and process well managed.
  3. Set up confluence, or sharepoint, or some kind of official place that studio documents are kept, also version controlled, with the intent that its where you will document your workflows, naming conventions, etc.
  4. automation system. whether in-house, or in the cloud, you will either be building your game constantly, or rendering shots constantly, or running simulations constantly, or whatever the business is for. Get your farm set up, and ensure its as bulletproof as possible, and never let it sit idle if you can help it.

These standards are the most overlooked portions of pipelines being set up, especially in smaller or new places. This will directly translate to $ saved, and staff getting to go home to sleep.

From there, work as a team to nail a single shot, or level, or whatever, that represents the end-to-end pipeline for what you are trying to build as a company. Iterate a couple times until you know it fulfills the production requirements. No one, no matter how experienced, can tell you the nuts and bolts of how to set up your pipeline… only by building the ‘first production’ as a team can you determine that.

Have fun!


#8

We’ve had a 2D Project Live for over a year now, and moving into 3D for a new project.

We currently use Git for our Assets in Unity and Tools Code. And Dropbox for our Working Art (there are been pains with Dropbox before)

Shotgun, that looks interesting. Admittedly our production management has been kind of poor. Mostly being just Tickets on a Git repository host of choice.

Documentation has been a combination of the the Git Repo Host + a Company Shared Docs with Google Suite.

I remember we at least used to be using Unity Cloud Build…


#9

Having done this a few times here are some additional tips. Stuff listed above is good info as well.

Have stage verification.

If you workflow had many stages. Modeling rigging animation…etc. have code to verify at the end of each stage that everything is in order. If you can find out early that model is wetting before you take the time to import into engine and test there you save everyone’s time. Same for rigging and animation.

Know when people crash or hit errors:

Artists don’t always tell you when they are having problems. They can also learn bad habits if they are blocked by a tool. You need to know when your code fails on the floor. Python has sys.excepthook and maya has formatguiexception for tracking crashes and handling them. You should also email notifications to tech art team and load bugs to tracking software.

Let software talk to each other.

If after export from maya, unity can automatically open to the correct asset or shotgun can open apps directly it will save artist time.

Know where the data actually lives. Structure around it.

If you can edit materials in maya and unity or modify animations in unity and maya be sure both know about each other’s modifications. Know where the final animation data lives and ensure it is always editable in all applications without losing data/work. OR block one from not being able to change data.


#10

Take a look at my VFX pipeline. Despite it is designed for animation feature production you can find some ideas for organization and processes, it documented precisely. Very simple, hence easy to adapt to your needs and other tracking systems (Shotgun/Ftrack).


#11

I can offer my contribution as well, a project suitable for studios of size 5-15, called “Avalon”.

It started as 20-week paid-for project at Mindbender in Sweden, whereby I completed weekly documentation of the progress from start to 1.0, including research into various technologies and alternative projects (including yours, @kiryha!).

Since then, it has progressed in the open and been adopted by Colorbleed in Netherlands who is of similar size and target audience, and possibly others (if that’s you, let me know!).

In short, it’s an asset management and version control system for artists working with full-cg commercials and tv, with an open API for integration with DCCs (e.g. Maya, Nuke and Fusion are in use at the moment), utilising Pyblish for a publishing system, featuring graphical tools for authoring and sharing assets globally (Mindbender operates in a few locations worldwide) with a MongoDB backend for assets and hooks for external production management systems, primarily ftrack.


#12

@marcuso don’t forget to add that to the #repos channel on slack!