Members - Reputation: 101
Posted 18 March 2013 - 05:18 AM
I would like to get a git repository plugin for 3ds max so I can upload directly from the program to the repository. So the way my coder has this set out is he can code and upload to the repository from eclipse using stage changes and comments. There is a local copy on his computer which he edits and then pushes and commits when finished that certain part to update the online part.Is there anything like this for 3ds max.
Crossbones+ - Reputation: 7253
Posted 18 March 2013 - 06:24 AM
Git and other version control tools doesn't handle binary files all that well (merges, branches, etc doesn't work with them, each version of a binary file tends to be stored in full)
The easiest way to run git (or any other external tool) from within 3dsmax would probably be to use the DOSCommand or ShellLaunch functions from MAXScript. (creating buttons that pulls, pushes, etc the current file shouldn't be too hard, check the MAXScript documentation)
The voices in my head may not be real, but they have some good ideas!
Moderators - Reputation: 46543
Posted 18 March 2013 - 07:01 AM
You don't neeed a plugin for 3DS max to use Git -- a plugin would just make it easier. You can use the git command line, or the TortoiseGit GUI from windows explorer to commit your changes to the repository.
Personally, I prefer to use Git from Windows explorer and/or the command line, rather than having it integrated into my code editor, so that my interactions with the repository are more explicit.
Echoing what Simon said though, the reason that it's hard to find a 3ds integration with Git, is because Git is actually a really poor solution for game art files. It's fantastic for text source code (really fantastic), as it's really smart when it comes to merging different versions of text files together... but none of those features works with 3DS Max files, so they're useless to you.
If you ever do end up in a situation where two people have edited the same art file, then Git will be less than useful, as it can't even prevent that situation from occurring and can only give you the option of choosing which person's work gets deleted.
Also, a large part of Git's power comes from the fact that it stores the entire history of all files on every user's PC. With text files, this is generally only a few megabytes, which is no problem at all... but with art files, this could be gigabytes to terabytes, depending on the size of your project, and how many changes to each file you have to make.
I would talk to your programmer and check that they're really sure that they want to use Git to store game art...
Edited by Hodgman, 18 March 2013 - 07:09 AM.
Crossbones+ - Reputation: 3668
Posted 24 March 2013 - 07:44 PM
I feel that here is an example in this situation of how important it is to plan the workflow pipeline before starting the work as often as possible. Ask yourself if Git is really needed. If you decide to use Git, then think workflow.
Git in my opinion should only be used by an individual artist who has dynamically changing workflow and needs to fall back on previous data from time to time and often. Other than that, you don't need it, I feel. Once you get experience, then you intuitively know when and what to save about your own work at certain points of creation, especially anticipating what the other guy on your team could need from you. This just takes practice and once achieved is much more efficient than GIT. Specifically about version control, you must as an artist follow the lead of the programmer anyway, so why make more work than necessary? With team communication, you should have the information that you need to handle your data base without complicating it with a program. Don't turn simple keeping of data into rocket science.
Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.
by Clinton, 3Ddreamer