Posted by Fianna, 17 February 2012 7:00 pm
Hello and welcome to my blog!
I thought I'd jump right into my first post with a chat I had with Rich Diamant following his public release of the Diamant Modeling Tools. I was lucky enough to get a hold of him to ask him a few questions about his custom toolset and here's what he had to say...
Hello Rich - it's been about 2 days since your public release of Diamant Modeling Tools Alpha 1.0. This is great news for the community on two fronts…cause it's been 4 years since you first put out Diamant UV. And second…well, maybe it's just me, but I remember the character modeling you did for Drake and Elena in Uncharted 1 and they were pretty awesome so I didn't forget your name since that time. So when people like you 'go off the radar' and resurface, it's always nice to see what new cool things you've been up to -- and this is true now :-)
Haha well thanks for that! It’s very flattering! It’s kind of crazy to think that it’s been so long since I first put out Diamant UV. It’s also nice to hear that I’ve made some sort of impact one way or another in certain people’s lives.
Just to give a little bit of history, Diamant UV, the precursor to DMT…That came from the time you were at Naughty Dog, and was made to run on Maya 2008, right? Asides from optimizing for Maya 2012 and 64-bit support, what are the new features and improvements in DMT Alpha 1.0 that have been added?
Correct! It all started for Maya 2008 while working on Uncharted 1 at Naughty Dog. To be honest, so much has been changed and/or added that it got hard to really think about this as the same tool. Thus the reasons for the name change. Diamant UV was really my first major tool that I embarked on and, to be honest, what was under the hood was a bit messy! After a couple years of working with Diamant UV’s code base, I realized it was extremely hard to add new features as well as track all the bugs and crashes that were happening to random people. I decided to take the base ideas and start over from scratch with all the new knowledge and experience I had acquired over the years.
I had two high level goals in mind with the new version: make it stable, and make it expandable. In addition, I wanted to fix a bunch of workflows with Diamant UV that just didn’t feel right. This included making the tools a lot faster as well as fixing some of the odd workflow hacks. Plus, I had a ton of ideas for other additions I wanted to add!
As for improvements, I believe this version is 100% more stable and more reliable than Diamant UV ever was. I, along with others, have been using and testing some sort of version of this tool for years now. I wanted to make sure it felt intuitive, fast, and safe to use. So a special thanks goes out to all my friends from Naughty Dog and Blizzard who have helped test this out as well as come up with great ideas for improvements and features.
As far as new features go, I wanted to place a much bigger focus on the modeling tools with this version. Diamant UV had a very basic and simple version of modeling tools built in. It was always centered on creating and editing automatic UV’s. With Diamant Modeling Tools, I made sure to add features that would attract users in all areas of the modeling pipeline with heavy emphasis on modeling itself.
New features include:
And more! The list goes on but I feel it might be getting boring :-)
This is a plugin that has been years in the making. What compelled you to make it in the first place? Were you already making tools along the way, that sat in a Shelf and you just decided to package it all into a handy UI? What's the story on that?
Good question. The story started way back on Uncharted 1 when I came up with a cool way to UV a model fairly quickly by using standard Maya tools. What I found however was that I kept doing the same things over and over again. I was always tech savvy and knew there had to be a way to automate this process. I had asked our Lead TD, Judd Simantov, at the time to write me a script that did the same basic steps that I was doing over and over again for me. Unfortunately, he was super busy, but he helped to get me started and sent me on my way. So I started copying and pasting code that came out of the script editor while trying to create a button that did the magic for me! I finally got “something” to work, but luckily Judd was there to tell me how to actually do it correctly. This led to the start of my programming hobby.
Over the next 6 months or so I would go home and try to wrap my head around learning MEL while creating little helper tools. I was lucky enough to have Judd sitting across from me at work, helping all along the way. I’m sure I annoyed him a couple times too many with all the questions I had! The nice thing about learning to program is that you start to have ideas about what you can do once you start to realize what is actually possible. So while I was learning and creating other little tools, I kept going back to my initial idea of creating this automatic way to UV a character. I actually had this terrible MEL version of Diamant UV very early on that was slow and odd to use. It was still at that time based off of some sort of “edge marking” technique which was at the heart of the idea.
Over time, I kept having more and more ideas of how awesome some sort of automatic UV solution could be inside of Maya. The one thing I’ve always been strong at is coming up with good and efficient workflows. So the ideas were constantly pouring out. I got to a point where my ideas exceeded what was actually possible within MEL. So I decided to dive head first into trying to learn C++ and the Maya API.
That was a harder and longer road. I bought books on C++ and the Maya API. Once again, I had Judd there to help with any questions. However, the one thing that I learned about C++ was that it was much harder for outside people to help solve problems you were having. They really had to take the time to understand what you are trying to do. What might be 5 lines in MEL could be pages in the API, so I really had to rely more on myself to problem solve and find answers.
I went head first into developing Diamant UV. I wanted to figure out a way to select edges quickly since it had always frustrated me. I also wanted it to be as much of a one button solution as possible (a great starting point if it does not have to be exact). However, I wanted the ability to still use fast editing tools to edit the UV’s in case I needed a precise result (which the one button solution did not offer). Regardless of whatever automatic solution I had seen or came up with, I always ended up tweaking my UV’s after to get an exact result. This is most crucial in a game’s pipeline. I had the idea very early on for creating a custom UV Editor since I really wanted to create a brush based system for editing UV’s. I do wish this was possible within Maya’s UV editor in the API :-).
From there the possibilities you could achieve within Maya began to flourish. I found myself getting involved in several conversations for cool new tools that Maya could have and realized that I could probably write some of them. That’s where things started to really come together.
So to answer your one question, Diamant UV was never really made up of a bunch of little tools and later combined. It actually started as a living and breathing toolset from a simple idea which later expanded into something that really attempts to solve each aspect of the modeling process. It seemed logical after solving a cool way to automatically UV an object to focus on ways to speed up the modeling creation processes in general. To be honest, if you really look at the workflow of DMT, you should be able to tell that it is not just a bunch of little helper tools shoved into a single package. All the tools in the modeling section are built to work with each other while using very similar workflow principals. The same can be said for the UV tools. Although most of these tools can be used in isolation, the real power comes from using them in sync.
When you were developing these tools - were you influenced by other packages you've used in the past? Or you simply just thought "this is what I'd like to do in Maya. Gonna go make me a Master Grab tool." *type-type-type-type-type-type*
I’d love to sit here and say that I came up with everything from scratch with no reference point. That is obviously not true. I was heavily influence by several other packages that were out at the time. I’d like to believe I am more of an innovator. I saw the great new ideas that other programs were doing and I tried to find all the good in them while innovating on the ideas to push them to new levels. With this came new creative approaches to problems, along with innovative methods of achieving them.
While creating the automatic UV portion of the tool, I was heavily influenced by programs like Headus and Unfold 3d. I feel it is always smart to see what others are doing to figure out what works and what does not work. There were some really great ideas in both of those programs as well as certain aspects I felt could be improved.
The modeling tools had several different influences. The Advanced Modeling Tool Brush was actually influenced by a program called Silo. I really enjoyed the multi component selection tool and how easy it was to organically model something. I actually loved modeling in Silo but always felt I was missing something that Maya gave me. So I decided to try and take what was cool about Silo and add it into Maya. If you have used Silo in the past you should see an influence in the Advanced Modeling Tool.
The Poly Build Tool was also influenced by NEX tools’ Quad Draw. It’s hard to not be influenced by the awesome things those guys came up with. To be honest, the only reason I created the Poly Build tool is because NEX’s Quad Draw is so awesome and I wanted to use it with my implementation of mesh sliding.
Other tools like the Grab and Sculpt brushes are obviously influenced from programs like Mudbox or Zbrush. It seemed logical to me to have that awesome control inside of Maya. I really felt the need to be able to shift around my model without having to see a wireframe on top. This was a major factor in writing this.
In other words, thank you to all the other packages for coming up with such awesome ideas :-)
DMT is in alpha at this time. When you release the final version, will DMT be a commercial product? If so, any ballpark numbers on pricing?
I do plan on releasing DMT as a commercial product. Hopefully everyone can agree that I have put a lot of time and effort into making this toolset a production friendly and powerful addition to Maya. This has been a huge part of me for the longest time that I just wanted to get this out to people to use purely because I was so proud of it and because of how useful it could be in any pipeline. Over time I have had several people tell me that I should sell the tool and I started to realize that it could be a reality.
I am not sure yet on a price point, as I really do want this to be as accessible as possible to everyone. I’d rather not scare anybody off at this point but I would imagine it would be comparable to similar tools out.
Compared to other commercial products out there, that offer similar tools (Roadkill, headus, NEX for example), why should users consider including DMT in their toolset?
For one, you have everything in one tool all fully integrated inside of Maya :-). To be honest, one of the biggest complaints I experience and hear is that nobody wants to leave Maya to use an external tool. Besides that, if you compare DMT to Roadkill and or Headus, DMT actually has a ton more functionality and is fundamentally different in its base philosophy.
Both Roadkill and Headus rely heavily on a one button solution, while DMT is built to give you the tools to edit and modify that one button solution to achieve exact results. This is especially necessary in a video game pipeline where you need to customize your UV layouts to work the best in several different situations. The RD UV Editor features tons of tools to achieve the exact results you need (way past the initial one button solution). I am not going to try and kid myself here, both Roadkill and Headus can give better initial one button click results at times. However, I challenge anybody to achieve a faster custom end result with either of them as well as the time it takes to do the initial edge marking. The nice thing about DMT is that it also plays nice with any other tool. If you really want to use Roadkill for your one button solution, you can do that and use the other great features of DMT to achieve the exact result you need.
To compare with other programs such as NEX, I tried to differentiate DMT by changing the initial thought process of modeling. Standard modeling practices revolve around a select/move manipulator mentality. I wanted to create a new and unique workflow that revolves around a brush mentality. I’d like to believe that any artist who has ever used any sort of brush based tool immediately feels at ease with it. It is a natural thing for an artist to relate to. Take painting weights for example in Maya. This is much more enjoyable to do than in other programs that have different workflows.
Once people give these tools a try, they will find them to be as different as they are fun. They will also find that the workflow is much more intuitive to use than standard workflows. This is actually one of the main reasons I have decided to release this version for free to the public for now. I want people to have the opportunity to try this different workflow and to really see the benefits in it. In the end, I have really developed these tools for myself. I am a production artist and I want to work the best and fastest way possible. If my workflow can somehow change people’s perspectives, or help them become faster and better, then I am more than happy to help communicate that and give them the same advantages that I have.
DMT requires the user to have a perpetual internet connection. I know it's already been discussed in numerous forums, and probably you can understand this concern that users have. However, this can be restricting for those who, for whatever reason, cannot work with a constant internet connection. Will there be an option for those people, to still use DMT in the future?
I understand this completely. It was a big concern as well with Diamant UV and was heavily anticipated as a problem when releasing DMT. To be honest, people have to understand that if my ultimate goal is to sell this commercially, I can’t just give this version out for free with no way to pull it back. I’m sure that sounds harsh, but I hope you can understand that. Right now requiring an internet connection is the only way I know of to control this. I’d love to hear other people’s ideas or suggestions on how to get around this problem at this time.
One thing to really keep in mind is that I am still learning aspects of programming. I have not had the time to really dig into encryption methods or deployment methods. This is one of the next steps in order to get this product out in the future. So to answer the last question, allowing the user to be separated from the internet will be a major focus for the release.
Also - will there be support for other OS versions?
I have had tons of requests for Linux and OSX versions of the tool. This again falls a little bit into the learning aspects of programming. I have never created a plugin for either OSX or Linux. So the reality is I am not sure exactly what it entails. I have had some people help with directions on OSX which I plan on looking into somewhat soon. Linux is a bit of a black box for me. I plan on doing some research into this to see how I can make it happen. There is no real reason why I would not want to support these so it’s more a matter of investigation. Windows 32bit is an easy and obvious yes.
I would also love to get information from people in terms of how far back in Maya versions they would find these tools useful. I have done some early tests making this work within Maya 2009 and could make that a reality if there is enough of a user base.
With all the work that keeps you busy at Blizzard, and not to mention having a personal life, when do you expect to release the DMT v1.0?
Also another good question! To be honest, getting DMT Alpha out to the public has been such a huge part of my personal life that I wouldn’t mind having as many people trying it out as possible before it goes to an official release. One, I want to make sure people like it and find it useful, and two, I want to make sure any major problems get addressed before expecting people to pay for it. I’d like to believe that it’s currently in a good place stability-wise. We could be talking months before an official release.
Will there be any differences between the alpha and the full/final version of DMT? Or are we all just gonna get prompted one day to enter our creditcard numbers ;-)
I actually have a couple of pages of features that I’d love to release in the final 1.0 version. I had a large list of things that I felt had to be in the Alpha and release version and a huge list of things that I’d love to see in the final release. The reality is that it could take me years to get all the cool features that I have in mind to be part of this tool. Especially since this is not my full time job. This is why I made sure that the core of what is there is compelling enough to draw people in. However, the main reason I am calling this version an alpha is because I might decide to sneak some more things in before release. We’ll see :-)
Well - big thanks, Rich! Until next time...
Thank you for your interest in DMT! It really is nice to feel all my effort is being appreciated.
Please only report comments that are spam or abusive.