Tuesday, July 22, 2014

My 3d-modeling Learning Experience

All right, I'm really bad at keeping this updated. I suppose at some point I stopped being so withdrawn and came out of my shell, and started talking to people. When that happened, I didn't really need to keep a journal anymore, and as that's what my blog basically is, my posting rather fell apart. I usually only post here when I'm feeling lonely. Not talking to girls doesn't count - it has to be both girls and guys for me to really feel lonely enough to post... Right now I'm posting entirely thanks to an Anonymous commenter. I have no idea who it was, or if they'll ever come back - but I sincerely thank you for your comment. It's this sort of thing that gets me motivated - and you didn't even say you liked what I'd written, just that it seemed I'd put a lot of time into it.

With all that out of the way, I'd like to talk about my 3d Modeling learning experience.

About a year ago, in October of 2013, I got started in a project called Trillek, which was something created by fans after Notch (the creator of Minecraft) stopped working on 0x10c (a space game set many trillions of years in the future). I'd just gotten dumped by my girlfriend (for someone else, no less), I was depressed, and I had a lot of time on my hands. I didn't really want to think about what was going on in my life, and the only solution was to get rid of all that free time by concentrating on something else. As painful as it was, it was the perfect combination to really get me going.

Concept art I made early on for Trillek's main menu.

Trillek progressed slowly, however, as democratic projects by large teams usually do. There was no pay, there was no leader, and there were no jobs, so when a man going by the moniker of TorakTu came along saying he wanted to create his own project, and was planning on progressing a lot faster, I jumped on board. I didn't really want to abandon Trillek, and it rather felt like I was betraying them - but as I didn't really have any useful skills to offer anyway, it didn't seem to matter.

That was where I fell short, though - I didn't really have any skills to offer. I didn't like that. I wanted to be able to help. TorakTu gave me the position of "PR guy", and took two more people onto the team - both programmers. I needed to learn Java in order to help, and I didn't like sitting idle, so I quickly got to work learning Java. This took far shorter than I'd anticipated - only a few weeks and I was already cranking out programs.

But I still couldn't really help much, apart from looking over their code and helping solve crashes... so when we started needing models, I leapt for the opportunity. Long-time followers of my blog will know I'm a huge fan of architecture and I knew some basic 3d-modeling - but "basic" wasn't what TorakTu was looking for. He wanted a ship worthy of a main screen image... so that's what I started on.

After obtaining a free student version of 3ds Max, I started watching tutorials and trying to learn as quickly as I could, all while working on the "ship cockpit" I was supposed to be creating. I was given the deadline of two weeks - I considered that ludicrous, to be honest, but TorakTu thought it would help to push me... which it most certainly did.
The first images I took of my ExoVerse cockpit, Mk1.

I don't know why, but people always seem to like leaving it up to me to decide what they want. I don't really like that - I like to know beforehand what someone wants so I can try to match it as closely as possible. Maybe I don't really trust myself to create something people will like, or perhaps I'm lazy and don't like the thought of reworking or restarting later on, but when I showed Torak my first images, he seemed to like them. That fueled my enthusiasm, and I kept going. Within two weeks, I had the following to show for my efforts:

The ExoVerse cockpit scene I created.
This was the first model I ever made with 3ds Max, and I really didn't like the idea of it being my last. Looking at it now, I can see a plethora of flaws and things I could've done differently. The model itself was full of inadequacies and holes, didn't use quadrilaterals like it should have (shapes with four sides), and there were a slew of other problems with it, but I felt proud of myself. Of course... Torak kept pushing me. It wasn't good enough for him - it was never good enough for him - and right then, that was what I needed someone to tell me. "It's great, but you could do it better", he would tell me, and off I'd go to improve it. He didn't really want to change the game engine he was working on, so I'd have to change the entire ship model. During that time I learned loads about exporting files and optimization. Eventually he liked my model enough that he wanted it in the actual game, and asked me to make a ship connected to the cockpit, which turned out... rather ugly:
Attaching the cockpit to a ship. Never do this. Always build the cockpit for the ship, not the other way around. Hindsight is 20/20, you know.
Torak realized this, I think, and told me to create a new ship based loosely on a Firefly design, but with a bulkier feel to it. So, a day later, I had these two images to show for it. (You can click to expand,  I think.)
He seemed happier with these two than he did my previous ship, by far. The ship had a sleeker design, and looked a lot prettier overall - not to mention the fact that I was able to build a large cargo hold into the ship, AND add something techy-looking to the back. Best of all, the cockpit was spacious without looking even slightly ugly. Of course, I rebuilt the whole thing later, and added a lot more to it... Texturing the beast was the worst part. The previous ship was easy because I never tried texture mapping it. UVW mapping is a serious pain to learn, especially with a close deadline to meet, but I did the best I could. I did finally get texture mapping down, though, and finished fleshing out the model. The final ship actually looked rather pretty, if I do say so myself - at least, pretty enough to be used somewhere.
The final ExoVerse ship, heavily drawing inspiration from Firefly. We all loved that show.


Best of all, it had a low number of polygons (less than 5000). While that may seem like a lot, it's actually not - you could have hundreds of these running on your computer and it wouldn't even bat an eye. One thing I did learn, though, is that rendering in a modeling program and rendering in a game are entirely different things. A game can render dozens of frames per second, while a modeling program can take hours to render a single frame - even though it'll look far more beautiful when it's done.
The image of the cockpit that got used on the ExoVerse home page.
I'm sorry to say that ExoVerse died soon after I finished the ship. One of our members were forced to leave the crew (bad conduct, lying, screwing with the site), and then Torak had to leave the project thanks to personal reasons, and that left me in the driver's seat... I don't like leading. I learned that a long time ago, but that's a story for a different post. With just me and a veteran coder called MJN, it didn't seem we could do it. I'd just learned Java (learned it while my models rendered, actually), and didn't feel confident enough to pull off something on the scale of a huge game like this, so ExoVerse died a quiet, painless death.

That's not to say I quit, however. I kept going - I made bigger and better models and learned loads of new things as I went along. I'm still learning and modeling to this day, and hoping I'll be able to make a career out of it. Modelers in the animation field can make six digits a year, if they're worth their salt... I'd love to be able to do something like that, if it gave me plenty of free time to spend with my family too. And no, I don't have a family yet, but I'm getting there.

Before I sign off, I'll leave you with the image I'm proudest of - a rose. It was part of a Christmas gift for someone... and also yet another story for yet another post... I'm only leaving it here because I think it's pretty... and also because this blog is a really great opportunity to show my skills. Who knows? Maybe someone will notice.

A rose made of glass, casting caustics in a white box.
I'd also like to give a big thanks to TorakTu for pushing me as hard as he did. I wouldn't know as much as I do now if it hadn't been for him, and I am very, very grateful. He's an awesome guy, and if you ever happen to see him, tell him Talv says hi.

No comments:

Post a Comment